Please excuse me if this has already been addressed, I'm just now starting to dig into the freenet source.

The encryption aspect interests me, but after writing a test program and testing various key/block sizes for Rijndael, I found that only the 128 bit block size appears to work as it stands in the SVN repository, yet everywhere that it is used in the rest of the source it is requested with a 256 blocksize.

Apparently only due to not passing the blocksize into the key/encrypt/ decrypt functions, it appears easy enough to fix (example patch included). My question is, why aren't these other classes which rely on Rijndael-256-block encryption broken? or are they, silently?

If I'm missing something obvious, please do tell.

--
Robert Hailey

[ 4 intended attachments]

TEST SYMMETRIC: keySize=128 / blockSize=128
Using key= 0xB7F770AA8E1AAF80354C44B35514EA06
Input    = 0x2EB3D8F9B2F299FB1A061A38C67CCD8C
Ciphered = 0xAF8D63AD585778BFE826CD4F7D24C848
Restored = 0x2EB3D8F9B2F299FB1A061A38C67CCD8C
SUCCESS
TEST SYMMETRIC: keySize=128 / blockSize=192
Using key= 0xC90420231529C1C618D0F4B820C2E947
Input    = 0x12C5061E78E39F877910E005EF5C5678FE4632FE249B0E35
Ciphered = 0x7D1FBDDAD02BD0604C2C1A892BDF24F20000000000000000
Restored = 0x12C5061E78E39F877910E005EF5C56780000000000000000
FAILURE
TEST SYMMETRIC: keySize=128 / blockSize=256
Using key= 0xCA55C947ACF365DB56D35D93CFD78ED2
Input    = 0x5E209147087F9AB67C6148AD7FBD14643376F5D54666A203CDA8A9A6E36379C2
Ciphered = 0xC6235F01227121AD44855257556F7C0E00000000000000000000000000000000
Restored = 0x5E209147087F9AB67C6148AD7FBD146400000000000000000000000000000000
FAILURE
TEST SYMMETRIC: keySize=192 / blockSize=128
Using key= 0x0EB42B30EBF254D17C0E997731BBE7AF2989723865C21363
Input    = 0xEB692C77C0DC88F8CCF28AF5BB9DC899
Ciphered = 0xF07048B87572CE9B02AB062B6E72D044
Restored = 0xEB692C77C0DC88F8CCF28AF5BB9DC899
SUCCESS
TEST SYMMETRIC: keySize=192 / blockSize=192
Using key= 0xAEB2061559036AFB470C051C20B12924CAB3822267E68C29
Input    = 0x000CBE87196717F72F03E1A2955936C644E00913DB6DA009
Ciphered = 0xF46A54BDE671894D69EE390C64C7DC3D0000000000000000
Restored = 0x000CBE87196717F72F03E1A2955936C60000000000000000
FAILURE
TEST SYMMETRIC: keySize=192 / blockSize=256
Using key= 0x8A891422C4494E03BDBF58EDB78DF4929654A4A925ED0070
Input    = 0x596C252203EFA1FB332DDAC0C2754BFAEF3FBC691047F8F870792B2BD920F49F
Ciphered = 0x74AB40572360D74E58A5C041F0B5F38100000000000000000000000000000000
Restored = 0x596C252203EFA1FB332DDAC0C2754BFA00000000000000000000000000000000
FAILURE
TEST SYMMETRIC: keySize=256 / blockSize=128
Using key= 0x16FC8F601300CE71A2162F4F47150A0852867E3DF692CA31059FF6008F5CB14B
Input    = 0x047987B7F43243A0FF405E7BECBA0B83
Ciphered = 0x94BE9B2FFB878D053913004ACEEE2CAD
Restored = 0x047987B7F43243A0FF405E7BECBA0B83
SUCCESS
TEST SYMMETRIC: keySize=256 / blockSize=192
Using key= 0x852DAB20EA76FA3703B7E254DD99349193DC7C0BB3A6131903D5EAD3FD4BCF24
Input    = 0x7C57A0F00F33A4DFCED50E46E1035387A93FE37549D7DBFF
Ciphered = 0xD9B493A4ECF087F6A2B833ABB2F2ECF40000000000000000
Restored = 0x7C57A0F00F33A4DFCED50E46E10353870000000000000000
FAILURE
TEST SYMMETRIC: keySize=256 / blockSize=256
Using key= 0xC8839C9BBE519B0D474F4A171A5E6A90FBF0C49A76FB6C60FA51A7E3316399C2
Input    = 0xBA43AA8F6D767E1FFA4C8C084E16B53EF28CA181BAC29BDBBFEF931651042A13
Ciphered = 0xB036B2E13B117765BE9598A578EC154000000000000000000000000000000000
Restored = 0xBA43AA8F6D767E1FFA4C8C084E16B53E00000000000000000000000000000000
FAILURE
TEST SYMMETRIC: keySize=128 / blockSize=128
Using key= 0xB23350564AB440A57DA855FFA1A31EA7
Input    = 0x66C9252CFA6328319E3E6F143BF7A403
Ciphered = 0xA939A244792DC7346E452C92D1045C92
Restored = 0x66C9252CFA6328319E3E6F143BF7A403
SUCCESS
TEST SYMMETRIC: keySize=128 / blockSize=192
Using key= 0xBA544D131C4B19C54EAFF86218F5B75E
Input    = 0xC6BC32C5DCFC3145D8E78512B8FCBEBAA3B562C88452B236
Ciphered = 0x5EAAF94AE115CB8ECC6FA922561D34C60C34F4437958A809
Restored = 0xC6BC32C5DCFC3145D8E78512B8FCBEBAA3B562C88452B236
SUCCESS
TEST SYMMETRIC: keySize=128 / blockSize=256
Using key= 0x616F0AE79E304CB1802C16D8D2078013
Input    = 0x04454EC6743741B9EB36E9138E3E59C57A9990C5F4BC908E3C9B1908DF42D844
Ciphered = 0x1DA17CD6067A0CBDE660EFF32E0C8E06143B393695303BFB1416DF54F77EA8C2
Restored = 0x04454EC6743741B9EB36E9138E3E59C57A9990C5F4BC908E3C9B1908DF42D844
SUCCESS
TEST SYMMETRIC: keySize=192 / blockSize=128
Using key= 0x0927859118B44A439B693D70C01E4D3DE4F6F61B06515B49
Input    = 0x227F7DC06AED2AB288FF5324E31DBAC5
Ciphered = 0xADAB8ED04D1721ADD504FBE9D5165FD3
Restored = 0x227F7DC06AED2AB288FF5324E31DBAC5
SUCCESS
TEST SYMMETRIC: keySize=192 / blockSize=192
Using key= 0x5E52FD3B562DCEEDB014DDE1F49E77C7A67E48541EB120BB
Input    = 0xCCBD5475E2C12E558B66188532A06440CE5E67C3C0DB382A
Ciphered = 0x11682C60E4786CA3D729EEFD521325AC2094C2856A5568AA
Restored = 0xCCBD5475E2C12E558B66188532A06440CE5E67C3C0DB382A
SUCCESS
TEST SYMMETRIC: keySize=192 / blockSize=256
Using key= 0xF90A046879216139245ECAC7E11852200A799FDA7CCEDF5F
Input    = 0xD17A38B0EB9DB19A445599351053C53AAB524CC1D5D35076B16CEEE8787A8EBF
Ciphered = 0xA73E8F4D3B215FED9F5206B476E6782463E0ECFC1E5CE32EFCAE3AD1997DB578
Restored = 0xD17A38B0EB9DB19A445599351053C53AAB524CC1D5D35076B16CEEE8787A8EBF
SUCCESS
TEST SYMMETRIC: keySize=256 / blockSize=128
Using key= 0xBF6CBBC6BF10AEA29D56A8DB6D2FE1DE9B5805434868978E8F512081AC30220D
Input    = 0x58F3A0BED38860B41B63D6BD1D7A9FDA
Ciphered = 0x91083FA5232745BD543FA8409219C520
Restored = 0x58F3A0BED38860B41B63D6BD1D7A9FDA
SUCCESS
TEST SYMMETRIC: keySize=256 / blockSize=192
Using key= 0xE7720B47824CDA189C00224CD2F8B0C3BCD5BB03B89486DFB9BF152F3794D818
Input    = 0x1EB05ADCB51EFC4ACCC8DEF376490E15F2EDBDD626DE4079
Ciphered = 0x0EBCFE158B26529BD42D941883D7E228972E1CDA0F651189
Restored = 0x1EB05ADCB51EFC4ACCC8DEF376490E15F2EDBDD626DE4079
SUCCESS
TEST SYMMETRIC: keySize=256 / blockSize=256
Using key= 0x84424B41E2844715A069726CF2A9290178E357E7DB9E62F2052A0828AE670556
Input    = 0x1D6A6FED66F518D71C5BD45BA02B01497A34A37EE52B17483B55A02764503DEB
Ciphered = 0x4D74BBFAA8B5CB2C9CAF32C3BBA8E38AC0AE5A4DCC374E8D63B333638AD0802F
Restored = 0x1D6A6FED66F518D71C5BD45BA02B01497A34A37EE52B17483B55A02764503DEB
SUCCESS

Attachment: Rijndael.patch
Description: Binary data

Attachment: TestEncrypt.java
Description: Binary data


_______________________________________________
Devl mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to