Re: Cohen's paper on byte order
From: Brian Gladman (fake@nowhere.org)
Date: 04/15/03
- Next message: Eugene Starokoltsev: "Re: Cohen's paper on byte order"
- Previous message: Shill: "Re: Cryptonomicon and OTP breaking"
- In reply to: Bryan Olson: "Re: Cohen's paper on byte order"
- Next in thread: Bryan Olson: "Re: Cohen's paper on byte order"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
From: "Brian Gladman" <fake@nowhere.org> Date: Tue, 15 Apr 2003 11:36:35 +0100
"Bryan Olson" <fakeaddress@nowhere.org> wrote in message
news:WQDma.1415$69.873@newssvr16.news.prodigy.com...
[snip]
> Not exactly. As Paul Crowly who summed up the case for
> nomerism:
>
> sequences of bits are not the "lingua franca" of computer
> communication and storage; sequences of uint8s are.
>
> We nomers don't deny that "bsters" can move their lists bits
> around. We just don't want to wait for them to re-define all
> the protocols to do it.
>
> The vast majority of protocols build their external data
> representation as sequences of 8-bit integers. Even in those
> that lay out bit-patterns, the representation of record is
> almost always numeric-valued octets.
>
> The exception is of course the hardware layer, at which the data
> representation could be anything and bit-serial is common. For
> our purposes, that's essentially irrelevant; even a link
> encryptor works in a controller on payload data, not on the
> serialized bit-stream.
Ok, lets assume we have exhausted this line of debate and see if we can take
a (very slightly) different approach.
At the moment the bit sequence interface is precisely endian neutral - it
does not favour either the big or little endian representation of numbers.
This is, of course, because bits are indivisible and addressable as bits in
this model.
But we now want an interface in which the units we use are bytes because we
can transport them around as indivisible units. We want to avoid using
numeric ordering above the byte level so that we don't favour either
representation. Moreover since byte addressed machines have no concept of
address order within a byte we can use numeric order in an endian neural way
because byte value of 1 is the same on both styles of machine. So we have
maintained our strict endian neutrality so far.
But whereas before we pushed ordering semantics completely into the outside
world by using a unit that was truly indivisible, bytes aren't really
indivisible so we are now stuck with having to define ordering semantics
inside our units in an endian neutral way for environments that use smaller
units than 8 bits.
In effect the bit sequence semantics pushed the whole left/right ordering
ambiguity into the outside world. The outside world cannot cope with this
ambiguity so it is now being pushed this back onto the inside world. Hence
'we' now have to cope with it in some way but we want to cope with it in a
way that mantains our strict endian neutrality (those who don't care about
this can leave now).
So do we simply say that address order (i.e array/sequence enumeration)
always takes precedence over numeric order down to the smallest addressable
unit in any environment. And below this level, bit sequences are mapped to
ordered entities (or vice versa if that is the mindset of the observer) in
either of the two mapping orders as determined by a free choice in the
specification or in the implementation of the object in question?
The free choice of mapping order and sub-unit size (say 1, 2 and 4 bits)
would make for an interesting life for those who do have to unpick bytes.
Does this matter?
Brian Gladman
- Next message: Eugene Starokoltsev: "Re: Cohen's paper on byte order"
- Previous message: Shill: "Re: Cryptonomicon and OTP breaking"
- In reply to: Bryan Olson: "Re: Cohen's paper on byte order"
- Next in thread: Bryan Olson: "Re: Cohen's paper on byte order"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Relevant Pages
|