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

Configure Feed

Select the types of activity you want to include in your feed.

crypto: testmgr - Remove curve25519 kpp tests

Curve25519 is used only via the library API, not the crypto_kpp API. In
preparation for removing the unused crypto_kpp API for Curve25519,
remove the tests for the "curve25519" kpp from crypto/testmgr.c.

Note that these tests just duplicated lib/crypto/curve25519-selftest.c,
which uses the same list of test vectors. So they didn't really provide
any additional value.

Link: https://lore.kernel.org/r/20250906213523.84915-6-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>

-1231
-6
crypto/testmgr.c
··· 4642 4642 .cipher = __VECS(sm4_cts_tv_template) 4643 4643 } 4644 4644 }, { 4645 - .alg = "curve25519", 4646 - .test = alg_test_kpp, 4647 - .suite = { 4648 - .kpp = __VECS(curve25519_tv_template) 4649 - } 4650 - }, { 4651 4645 .alg = "deflate", 4652 4646 .test = alg_test_comp, 4653 4647 .fips_allowed = 1,
-1225
crypto/testmgr.h
··· 3798 3798 }, 3799 3799 }; 3800 3800 3801 - static const struct kpp_testvec curve25519_tv_template[] = { 3802 - { 3803 - .secret = (u8[32]){ 0x77, 0x07, 0x6d, 0x0a, 0x73, 0x18, 0xa5, 0x7d, 3804 - 0x3c, 0x16, 0xc1, 0x72, 0x51, 0xb2, 0x66, 0x45, 3805 - 0xdf, 0x4c, 0x2f, 0x87, 0xeb, 0xc0, 0x99, 0x2a, 3806 - 0xb1, 0x77, 0xfb, 0xa5, 0x1d, 0xb9, 0x2c, 0x2a }, 3807 - .b_public = (u8[32]){ 0xde, 0x9e, 0xdb, 0x7d, 0x7b, 0x7d, 0xc1, 0xb4, 3808 - 0xd3, 0x5b, 0x61, 0xc2, 0xec, 0xe4, 0x35, 0x37, 3809 - 0x3f, 0x83, 0x43, 0xc8, 0x5b, 0x78, 0x67, 0x4d, 3810 - 0xad, 0xfc, 0x7e, 0x14, 0x6f, 0x88, 0x2b, 0x4f }, 3811 - .expected_ss = (u8[32]){ 0x4a, 0x5d, 0x9d, 0x5b, 0xa4, 0xce, 0x2d, 0xe1, 3812 - 0x72, 0x8e, 0x3b, 0xf4, 0x80, 0x35, 0x0f, 0x25, 3813 - 0xe0, 0x7e, 0x21, 0xc9, 0x47, 0xd1, 0x9e, 0x33, 3814 - 0x76, 0xf0, 0x9b, 0x3c, 0x1e, 0x16, 0x17, 0x42 }, 3815 - .secret_size = 32, 3816 - .b_public_size = 32, 3817 - .expected_ss_size = 32, 3818 - 3819 - }, 3820 - { 3821 - .secret = (u8[32]){ 0x5d, 0xab, 0x08, 0x7e, 0x62, 0x4a, 0x8a, 0x4b, 3822 - 0x79, 0xe1, 0x7f, 0x8b, 0x83, 0x80, 0x0e, 0xe6, 3823 - 0x6f, 0x3b, 0xb1, 0x29, 0x26, 0x18, 0xb6, 0xfd, 3824 - 0x1c, 0x2f, 0x8b, 0x27, 0xff, 0x88, 0xe0, 0xeb }, 3825 - .b_public = (u8[32]){ 0x85, 0x20, 0xf0, 0x09, 0x89, 0x30, 0xa7, 0x54, 3826 - 0x74, 0x8b, 0x7d, 0xdc, 0xb4, 0x3e, 0xf7, 0x5a, 3827 - 0x0d, 0xbf, 0x3a, 0x0d, 0x26, 0x38, 0x1a, 0xf4, 3828 - 0xeb, 0xa4, 0xa9, 0x8e, 0xaa, 0x9b, 0x4e, 0x6a }, 3829 - .expected_ss = (u8[32]){ 0x4a, 0x5d, 0x9d, 0x5b, 0xa4, 0xce, 0x2d, 0xe1, 3830 - 0x72, 0x8e, 0x3b, 0xf4, 0x80, 0x35, 0x0f, 0x25, 3831 - 0xe0, 0x7e, 0x21, 0xc9, 0x47, 0xd1, 0x9e, 0x33, 3832 - 0x76, 0xf0, 0x9b, 0x3c, 0x1e, 0x16, 0x17, 0x42 }, 3833 - .secret_size = 32, 3834 - .b_public_size = 32, 3835 - .expected_ss_size = 32, 3836 - 3837 - }, 3838 - { 3839 - .secret = (u8[32]){ 1 }, 3840 - .b_public = (u8[32]){ 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3841 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3842 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3843 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 3844 - .expected_ss = (u8[32]){ 0x3c, 0x77, 0x77, 0xca, 0xf9, 0x97, 0xb2, 0x64, 3845 - 0x41, 0x60, 0x77, 0x66, 0x5b, 0x4e, 0x22, 0x9d, 3846 - 0x0b, 0x95, 0x48, 0xdc, 0x0c, 0xd8, 0x19, 0x98, 3847 - 0xdd, 0xcd, 0xc5, 0xc8, 0x53, 0x3c, 0x79, 0x7f }, 3848 - .secret_size = 32, 3849 - .b_public_size = 32, 3850 - .expected_ss_size = 32, 3851 - 3852 - }, 3853 - { 3854 - .secret = (u8[32]){ 1 }, 3855 - .b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 3856 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 3857 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 3858 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, 3859 - .expected_ss = (u8[32]){ 0xb3, 0x2d, 0x13, 0x62, 0xc2, 0x48, 0xd6, 0x2f, 3860 - 0xe6, 0x26, 0x19, 0xcf, 0xf0, 0x4d, 0xd4, 0x3d, 3861 - 0xb7, 0x3f, 0xfc, 0x1b, 0x63, 0x08, 0xed, 0xe3, 3862 - 0x0b, 0x78, 0xd8, 0x73, 0x80, 0xf1, 0xe8, 0x34 }, 3863 - .secret_size = 32, 3864 - .b_public_size = 32, 3865 - .expected_ss_size = 32, 3866 - 3867 - }, 3868 - { 3869 - .secret = (u8[32]){ 0xa5, 0x46, 0xe3, 0x6b, 0xf0, 0x52, 0x7c, 0x9d, 3870 - 0x3b, 0x16, 0x15, 0x4b, 0x82, 0x46, 0x5e, 0xdd, 3871 - 0x62, 0x14, 0x4c, 0x0a, 0xc1, 0xfc, 0x5a, 0x18, 3872 - 0x50, 0x6a, 0x22, 0x44, 0xba, 0x44, 0x9a, 0xc4 }, 3873 - .b_public = (u8[32]){ 0xe6, 0xdb, 0x68, 0x67, 0x58, 0x30, 0x30, 0xdb, 3874 - 0x35, 0x94, 0xc1, 0xa4, 0x24, 0xb1, 0x5f, 0x7c, 3875 - 0x72, 0x66, 0x24, 0xec, 0x26, 0xb3, 0x35, 0x3b, 3876 - 0x10, 0xa9, 0x03, 0xa6, 0xd0, 0xab, 0x1c, 0x4c }, 3877 - .expected_ss = (u8[32]){ 0xc3, 0xda, 0x55, 0x37, 0x9d, 0xe9, 0xc6, 0x90, 3878 - 0x8e, 0x94, 0xea, 0x4d, 0xf2, 0x8d, 0x08, 0x4f, 3879 - 0x32, 0xec, 0xcf, 0x03, 0x49, 0x1c, 0x71, 0xf7, 3880 - 0x54, 0xb4, 0x07, 0x55, 0x77, 0xa2, 0x85, 0x52 }, 3881 - .secret_size = 32, 3882 - .b_public_size = 32, 3883 - .expected_ss_size = 32, 3884 - 3885 - }, 3886 - { 3887 - .secret = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0x0a, 0xff, 0xff, 0xff, 3888 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 3889 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 3890 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, 3891 - .b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 3892 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 3893 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 3894 - 0xff, 0xff, 0xff, 0xff, 0x0a, 0x00, 0xfb, 0x9f }, 3895 - .expected_ss = (u8[32]){ 0x77, 0x52, 0xb6, 0x18, 0xc1, 0x2d, 0x48, 0xd2, 3896 - 0xc6, 0x93, 0x46, 0x83, 0x81, 0x7c, 0xc6, 0x57, 3897 - 0xf3, 0x31, 0x03, 0x19, 0x49, 0x48, 0x20, 0x05, 3898 - 0x42, 0x2b, 0x4e, 0xae, 0x8d, 0x1d, 0x43, 0x23 }, 3899 - .secret_size = 32, 3900 - .b_public_size = 32, 3901 - .expected_ss_size = 32, 3902 - 3903 - }, 3904 - { 3905 - .secret = (u8[32]){ 0x8e, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3906 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3907 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3908 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 3909 - .b_public = (u8[32]){ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3910 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3911 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3912 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8e, 0x06 }, 3913 - .expected_ss = (u8[32]){ 0x5a, 0xdf, 0xaa, 0x25, 0x86, 0x8e, 0x32, 0x3d, 3914 - 0xae, 0x49, 0x62, 0xc1, 0x01, 0x5c, 0xb3, 0x12, 3915 - 0xe1, 0xc5, 0xc7, 0x9e, 0x95, 0x3f, 0x03, 0x99, 3916 - 0xb0, 0xba, 0x16, 0x22, 0xf3, 0xb6, 0xf7, 0x0c }, 3917 - .secret_size = 32, 3918 - .b_public_size = 32, 3919 - .expected_ss_size = 32, 3920 - 3921 - }, 3922 - /* wycheproof - normal case */ 3923 - { 3924 - .secret = (u8[32]){ 0x48, 0x52, 0x83, 0x4d, 0x9d, 0x6b, 0x77, 0xda, 3925 - 0xde, 0xab, 0xaa, 0xf2, 0xe1, 0x1d, 0xca, 0x66, 3926 - 0xd1, 0x9f, 0xe7, 0x49, 0x93, 0xa7, 0xbe, 0xc3, 3927 - 0x6c, 0x6e, 0x16, 0xa0, 0x98, 0x3f, 0xea, 0xba }, 3928 - .b_public = (u8[32]){ 0x9c, 0x64, 0x7d, 0x9a, 0xe5, 0x89, 0xb9, 0xf5, 3929 - 0x8f, 0xdc, 0x3c, 0xa4, 0x94, 0x7e, 0xfb, 0xc9, 3930 - 0x15, 0xc4, 0xb2, 0xe0, 0x8e, 0x74, 0x4a, 0x0e, 3931 - 0xdf, 0x46, 0x9d, 0xac, 0x59, 0xc8, 0xf8, 0x5a }, 3932 - .expected_ss = (u8[32]){ 0x87, 0xb7, 0xf2, 0x12, 0xb6, 0x27, 0xf7, 0xa5, 3933 - 0x4c, 0xa5, 0xe0, 0xbc, 0xda, 0xdd, 0xd5, 0x38, 3934 - 0x9d, 0x9d, 0xe6, 0x15, 0x6c, 0xdb, 0xcf, 0x8e, 3935 - 0xbe, 0x14, 0xff, 0xbc, 0xfb, 0x43, 0x65, 0x51 }, 3936 - .secret_size = 32, 3937 - .b_public_size = 32, 3938 - .expected_ss_size = 32, 3939 - 3940 - }, 3941 - /* wycheproof - public key on twist */ 3942 - { 3943 - .secret = (u8[32]){ 0x58, 0x8c, 0x06, 0x1a, 0x50, 0x80, 0x4a, 0xc4, 3944 - 0x88, 0xad, 0x77, 0x4a, 0xc7, 0x16, 0xc3, 0xf5, 3945 - 0xba, 0x71, 0x4b, 0x27, 0x12, 0xe0, 0x48, 0x49, 3946 - 0x13, 0x79, 0xa5, 0x00, 0x21, 0x19, 0x98, 0xa8 }, 3947 - .b_public = (u8[32]){ 0x63, 0xaa, 0x40, 0xc6, 0xe3, 0x83, 0x46, 0xc5, 3948 - 0xca, 0xf2, 0x3a, 0x6d, 0xf0, 0xa5, 0xe6, 0xc8, 3949 - 0x08, 0x89, 0xa0, 0x86, 0x47, 0xe5, 0x51, 0xb3, 3950 - 0x56, 0x34, 0x49, 0xbe, 0xfc, 0xfc, 0x97, 0x33 }, 3951 - .expected_ss = (u8[32]){ 0xb1, 0xa7, 0x07, 0x51, 0x94, 0x95, 0xff, 0xff, 3952 - 0xb2, 0x98, 0xff, 0x94, 0x17, 0x16, 0xb0, 0x6d, 3953 - 0xfa, 0xb8, 0x7c, 0xf8, 0xd9, 0x11, 0x23, 0xfe, 3954 - 0x2b, 0xe9, 0xa2, 0x33, 0xdd, 0xa2, 0x22, 0x12 }, 3955 - .secret_size = 32, 3956 - .b_public_size = 32, 3957 - .expected_ss_size = 32, 3958 - 3959 - }, 3960 - /* wycheproof - public key on twist */ 3961 - { 3962 - .secret = (u8[32]){ 0xb0, 0x5b, 0xfd, 0x32, 0xe5, 0x53, 0x25, 0xd9, 3963 - 0xfd, 0x64, 0x8c, 0xb3, 0x02, 0x84, 0x80, 0x39, 3964 - 0x00, 0x0b, 0x39, 0x0e, 0x44, 0xd5, 0x21, 0xe5, 3965 - 0x8a, 0xab, 0x3b, 0x29, 0xa6, 0x96, 0x0b, 0xa8 }, 3966 - .b_public = (u8[32]){ 0x0f, 0x83, 0xc3, 0x6f, 0xde, 0xd9, 0xd3, 0x2f, 3967 - 0xad, 0xf4, 0xef, 0xa3, 0xae, 0x93, 0xa9, 0x0b, 3968 - 0xb5, 0xcf, 0xa6, 0x68, 0x93, 0xbc, 0x41, 0x2c, 3969 - 0x43, 0xfa, 0x72, 0x87, 0xdb, 0xb9, 0x97, 0x79 }, 3970 - .expected_ss = (u8[32]){ 0x67, 0xdd, 0x4a, 0x6e, 0x16, 0x55, 0x33, 0x53, 3971 - 0x4c, 0x0e, 0x3f, 0x17, 0x2e, 0x4a, 0xb8, 0x57, 3972 - 0x6b, 0xca, 0x92, 0x3a, 0x5f, 0x07, 0xb2, 0xc0, 3973 - 0x69, 0xb4, 0xc3, 0x10, 0xff, 0x2e, 0x93, 0x5b }, 3974 - .secret_size = 32, 3975 - .b_public_size = 32, 3976 - .expected_ss_size = 32, 3977 - 3978 - }, 3979 - /* wycheproof - public key on twist */ 3980 - { 3981 - .secret = (u8[32]){ 0x70, 0xe3, 0x4b, 0xcb, 0xe1, 0xf4, 0x7f, 0xbc, 3982 - 0x0f, 0xdd, 0xfd, 0x7c, 0x1e, 0x1a, 0xa5, 0x3d, 3983 - 0x57, 0xbf, 0xe0, 0xf6, 0x6d, 0x24, 0x30, 0x67, 3984 - 0xb4, 0x24, 0xbb, 0x62, 0x10, 0xbe, 0xd1, 0x9c }, 3985 - .b_public = (u8[32]){ 0x0b, 0x82, 0x11, 0xa2, 0xb6, 0x04, 0x90, 0x97, 3986 - 0xf6, 0x87, 0x1c, 0x6c, 0x05, 0x2d, 0x3c, 0x5f, 3987 - 0xc1, 0xba, 0x17, 0xda, 0x9e, 0x32, 0xae, 0x45, 3988 - 0x84, 0x03, 0xb0, 0x5b, 0xb2, 0x83, 0x09, 0x2a }, 3989 - .expected_ss = (u8[32]){ 0x4a, 0x06, 0x38, 0xcf, 0xaa, 0x9e, 0xf1, 0x93, 3990 - 0x3b, 0x47, 0xf8, 0x93, 0x92, 0x96, 0xa6, 0xb2, 3991 - 0x5b, 0xe5, 0x41, 0xef, 0x7f, 0x70, 0xe8, 0x44, 3992 - 0xc0, 0xbc, 0xc0, 0x0b, 0x13, 0x4d, 0xe6, 0x4a }, 3993 - .secret_size = 32, 3994 - .b_public_size = 32, 3995 - .expected_ss_size = 32, 3996 - 3997 - }, 3998 - /* wycheproof - public key on twist */ 3999 - { 4000 - .secret = (u8[32]){ 0x68, 0xc1, 0xf3, 0xa6, 0x53, 0xa4, 0xcd, 0xb1, 4001 - 0xd3, 0x7b, 0xba, 0x94, 0x73, 0x8f, 0x8b, 0x95, 4002 - 0x7a, 0x57, 0xbe, 0xb2, 0x4d, 0x64, 0x6e, 0x99, 4003 - 0x4d, 0xc2, 0x9a, 0x27, 0x6a, 0xad, 0x45, 0x8d }, 4004 - .b_public = (u8[32]){ 0x34, 0x3a, 0xc2, 0x0a, 0x3b, 0x9c, 0x6a, 0x27, 4005 - 0xb1, 0x00, 0x81, 0x76, 0x50, 0x9a, 0xd3, 0x07, 4006 - 0x35, 0x85, 0x6e, 0xc1, 0xc8, 0xd8, 0xfc, 0xae, 4007 - 0x13, 0x91, 0x2d, 0x08, 0xd1, 0x52, 0xf4, 0x6c }, 4008 - .expected_ss = (u8[32]){ 0x39, 0x94, 0x91, 0xfc, 0xe8, 0xdf, 0xab, 0x73, 4009 - 0xb4, 0xf9, 0xf6, 0x11, 0xde, 0x8e, 0xa0, 0xb2, 4010 - 0x7b, 0x28, 0xf8, 0x59, 0x94, 0x25, 0x0b, 0x0f, 4011 - 0x47, 0x5d, 0x58, 0x5d, 0x04, 0x2a, 0xc2, 0x07 }, 4012 - .secret_size = 32, 4013 - .b_public_size = 32, 4014 - .expected_ss_size = 32, 4015 - 4016 - }, 4017 - /* wycheproof - public key on twist */ 4018 - { 4019 - .secret = (u8[32]){ 0xd8, 0x77, 0xb2, 0x6d, 0x06, 0xdf, 0xf9, 0xd9, 4020 - 0xf7, 0xfd, 0x4c, 0x5b, 0x37, 0x69, 0xf8, 0xcd, 4021 - 0xd5, 0xb3, 0x05, 0x16, 0xa5, 0xab, 0x80, 0x6b, 4022 - 0xe3, 0x24, 0xff, 0x3e, 0xb6, 0x9e, 0xa0, 0xb2 }, 4023 - .b_public = (u8[32]){ 0xfa, 0x69, 0x5f, 0xc7, 0xbe, 0x8d, 0x1b, 0xe5, 4024 - 0xbf, 0x70, 0x48, 0x98, 0xf3, 0x88, 0xc4, 0x52, 4025 - 0xba, 0xfd, 0xd3, 0xb8, 0xea, 0xe8, 0x05, 0xf8, 4026 - 0x68, 0x1a, 0x8d, 0x15, 0xc2, 0xd4, 0xe1, 0x42 }, 4027 - .expected_ss = (u8[32]){ 0x2c, 0x4f, 0xe1, 0x1d, 0x49, 0x0a, 0x53, 0x86, 4028 - 0x17, 0x76, 0xb1, 0x3b, 0x43, 0x54, 0xab, 0xd4, 4029 - 0xcf, 0x5a, 0x97, 0x69, 0x9d, 0xb6, 0xe6, 0xc6, 4030 - 0x8c, 0x16, 0x26, 0xd0, 0x76, 0x62, 0xf7, 0x58 }, 4031 - .secret_size = 32, 4032 - .b_public_size = 32, 4033 - .expected_ss_size = 32, 4034 - 4035 - }, 4036 - /* wycheproof - edge case on twist */ 4037 - { 4038 - .secret = (u8[32]){ 0x38, 0xdd, 0xe9, 0xf3, 0xe7, 0xb7, 0x99, 0x04, 4039 - 0x5f, 0x9a, 0xc3, 0x79, 0x3d, 0x4a, 0x92, 0x77, 4040 - 0xda, 0xde, 0xad, 0xc4, 0x1b, 0xec, 0x02, 0x90, 4041 - 0xf8, 0x1f, 0x74, 0x4f, 0x73, 0x77, 0x5f, 0x84 }, 4042 - .b_public = (u8[32]){ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4043 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4044 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4045 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 4046 - .expected_ss = (u8[32]){ 0x9a, 0x2c, 0xfe, 0x84, 0xff, 0x9c, 0x4a, 0x97, 4047 - 0x39, 0x62, 0x5c, 0xae, 0x4a, 0x3b, 0x82, 0xa9, 4048 - 0x06, 0x87, 0x7a, 0x44, 0x19, 0x46, 0xf8, 0xd7, 4049 - 0xb3, 0xd7, 0x95, 0xfe, 0x8f, 0x5d, 0x16, 0x39 }, 4050 - .secret_size = 32, 4051 - .b_public_size = 32, 4052 - .expected_ss_size = 32, 4053 - 4054 - }, 4055 - /* wycheproof - edge case on twist */ 4056 - { 4057 - .secret = (u8[32]){ 0x98, 0x57, 0xa9, 0x14, 0xe3, 0xc2, 0x90, 0x36, 4058 - 0xfd, 0x9a, 0x44, 0x2b, 0xa5, 0x26, 0xb5, 0xcd, 4059 - 0xcd, 0xf2, 0x82, 0x16, 0x15, 0x3e, 0x63, 0x6c, 4060 - 0x10, 0x67, 0x7a, 0xca, 0xb6, 0xbd, 0x6a, 0xa5 }, 4061 - .b_public = (u8[32]){ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4062 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4063 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4064 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 4065 - .expected_ss = (u8[32]){ 0x4d, 0xa4, 0xe0, 0xaa, 0x07, 0x2c, 0x23, 0x2e, 4066 - 0xe2, 0xf0, 0xfa, 0x4e, 0x51, 0x9a, 0xe5, 0x0b, 4067 - 0x52, 0xc1, 0xed, 0xd0, 0x8a, 0x53, 0x4d, 0x4e, 4068 - 0xf3, 0x46, 0xc2, 0xe1, 0x06, 0xd2, 0x1d, 0x60 }, 4069 - .secret_size = 32, 4070 - .b_public_size = 32, 4071 - .expected_ss_size = 32, 4072 - 4073 - }, 4074 - /* wycheproof - edge case on twist */ 4075 - { 4076 - .secret = (u8[32]){ 0x48, 0xe2, 0x13, 0x0d, 0x72, 0x33, 0x05, 0xed, 4077 - 0x05, 0xe6, 0xe5, 0x89, 0x4d, 0x39, 0x8a, 0x5e, 4078 - 0x33, 0x36, 0x7a, 0x8c, 0x6a, 0xac, 0x8f, 0xcd, 4079 - 0xf0, 0xa8, 0x8e, 0x4b, 0x42, 0x82, 0x0d, 0xb7 }, 4080 - .b_public = (u8[32]){ 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0xf8, 0xff, 4081 - 0xff, 0x1f, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 4082 - 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x07, 0x00, 4083 - 0x00, 0xf0, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00 }, 4084 - .expected_ss = (u8[32]){ 0x9e, 0xd1, 0x0c, 0x53, 0x74, 0x7f, 0x64, 0x7f, 4085 - 0x82, 0xf4, 0x51, 0x25, 0xd3, 0xde, 0x15, 0xa1, 4086 - 0xe6, 0xb8, 0x24, 0x49, 0x6a, 0xb4, 0x04, 0x10, 4087 - 0xff, 0xcc, 0x3c, 0xfe, 0x95, 0x76, 0x0f, 0x3b }, 4088 - .secret_size = 32, 4089 - .b_public_size = 32, 4090 - .expected_ss_size = 32, 4091 - 4092 - }, 4093 - /* wycheproof - edge case on twist */ 4094 - { 4095 - .secret = (u8[32]){ 0x28, 0xf4, 0x10, 0x11, 0x69, 0x18, 0x51, 0xb3, 4096 - 0xa6, 0x2b, 0x64, 0x15, 0x53, 0xb3, 0x0d, 0x0d, 4097 - 0xfd, 0xdc, 0xb8, 0xff, 0xfc, 0xf5, 0x37, 0x00, 4098 - 0xa7, 0xbe, 0x2f, 0x6a, 0x87, 0x2e, 0x9f, 0xb0 }, 4099 - .b_public = (u8[32]){ 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0x07, 0x00, 4100 - 0x00, 0xe0, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 4101 - 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0xf8, 0xff, 4102 - 0xff, 0x0f, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x7f }, 4103 - .expected_ss = (u8[32]){ 0xcf, 0x72, 0xb4, 0xaa, 0x6a, 0xa1, 0xc9, 0xf8, 4104 - 0x94, 0xf4, 0x16, 0x5b, 0x86, 0x10, 0x9a, 0xa4, 4105 - 0x68, 0x51, 0x76, 0x48, 0xe1, 0xf0, 0xcc, 0x70, 4106 - 0xe1, 0xab, 0x08, 0x46, 0x01, 0x76, 0x50, 0x6b }, 4107 - .secret_size = 32, 4108 - .b_public_size = 32, 4109 - .expected_ss_size = 32, 4110 - 4111 - }, 4112 - /* wycheproof - edge case on twist */ 4113 - { 4114 - .secret = (u8[32]){ 0x18, 0xa9, 0x3b, 0x64, 0x99, 0xb9, 0xf6, 0xb3, 4115 - 0x22, 0x5c, 0xa0, 0x2f, 0xef, 0x41, 0x0e, 0x0a, 4116 - 0xde, 0xc2, 0x35, 0x32, 0x32, 0x1d, 0x2d, 0x8e, 4117 - 0xf1, 0xa6, 0xd6, 0x02, 0xa8, 0xc6, 0x5b, 0x83 }, 4118 - .b_public = (u8[32]){ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 4119 - 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 4120 - 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 4121 - 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x7f }, 4122 - .expected_ss = (u8[32]){ 0x5d, 0x50, 0xb6, 0x28, 0x36, 0xbb, 0x69, 0x57, 4123 - 0x94, 0x10, 0x38, 0x6c, 0xf7, 0xbb, 0x81, 0x1c, 4124 - 0x14, 0xbf, 0x85, 0xb1, 0xc7, 0xb1, 0x7e, 0x59, 4125 - 0x24, 0xc7, 0xff, 0xea, 0x91, 0xef, 0x9e, 0x12 }, 4126 - .secret_size = 32, 4127 - .b_public_size = 32, 4128 - .expected_ss_size = 32, 4129 - 4130 - }, 4131 - /* wycheproof - edge case on twist */ 4132 - { 4133 - .secret = (u8[32]){ 0xc0, 0x1d, 0x13, 0x05, 0xa1, 0x33, 0x8a, 0x1f, 4134 - 0xca, 0xc2, 0xba, 0x7e, 0x2e, 0x03, 0x2b, 0x42, 4135 - 0x7e, 0x0b, 0x04, 0x90, 0x31, 0x65, 0xac, 0xa9, 4136 - 0x57, 0xd8, 0xd0, 0x55, 0x3d, 0x87, 0x17, 0xb0 }, 4137 - .b_public = (u8[32]){ 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4138 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4139 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4140 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, 4141 - .expected_ss = (u8[32]){ 0x19, 0x23, 0x0e, 0xb1, 0x48, 0xd5, 0xd6, 0x7c, 4142 - 0x3c, 0x22, 0xab, 0x1d, 0xae, 0xff, 0x80, 0xa5, 4143 - 0x7e, 0xae, 0x42, 0x65, 0xce, 0x28, 0x72, 0x65, 4144 - 0x7b, 0x2c, 0x80, 0x99, 0xfc, 0x69, 0x8e, 0x50 }, 4145 - .secret_size = 32, 4146 - .b_public_size = 32, 4147 - .expected_ss_size = 32, 4148 - 4149 - }, 4150 - /* wycheproof - edge case for public key */ 4151 - { 4152 - .secret = (u8[32]){ 0x38, 0x6f, 0x7f, 0x16, 0xc5, 0x07, 0x31, 0xd6, 4153 - 0x4f, 0x82, 0xe6, 0xa1, 0x70, 0xb1, 0x42, 0xa4, 4154 - 0xe3, 0x4f, 0x31, 0xfd, 0x77, 0x68, 0xfc, 0xb8, 4155 - 0x90, 0x29, 0x25, 0xe7, 0xd1, 0xe2, 0x1a, 0xbe }, 4156 - .b_public = (u8[32]){ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4157 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4158 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4159 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 4160 - .expected_ss = (u8[32]){ 0x0f, 0xca, 0xb5, 0xd8, 0x42, 0xa0, 0x78, 0xd7, 4161 - 0xa7, 0x1f, 0xc5, 0x9b, 0x57, 0xbf, 0xb4, 0xca, 4162 - 0x0b, 0xe6, 0x87, 0x3b, 0x49, 0xdc, 0xdb, 0x9f, 4163 - 0x44, 0xe1, 0x4a, 0xe8, 0xfb, 0xdf, 0xa5, 0x42 }, 4164 - .secret_size = 32, 4165 - .b_public_size = 32, 4166 - .expected_ss_size = 32, 4167 - 4168 - }, 4169 - /* wycheproof - edge case for public key */ 4170 - { 4171 - .secret = (u8[32]){ 0xe0, 0x23, 0xa2, 0x89, 0xbd, 0x5e, 0x90, 0xfa, 4172 - 0x28, 0x04, 0xdd, 0xc0, 0x19, 0xa0, 0x5e, 0xf3, 4173 - 0xe7, 0x9d, 0x43, 0x4b, 0xb6, 0xea, 0x2f, 0x52, 4174 - 0x2e, 0xcb, 0x64, 0x3a, 0x75, 0x29, 0x6e, 0x95 }, 4175 - .b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 4176 - 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 4177 - 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 4178 - 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 }, 4179 - .expected_ss = (u8[32]){ 0x54, 0xce, 0x8f, 0x22, 0x75, 0xc0, 0x77, 0xe3, 4180 - 0xb1, 0x30, 0x6a, 0x39, 0x39, 0xc5, 0xe0, 0x3e, 4181 - 0xef, 0x6b, 0xbb, 0x88, 0x06, 0x05, 0x44, 0x75, 4182 - 0x8d, 0x9f, 0xef, 0x59, 0xb0, 0xbc, 0x3e, 0x4f }, 4183 - .secret_size = 32, 4184 - .b_public_size = 32, 4185 - .expected_ss_size = 32, 4186 - 4187 - }, 4188 - /* wycheproof - edge case for public key */ 4189 - { 4190 - .secret = (u8[32]){ 0x68, 0xf0, 0x10, 0xd6, 0x2e, 0xe8, 0xd9, 0x26, 4191 - 0x05, 0x3a, 0x36, 0x1c, 0x3a, 0x75, 0xc6, 0xea, 4192 - 0x4e, 0xbd, 0xc8, 0x60, 0x6a, 0xb2, 0x85, 0x00, 4193 - 0x3a, 0x6f, 0x8f, 0x40, 0x76, 0xb0, 0x1e, 0x83 }, 4194 - .b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4195 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4196 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4197 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03 }, 4198 - .expected_ss = (u8[32]){ 0xf1, 0x36, 0x77, 0x5c, 0x5b, 0xeb, 0x0a, 0xf8, 4199 - 0x11, 0x0a, 0xf1, 0x0b, 0x20, 0x37, 0x23, 0x32, 4200 - 0x04, 0x3c, 0xab, 0x75, 0x24, 0x19, 0x67, 0x87, 4201 - 0x75, 0xa2, 0x23, 0xdf, 0x57, 0xc9, 0xd3, 0x0d }, 4202 - .secret_size = 32, 4203 - .b_public_size = 32, 4204 - .expected_ss_size = 32, 4205 - 4206 - }, 4207 - /* wycheproof - edge case for public key */ 4208 - { 4209 - .secret = (u8[32]){ 0x58, 0xeb, 0xcb, 0x35, 0xb0, 0xf8, 0x84, 0x5c, 4210 - 0xaf, 0x1e, 0xc6, 0x30, 0xf9, 0x65, 0x76, 0xb6, 4211 - 0x2c, 0x4b, 0x7b, 0x6c, 0x36, 0xb2, 0x9d, 0xeb, 4212 - 0x2c, 0xb0, 0x08, 0x46, 0x51, 0x75, 0x5c, 0x96 }, 4213 - .b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xfb, 0xff, 4214 - 0xff, 0xdf, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 4215 - 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xf7, 0xff, 4216 - 0xff, 0xf7, 0xff, 0xff, 0xbf, 0xff, 0xff, 0x3f }, 4217 - .expected_ss = (u8[32]){ 0xbf, 0x9a, 0xff, 0xd0, 0x6b, 0x84, 0x40, 0x85, 4218 - 0x58, 0x64, 0x60, 0x96, 0x2e, 0xf2, 0x14, 0x6f, 4219 - 0xf3, 0xd4, 0x53, 0x3d, 0x94, 0x44, 0xaa, 0xb0, 4220 - 0x06, 0xeb, 0x88, 0xcc, 0x30, 0x54, 0x40, 0x7d }, 4221 - .secret_size = 32, 4222 - .b_public_size = 32, 4223 - .expected_ss_size = 32, 4224 - 4225 - }, 4226 - /* wycheproof - edge case for public key */ 4227 - { 4228 - .secret = (u8[32]){ 0x18, 0x8c, 0x4b, 0xc5, 0xb9, 0xc4, 0x4b, 0x38, 4229 - 0xbb, 0x65, 0x8b, 0x9b, 0x2a, 0xe8, 0x2d, 0x5b, 4230 - 0x01, 0x01, 0x5e, 0x09, 0x31, 0x84, 0xb1, 0x7c, 4231 - 0xb7, 0x86, 0x35, 0x03, 0xa7, 0x83, 0xe1, 0xbb }, 4232 - .b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4233 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4234 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4235 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f }, 4236 - .expected_ss = (u8[32]){ 0xd4, 0x80, 0xde, 0x04, 0xf6, 0x99, 0xcb, 0x3b, 4237 - 0xe0, 0x68, 0x4a, 0x9c, 0xc2, 0xe3, 0x12, 0x81, 4238 - 0xea, 0x0b, 0xc5, 0xa9, 0xdc, 0xc1, 0x57, 0xd3, 4239 - 0xd2, 0x01, 0x58, 0xd4, 0x6c, 0xa5, 0x24, 0x6d }, 4240 - .secret_size = 32, 4241 - .b_public_size = 32, 4242 - .expected_ss_size = 32, 4243 - 4244 - }, 4245 - /* wycheproof - edge case for public key */ 4246 - { 4247 - .secret = (u8[32]){ 0xe0, 0x6c, 0x11, 0xbb, 0x2e, 0x13, 0xce, 0x3d, 4248 - 0xc7, 0x67, 0x3f, 0x67, 0xf5, 0x48, 0x22, 0x42, 4249 - 0x90, 0x94, 0x23, 0xa9, 0xae, 0x95, 0xee, 0x98, 4250 - 0x6a, 0x98, 0x8d, 0x98, 0xfa, 0xee, 0x23, 0xa2 }, 4251 - .b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 4252 - 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 4253 - 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 4254 - 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f }, 4255 - .expected_ss = (u8[32]){ 0x4c, 0x44, 0x01, 0xcc, 0xe6, 0xb5, 0x1e, 0x4c, 4256 - 0xb1, 0x8f, 0x27, 0x90, 0x24, 0x6c, 0x9b, 0xf9, 4257 - 0x14, 0xdb, 0x66, 0x77, 0x50, 0xa1, 0xcb, 0x89, 4258 - 0x06, 0x90, 0x92, 0xaf, 0x07, 0x29, 0x22, 0x76 }, 4259 - .secret_size = 32, 4260 - .b_public_size = 32, 4261 - .expected_ss_size = 32, 4262 - 4263 - }, 4264 - /* wycheproof - edge case for public key */ 4265 - { 4266 - .secret = (u8[32]){ 0xc0, 0x65, 0x8c, 0x46, 0xdd, 0xe1, 0x81, 0x29, 4267 - 0x29, 0x38, 0x77, 0x53, 0x5b, 0x11, 0x62, 0xb6, 4268 - 0xf9, 0xf5, 0x41, 0x4a, 0x23, 0xcf, 0x4d, 0x2c, 4269 - 0xbc, 0x14, 0x0a, 0x4d, 0x99, 0xda, 0x2b, 0x8f }, 4270 - .b_public = (u8[32]){ 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4271 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4272 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4273 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, 4274 - .expected_ss = (u8[32]){ 0x57, 0x8b, 0xa8, 0xcc, 0x2d, 0xbd, 0xc5, 0x75, 4275 - 0xaf, 0xcf, 0x9d, 0xf2, 0xb3, 0xee, 0x61, 0x89, 4276 - 0xf5, 0x33, 0x7d, 0x68, 0x54, 0xc7, 0x9b, 0x4c, 4277 - 0xe1, 0x65, 0xea, 0x12, 0x29, 0x3b, 0x3a, 0x0f }, 4278 - .secret_size = 32, 4279 - .b_public_size = 32, 4280 - .expected_ss_size = 32, 4281 - 4282 - }, 4283 - /* wycheproof - public key >= p */ 4284 - { 4285 - .secret = (u8[32]){ 0xf0, 0x1e, 0x48, 0xda, 0xfa, 0xc9, 0xd7, 0xbc, 4286 - 0xf5, 0x89, 0xcb, 0xc3, 0x82, 0xc8, 0x78, 0xd1, 4287 - 0x8b, 0xda, 0x35, 0x50, 0x58, 0x9f, 0xfb, 0x5d, 4288 - 0x50, 0xb5, 0x23, 0xbe, 0xbe, 0x32, 0x9d, 0xae }, 4289 - .b_public = (u8[32]){ 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4290 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4291 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4292 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, 4293 - .expected_ss = (u8[32]){ 0xbd, 0x36, 0xa0, 0x79, 0x0e, 0xb8, 0x83, 0x09, 4294 - 0x8c, 0x98, 0x8b, 0x21, 0x78, 0x67, 0x73, 0xde, 4295 - 0x0b, 0x3a, 0x4d, 0xf1, 0x62, 0x28, 0x2c, 0xf1, 4296 - 0x10, 0xde, 0x18, 0xdd, 0x48, 0x4c, 0xe7, 0x4b }, 4297 - .secret_size = 32, 4298 - .b_public_size = 32, 4299 - .expected_ss_size = 32, 4300 - 4301 - }, 4302 - /* wycheproof - public key >= p */ 4303 - { 4304 - .secret = (u8[32]){ 0x28, 0x87, 0x96, 0xbc, 0x5a, 0xff, 0x4b, 0x81, 4305 - 0xa3, 0x75, 0x01, 0x75, 0x7b, 0xc0, 0x75, 0x3a, 4306 - 0x3c, 0x21, 0x96, 0x47, 0x90, 0xd3, 0x86, 0x99, 4307 - 0x30, 0x8d, 0xeb, 0xc1, 0x7a, 0x6e, 0xaf, 0x8d }, 4308 - .b_public = (u8[32]){ 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4309 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4310 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4311 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, 4312 - .expected_ss = (u8[32]){ 0xb4, 0xe0, 0xdd, 0x76, 0xda, 0x7b, 0x07, 0x17, 4313 - 0x28, 0xb6, 0x1f, 0x85, 0x67, 0x71, 0xaa, 0x35, 4314 - 0x6e, 0x57, 0xed, 0xa7, 0x8a, 0x5b, 0x16, 0x55, 4315 - 0xcc, 0x38, 0x20, 0xfb, 0x5f, 0x85, 0x4c, 0x5c }, 4316 - .secret_size = 32, 4317 - .b_public_size = 32, 4318 - .expected_ss_size = 32, 4319 - 4320 - }, 4321 - /* wycheproof - public key >= p */ 4322 - { 4323 - .secret = (u8[32]){ 0x98, 0xdf, 0x84, 0x5f, 0x66, 0x51, 0xbf, 0x11, 4324 - 0x38, 0x22, 0x1f, 0x11, 0x90, 0x41, 0xf7, 0x2b, 4325 - 0x6d, 0xbc, 0x3c, 0x4a, 0xce, 0x71, 0x43, 0xd9, 4326 - 0x9f, 0xd5, 0x5a, 0xd8, 0x67, 0x48, 0x0d, 0xa8 }, 4327 - .b_public = (u8[32]){ 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4328 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4329 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4330 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, 4331 - .expected_ss = (u8[32]){ 0x6f, 0xdf, 0x6c, 0x37, 0x61, 0x1d, 0xbd, 0x53, 4332 - 0x04, 0xdc, 0x0f, 0x2e, 0xb7, 0xc9, 0x51, 0x7e, 4333 - 0xb3, 0xc5, 0x0e, 0x12, 0xfd, 0x05, 0x0a, 0xc6, 4334 - 0xde, 0xc2, 0x70, 0x71, 0xd4, 0xbf, 0xc0, 0x34 }, 4335 - .secret_size = 32, 4336 - .b_public_size = 32, 4337 - .expected_ss_size = 32, 4338 - 4339 - }, 4340 - /* wycheproof - public key >= p */ 4341 - { 4342 - .secret = (u8[32]){ 0xf0, 0x94, 0x98, 0xe4, 0x6f, 0x02, 0xf8, 0x78, 4343 - 0x82, 0x9e, 0x78, 0xb8, 0x03, 0xd3, 0x16, 0xa2, 4344 - 0xed, 0x69, 0x5d, 0x04, 0x98, 0xa0, 0x8a, 0xbd, 4345 - 0xf8, 0x27, 0x69, 0x30, 0xe2, 0x4e, 0xdc, 0xb0 }, 4346 - .b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4347 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4348 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4349 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, 4350 - .expected_ss = (u8[32]){ 0x4c, 0x8f, 0xc4, 0xb1, 0xc6, 0xab, 0x88, 0xfb, 4351 - 0x21, 0xf1, 0x8f, 0x6d, 0x4c, 0x81, 0x02, 0x40, 4352 - 0xd4, 0xe9, 0x46, 0x51, 0xba, 0x44, 0xf7, 0xa2, 4353 - 0xc8, 0x63, 0xce, 0xc7, 0xdc, 0x56, 0x60, 0x2d }, 4354 - .secret_size = 32, 4355 - .b_public_size = 32, 4356 - .expected_ss_size = 32, 4357 - 4358 - }, 4359 - /* wycheproof - public key >= p */ 4360 - { 4361 - .secret = (u8[32]){ 0x18, 0x13, 0xc1, 0x0a, 0x5c, 0x7f, 0x21, 0xf9, 4362 - 0x6e, 0x17, 0xf2, 0x88, 0xc0, 0xcc, 0x37, 0x60, 4363 - 0x7c, 0x04, 0xc5, 0xf5, 0xae, 0xa2, 0xdb, 0x13, 4364 - 0x4f, 0x9e, 0x2f, 0xfc, 0x66, 0xbd, 0x9d, 0xb8 }, 4365 - .b_public = (u8[32]){ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4366 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4367 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4368 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80 }, 4369 - .expected_ss = (u8[32]){ 0x1c, 0xd0, 0xb2, 0x82, 0x67, 0xdc, 0x54, 0x1c, 4370 - 0x64, 0x2d, 0x6d, 0x7d, 0xca, 0x44, 0xa8, 0xb3, 4371 - 0x8a, 0x63, 0x73, 0x6e, 0xef, 0x5c, 0x4e, 0x65, 4372 - 0x01, 0xff, 0xbb, 0xb1, 0x78, 0x0c, 0x03, 0x3c }, 4373 - .secret_size = 32, 4374 - .b_public_size = 32, 4375 - .expected_ss_size = 32, 4376 - 4377 - }, 4378 - /* wycheproof - public key >= p */ 4379 - { 4380 - .secret = (u8[32]){ 0x78, 0x57, 0xfb, 0x80, 0x86, 0x53, 0x64, 0x5a, 4381 - 0x0b, 0xeb, 0x13, 0x8a, 0x64, 0xf5, 0xf4, 0xd7, 4382 - 0x33, 0xa4, 0x5e, 0xa8, 0x4c, 0x3c, 0xda, 0x11, 4383 - 0xa9, 0xc0, 0x6f, 0x7e, 0x71, 0x39, 0x14, 0x9e }, 4384 - .b_public = (u8[32]){ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4385 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4386 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4387 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80 }, 4388 - .expected_ss = (u8[32]){ 0x87, 0x55, 0xbe, 0x01, 0xc6, 0x0a, 0x7e, 0x82, 4389 - 0x5c, 0xff, 0x3e, 0x0e, 0x78, 0xcb, 0x3a, 0xa4, 4390 - 0x33, 0x38, 0x61, 0x51, 0x6a, 0xa5, 0x9b, 0x1c, 4391 - 0x51, 0xa8, 0xb2, 0xa5, 0x43, 0xdf, 0xa8, 0x22 }, 4392 - .secret_size = 32, 4393 - .b_public_size = 32, 4394 - .expected_ss_size = 32, 4395 - 4396 - }, 4397 - /* wycheproof - public key >= p */ 4398 - { 4399 - .secret = (u8[32]){ 0xe0, 0x3a, 0xa8, 0x42, 0xe2, 0xab, 0xc5, 0x6e, 4400 - 0x81, 0xe8, 0x7b, 0x8b, 0x9f, 0x41, 0x7b, 0x2a, 4401 - 0x1e, 0x59, 0x13, 0xc7, 0x23, 0xee, 0xd2, 0x8d, 4402 - 0x75, 0x2f, 0x8d, 0x47, 0xa5, 0x9f, 0x49, 0x8f }, 4403 - .b_public = (u8[32]){ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4404 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4405 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4406 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80 }, 4407 - .expected_ss = (u8[32]){ 0x54, 0xc9, 0xa1, 0xed, 0x95, 0xe5, 0x46, 0xd2, 4408 - 0x78, 0x22, 0xa3, 0x60, 0x93, 0x1d, 0xda, 0x60, 4409 - 0xa1, 0xdf, 0x04, 0x9d, 0xa6, 0xf9, 0x04, 0x25, 4410 - 0x3c, 0x06, 0x12, 0xbb, 0xdc, 0x08, 0x74, 0x76 }, 4411 - .secret_size = 32, 4412 - .b_public_size = 32, 4413 - .expected_ss_size = 32, 4414 - 4415 - }, 4416 - /* wycheproof - public key >= p */ 4417 - { 4418 - .secret = (u8[32]){ 0xf8, 0xf7, 0x07, 0xb7, 0x99, 0x9b, 0x18, 0xcb, 4419 - 0x0d, 0x6b, 0x96, 0x12, 0x4f, 0x20, 0x45, 0x97, 4420 - 0x2c, 0xa2, 0x74, 0xbf, 0xc1, 0x54, 0xad, 0x0c, 4421 - 0x87, 0x03, 0x8c, 0x24, 0xc6, 0xd0, 0xd4, 0xb2 }, 4422 - .b_public = (u8[32]){ 0xda, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4423 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4424 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4425 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, 4426 - .expected_ss = (u8[32]){ 0xcc, 0x1f, 0x40, 0xd7, 0x43, 0xcd, 0xc2, 0x23, 4427 - 0x0e, 0x10, 0x43, 0xda, 0xba, 0x8b, 0x75, 0xe8, 4428 - 0x10, 0xf1, 0xfb, 0xab, 0x7f, 0x25, 0x52, 0x69, 4429 - 0xbd, 0x9e, 0xbb, 0x29, 0xe6, 0xbf, 0x49, 0x4f }, 4430 - .secret_size = 32, 4431 - .b_public_size = 32, 4432 - .expected_ss_size = 32, 4433 - 4434 - }, 4435 - /* wycheproof - public key >= p */ 4436 - { 4437 - .secret = (u8[32]){ 0xa0, 0x34, 0xf6, 0x84, 0xfa, 0x63, 0x1e, 0x1a, 4438 - 0x34, 0x81, 0x18, 0xc1, 0xce, 0x4c, 0x98, 0x23, 4439 - 0x1f, 0x2d, 0x9e, 0xec, 0x9b, 0xa5, 0x36, 0x5b, 4440 - 0x4a, 0x05, 0xd6, 0x9a, 0x78, 0x5b, 0x07, 0x96 }, 4441 - .b_public = (u8[32]){ 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4442 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4443 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4444 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, 4445 - .expected_ss = (u8[32]){ 0x54, 0x99, 0x8e, 0xe4, 0x3a, 0x5b, 0x00, 0x7b, 4446 - 0xf4, 0x99, 0xf0, 0x78, 0xe7, 0x36, 0x52, 0x44, 4447 - 0x00, 0xa8, 0xb5, 0xc7, 0xe9, 0xb9, 0xb4, 0x37, 4448 - 0x71, 0x74, 0x8c, 0x7c, 0xdf, 0x88, 0x04, 0x12 }, 4449 - .secret_size = 32, 4450 - .b_public_size = 32, 4451 - .expected_ss_size = 32, 4452 - 4453 - }, 4454 - /* wycheproof - public key >= p */ 4455 - { 4456 - .secret = (u8[32]){ 0x30, 0xb6, 0xc6, 0xa0, 0xf2, 0xff, 0xa6, 0x80, 4457 - 0x76, 0x8f, 0x99, 0x2b, 0xa8, 0x9e, 0x15, 0x2d, 4458 - 0x5b, 0xc9, 0x89, 0x3d, 0x38, 0xc9, 0x11, 0x9b, 4459 - 0xe4, 0xf7, 0x67, 0xbf, 0xab, 0x6e, 0x0c, 0xa5 }, 4460 - .b_public = (u8[32]){ 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4461 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4462 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4463 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, 4464 - .expected_ss = (u8[32]){ 0xea, 0xd9, 0xb3, 0x8e, 0xfd, 0xd7, 0x23, 0x63, 4465 - 0x79, 0x34, 0xe5, 0x5a, 0xb7, 0x17, 0xa7, 0xae, 4466 - 0x09, 0xeb, 0x86, 0xa2, 0x1d, 0xc3, 0x6a, 0x3f, 4467 - 0xee, 0xb8, 0x8b, 0x75, 0x9e, 0x39, 0x1e, 0x09 }, 4468 - .secret_size = 32, 4469 - .b_public_size = 32, 4470 - .expected_ss_size = 32, 4471 - 4472 - }, 4473 - /* wycheproof - public key >= p */ 4474 - { 4475 - .secret = (u8[32]){ 0x90, 0x1b, 0x9d, 0xcf, 0x88, 0x1e, 0x01, 0xe0, 4476 - 0x27, 0x57, 0x50, 0x35, 0xd4, 0x0b, 0x43, 0xbd, 4477 - 0xc1, 0xc5, 0x24, 0x2e, 0x03, 0x08, 0x47, 0x49, 4478 - 0x5b, 0x0c, 0x72, 0x86, 0x46, 0x9b, 0x65, 0x91 }, 4479 - .b_public = (u8[32]){ 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4480 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4481 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4482 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, 4483 - .expected_ss = (u8[32]){ 0x60, 0x2f, 0xf4, 0x07, 0x89, 0xb5, 0x4b, 0x41, 4484 - 0x80, 0x59, 0x15, 0xfe, 0x2a, 0x62, 0x21, 0xf0, 4485 - 0x7a, 0x50, 0xff, 0xc2, 0xc3, 0xfc, 0x94, 0xcf, 4486 - 0x61, 0xf1, 0x3d, 0x79, 0x04, 0xe8, 0x8e, 0x0e }, 4487 - .secret_size = 32, 4488 - .b_public_size = 32, 4489 - .expected_ss_size = 32, 4490 - 4491 - }, 4492 - /* wycheproof - public key >= p */ 4493 - { 4494 - .secret = (u8[32]){ 0x80, 0x46, 0x67, 0x7c, 0x28, 0xfd, 0x82, 0xc9, 4495 - 0xa1, 0xbd, 0xb7, 0x1a, 0x1a, 0x1a, 0x34, 0xfa, 4496 - 0xba, 0x12, 0x25, 0xe2, 0x50, 0x7f, 0xe3, 0xf5, 4497 - 0x4d, 0x10, 0xbd, 0x5b, 0x0d, 0x86, 0x5f, 0x8e }, 4498 - .b_public = (u8[32]){ 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4499 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4500 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4501 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, 4502 - .expected_ss = (u8[32]){ 0xe0, 0x0a, 0xe8, 0xb1, 0x43, 0x47, 0x12, 0x47, 4503 - 0xba, 0x24, 0xf1, 0x2c, 0x88, 0x55, 0x36, 0xc3, 4504 - 0xcb, 0x98, 0x1b, 0x58, 0xe1, 0xe5, 0x6b, 0x2b, 4505 - 0xaf, 0x35, 0xc1, 0x2a, 0xe1, 0xf7, 0x9c, 0x26 }, 4506 - .secret_size = 32, 4507 - .b_public_size = 32, 4508 - .expected_ss_size = 32, 4509 - 4510 - }, 4511 - /* wycheproof - public key >= p */ 4512 - { 4513 - .secret = (u8[32]){ 0x60, 0x2f, 0x7e, 0x2f, 0x68, 0xa8, 0x46, 0xb8, 4514 - 0x2c, 0xc2, 0x69, 0xb1, 0xd4, 0x8e, 0x93, 0x98, 4515 - 0x86, 0xae, 0x54, 0xfd, 0x63, 0x6c, 0x1f, 0xe0, 4516 - 0x74, 0xd7, 0x10, 0x12, 0x7d, 0x47, 0x24, 0x91 }, 4517 - .b_public = (u8[32]){ 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4518 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4519 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4520 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, 4521 - .expected_ss = (u8[32]){ 0x98, 0xcb, 0x9b, 0x50, 0xdd, 0x3f, 0xc2, 0xb0, 4522 - 0xd4, 0xf2, 0xd2, 0xbf, 0x7c, 0x5c, 0xfd, 0xd1, 4523 - 0x0c, 0x8f, 0xcd, 0x31, 0xfc, 0x40, 0xaf, 0x1a, 4524 - 0xd4, 0x4f, 0x47, 0xc1, 0x31, 0x37, 0x63, 0x62 }, 4525 - .secret_size = 32, 4526 - .b_public_size = 32, 4527 - .expected_ss_size = 32, 4528 - 4529 - }, 4530 - /* wycheproof - public key >= p */ 4531 - { 4532 - .secret = (u8[32]){ 0x60, 0x88, 0x7b, 0x3d, 0xc7, 0x24, 0x43, 0x02, 4533 - 0x6e, 0xbe, 0xdb, 0xbb, 0xb7, 0x06, 0x65, 0xf4, 4534 - 0x2b, 0x87, 0xad, 0xd1, 0x44, 0x0e, 0x77, 0x68, 4535 - 0xfb, 0xd7, 0xe8, 0xe2, 0xce, 0x5f, 0x63, 0x9d }, 4536 - .b_public = (u8[32]){ 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4537 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4538 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4539 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, 4540 - .expected_ss = (u8[32]){ 0x38, 0xd6, 0x30, 0x4c, 0x4a, 0x7e, 0x6d, 0x9f, 4541 - 0x79, 0x59, 0x33, 0x4f, 0xb5, 0x24, 0x5b, 0xd2, 4542 - 0xc7, 0x54, 0x52, 0x5d, 0x4c, 0x91, 0xdb, 0x95, 4543 - 0x02, 0x06, 0x92, 0x62, 0x34, 0xc1, 0xf6, 0x33 }, 4544 - .secret_size = 32, 4545 - .b_public_size = 32, 4546 - .expected_ss_size = 32, 4547 - 4548 - }, 4549 - /* wycheproof - public key >= p */ 4550 - { 4551 - .secret = (u8[32]){ 0x78, 0xd3, 0x1d, 0xfa, 0x85, 0x44, 0x97, 0xd7, 4552 - 0x2d, 0x8d, 0xef, 0x8a, 0x1b, 0x7f, 0xb0, 0x06, 4553 - 0xce, 0xc2, 0xd8, 0xc4, 0x92, 0x46, 0x47, 0xc9, 4554 - 0x38, 0x14, 0xae, 0x56, 0xfa, 0xed, 0xa4, 0x95 }, 4555 - .b_public = (u8[32]){ 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4556 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4557 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4558 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, 4559 - .expected_ss = (u8[32]){ 0x78, 0x6c, 0xd5, 0x49, 0x96, 0xf0, 0x14, 0xa5, 4560 - 0xa0, 0x31, 0xec, 0x14, 0xdb, 0x81, 0x2e, 0xd0, 4561 - 0x83, 0x55, 0x06, 0x1f, 0xdb, 0x5d, 0xe6, 0x80, 4562 - 0xa8, 0x00, 0xac, 0x52, 0x1f, 0x31, 0x8e, 0x23 }, 4563 - .secret_size = 32, 4564 - .b_public_size = 32, 4565 - .expected_ss_size = 32, 4566 - 4567 - }, 4568 - /* wycheproof - public key >= p */ 4569 - { 4570 - .secret = (u8[32]){ 0xc0, 0x4c, 0x5b, 0xae, 0xfa, 0x83, 0x02, 0xdd, 4571 - 0xde, 0xd6, 0xa4, 0xbb, 0x95, 0x77, 0x61, 0xb4, 4572 - 0xeb, 0x97, 0xae, 0xfa, 0x4f, 0xc3, 0xb8, 0x04, 4573 - 0x30, 0x85, 0xf9, 0x6a, 0x56, 0x59, 0xb3, 0xa5 }, 4574 - .b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4575 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4576 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4577 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, 4578 - .expected_ss = (u8[32]){ 0x29, 0xae, 0x8b, 0xc7, 0x3e, 0x9b, 0x10, 0xa0, 4579 - 0x8b, 0x4f, 0x68, 0x1c, 0x43, 0xc3, 0xe0, 0xac, 4580 - 0x1a, 0x17, 0x1d, 0x31, 0xb3, 0x8f, 0x1a, 0x48, 4581 - 0xef, 0xba, 0x29, 0xae, 0x63, 0x9e, 0xa1, 0x34 }, 4582 - .secret_size = 32, 4583 - .b_public_size = 32, 4584 - .expected_ss_size = 32, 4585 - 4586 - }, 4587 - /* wycheproof - RFC 7748 */ 4588 - { 4589 - .secret = (u8[32]){ 0xa0, 0x46, 0xe3, 0x6b, 0xf0, 0x52, 0x7c, 0x9d, 4590 - 0x3b, 0x16, 0x15, 0x4b, 0x82, 0x46, 0x5e, 0xdd, 4591 - 0x62, 0x14, 0x4c, 0x0a, 0xc1, 0xfc, 0x5a, 0x18, 4592 - 0x50, 0x6a, 0x22, 0x44, 0xba, 0x44, 0x9a, 0x44 }, 4593 - .b_public = (u8[32]){ 0xe6, 0xdb, 0x68, 0x67, 0x58, 0x30, 0x30, 0xdb, 4594 - 0x35, 0x94, 0xc1, 0xa4, 0x24, 0xb1, 0x5f, 0x7c, 4595 - 0x72, 0x66, 0x24, 0xec, 0x26, 0xb3, 0x35, 0x3b, 4596 - 0x10, 0xa9, 0x03, 0xa6, 0xd0, 0xab, 0x1c, 0x4c }, 4597 - .expected_ss = (u8[32]){ 0xc3, 0xda, 0x55, 0x37, 0x9d, 0xe9, 0xc6, 0x90, 4598 - 0x8e, 0x94, 0xea, 0x4d, 0xf2, 0x8d, 0x08, 0x4f, 4599 - 0x32, 0xec, 0xcf, 0x03, 0x49, 0x1c, 0x71, 0xf7, 4600 - 0x54, 0xb4, 0x07, 0x55, 0x77, 0xa2, 0x85, 0x52 }, 4601 - .secret_size = 32, 4602 - .b_public_size = 32, 4603 - .expected_ss_size = 32, 4604 - 4605 - }, 4606 - /* wycheproof - RFC 7748 */ 4607 - { 4608 - .secret = (u8[32]){ 0x48, 0x66, 0xe9, 0xd4, 0xd1, 0xb4, 0x67, 0x3c, 4609 - 0x5a, 0xd2, 0x26, 0x91, 0x95, 0x7d, 0x6a, 0xf5, 4610 - 0xc1, 0x1b, 0x64, 0x21, 0xe0, 0xea, 0x01, 0xd4, 4611 - 0x2c, 0xa4, 0x16, 0x9e, 0x79, 0x18, 0xba, 0x4d }, 4612 - .b_public = (u8[32]){ 0xe5, 0x21, 0x0f, 0x12, 0x78, 0x68, 0x11, 0xd3, 4613 - 0xf4, 0xb7, 0x95, 0x9d, 0x05, 0x38, 0xae, 0x2c, 4614 - 0x31, 0xdb, 0xe7, 0x10, 0x6f, 0xc0, 0x3c, 0x3e, 4615 - 0xfc, 0x4c, 0xd5, 0x49, 0xc7, 0x15, 0xa4, 0x13 }, 4616 - .expected_ss = (u8[32]){ 0x95, 0xcb, 0xde, 0x94, 0x76, 0xe8, 0x90, 0x7d, 4617 - 0x7a, 0xad, 0xe4, 0x5c, 0xb4, 0xb8, 0x73, 0xf8, 4618 - 0x8b, 0x59, 0x5a, 0x68, 0x79, 0x9f, 0xa1, 0x52, 4619 - 0xe6, 0xf8, 0xf7, 0x64, 0x7a, 0xac, 0x79, 0x57 }, 4620 - .secret_size = 32, 4621 - .b_public_size = 32, 4622 - .expected_ss_size = 32, 4623 - 4624 - }, 4625 - /* wycheproof - edge case for shared secret */ 4626 - { 4627 - .secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4, 4628 - 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3, 4629 - 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc, 4630 - 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 }, 4631 - .b_public = (u8[32]){ 0x0a, 0xb4, 0xe7, 0x63, 0x80, 0xd8, 0x4d, 0xde, 4632 - 0x4f, 0x68, 0x33, 0xc5, 0x8f, 0x2a, 0x9f, 0xb8, 4633 - 0xf8, 0x3b, 0xb0, 0x16, 0x9b, 0x17, 0x2b, 0xe4, 4634 - 0xb6, 0xe0, 0x59, 0x28, 0x87, 0x74, 0x1a, 0x36 }, 4635 - .expected_ss = (u8[32]){ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4636 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4637 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4638 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 4639 - .secret_size = 32, 4640 - .b_public_size = 32, 4641 - .expected_ss_size = 32, 4642 - 4643 - }, 4644 - /* wycheproof - edge case for shared secret */ 4645 - { 4646 - .secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4, 4647 - 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3, 4648 - 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc, 4649 - 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 }, 4650 - .b_public = (u8[32]){ 0x89, 0xe1, 0x0d, 0x57, 0x01, 0xb4, 0x33, 0x7d, 4651 - 0x2d, 0x03, 0x21, 0x81, 0x53, 0x8b, 0x10, 0x64, 4652 - 0xbd, 0x40, 0x84, 0x40, 0x1c, 0xec, 0xa1, 0xfd, 4653 - 0x12, 0x66, 0x3a, 0x19, 0x59, 0x38, 0x80, 0x00 }, 4654 - .expected_ss = (u8[32]){ 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4655 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4656 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4657 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 4658 - .secret_size = 32, 4659 - .b_public_size = 32, 4660 - .expected_ss_size = 32, 4661 - 4662 - }, 4663 - /* wycheproof - edge case for shared secret */ 4664 - { 4665 - .secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4, 4666 - 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3, 4667 - 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc, 4668 - 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 }, 4669 - .b_public = (u8[32]){ 0x2b, 0x55, 0xd3, 0xaa, 0x4a, 0x8f, 0x80, 0xc8, 4670 - 0xc0, 0xb2, 0xae, 0x5f, 0x93, 0x3e, 0x85, 0xaf, 4671 - 0x49, 0xbe, 0xac, 0x36, 0xc2, 0xfa, 0x73, 0x94, 4672 - 0xba, 0xb7, 0x6c, 0x89, 0x33, 0xf8, 0xf8, 0x1d }, 4673 - .expected_ss = (u8[32]){ 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4674 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4675 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4676 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 4677 - .secret_size = 32, 4678 - .b_public_size = 32, 4679 - .expected_ss_size = 32, 4680 - 4681 - }, 4682 - /* wycheproof - edge case for shared secret */ 4683 - { 4684 - .secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4, 4685 - 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3, 4686 - 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc, 4687 - 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 }, 4688 - .b_public = (u8[32]){ 0x63, 0xe5, 0xb1, 0xfe, 0x96, 0x01, 0xfe, 0x84, 4689 - 0x38, 0x5d, 0x88, 0x66, 0xb0, 0x42, 0x12, 0x62, 4690 - 0xf7, 0x8f, 0xbf, 0xa5, 0xaf, 0xf9, 0x58, 0x5e, 4691 - 0x62, 0x66, 0x79, 0xb1, 0x85, 0x47, 0xd9, 0x59 }, 4692 - .expected_ss = (u8[32]){ 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4693 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4694 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4695 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f }, 4696 - .secret_size = 32, 4697 - .b_public_size = 32, 4698 - .expected_ss_size = 32, 4699 - 4700 - }, 4701 - /* wycheproof - edge case for shared secret */ 4702 - { 4703 - .secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4, 4704 - 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3, 4705 - 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc, 4706 - 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 }, 4707 - .b_public = (u8[32]){ 0xe4, 0x28, 0xf3, 0xda, 0xc1, 0x78, 0x09, 0xf8, 4708 - 0x27, 0xa5, 0x22, 0xce, 0x32, 0x35, 0x50, 0x58, 4709 - 0xd0, 0x73, 0x69, 0x36, 0x4a, 0xa7, 0x89, 0x02, 4710 - 0xee, 0x10, 0x13, 0x9b, 0x9f, 0x9d, 0xd6, 0x53 }, 4711 - .expected_ss = (u8[32]){ 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4712 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4713 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4714 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f }, 4715 - .secret_size = 32, 4716 - .b_public_size = 32, 4717 - .expected_ss_size = 32, 4718 - 4719 - }, 4720 - /* wycheproof - edge case for shared secret */ 4721 - { 4722 - .secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4, 4723 - 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3, 4724 - 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc, 4725 - 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 }, 4726 - .b_public = (u8[32]){ 0xb3, 0xb5, 0x0e, 0x3e, 0xd3, 0xa4, 0x07, 0xb9, 4727 - 0x5d, 0xe9, 0x42, 0xef, 0x74, 0x57, 0x5b, 0x5a, 4728 - 0xb8, 0xa1, 0x0c, 0x09, 0xee, 0x10, 0x35, 0x44, 4729 - 0xd6, 0x0b, 0xdf, 0xed, 0x81, 0x38, 0xab, 0x2b }, 4730 - .expected_ss = (u8[32]){ 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4731 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4732 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4733 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f }, 4734 - .secret_size = 32, 4735 - .b_public_size = 32, 4736 - .expected_ss_size = 32, 4737 - 4738 - }, 4739 - /* wycheproof - edge case for shared secret */ 4740 - { 4741 - .secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4, 4742 - 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3, 4743 - 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc, 4744 - 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 }, 4745 - .b_public = (u8[32]){ 0x21, 0x3f, 0xff, 0xe9, 0x3d, 0x5e, 0xa8, 0xcd, 4746 - 0x24, 0x2e, 0x46, 0x28, 0x44, 0x02, 0x99, 0x22, 4747 - 0xc4, 0x3c, 0x77, 0xc9, 0xe3, 0xe4, 0x2f, 0x56, 4748 - 0x2f, 0x48, 0x5d, 0x24, 0xc5, 0x01, 0xa2, 0x0b }, 4749 - .expected_ss = (u8[32]){ 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4750 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4751 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4752 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f }, 4753 - .secret_size = 32, 4754 - .b_public_size = 32, 4755 - .expected_ss_size = 32, 4756 - 4757 - }, 4758 - /* wycheproof - edge case for shared secret */ 4759 - { 4760 - .secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4, 4761 - 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3, 4762 - 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc, 4763 - 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 }, 4764 - .b_public = (u8[32]){ 0x91, 0xb2, 0x32, 0xa1, 0x78, 0xb3, 0xcd, 0x53, 4765 - 0x09, 0x32, 0x44, 0x1e, 0x61, 0x39, 0x41, 0x8f, 4766 - 0x72, 0x17, 0x22, 0x92, 0xf1, 0xda, 0x4c, 0x18, 4767 - 0x34, 0xfc, 0x5e, 0xbf, 0xef, 0xb5, 0x1e, 0x3f }, 4768 - .expected_ss = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4769 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4770 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4771 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03 }, 4772 - .secret_size = 32, 4773 - .b_public_size = 32, 4774 - .expected_ss_size = 32, 4775 - 4776 - }, 4777 - /* wycheproof - edge case for shared secret */ 4778 - { 4779 - .secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4, 4780 - 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3, 4781 - 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc, 4782 - 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 }, 4783 - .b_public = (u8[32]){ 0x04, 0x5c, 0x6e, 0x11, 0xc5, 0xd3, 0x32, 0x55, 4784 - 0x6c, 0x78, 0x22, 0xfe, 0x94, 0xeb, 0xf8, 0x9b, 4785 - 0x56, 0xa3, 0x87, 0x8d, 0xc2, 0x7c, 0xa0, 0x79, 4786 - 0x10, 0x30, 0x58, 0x84, 0x9f, 0xab, 0xcb, 0x4f }, 4787 - .expected_ss = (u8[32]){ 0xe5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4788 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4789 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4790 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, 4791 - .secret_size = 32, 4792 - .b_public_size = 32, 4793 - .expected_ss_size = 32, 4794 - 4795 - }, 4796 - /* wycheproof - edge case for shared secret */ 4797 - { 4798 - .secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4, 4799 - 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3, 4800 - 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc, 4801 - 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 }, 4802 - .b_public = (u8[32]){ 0x1c, 0xa2, 0x19, 0x0b, 0x71, 0x16, 0x35, 0x39, 4803 - 0x06, 0x3c, 0x35, 0x77, 0x3b, 0xda, 0x0c, 0x9c, 4804 - 0x92, 0x8e, 0x91, 0x36, 0xf0, 0x62, 0x0a, 0xeb, 4805 - 0x09, 0x3f, 0x09, 0x91, 0x97, 0xb7, 0xf7, 0x4e }, 4806 - .expected_ss = (u8[32]){ 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4807 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4808 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4809 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, 4810 - .secret_size = 32, 4811 - .b_public_size = 32, 4812 - .expected_ss_size = 32, 4813 - 4814 - }, 4815 - /* wycheproof - edge case for shared secret */ 4816 - { 4817 - .secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4, 4818 - 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3, 4819 - 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc, 4820 - 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 }, 4821 - .b_public = (u8[32]){ 0xf7, 0x6e, 0x90, 0x10, 0xac, 0x33, 0xc5, 0x04, 4822 - 0x3b, 0x2d, 0x3b, 0x76, 0xa8, 0x42, 0x17, 0x10, 4823 - 0x00, 0xc4, 0x91, 0x62, 0x22, 0xe9, 0xe8, 0x58, 4824 - 0x97, 0xa0, 0xae, 0xc7, 0xf6, 0x35, 0x0b, 0x3c }, 4825 - .expected_ss = (u8[32]){ 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4826 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4827 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4828 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, 4829 - .secret_size = 32, 4830 - .b_public_size = 32, 4831 - .expected_ss_size = 32, 4832 - 4833 - }, 4834 - /* wycheproof - edge case for shared secret */ 4835 - { 4836 - .secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4, 4837 - 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3, 4838 - 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc, 4839 - 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 }, 4840 - .b_public = (u8[32]){ 0xbb, 0x72, 0x68, 0x8d, 0x8f, 0x8a, 0xa7, 0xa3, 4841 - 0x9c, 0xd6, 0x06, 0x0c, 0xd5, 0xc8, 0x09, 0x3c, 4842 - 0xde, 0xc6, 0xfe, 0x34, 0x19, 0x37, 0xc3, 0x88, 4843 - 0x6a, 0x99, 0x34, 0x6c, 0xd0, 0x7f, 0xaa, 0x55 }, 4844 - .expected_ss = (u8[32]){ 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4845 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4846 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 4847 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, 4848 - .secret_size = 32, 4849 - .b_public_size = 32, 4850 - .expected_ss_size = 32, 4851 - 4852 - }, 4853 - /* wycheproof - edge case for shared secret */ 4854 - { 4855 - .secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4, 4856 - 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3, 4857 - 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc, 4858 - 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 }, 4859 - .b_public = (u8[32]){ 0x88, 0xfd, 0xde, 0xa1, 0x93, 0x39, 0x1c, 0x6a, 4860 - 0x59, 0x33, 0xef, 0x9b, 0x71, 0x90, 0x15, 0x49, 4861 - 0x44, 0x72, 0x05, 0xaa, 0xe9, 0xda, 0x92, 0x8a, 4862 - 0x6b, 0x91, 0xa3, 0x52, 0xba, 0x10, 0xf4, 0x1f }, 4863 - .expected_ss = (u8[32]){ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4864 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4865 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4866 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 }, 4867 - .secret_size = 32, 4868 - .b_public_size = 32, 4869 - .expected_ss_size = 32, 4870 - 4871 - }, 4872 - /* wycheproof - edge case for shared secret */ 4873 - { 4874 - .secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4, 4875 - 0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3, 4876 - 0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc, 4877 - 0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 }, 4878 - .b_public = (u8[32]){ 0x30, 0x3b, 0x39, 0x2f, 0x15, 0x31, 0x16, 0xca, 4879 - 0xd9, 0xcc, 0x68, 0x2a, 0x00, 0xcc, 0xc4, 0x4c, 4880 - 0x95, 0xff, 0x0d, 0x3b, 0xbe, 0x56, 0x8b, 0xeb, 4881 - 0x6c, 0x4e, 0x73, 0x9b, 0xaf, 0xdc, 0x2c, 0x68 }, 4882 - .expected_ss = (u8[32]){ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4883 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4884 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4885 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00 }, 4886 - .secret_size = 32, 4887 - .b_public_size = 32, 4888 - .expected_ss_size = 32, 4889 - 4890 - }, 4891 - /* wycheproof - checking for overflow */ 4892 - { 4893 - .secret = (u8[32]){ 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d, 4894 - 0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d, 4895 - 0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c, 4896 - 0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 }, 4897 - .b_public = (u8[32]){ 0xfd, 0x30, 0x0a, 0xeb, 0x40, 0xe1, 0xfa, 0x58, 4898 - 0x25, 0x18, 0x41, 0x2b, 0x49, 0xb2, 0x08, 0xa7, 4899 - 0x84, 0x2b, 0x1e, 0x1f, 0x05, 0x6a, 0x04, 0x01, 4900 - 0x78, 0xea, 0x41, 0x41, 0x53, 0x4f, 0x65, 0x2d }, 4901 - .expected_ss = (u8[32]){ 0xb7, 0x34, 0x10, 0x5d, 0xc2, 0x57, 0x58, 0x5d, 4902 - 0x73, 0xb5, 0x66, 0xcc, 0xb7, 0x6f, 0x06, 0x27, 4903 - 0x95, 0xcc, 0xbe, 0xc8, 0x91, 0x28, 0xe5, 0x2b, 4904 - 0x02, 0xf3, 0xe5, 0x96, 0x39, 0xf1, 0x3c, 0x46 }, 4905 - .secret_size = 32, 4906 - .b_public_size = 32, 4907 - .expected_ss_size = 32, 4908 - 4909 - }, 4910 - /* wycheproof - checking for overflow */ 4911 - { 4912 - .secret = (u8[32]){ 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d, 4913 - 0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d, 4914 - 0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c, 4915 - 0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 }, 4916 - .b_public = (u8[32]){ 0xc8, 0xef, 0x79, 0xb5, 0x14, 0xd7, 0x68, 0x26, 4917 - 0x77, 0xbc, 0x79, 0x31, 0xe0, 0x6e, 0xe5, 0xc2, 4918 - 0x7c, 0x9b, 0x39, 0x2b, 0x4a, 0xe9, 0x48, 0x44, 4919 - 0x73, 0xf5, 0x54, 0xe6, 0x67, 0x8e, 0xcc, 0x2e }, 4920 - .expected_ss = (u8[32]){ 0x64, 0x7a, 0x46, 0xb6, 0xfc, 0x3f, 0x40, 0xd6, 4921 - 0x21, 0x41, 0xee, 0x3c, 0xee, 0x70, 0x6b, 0x4d, 4922 - 0x7a, 0x92, 0x71, 0x59, 0x3a, 0x7b, 0x14, 0x3e, 4923 - 0x8e, 0x2e, 0x22, 0x79, 0x88, 0x3e, 0x45, 0x50 }, 4924 - .secret_size = 32, 4925 - .b_public_size = 32, 4926 - .expected_ss_size = 32, 4927 - 4928 - }, 4929 - /* wycheproof - checking for overflow */ 4930 - { 4931 - .secret = (u8[32]){ 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d, 4932 - 0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d, 4933 - 0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c, 4934 - 0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 }, 4935 - .b_public = (u8[32]){ 0x64, 0xae, 0xac, 0x25, 0x04, 0x14, 0x48, 0x61, 4936 - 0x53, 0x2b, 0x7b, 0xbc, 0xb6, 0xc8, 0x7d, 0x67, 4937 - 0xdd, 0x4c, 0x1f, 0x07, 0xeb, 0xc2, 0xe0, 0x6e, 4938 - 0xff, 0xb9, 0x5a, 0xec, 0xc6, 0x17, 0x0b, 0x2c }, 4939 - .expected_ss = (u8[32]){ 0x4f, 0xf0, 0x3d, 0x5f, 0xb4, 0x3c, 0xd8, 0x65, 4940 - 0x7a, 0x3c, 0xf3, 0x7c, 0x13, 0x8c, 0xad, 0xce, 4941 - 0xcc, 0xe5, 0x09, 0xe4, 0xeb, 0xa0, 0x89, 0xd0, 4942 - 0xef, 0x40, 0xb4, 0xe4, 0xfb, 0x94, 0x61, 0x55 }, 4943 - .secret_size = 32, 4944 - .b_public_size = 32, 4945 - .expected_ss_size = 32, 4946 - 4947 - }, 4948 - /* wycheproof - checking for overflow */ 4949 - { 4950 - .secret = (u8[32]){ 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d, 4951 - 0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d, 4952 - 0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c, 4953 - 0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 }, 4954 - .b_public = (u8[32]){ 0xbf, 0x68, 0xe3, 0x5e, 0x9b, 0xdb, 0x7e, 0xee, 4955 - 0x1b, 0x50, 0x57, 0x02, 0x21, 0x86, 0x0f, 0x5d, 4956 - 0xcd, 0xad, 0x8a, 0xcb, 0xab, 0x03, 0x1b, 0x14, 4957 - 0x97, 0x4c, 0xc4, 0x90, 0x13, 0xc4, 0x98, 0x31 }, 4958 - .expected_ss = (u8[32]){ 0x21, 0xce, 0xe5, 0x2e, 0xfd, 0xbc, 0x81, 0x2e, 4959 - 0x1d, 0x02, 0x1a, 0x4a, 0xf1, 0xe1, 0xd8, 0xbc, 4960 - 0x4d, 0xb3, 0xc4, 0x00, 0xe4, 0xd2, 0xa2, 0xc5, 4961 - 0x6a, 0x39, 0x26, 0xdb, 0x4d, 0x99, 0xc6, 0x5b }, 4962 - .secret_size = 32, 4963 - .b_public_size = 32, 4964 - .expected_ss_size = 32, 4965 - 4966 - }, 4967 - /* wycheproof - checking for overflow */ 4968 - { 4969 - .secret = (u8[32]){ 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d, 4970 - 0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d, 4971 - 0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c, 4972 - 0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 }, 4973 - .b_public = (u8[32]){ 0x53, 0x47, 0xc4, 0x91, 0x33, 0x1a, 0x64, 0xb4, 4974 - 0x3d, 0xdc, 0x68, 0x30, 0x34, 0xe6, 0x77, 0xf5, 4975 - 0x3d, 0xc3, 0x2b, 0x52, 0xa5, 0x2a, 0x57, 0x7c, 4976 - 0x15, 0xa8, 0x3b, 0xf2, 0x98, 0xe9, 0x9f, 0x19 }, 4977 - .expected_ss = (u8[32]){ 0x18, 0xcb, 0x89, 0xe4, 0xe2, 0x0c, 0x0c, 0x2b, 4978 - 0xd3, 0x24, 0x30, 0x52, 0x45, 0x26, 0x6c, 0x93, 4979 - 0x27, 0x69, 0x0b, 0xbe, 0x79, 0xac, 0xb8, 0x8f, 4980 - 0x5b, 0x8f, 0xb3, 0xf7, 0x4e, 0xca, 0x3e, 0x52 }, 4981 - .secret_size = 32, 4982 - .b_public_size = 32, 4983 - .expected_ss_size = 32, 4984 - 4985 - }, 4986 - /* wycheproof - private key == -1 (mod order) */ 4987 - { 4988 - .secret = (u8[32]){ 0xa0, 0x23, 0xcd, 0xd0, 0x83, 0xef, 0x5b, 0xb8, 4989 - 0x2f, 0x10, 0xd6, 0x2e, 0x59, 0xe1, 0x5a, 0x68, 4990 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4991 - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50 }, 4992 - .b_public = (u8[32]){ 0x25, 0x8e, 0x04, 0x52, 0x3b, 0x8d, 0x25, 0x3e, 4993 - 0xe6, 0x57, 0x19, 0xfc, 0x69, 0x06, 0xc6, 0x57, 4994 - 0x19, 0x2d, 0x80, 0x71, 0x7e, 0xdc, 0x82, 0x8f, 4995 - 0xa0, 0xaf, 0x21, 0x68, 0x6e, 0x2f, 0xaa, 0x75 }, 4996 - .expected_ss = (u8[32]){ 0x25, 0x8e, 0x04, 0x52, 0x3b, 0x8d, 0x25, 0x3e, 4997 - 0xe6, 0x57, 0x19, 0xfc, 0x69, 0x06, 0xc6, 0x57, 4998 - 0x19, 0x2d, 0x80, 0x71, 0x7e, 0xdc, 0x82, 0x8f, 4999 - 0xa0, 0xaf, 0x21, 0x68, 0x6e, 0x2f, 0xaa, 0x75 }, 5000 - .secret_size = 32, 5001 - .b_public_size = 32, 5002 - .expected_ss_size = 32, 5003 - 5004 - }, 5005 - /* wycheproof - private key == 1 (mod order) on twist */ 5006 - { 5007 - .secret = (u8[32]){ 0x58, 0x08, 0x3d, 0xd2, 0x61, 0xad, 0x91, 0xef, 5008 - 0xf9, 0x52, 0x32, 0x2e, 0xc8, 0x24, 0xc6, 0x82, 5009 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 5010 - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f }, 5011 - .b_public = (u8[32]){ 0x2e, 0xae, 0x5e, 0xc3, 0xdd, 0x49, 0x4e, 0x9f, 5012 - 0x2d, 0x37, 0xd2, 0x58, 0xf8, 0x73, 0xa8, 0xe6, 5013 - 0xe9, 0xd0, 0xdb, 0xd1, 0xe3, 0x83, 0xef, 0x64, 5014 - 0xd9, 0x8b, 0xb9, 0x1b, 0x3e, 0x0b, 0xe0, 0x35 }, 5015 - .expected_ss = (u8[32]){ 0x2e, 0xae, 0x5e, 0xc3, 0xdd, 0x49, 0x4e, 0x9f, 5016 - 0x2d, 0x37, 0xd2, 0x58, 0xf8, 0x73, 0xa8, 0xe6, 5017 - 0xe9, 0xd0, 0xdb, 0xd1, 0xe3, 0x83, 0xef, 0x64, 5018 - 0xd9, 0x8b, 0xb9, 0x1b, 0x3e, 0x0b, 0xe0, 0x35 }, 5019 - .secret_size = 32, 5020 - .b_public_size = 32, 5021 - .expected_ss_size = 32, 5022 - 5023 - } 5024 - }; 5025 - 5026 3801 static const struct kpp_testvec ecdh_p192_tv_template[] = { 5027 3802 { 5028 3803 .secret =