summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorraveendra padasalagi <raveendra.padasalagi@broadcom.com>2016-07-01 01:46:54 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2016-07-01 11:45:24 -0400
commit98eca72fa04a9bbf28dba95efaec5aa95588fe23 (patch)
tree5fe13eec06fb23810b2d3869e33c368e0e5876d8 /crypto
parenteb3547859d73629c888825d6b928f2d0dba5af41 (diff)
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>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/tcrypt.c16
-rw-r--r--crypto/testmgr.c40
-rw-r--r--crypto/testmgr.h388
3 files changed, 444 insertions, 0 deletions
diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c
index 202cfa10076c..ae22f05d5936 100644
--- a/crypto/tcrypt.c
+++ b/crypto/tcrypt.c
@@ -1313,6 +1313,22 @@ static int do_test(const char *alg, u32 type, u32 mask, int m)
1313 ret += tcrypt_test("hmac(crc32)"); 1313 ret += tcrypt_test("hmac(crc32)");
1314 break; 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 case 150: 1332 case 150:
1317 ret += tcrypt_test("ansi_cprng"); 1333 ret += tcrypt_test("ansi_cprng");
1318 break; 1334 break;
diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index 38e23be315a0..8ea0d3fcb580 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -3400,6 +3400,46 @@ static const struct alg_test_desc alg_test_descs[] = {
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 .alg = "hmac(sha384)", 3443 .alg = "hmac(sha384)",
3404 .test = alg_test_hash, 3444 .test = alg_test_hash,
3405 .fips_allowed = 1, 3445 .fips_allowed = 1,
diff --git a/crypto/testmgr.h b/crypto/testmgr.h
index 7358931b3082..4ce2d866919d 100644
--- a/crypto/testmgr.h
+++ b/crypto/testmgr.h
@@ -3694,6 +3694,394 @@ static struct hash_testvec hmac_sha512_tv_template[] = {
3694 }, 3694 },
3695}; 3695};
3696 3696
3697#define HMAC_SHA3_224_TEST_VECTORS 4
3698
3699static 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
3790static 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
3881static 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
3980static 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 * Poly1305 test vectors from RFC7539 A.3. 4086 * Poly1305 test vectors from RFC7539 A.3.
3699 */ 4087 */