1
0
mirror of https://github.com/danog/phpseclib.git synced 2024-12-02 17:52:59 +01:00

Tests/Salsa20: use stream[0..63] instead of xor-digest

This commit is contained in:
terrafrost 2021-12-04 22:21:33 -06:00
parent 4141799c02
commit 8c137a19e4

View File

@ -22,110 +22,110 @@ class Unit_Crypt_Salsa20Test extends PhpseclibTestCase
[
'key' => '80000000000000000000000000000000',
'iv' => '0000000000000000',
'result' => 'F7A274D268316790A67EC058F45C0F2A' .
'067A99FCDE6236C0CEF8E056349FE54C' .
'5F13AC74D2539570FD34FEAB06C57205' .
'3949B59585742181A5A760223AFA22D4'
'result' => '4DFA5E481DA23EA09A31022050859936' .
'DA52FCEE218005164F267CB65F5CFD7F' .
'2B4F97E0FF16924A52DF269515110A07' .
'F9E460BC65EF95DA58F740B7D1DBB0AA'
],
// set 2
[
'key' => '00000000000000000000000000000000',
'iv' => '0000000000000000',
'result' => '6D3937FFA13637648E477623277644AD' .
'AD3854E6B2B3E4D68155356F68B30490' .
'842B2AEA2E32239BE84E613C6CE1B9BD' .
'026094962CB1A6757AF5A13DDAF8252C'
'result' => '6513ADAECFEB124C1CBE6BDAEF690B4F' .
'FB00B0FCACE33CE806792BB414801998' .
'34BFB1CFDD095802C6E95E251002989A' .
'C22AE588D32AE79320D9BD7732E00338'
],
// set 3
[
'key' => '000102030405060708090A0B0C0D0E0F',
'iv' => '0000000000000000',
'result' => 'F3BCF4D6381742839C5627050D4B227F' .
'EB1ECCC527BF605C4CB9D6FB0618F419' .
'B51846707550BBEEE381E44A50A406D0' .
'20C8433D08B19C98EFC867ED9897EDBB'
'result' => '2DD5C3F7BA2B20F76802410C68868889' .
'5AD8C1BD4EA6C9B140FB9B90E21049BF' .
'583F527970EBC1A4C4C5AF117A5940D9' .
'2B98895B1902F02BF6E9BEF8D6B4CCBE'
],
// set 4
[
'key' => '0053A6F94C9FF24598EB3E91E4378ADD',
'iv' => '0000000000000000',
'result' => '196D1A0977F0585B23367497D449E11D' .
'E328ECD944BC133F786348C9591B35B7' .
'189CDDD934757ED8F18FBC984DA377A8' .
'07147F1A6A9A8759FD2A062FD76D275E'
'result' => 'BE4EF3D2FAC6C4C3D822CE67436A407C' .
'C237981D31A65190B51053D13A19C89F' .
'C90ACB45C8684058733EDD259869C58E' .
'EF760862BEFBBCA0F6E675FD1FA25C27'
],
// set 5
[
'key' => '00000000000000000000000000000000',
'iv' => '8000000000000000',
'result' => '104639D9F65C879F7DFF8A82A94C130C' .
'D6C727B3BC8127943ACDF0AB7AD6D28B' .
'F2ADF50D81F50C53D0FDFE15803854C7' .
'D67F6C9B4752275696E370A467A4C1F8'
'result' => 'B66C1E4446DD9557E578E223B0B76801' .
'7B23B267BB0234AE4626BF443F219776' .
'436FB19FD0E8866FCD0DE9A9538F4A09' .
'CA9AC0732E30BCF98E4F13E4B9E201D9'
],
// set 6
[
'key' => '0053A6F94C9FF24598EB3E91E4378ADD',
'iv' => '0D74DB42A91077DE',
'result' => '620BB4C2ED20F4152F0F86053D3F5595' .
'8E1FBA48F5D86B25C8F31559F3158072' .
'6E7ED8525D0B9EA5264BF97750713476' .
'1EF65FE195274AFBF000938C03BA59A7'
'result' => '05E1E7BEB697D999656BF37C1B978806' .
'735D0B903A6007BD329927EFBE1B0E2A' .
'8137C1AE291493AA83A821755BEE0B06' .
'CD14855A67E46703EBF8F3114B584CBA'
],
// key size: 256 bits
// set 1
[
'key' => '8000000000000000000000000000000000000000000000000000000000000000',
'iv' => '0000000000000000',
'result' => '50EC2485637DB19C6E795E9C73938280' .
'6F6DB320FE3D0444D56707D7B456457F' .
'3DB3E8D7065AF375A225A70951C8AB74' .
'4EC4D595E85225F08E2BC03FE1C42567'
'result' => 'E3BE8FDD8BECA2E3EA8EF9475B29A6E7' .
'003951E1097A5C38D23B7A5FAD9F6844' .
'B22C97559E2723C7CBBD3FE4FC8D9A07' .
'44652A83E72A9C461876AF4D7EF1A117'
],
// set 2
[
'key' => '0000000000000000000000000000000000000000000000000000000000000000',
'iv' => '0000000000000000',
'result' => '7C3A1499A63B507B0BC75824ABEEAA26' .
'109101C5B915F0F554DD9950045D02FA' .
'FF815CA8B2C7CFF3625765697B80B026' .
'7EA87E25412564BD71DD05843A60465E'
'result' => '9A97F65B9B4C721B960A672145FCA8D4' .
'E32E67F9111EA979CE9C4826806AEEE6' .
'3DE9C0DA2BD7F91EBCB2639BF989C625' .
'1B29BF38D39A9BDCE7C55F4B2AC12A39'
],
// set 3
[
'key' => '000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F',
'iv' => '0000000000000000',
'result' => '8C03E9237FEE95D5041C753C204D2B35' .
'764E4A53035A76F9EFBADD7E63E60B69' .
'BF23F7C5FD39B2249B0C628FB654D521' .
'4EB588371E5D2F34BF51396AF3ACB666'
'result' => 'B580F7671C76E5F7441AF87C146D6B51' .
'3910DC8B4146EF1B3211CF12AF4A4B49' .
'E5C874B3EF4F85E7D7ED539FFEBA73EB' .
'73E0CCA74FBD306D8AA716C7783E89AF'
],
// set 4
[
'key' => '0053A6F94C9FF24598EB3E91E4378ADD3083D6297CCF2275C81B6EC11467BA0D',
'iv' => '0000000000000000',
'result' => '2052F9A2853E989133D10938222AC76D' .
'B8B4CBA135ACB59970DDF9C074C6271A' .
'5C4E2A7A00D2D697EDFC9B1FF9B365C8' .
'7347B23020663A30711A71E3A02AB00C'
'result' => 'F9D2DC274BB55AEFC2A0D9F8A982830F' .
'6916122BC0A6870F991C6ED8D00D2F85' .
'94E3151DE4C5A19A9A06FBC191C87BF0' .
'39ADF971314BAF6D02337080F2DAE5CE'
],
// set 5
[
'key' => '0000000000000000000000000000000000000000000000000000000000000000',
'iv' => '8000000000000000',
'result' => 'FE40F57D1586D7664C2FCA5AB10BD7C7' .
'9DE3234836E76949F9DC01CBFABC6D6C' .
'42AB27DDC748B4DF7991092972AB4985' .
'CEC19B3E7C2C85D6E25A338DEC288282'
'result' => '2ABA3DC45B4947007B14C851CD694456' .
'B303AD59A465662803006705673D6C3E' .
'29F1D3510DFC0405463C03414E0E07E3' .
'59F1F1816C68B2434A19D3EEE0464873'
],
// set 6
[
'key' => '0053A6F94C9FF24598EB3E91E4378ADD3083D6297CCF2275C81B6EC11467BA0D',
'iv' => '0D74DB42A91077DE',
'result' => 'C349B6A51A3EC9B712EAED3F90D8BCEE' .
'69B7628645F251A996F55260C62EF31F' .
'D6C6B0AEA94E136C9D984AD2DF3578F7' .
'8E457527B03A0450580DD874F63B1AB9'
'result' => 'F5FAD53F79F9DF58C4AEA0D0ED9A9601' .
'F278112CA7180D565B420A48019670EA' .
'F24CE493A86263F677B46ACE1924773D' .
'2BB25571E1AA8593758FC382B1280B71'
],
];
@ -153,6 +153,6 @@ class Unit_Crypt_Salsa20Test extends PhpseclibTestCase
self::markTestSkipped('Unable to initialize ' . $engine . ' engine for ' . (strlen($key) * 8) . '-bit key');
}
$result = $cipher->encrypt(str_repeat("\0", 64));
$this->assertEquals(bin2hex($result), $expected, "Failed asserting that key $key / $iv yielded expected output in $engine engine");
$this->assertEquals(strtoupper(bin2hex($result)), $expected, "Failed asserting that key $key / $iv yielded expected output in $engine engine");
}
}