![]() |
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 |
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 |
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 |
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 |
My OysterCard Whinge
|
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 |
My OysterCard Whinge
|
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 |
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