diff options
author | Rik Snel <rsnel@cube.dyndns.org> | 2007-09-19 08:23:13 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:55:45 -0400 |
commit | f19f5111c94053ba4931892f5c01c806de33942e (patch) | |
tree | b40dfae8fa170ebdc92fdcfeb3000c84d6203645 /crypto/tcrypt.h | |
parent | 5aaff0c8f7dd3515c9f1ca57f86463f30779acc7 (diff) |
[CRYPTO] xts: XTS blockcipher mode implementation without partial blocks
XTS currently considered to be the successor of the LRW mode by the IEEE1619
workgroup. LRW was discarded, because it was not secure if the encyption key
itself is encrypted with LRW.
XTS does not have this problem. The implementation is pretty straightforward,
a new function was added to gf128mul to handle GF(128) elements in ble format.
Four testvectors from the specification
http://grouper.ieee.org/groups/1619/email/pdf00086.pdf
were added, and they verify on my system.
Signed-off-by: Rik Snel <rsnel@cube.dyndns.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/tcrypt.h')
-rw-r--r-- | crypto/tcrypt.h | 417 |
1 files changed, 417 insertions, 0 deletions
diff --git a/crypto/tcrypt.h b/crypto/tcrypt.h index beab3f345584..ec861388d9a0 100644 --- a/crypto/tcrypt.h +++ b/crypto/tcrypt.h | |||
@@ -2144,6 +2144,8 @@ static struct cipher_testvec cast6_dec_tv_template[] = { | |||
2144 | #define AES_CBC_DEC_TEST_VECTORS 2 | 2144 | #define AES_CBC_DEC_TEST_VECTORS 2 |
2145 | #define AES_LRW_ENC_TEST_VECTORS 8 | 2145 | #define AES_LRW_ENC_TEST_VECTORS 8 |
2146 | #define AES_LRW_DEC_TEST_VECTORS 8 | 2146 | #define AES_LRW_DEC_TEST_VECTORS 8 |
2147 | #define AES_XTS_ENC_TEST_VECTORS 4 | ||
2148 | #define AES_XTS_DEC_TEST_VECTORS 4 | ||
2147 | 2149 | ||
2148 | static struct cipher_testvec aes_enc_tv_template[] = { | 2150 | static struct cipher_testvec aes_enc_tv_template[] = { |
2149 | { /* From FIPS-197 */ | 2151 | { /* From FIPS-197 */ |
@@ -2784,6 +2786,400 @@ static struct cipher_testvec aes_lrw_dec_tv_template[] = { | |||
2784 | } | 2786 | } |
2785 | }; | 2787 | }; |
2786 | 2788 | ||
2789 | static struct cipher_testvec aes_xts_enc_tv_template[] = { | ||
2790 | /* http://grouper.ieee.org/groups/1619/email/pdf00086.pdf */ | ||
2791 | { /* XTS-AES 1 */ | ||
2792 | .key = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
2793 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
2794 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
2795 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, | ||
2796 | .klen = 32, | ||
2797 | .iv = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
2798 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, | ||
2799 | .input = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
2800 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
2801 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
2802 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, | ||
2803 | .ilen = 32, | ||
2804 | .result = { 0x91, 0x7c, 0xf6, 0x9e, 0xbd, 0x68, 0xb2, 0xec, | ||
2805 | 0x9b, 0x9f, 0xe9, 0xa3, 0xea, 0xdd, 0xa6, 0x92, | ||
2806 | 0xcd, 0x43, 0xd2, 0xf5, 0x95, 0x98, 0xed, 0x85, | ||
2807 | 0x8c, 0x02, 0xc2, 0x65, 0x2f, 0xbf, 0x92, 0x2e }, | ||
2808 | .rlen = 32, | ||
2809 | }, { /* XTS-AES 2 */ | ||
2810 | .key = { 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, | ||
2811 | 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, | ||
2812 | 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, | ||
2813 | 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 }, | ||
2814 | .klen = 32, | ||
2815 | .iv = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, | ||
2816 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, | ||
2817 | .input = { 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, | ||
2818 | 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, | ||
2819 | 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, | ||
2820 | 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44 }, | ||
2821 | .ilen = 32, | ||
2822 | .result = { 0xc4, 0x54, 0x18, 0x5e, 0x6a, 0x16, 0x93, 0x6e, | ||
2823 | 0x39, 0x33, 0x40, 0x38, 0xac, 0xef, 0x83, 0x8b, | ||
2824 | 0xfb, 0x18, 0x6f, 0xff, 0x74, 0x80, 0xad, 0xc4, | ||
2825 | 0x28, 0x93, 0x82, 0xec, 0xd6, 0xd3, 0x94, 0xf0 }, | ||
2826 | .rlen = 32, | ||
2827 | }, { /* XTS-AES 3 */ | ||
2828 | .key = { 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, | ||
2829 | 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0, | ||
2830 | 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, | ||
2831 | 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 }, | ||
2832 | .klen = 32, | ||
2833 | .iv = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, | ||
2834 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, | ||
2835 | .input = { 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, | ||
2836 | 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, | ||
2837 | 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, | ||
2838 | 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44 }, | ||
2839 | .ilen = 32, | ||
2840 | .result = { 0xaf, 0x85, 0x33, 0x6b, 0x59, 0x7a, 0xfc, 0x1a, | ||
2841 | 0x90, 0x0b, 0x2e, 0xb2, 0x1e, 0xc9, 0x49, 0xd2, | ||
2842 | 0x92, 0xdf, 0x4c, 0x04, 0x7e, 0x0b, 0x21, 0x53, | ||
2843 | 0x21, 0x86, 0xa5, 0x97, 0x1a, 0x22, 0x7a, 0x89 }, | ||
2844 | .rlen = 32, | ||
2845 | }, { /* XTS-AES 4 */ | ||
2846 | .key = { 0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45, | ||
2847 | 0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26, | ||
2848 | 0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93, | ||
2849 | 0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95 }, | ||
2850 | .klen = 32, | ||
2851 | .iv = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
2852 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, | ||
2853 | .input = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | ||
2854 | 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, | ||
2855 | 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, | ||
2856 | 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, | ||
2857 | 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, | ||
2858 | 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, | ||
2859 | 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, | ||
2860 | 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, | ||
2861 | 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, | ||
2862 | 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, | ||
2863 | 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, | ||
2864 | 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, | ||
2865 | 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, | ||
2866 | 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, | ||
2867 | 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, | ||
2868 | 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, | ||
2869 | 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, | ||
2870 | 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, | ||
2871 | 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, | ||
2872 | 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, | ||
2873 | 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, | ||
2874 | 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, | ||
2875 | 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, | ||
2876 | 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, | ||
2877 | 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, | ||
2878 | 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, | ||
2879 | 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, | ||
2880 | 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, | ||
2881 | 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, | ||
2882 | 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, | ||
2883 | 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, | ||
2884 | 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, | ||
2885 | 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | ||
2886 | 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, | ||
2887 | 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, | ||
2888 | 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, | ||
2889 | 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, | ||
2890 | 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, | ||
2891 | 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, | ||
2892 | 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, | ||
2893 | 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, | ||
2894 | 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, | ||
2895 | 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, | ||
2896 | 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, | ||
2897 | 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, | ||
2898 | 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, | ||
2899 | 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, | ||
2900 | 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, | ||
2901 | 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, | ||
2902 | 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, | ||
2903 | 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, | ||
2904 | 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, | ||
2905 | 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, | ||
2906 | 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, | ||
2907 | 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, | ||
2908 | 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, | ||
2909 | 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, | ||
2910 | 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, | ||
2911 | 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, | ||
2912 | 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, | ||
2913 | 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, | ||
2914 | 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, | ||
2915 | 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, | ||
2916 | 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff }, | ||
2917 | .ilen = 512, | ||
2918 | .result = { 0x27, 0xa7, 0x47, 0x9b, 0xef, 0xa1, 0xd4, 0x76, | ||
2919 | 0x48, 0x9f, 0x30, 0x8c, 0xd4, 0xcf, 0xa6, 0xe2, | ||
2920 | 0xa9, 0x6e, 0x4b, 0xbe, 0x32, 0x08, 0xff, 0x25, | ||
2921 | 0x28, 0x7d, 0xd3, 0x81, 0x96, 0x16, 0xe8, 0x9c, | ||
2922 | 0xc7, 0x8c, 0xf7, 0xf5, 0xe5, 0x43, 0x44, 0x5f, | ||
2923 | 0x83, 0x33, 0xd8, 0xfa, 0x7f, 0x56, 0x00, 0x00, | ||
2924 | 0x05, 0x27, 0x9f, 0xa5, 0xd8, 0xb5, 0xe4, 0xad, | ||
2925 | 0x40, 0xe7, 0x36, 0xdd, 0xb4, 0xd3, 0x54, 0x12, | ||
2926 | 0x32, 0x80, 0x63, 0xfd, 0x2a, 0xab, 0x53, 0xe5, | ||
2927 | 0xea, 0x1e, 0x0a, 0x9f, 0x33, 0x25, 0x00, 0xa5, | ||
2928 | 0xdf, 0x94, 0x87, 0xd0, 0x7a, 0x5c, 0x92, 0xcc, | ||
2929 | 0x51, 0x2c, 0x88, 0x66, 0xc7, 0xe8, 0x60, 0xce, | ||
2930 | 0x93, 0xfd, 0xf1, 0x66, 0xa2, 0x49, 0x12, 0xb4, | ||
2931 | 0x22, 0x97, 0x61, 0x46, 0xae, 0x20, 0xce, 0x84, | ||
2932 | 0x6b, 0xb7, 0xdc, 0x9b, 0xa9, 0x4a, 0x76, 0x7a, | ||
2933 | 0xae, 0xf2, 0x0c, 0x0d, 0x61, 0xad, 0x02, 0x65, | ||
2934 | 0x5e, 0xa9, 0x2d, 0xc4, 0xc4, 0xe4, 0x1a, 0x89, | ||
2935 | 0x52, 0xc6, 0x51, 0xd3, 0x31, 0x74, 0xbe, 0x51, | ||
2936 | 0xa1, 0x0c, 0x42, 0x11, 0x10, 0xe6, 0xd8, 0x15, | ||
2937 | 0x88, 0xed, 0xe8, 0x21, 0x03, 0xa2, 0x52, 0xd8, | ||
2938 | 0xa7, 0x50, 0xe8, 0x76, 0x8d, 0xef, 0xff, 0xed, | ||
2939 | 0x91, 0x22, 0x81, 0x0a, 0xae, 0xb9, 0x9f, 0x91, | ||
2940 | 0x72, 0xaf, 0x82, 0xb6, 0x04, 0xdc, 0x4b, 0x8e, | ||
2941 | 0x51, 0xbc, 0xb0, 0x82, 0x35, 0xa6, 0xf4, 0x34, | ||
2942 | 0x13, 0x32, 0xe4, 0xca, 0x60, 0x48, 0x2a, 0x4b, | ||
2943 | 0xa1, 0xa0, 0x3b, 0x3e, 0x65, 0x00, 0x8f, 0xc5, | ||
2944 | 0xda, 0x76, 0xb7, 0x0b, 0xf1, 0x69, 0x0d, 0xb4, | ||
2945 | 0xea, 0xe2, 0x9c, 0x5f, 0x1b, 0xad, 0xd0, 0x3c, | ||
2946 | 0x5c, 0xcf, 0x2a, 0x55, 0xd7, 0x05, 0xdd, 0xcd, | ||
2947 | 0x86, 0xd4, 0x49, 0x51, 0x1c, 0xeb, 0x7e, 0xc3, | ||
2948 | 0x0b, 0xf1, 0x2b, 0x1f, 0xa3, 0x5b, 0x91, 0x3f, | ||
2949 | 0x9f, 0x74, 0x7a, 0x8a, 0xfd, 0x1b, 0x13, 0x0e, | ||
2950 | 0x94, 0xbf, 0xf9, 0x4e, 0xff, 0xd0, 0x1a, 0x91, | ||
2951 | 0x73, 0x5c, 0xa1, 0x72, 0x6a, 0xcd, 0x0b, 0x19, | ||
2952 | 0x7c, 0x4e, 0x5b, 0x03, 0x39, 0x36, 0x97, 0xe1, | ||
2953 | 0x26, 0x82, 0x6f, 0xb6, 0xbb, 0xde, 0x8e, 0xcc, | ||
2954 | 0x1e, 0x08, 0x29, 0x85, 0x16, 0xe2, 0xc9, 0xed, | ||
2955 | 0x03, 0xff, 0x3c, 0x1b, 0x78, 0x60, 0xf6, 0xde, | ||
2956 | 0x76, 0xd4, 0xce, 0xcd, 0x94, 0xc8, 0x11, 0x98, | ||
2957 | 0x55, 0xef, 0x52, 0x97, 0xca, 0x67, 0xe9, 0xf3, | ||
2958 | 0xe7, 0xff, 0x72, 0xb1, 0xe9, 0x97, 0x85, 0xca, | ||
2959 | 0x0a, 0x7e, 0x77, 0x20, 0xc5, 0xb3, 0x6d, 0xc6, | ||
2960 | 0xd7, 0x2c, 0xac, 0x95, 0x74, 0xc8, 0xcb, 0xbc, | ||
2961 | 0x2f, 0x80, 0x1e, 0x23, 0xe5, 0x6f, 0xd3, 0x44, | ||
2962 | 0xb0, 0x7f, 0x22, 0x15, 0x4b, 0xeb, 0xa0, 0xf0, | ||
2963 | 0x8c, 0xe8, 0x89, 0x1e, 0x64, 0x3e, 0xd9, 0x95, | ||
2964 | 0xc9, 0x4d, 0x9a, 0x69, 0xc9, 0xf1, 0xb5, 0xf4, | ||
2965 | 0x99, 0x02, 0x7a, 0x78, 0x57, 0x2a, 0xee, 0xbd, | ||
2966 | 0x74, 0xd2, 0x0c, 0xc3, 0x98, 0x81, 0xc2, 0x13, | ||
2967 | 0xee, 0x77, 0x0b, 0x10, 0x10, 0xe4, 0xbe, 0xa7, | ||
2968 | 0x18, 0x84, 0x69, 0x77, 0xae, 0x11, 0x9f, 0x7a, | ||
2969 | 0x02, 0x3a, 0xb5, 0x8c, 0xca, 0x0a, 0xd7, 0x52, | ||
2970 | 0xaf, 0xe6, 0x56, 0xbb, 0x3c, 0x17, 0x25, 0x6a, | ||
2971 | 0x9f, 0x6e, 0x9b, 0xf1, 0x9f, 0xdd, 0x5a, 0x38, | ||
2972 | 0xfc, 0x82, 0xbb, 0xe8, 0x72, 0xc5, 0x53, 0x9e, | ||
2973 | 0xdb, 0x60, 0x9e, 0xf4, 0xf7, 0x9c, 0x20, 0x3e, | ||
2974 | 0xbb, 0x14, 0x0f, 0x2e, 0x58, 0x3c, 0xb2, 0xad, | ||
2975 | 0x15, 0xb4, 0xaa, 0x5b, 0x65, 0x50, 0x16, 0xa8, | ||
2976 | 0x44, 0x92, 0x77, 0xdb, 0xd4, 0x77, 0xef, 0x2c, | ||
2977 | 0x8d, 0x6c, 0x01, 0x7d, 0xb7, 0x38, 0xb1, 0x8d, | ||
2978 | 0xeb, 0x4a, 0x42, 0x7d, 0x19, 0x23, 0xce, 0x3f, | ||
2979 | 0xf2, 0x62, 0x73, 0x57, 0x79, 0xa4, 0x18, 0xf2, | ||
2980 | 0x0a, 0x28, 0x2d, 0xf9, 0x20, 0x14, 0x7b, 0xea, | ||
2981 | 0xbe, 0x42, 0x1e, 0xe5, 0x31, 0x9d, 0x05, 0x68 }, | ||
2982 | .rlen = 512, | ||
2983 | } | ||
2984 | }; | ||
2985 | |||
2986 | static struct cipher_testvec aes_xts_dec_tv_template[] = { | ||
2987 | /* http://grouper.ieee.org/groups/1619/email/pdf00086.pdf */ | ||
2988 | { /* XTS-AES 1 */ | ||
2989 | .key = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
2990 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
2991 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
2992 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, | ||
2993 | .klen = 32, | ||
2994 | .iv = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
2995 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, | ||
2996 | .input = { 0x91, 0x7c, 0xf6, 0x9e, 0xbd, 0x68, 0xb2, 0xec, | ||
2997 | 0x9b, 0x9f, 0xe9, 0xa3, 0xea, 0xdd, 0xa6, 0x92, | ||
2998 | 0xcd, 0x43, 0xd2, 0xf5, 0x95, 0x98, 0xed, 0x85, | ||
2999 | 0x8c, 0x02, 0xc2, 0x65, 0x2f, 0xbf, 0x92, 0x2e }, | ||
3000 | .ilen = 32, | ||
3001 | .result = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
3002 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
3003 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
3004 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, | ||
3005 | .rlen = 32, | ||
3006 | }, { /* XTS-AES 2 */ | ||
3007 | .key = { 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, | ||
3008 | 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, | ||
3009 | 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, | ||
3010 | 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 }, | ||
3011 | .klen = 32, | ||
3012 | .iv = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, | ||
3013 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, | ||
3014 | .input = { 0xc4, 0x54, 0x18, 0x5e, 0x6a, 0x16, 0x93, 0x6e, | ||
3015 | 0x39, 0x33, 0x40, 0x38, 0xac, 0xef, 0x83, 0x8b, | ||
3016 | 0xfb, 0x18, 0x6f, 0xff, 0x74, 0x80, 0xad, 0xc4, | ||
3017 | 0x28, 0x93, 0x82, 0xec, 0xd6, 0xd3, 0x94, 0xf0 }, | ||
3018 | .ilen = 32, | ||
3019 | .result = { 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, | ||
3020 | 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, | ||
3021 | 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, | ||
3022 | 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44 }, | ||
3023 | .rlen = 32, | ||
3024 | }, { /* XTS-AES 3 */ | ||
3025 | .key = { 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, | ||
3026 | 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0, | ||
3027 | 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, | ||
3028 | 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 }, | ||
3029 | .klen = 32, | ||
3030 | .iv = { 0x33, 0x33, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, | ||
3031 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, | ||
3032 | .input = { 0xaf, 0x85, 0x33, 0x6b, 0x59, 0x7a, 0xfc, 0x1a, | ||
3033 | 0x90, 0x0b, 0x2e, 0xb2, 0x1e, 0xc9, 0x49, 0xd2, | ||
3034 | 0x92, 0xdf, 0x4c, 0x04, 0x7e, 0x0b, 0x21, 0x53, | ||
3035 | 0x21, 0x86, 0xa5, 0x97, 0x1a, 0x22, 0x7a, 0x89 }, | ||
3036 | .ilen = 32, | ||
3037 | .result = { 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, | ||
3038 | 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, | ||
3039 | 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, | ||
3040 | 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44 }, | ||
3041 | .rlen = 32, | ||
3042 | }, { /* XTS-AES 4 */ | ||
3043 | .key = { 0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45, | ||
3044 | 0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26, | ||
3045 | 0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93, | ||
3046 | 0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95 }, | ||
3047 | .klen = 32, | ||
3048 | .iv = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
3049 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, | ||
3050 | .input = { 0x27, 0xa7, 0x47, 0x9b, 0xef, 0xa1, 0xd4, 0x76, | ||
3051 | 0x48, 0x9f, 0x30, 0x8c, 0xd4, 0xcf, 0xa6, 0xe2, | ||
3052 | 0xa9, 0x6e, 0x4b, 0xbe, 0x32, 0x08, 0xff, 0x25, | ||
3053 | 0x28, 0x7d, 0xd3, 0x81, 0x96, 0x16, 0xe8, 0x9c, | ||
3054 | 0xc7, 0x8c, 0xf7, 0xf5, 0xe5, 0x43, 0x44, 0x5f, | ||
3055 | 0x83, 0x33, 0xd8, 0xfa, 0x7f, 0x56, 0x00, 0x00, | ||
3056 | 0x05, 0x27, 0x9f, 0xa5, 0xd8, 0xb5, 0xe4, 0xad, | ||
3057 | 0x40, 0xe7, 0x36, 0xdd, 0xb4, 0xd3, 0x54, 0x12, | ||
3058 | 0x32, 0x80, 0x63, 0xfd, 0x2a, 0xab, 0x53, 0xe5, | ||
3059 | 0xea, 0x1e, 0x0a, 0x9f, 0x33, 0x25, 0x00, 0xa5, | ||
3060 | 0xdf, 0x94, 0x87, 0xd0, 0x7a, 0x5c, 0x92, 0xcc, | ||
3061 | 0x51, 0x2c, 0x88, 0x66, 0xc7, 0xe8, 0x60, 0xce, | ||
3062 | 0x93, 0xfd, 0xf1, 0x66, 0xa2, 0x49, 0x12, 0xb4, | ||
3063 | 0x22, 0x97, 0x61, 0x46, 0xae, 0x20, 0xce, 0x84, | ||
3064 | 0x6b, 0xb7, 0xdc, 0x9b, 0xa9, 0x4a, 0x76, 0x7a, | ||
3065 | 0xae, 0xf2, 0x0c, 0x0d, 0x61, 0xad, 0x02, 0x65, | ||
3066 | 0x5e, 0xa9, 0x2d, 0xc4, 0xc4, 0xe4, 0x1a, 0x89, | ||
3067 | 0x52, 0xc6, 0x51, 0xd3, 0x31, 0x74, 0xbe, 0x51, | ||
3068 | 0xa1, 0x0c, 0x42, 0x11, 0x10, 0xe6, 0xd8, 0x15, | ||
3069 | 0x88, 0xed, 0xe8, 0x21, 0x03, 0xa2, 0x52, 0xd8, | ||
3070 | 0xa7, 0x50, 0xe8, 0x76, 0x8d, 0xef, 0xff, 0xed, | ||
3071 | 0x91, 0x22, 0x81, 0x0a, 0xae, 0xb9, 0x9f, 0x91, | ||
3072 | 0x72, 0xaf, 0x82, 0xb6, 0x04, 0xdc, 0x4b, 0x8e, | ||
3073 | 0x51, 0xbc, 0xb0, 0x82, 0x35, 0xa6, 0xf4, 0x34, | ||
3074 | 0x13, 0x32, 0xe4, 0xca, 0x60, 0x48, 0x2a, 0x4b, | ||
3075 | 0xa1, 0xa0, 0x3b, 0x3e, 0x65, 0x00, 0x8f, 0xc5, | ||
3076 | 0xda, 0x76, 0xb7, 0x0b, 0xf1, 0x69, 0x0d, 0xb4, | ||
3077 | 0xea, 0xe2, 0x9c, 0x5f, 0x1b, 0xad, 0xd0, 0x3c, | ||
3078 | 0x5c, 0xcf, 0x2a, 0x55, 0xd7, 0x05, 0xdd, 0xcd, | ||
3079 | 0x86, 0xd4, 0x49, 0x51, 0x1c, 0xeb, 0x7e, 0xc3, | ||
3080 | 0x0b, 0xf1, 0x2b, 0x1f, 0xa3, 0x5b, 0x91, 0x3f, | ||
3081 | 0x9f, 0x74, 0x7a, 0x8a, 0xfd, 0x1b, 0x13, 0x0e, | ||
3082 | 0x94, 0xbf, 0xf9, 0x4e, 0xff, 0xd0, 0x1a, 0x91, | ||
3083 | 0x73, 0x5c, 0xa1, 0x72, 0x6a, 0xcd, 0x0b, 0x19, | ||
3084 | 0x7c, 0x4e, 0x5b, 0x03, 0x39, 0x36, 0x97, 0xe1, | ||
3085 | 0x26, 0x82, 0x6f, 0xb6, 0xbb, 0xde, 0x8e, 0xcc, | ||
3086 | 0x1e, 0x08, 0x29, 0x85, 0x16, 0xe2, 0xc9, 0xed, | ||
3087 | 0x03, 0xff, 0x3c, 0x1b, 0x78, 0x60, 0xf6, 0xde, | ||
3088 | 0x76, 0xd4, 0xce, 0xcd, 0x94, 0xc8, 0x11, 0x98, | ||
3089 | 0x55, 0xef, 0x52, 0x97, 0xca, 0x67, 0xe9, 0xf3, | ||
3090 | 0xe7, 0xff, 0x72, 0xb1, 0xe9, 0x97, 0x85, 0xca, | ||
3091 | 0x0a, 0x7e, 0x77, 0x20, 0xc5, 0xb3, 0x6d, 0xc6, | ||
3092 | 0xd7, 0x2c, 0xac, 0x95, 0x74, 0xc8, 0xcb, 0xbc, | ||
3093 | 0x2f, 0x80, 0x1e, 0x23, 0xe5, 0x6f, 0xd3, 0x44, | ||
3094 | 0xb0, 0x7f, 0x22, 0x15, 0x4b, 0xeb, 0xa0, 0xf0, | ||
3095 | 0x8c, 0xe8, 0x89, 0x1e, 0x64, 0x3e, 0xd9, 0x95, | ||
3096 | 0xc9, 0x4d, 0x9a, 0x69, 0xc9, 0xf1, 0xb5, 0xf4, | ||
3097 | 0x99, 0x02, 0x7a, 0x78, 0x57, 0x2a, 0xee, 0xbd, | ||
3098 | 0x74, 0xd2, 0x0c, 0xc3, 0x98, 0x81, 0xc2, 0x13, | ||
3099 | 0xee, 0x77, 0x0b, 0x10, 0x10, 0xe4, 0xbe, 0xa7, | ||
3100 | 0x18, 0x84, 0x69, 0x77, 0xae, 0x11, 0x9f, 0x7a, | ||
3101 | 0x02, 0x3a, 0xb5, 0x8c, 0xca, 0x0a, 0xd7, 0x52, | ||
3102 | 0xaf, 0xe6, 0x56, 0xbb, 0x3c, 0x17, 0x25, 0x6a, | ||
3103 | 0x9f, 0x6e, 0x9b, 0xf1, 0x9f, 0xdd, 0x5a, 0x38, | ||
3104 | 0xfc, 0x82, 0xbb, 0xe8, 0x72, 0xc5, 0x53, 0x9e, | ||
3105 | 0xdb, 0x60, 0x9e, 0xf4, 0xf7, 0x9c, 0x20, 0x3e, | ||
3106 | 0xbb, 0x14, 0x0f, 0x2e, 0x58, 0x3c, 0xb2, 0xad, | ||
3107 | 0x15, 0xb4, 0xaa, 0x5b, 0x65, 0x50, 0x16, 0xa8, | ||
3108 | 0x44, 0x92, 0x77, 0xdb, 0xd4, 0x77, 0xef, 0x2c, | ||
3109 | 0x8d, 0x6c, 0x01, 0x7d, 0xb7, 0x38, 0xb1, 0x8d, | ||
3110 | 0xeb, 0x4a, 0x42, 0x7d, 0x19, 0x23, 0xce, 0x3f, | ||
3111 | 0xf2, 0x62, 0x73, 0x57, 0x79, 0xa4, 0x18, 0xf2, | ||
3112 | 0x0a, 0x28, 0x2d, 0xf9, 0x20, 0x14, 0x7b, 0xea, | ||
3113 | 0xbe, 0x42, 0x1e, 0xe5, 0x31, 0x9d, 0x05, 0x68 }, | ||
3114 | .ilen = 512, | ||
3115 | .result = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | ||
3116 | 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, | ||
3117 | 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, | ||
3118 | 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, | ||
3119 | 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, | ||
3120 | 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, | ||
3121 | 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, | ||
3122 | 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, | ||
3123 | 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, | ||
3124 | 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, | ||
3125 | 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, | ||
3126 | 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, | ||
3127 | 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, | ||
3128 | 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, | ||
3129 | 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, | ||
3130 | 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, | ||
3131 | 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, | ||
3132 | 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, | ||
3133 | 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, | ||
3134 | 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, | ||
3135 | 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, | ||
3136 | 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, | ||
3137 | 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, | ||
3138 | 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, | ||
3139 | 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, | ||
3140 | 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, | ||
3141 | 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, | ||
3142 | 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, | ||
3143 | 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, | ||
3144 | 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, | ||
3145 | 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, | ||
3146 | 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, | ||
3147 | 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | ||
3148 | 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, | ||
3149 | 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, | ||
3150 | 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, | ||
3151 | 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, | ||
3152 | 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, | ||
3153 | 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, | ||
3154 | 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, | ||
3155 | 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, | ||
3156 | 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, | ||
3157 | 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, | ||
3158 | 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, | ||
3159 | 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, | ||
3160 | 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, | ||
3161 | 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, | ||
3162 | 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, | ||
3163 | 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, | ||
3164 | 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, | ||
3165 | 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, | ||
3166 | 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, | ||
3167 | 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, | ||
3168 | 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, | ||
3169 | 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, | ||
3170 | 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, | ||
3171 | 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, | ||
3172 | 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, | ||
3173 | 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, | ||
3174 | 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, | ||
3175 | 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, | ||
3176 | 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, | ||
3177 | 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, | ||
3178 | 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff }, | ||
3179 | .rlen = 512, | ||
3180 | } | ||
3181 | }; | ||
3182 | |||
2787 | /* Cast5 test vectors from RFC 2144 */ | 3183 | /* Cast5 test vectors from RFC 2144 */ |
2788 | #define CAST5_ENC_TEST_VECTORS 3 | 3184 | #define CAST5_ENC_TEST_VECTORS 3 |
2789 | #define CAST5_DEC_TEST_VECTORS 3 | 3185 | #define CAST5_DEC_TEST_VECTORS 3 |
@@ -4283,6 +4679,27 @@ static struct cipher_speed aes_lrw_speed_template[] = { | |||
4283 | { .klen = 0, .blen = 0, } | 4679 | { .klen = 0, .blen = 0, } |
4284 | }; | 4680 | }; |
4285 | 4681 | ||
4682 | static struct cipher_speed aes_xts_speed_template[] = { | ||
4683 | { .klen = 32, .blen = 16, }, | ||
4684 | { .klen = 32, .blen = 64, }, | ||
4685 | { .klen = 32, .blen = 256, }, | ||
4686 | { .klen = 32, .blen = 1024, }, | ||
4687 | { .klen = 32, .blen = 8192, }, | ||
4688 | { .klen = 48, .blen = 16, }, | ||
4689 | { .klen = 48, .blen = 64, }, | ||
4690 | { .klen = 48, .blen = 256, }, | ||
4691 | { .klen = 48, .blen = 1024, }, | ||
4692 | { .klen = 48, .blen = 8192, }, | ||
4693 | { .klen = 64, .blen = 16, }, | ||
4694 | { .klen = 64, .blen = 64, }, | ||
4695 | { .klen = 64, .blen = 256, }, | ||
4696 | { .klen = 64, .blen = 1024, }, | ||
4697 | { .klen = 64, .blen = 8192, }, | ||
4698 | |||
4699 | /* End marker */ | ||
4700 | { .klen = 0, .blen = 0, } | ||
4701 | }; | ||
4702 | |||
4286 | static struct cipher_speed des3_ede_speed_template[] = { | 4703 | static struct cipher_speed des3_ede_speed_template[] = { |
4287 | { .klen = 24, .blen = 16, }, | 4704 | { .klen = 24, .blen = 16, }, |
4288 | { .klen = 24, .blen = 64, }, | 4705 | { .klen = 24, .blen = 64, }, |