London Banter

London Banter (https://www.londonbanter.co.uk/forum.php)
-   London Transport (https://www.londonbanter.co.uk/london-transport/)
-   -   My OysterCard Whinge (https://www.londonbanter.co.uk/london-transport/6938-my-oystercard-whinge.html)

Tom Anderson July 15th 08 03:20 PM

My OysterCard Whinge
 
On Tue, 15 Jul 2008, wrote:

On Jul 14, 11:14 pm, Tom Anderson wrote:

Or it could be done with an ASIC that isn't a microprocessor. It
doesn't need to be any more than a memory controller with an encryption
processor glued on the side.


So what do you think will be running the encryption processor? I don't
know what a circuit hardwired to do something like 3DES or Blowfish or
whatever encryption Oyster uses would look like, but I suspect it would
be a nightmare to design and debug if it were even possible.


But design and debug them they have. Indeed, one of the criteria in the
AES competition was ease of hardware implementation. Here are 78 such
beasts:

http://www.hardware-ciphers.com/en/aes/

tom

--
As Emiliano Zapata supposedly said, "Better to die on your feet than
live on your knees." And years after he died, Marlon Brando played him
in a movie. So just think, if you unionize, Marlon Brando might play
YOU in a movie. Even though he's dead. -- ChrisV82

[email protected] July 15th 08 03:47 PM

My OysterCard Whinge
 
On Jul 15, 4:20 pm, Tom Anderson wrote:
But design and debug them they have. Indeed, one of the criteria in the
AES competition was ease of hardware implementation. Here are 78 such
beasts:

http://www.hardware-ciphers.com/en/aes/


I won't even pretend I understand much of that , but looks like some
very smart people have been
very busy. I suppose in theory its possible to hardwire any algorithm
but I guess the question is
why would you bother if you could use an off the shelf microcontroller
and some software in ROM.
I still think Oyster probably has software in it but since the
smartcard manufacturer arn't likely to
tell I guess we'll never know! :)

B2003

Tom Barry July 15th 08 04:15 PM

My OysterCard Whinge
 
wrote:
On Jul 15, 4:20 pm, Tom Anderson wrote:
But design and debug them they have. Indeed, one of the criteria in the
AES competition was ease of hardware implementation. Here are 78 such
beasts:

http://www.hardware-ciphers.com/en/aes/

I won't even pretend I understand much of that , but looks like some
very smart people have been
very busy. I suppose in theory its possible to hardwire any algorithm
but I guess the question is
why would you bother if you could use an off the shelf microcontroller
and some software in ROM.
I still think Oyster probably has software in it but since the
smartcard manufacturer arn't likely to
tell I guess we'll never know! :)

B2003


Wasn't the problem with MiFare (and thus Oyster) being cracked that
rather than use a standard commercial encryption they used a weak
algorithm they invented and then failed to realise that you could
reverse-engineer it from microscopically examining the chip on the card?

Tom

Tom Anderson July 15th 08 04:19 PM

My OysterCard Whinge
 
On Tue, 15 Jul 2008, wrote:

On Jul 15, 4:20 pm, Tom Anderson wrote:

But design and debug them they have. Indeed, one of the criteria in the
AES competition was ease of hardware implementation. Here are 78 such
beasts:

http://www.hardware-ciphers.com/en/aes/

I won't even pretend I understand much of that , but looks like some
very smart people have been very busy. I suppose in theory its possible
to hardwire any algorithm but I guess the question is why would you
bother if you could use an off the shelf microcontroller and some
software in ROM.


Well, firstly, if someone's already designed a circuit for doing it, why
not license that rather than the microcontroller? I suspect it'll do a lot
better in terms of bytes per second/square micron/watt/whatever.

Secondly, if you look at the structure of most modern ciphers, you'll find
something that's actually highly amenable to hardware implementation.
There aren't a lot of branches or manipulation of memory or whatever else
microprocessors are good at, just lots and lots of moving small numbers of
bits from one place to another in a fixed way, combining bits with fixed
operations, and lookup tables. For instance (he said, cribbing furiously
from wikipeda), AES has a state consisting of a four-by-four matrix of
bytes, and does four steps in each round:

SubBytes - take each byte, use it as an index into a lookup table, and
replace it with the result

ShiftRows - move the bytes in each row left a certain number of places
(wrapping round)

MixColumns - take the columns as degree-3 polynomials over the field
GF(2^8), and multiply by a special constant polynomial

AddRoundKey - xor each byte with the corresponding byte of the round key

That sort of thing is ideal for custom hardware - not too complicated, not
at all branchy, highly parallelisable. The polynomial bit sounds
complicated, but it turns out that doing maths with polynomials over
GF(2^8) all boils down to shifts and xors, and is really easy and fast
(much easier to implement than to explain!).

I still think Oyster probably has software in it but since the smartcard
manufacturer arn't likely to tell I guess we'll never know! :)


A floor down and about a hundred yards across from where i sit are some of
the most powerful electron microscopes in London [1]. An Oster card, a
scalpel, and a pint to the right person, and we have our answer ...

tom

[1] Okay, probably an exaggeration.

--
As Emiliano Zapata supposedly said, "Better to die on your feet than
live on your knees." And years after he died, Marlon Brando played him
in a movie. So just think, if you unionize, Marlon Brando might play
YOU in a movie. Even though he's dead. -- ChrisV82

[email protected] July 16th 08 08:31 AM

My OysterCard Whinge
 
On Jul 15, 5:19 pm, Tom Anderson wrote:
Secondly, if you look at the structure of most modern ciphers, you'll find
something that's actually highly amenable to hardware implementation.


I suppose really the question is , what is hardwired or hardware
implemented or rather , where does software end and hardware start?
For example x86 processors can do trig as well as multiply and divide
etc. But intel use microcode to carry out the operations internally.
Does microcode count as hardware or software? Beats me. Answers on a
postcard...

B2003


Roland Perry July 16th 08 10:30 AM

My OysterCard Whinge
 
In message
, at
01:31:16 on Wed, 16 Jul 2008, remarked:
where does software end and hardware start?


There are grey areas, as well as black and white.

For example x86 processors can do trig as well as multiply and divide
etc. But intel use microcode to carry out the operations internally.
Does microcode count as hardware or software?


Microcode is Software, but it probably also counts as Firmware (which is
simply that subset of built-in software performing certain low-level
functions). The engine that the microcode is driving is Hardware.
--
Roland Perry

[email protected] July 16th 08 12:47 PM

My OysterCard Whinge
 
On Jul 16, 11:30*am, Roland Perry wrote:
In message
, at
01:31:16 on Wed, 16 Jul 2008, remarked:

where does software end and hardware start?


There are grey areas, as well as black and white.


True.


For example x86 processors can do trig as well as multiply and divide
etc. But intel use microcode to carry out the operations internally.
Does microcode count as hardware or software?


Microcode is Software, but it probably also counts as Firmware (which is
simply that subset of built-in software performing certain low-level
functions). The engine that the microcode is driving is Hardware.


From wikipedia:

"A control store is the part of a CPU's control unit that stores the
CPU's microprogram"

"A control store is usually implemented as a diode-array of read-only
memory"

So I guess at that level you could put forward a valid argument for it
being hard wired diodes, or software in the sense of the way the
diodes are wired. Or both! But then again I suppose you could say the
same about any read only ROM.

B2003


Roland Perry July 16th 08 03:22 PM

My OysterCard Whinge
 
In message
, at
05:47:38 on Wed, 16 Jul 2008, remarked:

From wikipedia:

"A control store is the part of a CPU's control unit that stores the
CPU's microprogram"

"A control store is usually implemented as a diode-array of read-only
memory"


I'm a fan of Wikipedia, but that stuff is just gibberish.

So I guess at that level you could put forward a valid argument for it
being hard wired diodes, or software in the sense of the way the
diodes are wired. Or both! But then again I suppose you could say the
same about any read only ROM.


There any many technologies that can be used to implement a ROM,
including the presence and absence of diodes in a matrix, and even the
ability to erase or restore such diodes in the field. This is
ludicrously technology-specific, however, and who is to say what a
generic CPU uses to store its microcode. (If you had asked me yesterday,
I might have said "the presence of absence of conductors between logic
gates").
--
Roland Perry

tim..... July 16th 08 05:24 PM

My OysterCard Whinge
 

"Roland Perry" wrote in message
...
In message
, at
01:31:16 on Wed, 16 Jul 2008, remarked:
where does software end and hardware start?


There are grey areas, as well as black and white.

For example x86 processors can do trig as well as multiply and divide
etc. But intel use microcode to carry out the operations internally.
Does microcode count as hardware or software?


Microcode is Software, but it probably also counts as Firmware (which is
simply that subset of built-in software performing certain low-level
functions).


I would suggest that it is that subset of software that is hardcoded, one
time only, into a device to perform a specific function (low level or
otherwise).

It used to be the case that any software inside an 'embedded' system was
firmware, but the trend to provide for software updates has muddied that
boundary.

The engine that the microcode is driving is Hardware.


The engine that any software drives is hardware :-)

tim




Roland Perry July 16th 08 05:52 PM

My OysterCard Whinge
 
In message , at 18:24:55 on Wed, 16
Jul 2008, tim..... remarked:
Microcode is Software, but it probably also counts as Firmware (which is
simply that subset of built-in software performing certain low-level
functions).


I would suggest that it is that subset of software that is hardcoded, one
time only, into a device to perform a specific function (low level or
otherwise).


Lots of firmware is upgradeable, and specific-function software like
Windows, when supplied in ROM for a low-cost laptop, isn't Firmware.
--
Roland Perry


All times are GMT. The time now is 03:28 AM.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2006 LondonBanter.co.uk