QortalOS Brooklyn for Raspberry Pi 4
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

292 lines
16 KiB

/* $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 <thomas.pornin@cryptolog.com>
*/
#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)