@@ -340,6 +340,22 @@ BOOST_AUTO_TEST_CASE(hmac_sha256_testvectors) {
340340 " 647320746f20626520686173686564206265666f7265206265696e6720757365"
341341 " 642062792074686520484d414320616c676f726974686d2e" ,
342342 " 9b09ffa71b942fcb27635fbcd5b0e944bfdc63644f0713938a7f51535c3a35e2" );
343+ // Test case with key length 63 bytes.
344+ TestHMACSHA256 (" 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a656665"
345+ " 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a6566" ,
346+ " 7768617420646f2079612077616e7420666f72206e6f7468696e673f" ,
347+ " 9de4b546756c83516720a4ad7fe7bdbeac4298c6fdd82b15f895a6d10b0769a6" );
348+ // Test case with key length 64 bytes.
349+ TestHMACSHA256 (" 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a656665"
350+ " 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a656665" ,
351+ " 7768617420646f2079612077616e7420666f72206e6f7468696e673f" ,
352+ " 528c609a4c9254c274585334946b7c2661bad8f1fc406b20f6892478d19163dd" );
353+ // Test case with key length 65 bytes.
354+ TestHMACSHA256 (" 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a656665"
355+ " 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a656665"
356+ " 4a" ,
357+ " 7768617420646f2079612077616e7420666f72206e6f7468696e673f" ,
358+ " d06af337f359a2330deffb8e3cbe4b5b7aa8ca1f208528cdbd245d5dc63c4483" );
343359}
344360
345361BOOST_AUTO_TEST_CASE (hmac_sha512_testvectors) {
@@ -383,6 +399,31 @@ BOOST_AUTO_TEST_CASE(hmac_sha512_testvectors) {
383399 " 642062792074686520484d414320616c676f726974686d2e" ,
384400 " e37b6a775dc87dbaa4dfa9f96e5e3ffddebd71f8867289865df5a32d20cdc944"
385401 " b6022cac3c4982b10d5eeb55c3e4de15134676fb6de0446065c97440fa8c6a58" );
402+ // Test case with key length 127 bytes.
403+ TestHMACSHA512 (" 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a656665"
404+ " 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a656665"
405+ " 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a656665"
406+ " 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a6566" ,
407+ " 7768617420646f2079612077616e7420666f72206e6f7468696e673f" ,
408+ " 267424dfb8eeb999f3e5ec39a4fe9fd14c923e6187e0897063e5c9e02b2e624a"
409+ " c04413e762977df71a9fb5d562b37f89dfdfb930fce2ed1fa783bbc2a203d80e" );
410+ // Test case with key length 128 bytes.
411+ TestHMACSHA512 (" 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a656665"
412+ " 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a656665"
413+ " 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a656665"
414+ " 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a656665" ,
415+ " 7768617420646f2079612077616e7420666f72206e6f7468696e673f" ,
416+ " 43aaac07bb1dd97c82c04df921f83b16a68d76815cd1a30d3455ad43a3d80484"
417+ " 2bb35462be42cc2e4b5902de4d204c1c66d93b47d1383e3e13a3788687d61258" );
418+ // Test case with key length 129 bytes.
419+ TestHMACSHA512 (" 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a656665"
420+ " 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a656665"
421+ " 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a656665"
422+ " 4a6566654a6566654a6566654a6566654a6566654a6566654a6566654a656665"
423+ " 4a" ,
424+ " 7768617420646f2079612077616e7420666f72206e6f7468696e673f" ,
425+ " 0b273325191cfc1b4b71d5075c8fcad67696309d292b1dad2cd23983a35feb8e"
426+ " fb29795e79f2ef27f68cb1e16d76178c307a67beaad9456fac5fdffeadb16e2c" );
386427}
387428
388429BOOST_AUTO_TEST_CASE (aes_testvectors) {
0 commit comments