Question

I see the term 'octet' popping up in literature about nonces for hashing, and it seems to be synonymous with 'character', although there is a kind of pattern to how the words are used.

This leads me to believe that there is a formal distinction between the two. If anyone could enlighten me to what it is, I'd appreciate it.

(and please, no lectures about octal character codes or octal (base 8) numbers; I'm talking about the noun 'octet', not the adjective)

EDIT: as it turns out, the word I was looking for, is 'octet'.

Was it helpful?

Solution

You are probably thinking about the term octet that is often used to be synonymous with a single-byte (non-unicode) character. Octet in this instance means eight bits. A character can be eight or sixteen or even more bits, but an octet is always eight bits.

OTHER TIPS

An octet is an 8-bit piece of data, a byte (though bytes don't necessarily have 8 bits). A character is the smallest unit of text. They are completely separate concepts, and using them interchangeably betrays serious ignorance of the complexity of text encodings. Unfortunately, this particular element of ignorance is far too common, and that the C standard explicitly defines a char to have a size of 1 byte does not help.

In particular, I'd be very wary of any cryptographic text that uses "character" to mean "byte" (or "octet").

Octet is the french word for a byte, it is called octet because it contains eight bits. The term is used mainly in telecommunications, probably due to the heavy french influence in e.g. CCITT.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top