summaryrefslogtreecommitdiffstats
path: root/security/nss/cmd/bltest/tests/aes_ctr/aes_ctr_tests_source.txt
blob: bef853b6ed719185d2f224cdc51ba340b3655cf2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
#
# From NIST Special Publication 800-38A; 2001 Edition ;
# "Recommendation for Block Cipher Modes of Operation: Methods and Techniques"
# Morris Dworkin
# Appendix F Example Vectors for Modes of Operation of the AES
#
# In this appendix, three examples are provided for each of the modes in this recommendation with
# the AES algorithm [2] as the underlying block cipher: one example is given for each of the
# allowed key sizes (128, 192, and 256 bits). Some intermediate results are presented. For the five
# confidentiality modes, examples are provided for both encryption and decryption. Examples are
# provided for 1-bit, 8-bit, and 128 bit CFB. The plaintext for all but two of these examples is
# equivalent to the following string of hexadecimal characters, formatted into four 128 bit blocks:
#
#     6bc1bee22e409f96e93d7e117393172a 
#     ae2d8a571e03ac9c9eb76fac45af8e51 
#     30c81c46a35ce411e5fbc1191a0a52ef 
#     f69f2445df4f9b17ad2b417be66c3710. 
#
# For the example of 1-bit CFB, the plaintext is the first 16 bits in the above string; for the example
# of 8-bit CFB, the plaintext is the first 18 octets in the above string. All strings are presented in
# hexadecimal notation, except in the example of 1-bit CFB, where the plaintext and ciphertext
# segments are single bits.
#
#
#  F.5 CTR Example Vectors

Test="F.5.1 CTR-AES128.Encrypt"
Type=Encrypt
Key=2b7e151628aed2a6abf7158809cf4f3c
Init. Counter=f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
Block #1={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
Output Block=ec8cdf7398607cb0f2d21675ea9ea1e4
Plaintext=6bc1bee22e409f96e93d7e117393172a
Ciphertext=874d6191b620e3261bef6864990db6ce
}
Block #2={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff00
Output Block=362b7c3c6773516318a077d7fc5073ae
Plaintext=ae2d8a571e03ac9c9eb76fac45af8e51
Ciphertext=9806f66b7970fdff8617187bb9fffdff
}
Block #3={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff01
Output Block=6a2cc3787889374fbeb4c81b17ba6c44
Plaintext=30c81c46a35ce411e5fbc1191a0a52ef
Ciphertext=5ae4df3edbd5d35e5b4f09020db03eab
}
Block #4={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff02
Output Block=e89c399ff0f198c6d40a31db156cabfe
Plaintext=f69f2445df4f9b17ad2b417be66c3710
Ciphertext=1e031dda2fbe03d1792170a0f3009cee
}

Test="F.5.2 CTR-AES128.Decrypt"
Type=Decrypt
Key=2b7e151628aed2a6abf7158809cf4f3c
Init. Counter=f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
Block #1={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
Output Block=ec8cdf7398607cb0f2d21675ea9ea1e4
Ciphertext=874d6191b620e3261bef6864990db6ce
Plaintext=6bc1bee22e409f96e93d7e117393172a
Block #2={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff00
Output Block=362b7c3c6773516318a077d7fc5073ae
Ciphertext=9806f66b7970fdff8617187bb9fffdff
Plaintext=ae2d8a571e03ac9c9eb76fac45af8e51
}
Block #3={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff01
Output Block=6a2cc3787889374fbeb4c81b17ba6c44
Ciphertext=5ae4df3edbd5d35e5b4f09020db03eab
Plaintext=30c81c46a35ce411e5fbc1191a0a52ef
}
Block #4={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff02
Output Block=e89c399ff0f198c6d40a31db156cabfe
Ciphertext=1e031dda2fbe03d1792170a0f3009cee
Plaintext=f69f2445df4f9b17ad2b417be66c3710
}

Test="F.5.3 CTR-AES192.Encrypt"
Type=Encrypt
Key=8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
Init. Counter=f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff 
Block #1={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff 
Output Block=717d2dc639128334a6167a488ded7921 
Plaintext=6bc1bee22e409f96e93d7e117393172a 
Ciphertext=1abc932417521ca24f2b0459fe7e6e0b
}
Block #2={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff00 
Output Block=a72eb3bb14a556734b7bad6ab16100c5 
Plaintext=ae2d8a571e03ac9c9eb76fac45af8e51 
Ciphertext=090339ec0aa6faefd5ccc2c6f4ce8e94
}
Block #3={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff01 
Output Block=2efeae2d72b722613446dc7f4c2af918 
Plaintext=30c81c46a35ce411e5fbc1191a0a52ef 
Ciphertext=1e36b26bd1ebc670d1bd1d665620abf7
}
Block #4={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff02 
Output Block=b9e783b30dd7924ff7bc9b97beaa8740 
Plaintext=f69f2445df4f9b17ad2b417be66c3710 
Ciphertext=4f78a7f6d29809585a97daec58c6b050
}

Test="F.5.4 CTR-AES192.Decrypt"
Type="Decrypt"
Key=8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
Init. Counter=f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff 
Block #1={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff 
Output Block=717d2dc639128334a6167a488ded7921 
Ciphertext=1abc932417521ca24f2b0459fe7e6e0b
Plaintext=6bc1bee22e409f96e93d7e117393172a
} 
Block #2={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff00 
Output Block=a72eb3bb14a556734b7bad6ab16100c5 
Ciphertext=090339ec0aa6faefd5ccc2c6f4ce8e94
Plaintext=ae2d8a571e03ac9c9eb76fac45af8e51
} 
Block #3 
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff01 
Output Block=2efeae2d72b722613446dc7f4c2af918 
Ciphertext=1e36b26bd1ebc670d1bd1d665620abf7
Plaintext=30c81c46a35ce411e5fbc1191a0a52ef
}
Block #4 
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff02 
Output Block=b9e783b30dd7924ff7bc9b97beaa8740 
Ciphertext=4f78a7f6d29809585a97daec58c6b050
Plaintext=f69f2445df4f9b17ad2b417be66c3710 
}

Test="F.5.5 CTR-AES256.Encrypt"
Type=Encrypt
Key=603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
Init. Counter=f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
Block #1={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
Output Block=0bdf7df1591716335e9a8b15c860c502
Plaintext=6bc1bee22e409f96e93d7e117393172a
Ciphertext=601ec313775789a5b7a7f504bbf3d228
}
Block #2={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff00
Output Block=5a6e699d536119065433863c8f657b94
Plaintext=ae2d8a571e03ac9c9eb76fac45af8e51
Ciphertext=f443e3ca4d62b59aca84e990cacaf5c5
}
Block #3={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff01
Output Block=1bc12c9c01610d5d0d8bd6a3378eca62
Plaintext=30c81c46a35ce411e5fbc1191a0a52ef
Ciphertext=2b0930daa23de94ce87017ba2d84988d
}
Block #4={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff02
Output Block=2956e1c8693536b1bee99c73a31576b6
Plaintext=f69f2445df4f9b17ad2b417be66c3710
Ciphertext=dfc9c58db67aada613c2dd08457941a6
}

Test="F.5.6 CTR-AES256.Decrypt"
Type=Decrypt
Key=603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
Init. Counter=f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff 
Block #1={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff 
OutputBlock=0bdf7df1591716335e9a8b15c860c502 
Ciphertext=601ec313775789a5b7a7f504bbf3d228
Plaintext=6bc1bee22e409f96e93d7e117393172a 
}
Block #2={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff00 
OutputBlock=5a6e699d536119065433863c8f657b94 
Ciphertext=f443e3ca4d62b59aca84e990cacaf5c5 
Plaintext=ae2d8a571e03ac9c9eb76fac45af8e51 
}
Block #3={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff01 
OutputBlock=1bc12c9c01610d5d0d8bd6a3378eca62 
Ciphertext=2b0930daa23de94ce87017ba2d84988d 
Plaintext=30c81c46a35ce411e5fbc1191a0a52ef 
}
Block #4={
Input Block=f0f1f2f3f4f5f6f7f8f9fafbfcfdff02 
OutputBlock=2956e1c8693536b1bee99c73a31576b6 
Ciphertext=dfc9c58db67aada613c2dd08457941a6 
Plaintext=f69f2445df4f9b17ad2b417be66c3710
}