/* $Id: test_radiogatun.c 216 2010-06-08 09:46:57Z tp $ */ /* * Unit tests for the RadioGatun hash functions. * * ==========================(LICENSE BEGIN)============================ * * Copyright (c) 2007-2010 Projet RNRT SAPHIR * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * ===========================(LICENSE END)============================= * * @author Thomas Pornin */ #include "sph_radiogatun.h" #include "test_digest_helper.c" TEST_DIGEST_INTERNAL(RadioGatun[32], radiogatun32, 32) #if SPH_64 TEST_DIGEST_INTERNAL(RadioGatun[64], radiogatun64, 32) #endif static void test_radiogatun(void) { test_radiogatun32_internal("", "F30028B54AFAB6B3E55355D277711109A19BEDA7091067E9A492FB5ED9F20117"); test_radiogatun32_internal("0", "AF0D3F51B98E90EEEBAE86DD0B304A4003AC5F755FA2CAC2B6866A0A91C5C752"); test_radiogatun32_internal("1", "896C580EF77A68C36B040DCD5A650C09B8B5D915ECE298AD0210A21ED5811C95"); test_radiogatun32_internal("2", "070182313AB302CFC82459786F4A30EC66260C6676495CE86E72B3BE7C60F7AD"); test_radiogatun32_internal("3", "E1D20A1B67028A7C102CF77B444E0F4D8489F95506C76E4F27CE43D4958810AD"); test_radiogatun32_internal("4", "2D438E83A3D99929F44A1B0AB5A994EB4ABDFE11F9E72D62DE925BF120CAFCCD"); test_radiogatun32_internal("5", "8C3C9529C6CC4D266760670F38C7470D6ABA5A0905170A3692AE87E4ABF291FB"); test_radiogatun32_internal("6", "904573304A5BC7BA040F8DEF9EECA4138F7DDD7DA30E4B8FB97B7F6E06076BED"); test_radiogatun32_internal("7", "E7195ED9189C0169C90AFFEEFCF8810627DB1607F394FB13C7B43D06C74B1D4B"); test_radiogatun32_internal("8", "54E7013E72D94B31324D4878F91AE19A7085F20EFE9DAAB96A1FE559C78AE825"); test_radiogatun32_internal("9", "D4D08F6612F8EB58A855B2F5AABFC504E2972BA829DA94EDD960193D18BAD8D1"); test_radiogatun32_internal("12", "A7FDB34FD5D85D564A62C0B1B1B60CFA3D7A0C778231C95CDCD9BD293CCA16C6"); test_radiogatun32_internal("123", "57364D849286C7B3E98F3FC898094F7DC1675BA881A620B75D70F39631A4AA5B"); test_radiogatun32_internal("1234", "9EBDD24F469993796C4AAC6A821735A65A3CDEF8A359944CE71F34E7A08E1182"); test_radiogatun32_internal("12345", "B333C8413087FA49882BBD4F76A9223C4AA633A252514852C3F7C0C5F8F4D87B"); test_radiogatun32_internal("123456", "862B75D2E8E7F08F93812168502AF97BCE530C66688D4372A08EEA0951B5024A"); test_radiogatun32_internal("1234567", "90B7061A244CE7FBA80F9813787CB90EC3FBB3398AEE740AF1C0D44BC5282B73"); test_radiogatun32_internal("12345678", "E69E29BA139C20846116D8AD406E6197F1701D8243CC53BB86F2B72C62320A39"); test_radiogatun32_internal("123456789", "D77629174F56D8451F73CBE80EC7A20EF2DD65C46A1480CD004CBAA96F3FA1FD"); test_radiogatun32_internal("1234567890", "4F88759143CD9D11F6DE8DA4D3724C36C745223A5CFB7AD0E74DA87C80A43326"); test_radiogatun32_internal("12345678901", "5FC6C16C29CDD2EF78EE4F3C864C1942A052C110FD5A9711FE9BCF953A2D2D5B"); test_radiogatun32_internal("123456789012", "15EDA58156CA398AF49CBE9C9E62BF036A66B303ACB0043FB57ECADF9E9C8EDA"); test_radiogatun32_internal("1234567890123", "99F13E01DBF89E6BBF60C87E99F4F18C851D3385D9B5A1678C705E8F31F70B84"); test_radiogatun32_internal("12345678901234", "0AC434523B00F5C3D1D2AEEDBAE851D3EEAF3D76963CFD70A8B1D875638C8CD4"); test_radiogatun32_internal("123456789012345", "0EC6EAE7879543772B64F320BC5056C81ACE91AEA20F360CEFA57272E2C07197"); test_radiogatun32_internal("1234567890123456", "59612324F3F42D3096E69125D2733B86143AE668AE9ED561AD785E0EAC8DBA25"); test_radiogatun32_internal("12345678901234567", "D52161B6BB583955B1ABB5781D2044BE8F4174904241533973C66B87880EDB53"); test_radiogatun32_internal("123456789012345678", "E42EA26B8B696541CFEA557C47886ED41440A04EF8CCC055CEB6583F6ACF6015"); test_radiogatun32_internal("1234567890123456789", "687BDEC54F854303E48300A52C9099E3153F481CE34E12CDC178D841C0926B51"); test_radiogatun32_internal("12345678901234567890", "8BD3D5953ED234F7A0051A993776630A9722978D06240EECC66E05A0B2CB60C7"); test_radiogatun32_internal("123456789012345678901", "381957046BEC1DFC08EAA0B2818D9FA07BCF78386C43AA41C069B5CF33E4F9AB"); test_radiogatun32_internal("1234567890123456789012", "F769558AF4FB0ACB6643B893D3595C2E5B110C60256D1CEB672EB33999EF0887"); test_radiogatun32_internal("12345678901234567890123", "4CAE588C3F3C08DF85564379332309EA5F73A51405CD4408C9DBFFF1615EF297"); test_radiogatun32_internal("123456789012345678901234", "4884DACCBDA87F1E02814152F0224DAB291B49FFD86516A30EA6C9D546730ECF"); test_radiogatun32_internal("SECOND CRYPTOGRAPHIC HASH WORKSHOP", "5DD047238DD574B45621DFEDAFADD6BCB4594B6E0551E78CA2B62BCBD975D429"); test_radiogatun32_internal("August 24-25, 2006", "277C1598E324185706F8F3EA72B7DC8FBE361EA02DBB0A35AFC7F0E088ACF2F5"); test_radiogatun32_internal("Santa Barbara, California", "041666388EF9655D48996A66DADA1193D6646012A7B25A24FB10E6075CF0FC54"); test_radiogatun32_internal("In response to the SHA-1 vulnerability" " that was announced in Feb. 2005, NIST held a Cryptographic" " Hash Workshop on Oct. 31-Nov. 1, 2005 to solicit public" " input on its cryptographic hash function policy and" " standards. NIST continues to recommend a transition from" " SHA-1 to the larger approved hash functions (SHA-224," " SHA-256, SHA-384, and SHA-512). In response to the workshop," " NIST has also decided that it would be prudent in the" " long-term to develop an additional hash function through a" " public competition, similar to the development process for" " the block cipher in the Advanced Encryption Standard (AES).", "4311D3CDC46EFE38FDB5C3023A160C3069B26A2AF0CE0CCAAFFA3F3C61629AD6"); test_radiogatun32_internal("1234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "1234567890123456789012345678901234567890", "849E6159D45AC1E99BC0D613D71C9E2DA639580CCFDC8013EE81D4E32AAD9C25"); #if SPH_64 test_radiogatun64_internal("", "64A9A7FA139905B57BDAB35D33AA216370D5EAE13E77BFCDD85513408311A584"); test_radiogatun64_internal("0", "5DB6B188AFEF88AD8D2E426105ACFFCD42EE439CC26275D11F87B530DE94D066"); test_radiogatun64_internal("1", "3A3D7A7B79D1EC5A4DB4DC032B685574F7CA7517105F1634B61A34AA2575FCD3"); test_radiogatun64_internal("2", "66E36CE1926EC1F7457B670D7B68BD819B2D546A75E5CDFD2691CB5F3DC2818A"); test_radiogatun64_internal("3", "449B69EF4ACA0D081B6B2CE9C8BD22BE30BC1CAA130FB0714C8621E42FFA631D"); test_radiogatun64_internal("4", "05B7B2D2F2C0D48415E292325AD0901009F12EF1F9581A7A19C422795CF36459"); test_radiogatun64_internal("5", "95A02B2899296E69988B11D47B4B9FBA51AF22A09A854523924E8DFFE0EC8922"); test_radiogatun64_internal("6", "ED37ECED317B65B676F72F88CEA918B9B878C3F245E79D0C2D35D86C4DEE5A8F"); test_radiogatun64_internal("7", "8862FC05C7E23677904020462809A1F2784E117C349AD1D0D8CB0F433021D75C"); test_radiogatun64_internal("8", "7338658BFD49605F1EBB186E7E1EC3E75CF672655BCCE499CB8B3952B448B0B4"); test_radiogatun64_internal("9", "E2F59B35CB58EFE2200D9544A0BA5FC0659F6019D3EDD4E94A1BB0363166AFD9"); test_radiogatun64_internal("12", "BA12168F91F5C124F8AE3908815DC7F3FBF6BCF6E3C66BB8507B16B9B269541E"); test_radiogatun64_internal("123", "9719B972D31893EA2B24BD4AC88ACBA598AEFE75DD596692BDA08414080778C4"); test_radiogatun64_internal("1234", "733E2B49A53FB166B6F3BD341919578B8C931880F8B8BD7C0FBBEE1A538E7307"); test_radiogatun64_internal("12345", "CE8CEEA40E4FDA63EB2453E2CFFF0C9C68E969BFF13757987B0FF9B242394FC7"); test_radiogatun64_internal("123456", "1A41026D8183CB13B39819ACD5281617A25BE557C9C09E939F07EEC72347CE34"); test_radiogatun64_internal("1234567", "89C6A058B9E8A2C7176A429E941BBEE5F214A9B0603420562991CBF2751CB817"); test_radiogatun64_internal("12345678", "4C92EE54656958C6017A7C780E569695F6C354510537AC87206EE887B1E8F258"); test_radiogatun64_internal("123456789", "76A565017A42B258F5C8C9D2D9FD4C7347947A659ED142FF61C1BEA592F103C5"); test_radiogatun64_internal("1234567890", "93B2D9E81645DDCD588EDCB8EB0E18160C2CBF891760CB831D88C3D81F218061"); test_radiogatun64_internal("12345678901", "09C7288E06FC1040C330962737E95887DC6D8BC2985D04A5CAC122BE2689F26C"); test_radiogatun64_internal("123456789012", "54877BD9BA9DCC929B152EFD72F46AFC6A772A84FCEDA7ED85398932B185D5A4"); test_radiogatun64_internal("1234567890123", "8DA9DC13C922E28DE1D2AC136904B18B8CA5C9332C89982D9FAED2B00C1D0AF9"); test_radiogatun64_internal("12345678901234", "64421D3084602E7388679364D5767AA5381F54ABD92CDBA4F05DAD06227F55AF"); test_radiogatun64_internal("123456789012345", "FDE56263C4A79F19A7EB663D1BB427243A6AD3522EC31FC00D81775EB6891978"); test_radiogatun64_internal("1234567890123456", "CAAEC14B5B4A7960D6854709770E3071D635D60224F58AA385867E549EF4CC42"); test_radiogatun64_internal("12345678901234567", "A0C5AC2493B71A5E9A4D41DD1854DAC0383193BAE0B5E7CA035F86AD052F46AA"); test_radiogatun64_internal("123456789012345678", "7898EE3F72838E94336E3DE2AFB4C9A7881D395B21ED74473186D919C78A8B88"); test_radiogatun64_internal("1234567890123456789", "F0D6C1B2EFC3D88C52B30DDF46920A22008F07FC4FFC9600FDDF1650FAF3FCB9"); test_radiogatun64_internal("12345678901234567890", "073ED06E210785942E619BA6BE2C00D4E8A8C991AAD67FEA3ED5E75A3A1CA534"); test_radiogatun64_internal("123456789012345678901", "4B71AF0C9D20CF9E827598592835B58235001D65BAA3779136BC45C8C7B26859"); test_radiogatun64_internal("1234567890123456789012", "20E64EC450D4FFE67138850E0F4AFE9C7805AB0F1E0B191DF6E57A5555DA6676"); test_radiogatun64_internal("12345678901234567890123", "540D61172733EF9A691C487E3739B49DF4406861D0F0AA8C373A56D5A81CBAC9"); test_radiogatun64_internal("123456789012345678901234", "EE7A689B4548FA98D83AB6B71432D4327AC172E3AD1302B0D5235D675B8D4952"); test_radiogatun64_internal("SECOND CRYPTOGRAPHIC HASH WORKSHOP", "4B9A38E4A968A2096F70A896DCAD202BC1D2D29B4470227F739BEA973233B43F"); test_radiogatun64_internal("August 24-25, 2006", "0950DF1B217D3079CAF7D2F5A7F91D3FEBF1A41C4887297B828E36FEB1998534"); test_radiogatun64_internal("Santa Barbara, California", "0D08DAF2354FA95AAA5B6A50F514384ECDD35940252E0631002E600E13CD285F"); test_radiogatun64_internal("In response to the SHA-1 vulnerability" " that was announced in Feb. 2005, NIST held a Cryptographic" " Hash Workshop on Oct. 31-Nov. 1, 2005 to solicit public" " input on its cryptographic hash function policy and" " standards. NIST continues to recommend a transition from" " SHA-1 to the larger approved hash functions (SHA-224," " SHA-256, SHA-384, and SHA-512). In response to the workshop," " NIST has also decided that it would be prudent in the" " long-term to develop an additional hash function through a" " public competition, similar to the development process for" " the block cipher in the Advanced Encryption Standard (AES).", "2C9EC1EFC5D2FEEFFC2817CD571F394328111DB8068FC79E2FB84A42416BF5D3"); test_radiogatun64_internal("1234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "123456789012345678901234567890123456789012345678901234567890" "1234567890123456789012345678901234567890", "5B62F66DBF00028A2360E80D7D1AF240C8342C38C8F1674BF7E720AD6FC9EC55"); #endif } UTEST_MAIN("RadioGatun", test_radiogatun)