diff --git a/lib/des/rc2test.c b/lib/des/rc2test.c index ae54133a0..e10eace18 100644 --- a/lib/des/rc2test.c +++ b/lib/des/rc2test.c @@ -43,32 +43,63 @@ RCSID("$Id$"); struct { const char *key; + const int keylen; + const int bitsize; const char *plain; const char *cipher; } tests[] = { { "\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00", + 16, + 0, "\x00\x00\x00\x00\x00\x00\x00\x00", "\x1C\x19\x8A\x83\x8D\xF0\x28\xB7" }, { "\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x01", + 16, + 0, "\x00\x00\x00\x00\x00\x00\x00\x00", "\x21\x82\x9C\x78\xA9\xF9\xC0\x74" }, { "\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00", + 16, + 0, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", "\x13\xDB\x35\x17\xD3\x21\x86\x9E" }, { "\x00\x01\x02\x03\x04\x05\x06\x07" "\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F", + 16, + 0, "\x00\x00\x00\x00\x00\x00\x00\x00", "\x50\xDC\x01\x62\xBD\x75\x7F\x31" + }, + { + "\x00\x00\x00\x00\x00\x00\x00\x00", + 8, + 63, + "\x00\x00\x00\x00\x00\x00\x00\x00", + "\xeb\xb7\x73\xf9\x93\x27\x8e\xff" + }, + { + "\xff\xff\xff\xff\xff\xff\xff\xff", + 8, + 64, + "\xff\xff\xff\xff\xff\xff\xff\xff", + "\x27\x8b\x27\xe4\x2e\x2f\x0d\x49" + }, + { + "\x88", + 1, + 64, + "\x00\x00\x00\x00\x00\x00\x00\x00", + "\x61\xa8\xa2\x44\xad\xac\xcc\xf0" } }; @@ -100,7 +131,7 @@ main(int argc, char **argv) int i; for (i = 0; i < sizeof(tests)/sizeof(tests[0]); i++) { - RC2_set_key(&key, 16, tests[i].key, 0); + RC2_set_key(&key, tests[i].keylen, tests[i].key, tests[i].bitsize); memcpy(t, tests[i].plain, 8); RC2_encryptc(t, t, &key);