HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

AES aka Rijndael encryption algorithm

05-17-2004, 11:17 PM#1
The Gearhead
I need to know the bitsizes that are needed. Note: Rijndael is processed in 32 bit chunks, so 64 is bare minimum.

I will be doing Rijndael with 128 bit key/block and 96 bit key/block.

Are there requests for any others?

The algorithm is almost done, except for any customization.

Note: 128 is not divisible by 6 into an integer, so in displaying it as a base-64 string you will waste most of one of the letters. 96 is divisible by 6 so there are no wasted bits.
05-23-2004, 03:58 PM#2
Alfryd
I attempted to implement Rijndael in java a while back, but I've completely forgotten most of the details. How on earth are you doing modular polynomial arithmetic? I think youy can find the official specs fairly easily using a google search.
05-24-2004, 12:50 AM#3
The Gearhead
Well polynomial arithmatic is a load of bullshit (can I say that?).

He uses polynomial arithmatic a ton, but really its just bitwise manipulation. For example, multiplying by the field GF(2^8) is really just a matter of multiplying two integers (which happen to be bytes), xoring together the answers (rather than addition) and then repeatedly xoring that result by 283 (or 284 or some similar number). What it does is something like this

GF(2^8) multiplication of 1000 0000 (128) by 0000 00011 (3)

1000 0000
0000 0011

so you have:

1 0000 0000
0 1000 0000

Result:

1 0000 0000

xor by 283:
1 0001 1011

0 0001 1011

The polynomial thing, I learned, was just an excuse to make it more complicated. In reality, none of the operations require polynomials. The polynomials are just an obscenely complicated way of expressing simple bitwise arithmatic.


Oh yeah, my function will support variable block sizes, from 64 bits to 256 bits.

The 64 bit and 96 bit setups use custom shiftrow setups, which are not guarunteed to be secure. In 96bit, two rows will always shift the same, and in 64bit the 2nd and 4th rows always shift by one. The 64 bit is likely more secure than the 96 bit, but I'm not a cryptographer.
05-24-2004, 09:02 AM#4
AIAndy
The polynomial arithmetic was used to have a mathematic foundation of the algortithm and the way the algorithm for AES was chosen required it to have such a foundation.
But you are right, it is pretty pointless.