Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

crypto: sha3 - Add HMAC-SHA3 test modes and test vectors

This patch adds HMAC-SHA3 test modes in tcrypt module
and related test vectors.

Signed-off-by: Raveendra Padasalagi <raveendra.padasalagi@broadcom.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

raveendra padasalagi and committed by
Herbert Xu
98eca72f eb354785

+444
+16
crypto/tcrypt.c
··· 1313 1313 ret += tcrypt_test("hmac(crc32)"); 1314 1314 break; 1315 1315 1316 + case 111: 1317 + ret += tcrypt_test("hmac(sha3-224)"); 1318 + break; 1319 + 1320 + case 112: 1321 + ret += tcrypt_test("hmac(sha3-256)"); 1322 + break; 1323 + 1324 + case 113: 1325 + ret += tcrypt_test("hmac(sha3-384)"); 1326 + break; 1327 + 1328 + case 114: 1329 + ret += tcrypt_test("hmac(sha3-512)"); 1330 + break; 1331 + 1316 1332 case 150: 1317 1333 ret += tcrypt_test("ansi_cprng"); 1318 1334 break;
+40
crypto/testmgr.c
··· 3400 3400 } 3401 3401 } 3402 3402 }, { 3403 + .alg = "hmac(sha3-224)", 3404 + .test = alg_test_hash, 3405 + .fips_allowed = 1, 3406 + .suite = { 3407 + .hash = { 3408 + .vecs = hmac_sha3_224_tv_template, 3409 + .count = HMAC_SHA3_224_TEST_VECTORS 3410 + } 3411 + } 3412 + }, { 3413 + .alg = "hmac(sha3-256)", 3414 + .test = alg_test_hash, 3415 + .fips_allowed = 1, 3416 + .suite = { 3417 + .hash = { 3418 + .vecs = hmac_sha3_256_tv_template, 3419 + .count = HMAC_SHA3_256_TEST_VECTORS 3420 + } 3421 + } 3422 + }, { 3423 + .alg = "hmac(sha3-384)", 3424 + .test = alg_test_hash, 3425 + .fips_allowed = 1, 3426 + .suite = { 3427 + .hash = { 3428 + .vecs = hmac_sha3_384_tv_template, 3429 + .count = HMAC_SHA3_384_TEST_VECTORS 3430 + } 3431 + } 3432 + }, { 3433 + .alg = "hmac(sha3-512)", 3434 + .test = alg_test_hash, 3435 + .fips_allowed = 1, 3436 + .suite = { 3437 + .hash = { 3438 + .vecs = hmac_sha3_512_tv_template, 3439 + .count = HMAC_SHA3_512_TEST_VECTORS 3440 + } 3441 + } 3442 + }, { 3403 3443 .alg = "hmac(sha384)", 3404 3444 .test = alg_test_hash, 3405 3445 .fips_allowed = 1,
+388
crypto/testmgr.h
··· 3694 3694 }, 3695 3695 }; 3696 3696 3697 + #define HMAC_SHA3_224_TEST_VECTORS 4 3698 + 3699 + static struct hash_testvec hmac_sha3_224_tv_template[] = { 3700 + { 3701 + .key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" 3702 + "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" 3703 + "\x0b\x0b\x0b\x0b", 3704 + .ksize = 20, 3705 + .plaintext = "Hi There", 3706 + .psize = 8, 3707 + .digest = "\x3b\x16\x54\x6b\xbc\x7b\xe2\x70" 3708 + "\x6a\x03\x1d\xca\xfd\x56\x37\x3d" 3709 + "\x98\x84\x36\x76\x41\xd8\xc5\x9a" 3710 + "\xf3\xc8\x60\xf7", 3711 + }, { 3712 + .key = "Jefe", 3713 + .ksize = 4, 3714 + .plaintext = "what do ya want for nothing?", 3715 + .psize = 28, 3716 + .digest = "\x7f\xdb\x8d\xd8\x8b\xd2\xf6\x0d" 3717 + "\x1b\x79\x86\x34\xad\x38\x68\x11" 3718 + "\xc2\xcf\xc8\x5b\xfa\xf5\xd5\x2b" 3719 + "\xba\xce\x5e\x66", 3720 + .np = 4, 3721 + .tap = { 7, 7, 7, 7 } 3722 + }, { 3723 + .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3724 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3725 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3726 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3727 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3728 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3729 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3730 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3731 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3732 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3733 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3734 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3735 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3736 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3737 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3738 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3739 + "\xaa\xaa\xaa", 3740 + .ksize = 131, 3741 + .plaintext = "Test Using Large" 3742 + "r Than Block-Siz" 3743 + "e Key - Hash Key" 3744 + " First", 3745 + .psize = 54, 3746 + .digest = "\xb4\xa1\xf0\x4c\x00\x28\x7a\x9b" 3747 + "\x7f\x60\x75\xb3\x13\xd2\x79\xb8" 3748 + "\x33\xbc\x8f\x75\x12\x43\x52\xd0" 3749 + "\x5f\xb9\x99\x5f", 3750 + }, { 3751 + .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3752 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3753 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3754 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3755 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3756 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3757 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3758 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3759 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3760 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3761 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3762 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3763 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3764 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3765 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3766 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3767 + "\xaa\xaa\xaa", 3768 + .ksize = 131, 3769 + .plaintext = 3770 + "This is a test u" 3771 + "sing a larger th" 3772 + "an block-size ke" 3773 + "y and a larger t" 3774 + "han block-size d" 3775 + "ata. The key nee" 3776 + "ds to be hashed " 3777 + "before being use" 3778 + "d by the HMAC al" 3779 + "gorithm.", 3780 + .psize = 152, 3781 + .digest = "\x05\xd8\xcd\x6d\x00\xfa\xea\x8d" 3782 + "\x1e\xb6\x8a\xde\x28\x73\x0b\xbd" 3783 + "\x3c\xba\xb6\x92\x9f\x0a\x08\x6b" 3784 + "\x29\xcd\x62\xa0", 3785 + }, 3786 + }; 3787 + 3788 + #define HMAC_SHA3_256_TEST_VECTORS 4 3789 + 3790 + static struct hash_testvec hmac_sha3_256_tv_template[] = { 3791 + { 3792 + .key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" 3793 + "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" 3794 + "\x0b\x0b\x0b\x0b", 3795 + .ksize = 20, 3796 + .plaintext = "Hi There", 3797 + .psize = 8, 3798 + .digest = "\xba\x85\x19\x23\x10\xdf\xfa\x96" 3799 + "\xe2\xa3\xa4\x0e\x69\x77\x43\x51" 3800 + "\x14\x0b\xb7\x18\x5e\x12\x02\xcd" 3801 + "\xcc\x91\x75\x89\xf9\x5e\x16\xbb", 3802 + }, { 3803 + .key = "Jefe", 3804 + .ksize = 4, 3805 + .plaintext = "what do ya want for nothing?", 3806 + .psize = 28, 3807 + .digest = "\xc7\xd4\x07\x2e\x78\x88\x77\xae" 3808 + "\x35\x96\xbb\xb0\xda\x73\xb8\x87" 3809 + "\xc9\x17\x1f\x93\x09\x5b\x29\x4a" 3810 + "\xe8\x57\xfb\xe2\x64\x5e\x1b\xa5", 3811 + .np = 4, 3812 + .tap = { 7, 7, 7, 7 } 3813 + }, { 3814 + .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3815 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3816 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3817 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3818 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3819 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3820 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3821 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3822 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3823 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3824 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3825 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3826 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3827 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3828 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3829 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3830 + "\xaa\xaa\xaa", 3831 + .ksize = 131, 3832 + .plaintext = "Test Using Large" 3833 + "r Than Block-Siz" 3834 + "e Key - Hash Key" 3835 + " First", 3836 + .psize = 54, 3837 + .digest = "\xed\x73\xa3\x74\xb9\x6c\x00\x52" 3838 + "\x35\xf9\x48\x03\x2f\x09\x67\x4a" 3839 + "\x58\xc0\xce\x55\x5c\xfc\x1f\x22" 3840 + "\x3b\x02\x35\x65\x60\x31\x2c\x3b", 3841 + }, { 3842 + .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3843 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3844 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3845 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3846 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3847 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3848 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3849 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3850 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3851 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3852 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3853 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3854 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3855 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3856 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3857 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3858 + "\xaa\xaa\xaa", 3859 + .ksize = 131, 3860 + .plaintext = 3861 + "This is a test u" 3862 + "sing a larger th" 3863 + "an block-size ke" 3864 + "y and a larger t" 3865 + "han block-size d" 3866 + "ata. The key nee" 3867 + "ds to be hashed " 3868 + "before being use" 3869 + "d by the HMAC al" 3870 + "gorithm.", 3871 + .psize = 152, 3872 + .digest = "\x65\xc5\xb0\x6d\x4c\x3d\xe3\x2a" 3873 + "\x7a\xef\x87\x63\x26\x1e\x49\xad" 3874 + "\xb6\xe2\x29\x3e\xc8\xe7\xc6\x1e" 3875 + "\x8d\xe6\x17\x01\xfc\x63\xe1\x23", 3876 + }, 3877 + }; 3878 + 3879 + #define HMAC_SHA3_384_TEST_VECTORS 4 3880 + 3881 + static struct hash_testvec hmac_sha3_384_tv_template[] = { 3882 + { 3883 + .key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" 3884 + "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" 3885 + "\x0b\x0b\x0b\x0b", 3886 + .ksize = 20, 3887 + .plaintext = "Hi There", 3888 + .psize = 8, 3889 + .digest = "\x68\xd2\xdc\xf7\xfd\x4d\xdd\x0a" 3890 + "\x22\x40\xc8\xa4\x37\x30\x5f\x61" 3891 + "\xfb\x73\x34\xcf\xb5\xd0\x22\x6e" 3892 + "\x1b\xc2\x7d\xc1\x0a\x2e\x72\x3a" 3893 + "\x20\xd3\x70\xb4\x77\x43\x13\x0e" 3894 + "\x26\xac\x7e\x3d\x53\x28\x86\xbd", 3895 + }, { 3896 + .key = "Jefe", 3897 + .ksize = 4, 3898 + .plaintext = "what do ya want for nothing?", 3899 + .psize = 28, 3900 + .digest = "\xf1\x10\x1f\x8c\xbf\x97\x66\xfd" 3901 + "\x67\x64\xd2\xed\x61\x90\x3f\x21" 3902 + "\xca\x9b\x18\xf5\x7c\xf3\xe1\xa2" 3903 + "\x3c\xa1\x35\x08\xa9\x32\x43\xce" 3904 + "\x48\xc0\x45\xdc\x00\x7f\x26\xa2" 3905 + "\x1b\x3f\x5e\x0e\x9d\xf4\xc2\x0a", 3906 + .np = 4, 3907 + .tap = { 7, 7, 7, 7 } 3908 + }, { 3909 + .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3910 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3911 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3912 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3913 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3914 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3915 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3916 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3917 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3918 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3919 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3920 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3921 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3922 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3923 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3924 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3925 + "\xaa\xaa\xaa", 3926 + .ksize = 131, 3927 + .plaintext = "Test Using Large" 3928 + "r Than Block-Siz" 3929 + "e Key - Hash Key" 3930 + " First", 3931 + .psize = 54, 3932 + .digest = "\x0f\xc1\x95\x13\xbf\x6b\xd8\x78" 3933 + "\x03\x70\x16\x70\x6a\x0e\x57\xbc" 3934 + "\x52\x81\x39\x83\x6b\x9a\x42\xc3" 3935 + "\xd4\x19\xe4\x98\xe0\xe1\xfb\x96" 3936 + "\x16\xfd\x66\x91\x38\xd3\x3a\x11" 3937 + "\x05\xe0\x7c\x72\xb6\x95\x3b\xcc", 3938 + }, { 3939 + .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3940 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3941 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3942 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3943 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3944 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3945 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3946 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3947 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3948 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3949 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3950 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3951 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3952 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3953 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3954 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 3955 + "\xaa\xaa\xaa", 3956 + .ksize = 131, 3957 + .plaintext = 3958 + "This is a test u" 3959 + "sing a larger th" 3960 + "an block-size ke" 3961 + "y and a larger t" 3962 + "han block-size d" 3963 + "ata. The key nee" 3964 + "ds to be hashed " 3965 + "before being use" 3966 + "d by the HMAC al" 3967 + "gorithm.", 3968 + .psize = 152, 3969 + .digest = "\x02\x6f\xdf\x6b\x50\x74\x1e\x37" 3970 + "\x38\x99\xc9\xf7\xd5\x40\x6d\x4e" 3971 + "\xb0\x9f\xc6\x66\x56\x36\xfc\x1a" 3972 + "\x53\x00\x29\xdd\xf5\xcf\x3c\xa5" 3973 + "\xa9\x00\xed\xce\x01\xf5\xf6\x1e" 3974 + "\x2f\x40\x8c\xdf\x2f\xd3\xe7\xe8", 3975 + }, 3976 + }; 3977 + 3978 + #define HMAC_SHA3_512_TEST_VECTORS 4 3979 + 3980 + static struct hash_testvec hmac_sha3_512_tv_template[] = { 3981 + { 3982 + .key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" 3983 + "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" 3984 + "\x0b\x0b\x0b\x0b", 3985 + .ksize = 20, 3986 + .plaintext = "Hi There", 3987 + .psize = 8, 3988 + .digest = "\xeb\x3f\xbd\x4b\x2e\xaa\xb8\xf5" 3989 + "\xc5\x04\xbd\x3a\x41\x46\x5a\xac" 3990 + "\xec\x15\x77\x0a\x7c\xab\xac\x53" 3991 + "\x1e\x48\x2f\x86\x0b\x5e\xc7\xba" 3992 + "\x47\xcc\xb2\xc6\xf2\xaf\xce\x8f" 3993 + "\x88\xd2\x2b\x6d\xc6\x13\x80\xf2" 3994 + "\x3a\x66\x8f\xd3\x88\x8b\xb8\x05" 3995 + "\x37\xc0\xa0\xb8\x64\x07\x68\x9e", 3996 + }, { 3997 + .key = "Jefe", 3998 + .ksize = 4, 3999 + .plaintext = "what do ya want for nothing?", 4000 + .psize = 28, 4001 + .digest = "\x5a\x4b\xfe\xab\x61\x66\x42\x7c" 4002 + "\x7a\x36\x47\xb7\x47\x29\x2b\x83" 4003 + "\x84\x53\x7c\xdb\x89\xaf\xb3\xbf" 4004 + "\x56\x65\xe4\xc5\xe7\x09\x35\x0b" 4005 + "\x28\x7b\xae\xc9\x21\xfd\x7c\xa0" 4006 + "\xee\x7a\x0c\x31\xd0\x22\xa9\x5e" 4007 + "\x1f\xc9\x2b\xa9\xd7\x7d\xf8\x83" 4008 + "\x96\x02\x75\xbe\xb4\xe6\x20\x24", 4009 + .np = 4, 4010 + .tap = { 7, 7, 7, 7 } 4011 + }, { 4012 + .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4013 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4014 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4015 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4016 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4017 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4018 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4019 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4020 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4021 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4022 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4023 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4024 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4025 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4026 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4027 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4028 + "\xaa\xaa\xaa", 4029 + .ksize = 131, 4030 + .plaintext = "Test Using Large" 4031 + "r Than Block-Siz" 4032 + "e Key - Hash Key" 4033 + " First", 4034 + .psize = 54, 4035 + .digest = "\x00\xf7\x51\xa9\xe5\x06\x95\xb0" 4036 + "\x90\xed\x69\x11\xa4\xb6\x55\x24" 4037 + "\x95\x1c\xdc\x15\xa7\x3a\x5d\x58" 4038 + "\xbb\x55\x21\x5e\xa2\xcd\x83\x9a" 4039 + "\xc7\x9d\x2b\x44\xa3\x9b\xaf\xab" 4040 + "\x27\xe8\x3f\xde\x9e\x11\xf6\x34" 4041 + "\x0b\x11\xd9\x91\xb1\xb9\x1b\xf2" 4042 + "\xee\xe7\xfc\x87\x24\x26\xc3\xa4", 4043 + }, { 4044 + .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4045 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4046 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4047 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4048 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4049 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4050 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4051 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4052 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4053 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4054 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4055 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4056 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4057 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4058 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4059 + "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" 4060 + "\xaa\xaa\xaa", 4061 + .ksize = 131, 4062 + .plaintext = 4063 + "This is a test u" 4064 + "sing a larger th" 4065 + "an block-size ke" 4066 + "y and a larger t" 4067 + "han block-size d" 4068 + "ata. The key nee" 4069 + "ds to be hashed " 4070 + "before being use" 4071 + "d by the HMAC al" 4072 + "gorithm.", 4073 + .psize = 152, 4074 + .digest = "\x38\xa4\x56\xa0\x04\xbd\x10\xd3" 4075 + "\x2c\x9a\xb8\x33\x66\x84\x11\x28" 4076 + "\x62\xc3\xdb\x61\xad\xcc\xa3\x18" 4077 + "\x29\x35\x5e\xaf\x46\xfd\x5c\x73" 4078 + "\xd0\x6a\x1f\x0d\x13\xfe\xc9\xa6" 4079 + "\x52\xfb\x38\x11\xb5\x77\xb1\xb1" 4080 + "\xd1\xb9\x78\x9f\x97\xae\x5b\x83" 4081 + "\xc6\xf4\x4d\xfc\xf1\xd6\x7e\xba", 4082 + }, 4083 + }; 4084 + 3697 4085 /* 3698 4086 * Poly1305 test vectors from RFC7539 A.3. 3699 4087 */