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
Rijndael.patch
Description: Binary data
TestEncrypt.java
Description: Binary data
_______________________________________________ Devl mailing list [email protected] http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
