OLD | NEW |
1 /* crypto/rc4/rc4test.c */ | 1 /* crypto/rc4/rc4test.c */ |
2 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 * All rights reserved. | 3 * All rights reserved. |
4 * | 4 * |
5 * This package is an SSL implementation written | 5 * This package is an SSL implementation written |
6 * by Eric Young (eay@cryptsoft.com). | 6 * by Eric Young (eay@cryptsoft.com). |
7 * The implementation was written so as to conform with Netscapes SSL. | 7 * The implementation was written so as to conform with Netscapes SSL. |
8 * | 8 * |
9 * This library is free for commercial and non-commercial use as long as | 9 * This library is free for commercial and non-commercial use as long as |
10 * the following conditions are aheared to. The following conditions | 10 * the following conditions are aheared to. The following conditions |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 {0x66,0xa0,0x94,0x9f,0x8a,0xf7,0xd6,0x89, | 107 {0x66,0xa0,0x94,0x9f,0x8a,0xf7,0xd6,0x89, |
108 0x1f,0x7f,0x83,0x2b,0xa8,0x33,0xc0,0x0c, | 108 0x1f,0x7f,0x83,0x2b,0xa8,0x33,0xc0,0x0c, |
109 0x89,0x2e,0xbe,0x30,0x14,0x3c,0xe2,0x87, | 109 0x89,0x2e,0xbe,0x30,0x14,0x3c,0xe2,0x87, |
110 0x40,0x01,0x1e,0xcf,0x00}, | 110 0x40,0x01,0x1e,0xcf,0x00}, |
111 {0xd6,0xa1,0x41,0xa7,0xec,0x3c,0x38,0xdf,0xbd,0x61,0x00}, | 111 {0xd6,0xa1,0x41,0xa7,0xec,0x3c,0x38,0xdf,0xbd,0x61,0x00}, |
112 {0}, | 112 {0}, |
113 }; | 113 }; |
114 | 114 |
115 int main(int argc, char *argv[]) | 115 int main(int argc, char *argv[]) |
116 { | 116 { |
117 » int err=0; | 117 » int i,err=0; |
118 » unsigned int i, j; | 118 » int j; |
119 unsigned char *p; | 119 unsigned char *p; |
120 RC4_KEY key; | 120 RC4_KEY key; |
121 unsigned char obuf[512]; | 121 unsigned char obuf[512]; |
122 | 122 |
123 for (i=0; i<6; i++) | 123 for (i=0; i<6; i++) |
124 { | 124 { |
125 RC4_set_key(&key,keys[i][0],&(keys[i][1])); | 125 RC4_set_key(&key,keys[i][0],&(keys[i][1])); |
126 memset(obuf,0x00,sizeof(obuf)); | 126 memset(obuf,0x00,sizeof(obuf)); |
127 RC4(&key,data_len[i],&(data[i][0]),obuf); | 127 RC4(&key,data_len[i],&(data[i][0]),obuf); |
128 if (memcmp(obuf,output[i],data_len[i]+1) != 0) | 128 if (memcmp(obuf,output[i],data_len[i]+1) != 0) |
129 { | 129 { |
130 printf("error calculating RC4\n"); | 130 printf("error calculating RC4\n"); |
131 printf("output:"); | 131 printf("output:"); |
132 » » » for (j=0; j<data_len[i]+1U; j++) | 132 » » » for (j=0; j<data_len[i]+1; j++) |
133 printf(" %02x",obuf[j]); | 133 printf(" %02x",obuf[j]); |
134 printf("\n"); | 134 printf("\n"); |
135 printf("expect:"); | 135 printf("expect:"); |
136 p= &(output[i][0]); | 136 p= &(output[i][0]); |
137 » » » for (j=0; j<data_len[i]+1U; j++) | 137 » » » for (j=0; j<data_len[i]+1; j++) |
138 printf(" %02x",*(p++)); | 138 printf(" %02x",*(p++)); |
139 printf("\n"); | 139 printf("\n"); |
140 err++; | 140 err++; |
141 } | 141 } |
142 else | 142 else |
143 printf("test %d ok\n",i); | 143 printf("test %d ok\n",i); |
144 } | 144 } |
145 printf("test end processing "); | 145 printf("test end processing "); |
146 for (i=0; i<data_len[3]; i++) | 146 for (i=0; i<data_len[3]; i++) |
147 { | 147 { |
(...skipping 25 matching lines...) Expand all Loading... |
173 for (i=0; i<data_len[3]; i++) | 173 for (i=0; i<data_len[3]; i++) |
174 { | 174 { |
175 RC4_set_key(&key,keys[3][0],&(keys[3][1])); | 175 RC4_set_key(&key,keys[3][0],&(keys[3][1])); |
176 memset(obuf,0x00,sizeof(obuf)); | 176 memset(obuf,0x00,sizeof(obuf)); |
177 RC4(&key,i,&(data[3][0]),obuf); | 177 RC4(&key,i,&(data[3][0]),obuf); |
178 RC4(&key,data_len[3]-i,&(data[3][i]),&(obuf[i])); | 178 RC4(&key,data_len[3]-i,&(data[3][i]),&(obuf[i])); |
179 if (memcmp(obuf,output[3],data_len[3]+1) != 0) | 179 if (memcmp(obuf,output[3],data_len[3]+1) != 0) |
180 { | 180 { |
181 printf("error in RC4 multi-call processing\n"); | 181 printf("error in RC4 multi-call processing\n"); |
182 printf("output:"); | 182 printf("output:"); |
183 » » » for (j=0; j<data_len[3]+1U; j++) | 183 » » » for (j=0; j<data_len[3]+1; j++) |
184 printf(" %02x",obuf[j]); | 184 printf(" %02x",obuf[j]); |
185 printf("\n"); | 185 printf("\n"); |
186 printf("expect:"); | 186 printf("expect:"); |
187 p= &(output[3][0]); | 187 p= &(output[3][0]); |
188 » » » for (j=0; j<data_len[3]+1U; j++) | 188 » » » for (j=0; j<data_len[3]+1; j++) |
189 printf(" %02x",*(p++)); | 189 printf(" %02x",*(p++)); |
190 err++; | 190 err++; |
191 } | 191 } |
192 else | 192 else |
193 { | 193 { |
194 printf("."); | 194 printf("."); |
195 fflush(stdout); | 195 fflush(stdout); |
196 } | 196 } |
197 } | 197 } |
198 printf("done\n"); | 198 printf("done\n"); |
(...skipping 10 matching lines...) Expand all Loading... |
209 SHA1_Init(&c); | 209 SHA1_Init(&c); |
210 for (i=0;i<2571;i++) { | 210 for (i=0;i<2571;i++) { |
211 RC4(&key,sizeof(buf),buf,buf); | 211 RC4(&key,sizeof(buf),buf,buf); |
212 SHA1_Update(&c,buf,sizeof(buf)); | 212 SHA1_Update(&c,buf,sizeof(buf)); |
213 } | 213 } |
214 SHA1_Final(md,&c); | 214 SHA1_Final(md,&c); |
215 | 215 |
216 if (memcmp(md,expected,sizeof(md))) { | 216 if (memcmp(md,expected,sizeof(md))) { |
217 printf("error in RC4 bulk test\n"); | 217 printf("error in RC4 bulk test\n"); |
218 printf("output:"); | 218 printf("output:"); |
219 » » » for (j=0; j<sizeof(md); j++) | 219 » » » for (j=0; j<(int)sizeof(md); j++) |
220 printf(" %02x",md[j]); | 220 printf(" %02x",md[j]); |
221 printf("\n"); | 221 printf("\n"); |
222 printf("expect:"); | 222 printf("expect:"); |
223 » » » for (j=0; j<sizeof(md); j++) | 223 » » » for (j=0; j<(int)sizeof(md); j++) |
224 printf(" %02x",expected[j]); | 224 printf(" %02x",expected[j]); |
225 printf("\n"); | 225 printf("\n"); |
226 err++; | 226 err++; |
227 } | 227 } |
228 else printf("ok\n"); | 228 else printf("ok\n"); |
229 } | 229 } |
230 #ifdef OPENSSL_SYS_NETWARE | 230 #ifdef OPENSSL_SYS_NETWARE |
231 if (err) printf("ERROR: %d\n", err); | 231 if (err) printf("ERROR: %d\n", err); |
232 #endif | 232 #endif |
233 EXIT(err); | 233 EXIT(err); |
234 return(0); | 234 return(0); |
235 } | 235 } |
236 #endif | 236 #endif |
OLD | NEW |