Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1414)

Side by Side Diff: openssl/crypto/des/des_enc.c

Issue 9254031: Upgrade chrome's OpenSSL to same version Android ships with. (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/openssl/
Patch Set: '' Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « openssl/crypto/des/des-lib.com ('k') | openssl/crypto/des/des_lib.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* crypto/des/des_enc.c */ 1 /* crypto/des/des_enc.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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 50 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51 * SUCH DAMAGE. 51 * SUCH DAMAGE.
52 * 52 *
53 * The licence and distribution terms for any publically available version or 53 * The licence and distribution terms for any publically available version or
54 * derivative of this code cannot be changed. i.e. this code cannot simply be 54 * derivative of this code cannot be changed. i.e. this code cannot simply be
55 * copied and put under another distribution licence 55 * copied and put under another distribution licence
56 * [including the GNU Public Licence.] 56 * [including the GNU Public Licence.]
57 */ 57 */
58 58
59 #include "des_locl.h" 59 #include "des_locl.h"
60 #include "spr.h"
60 61
61 void DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, int enc) 62 void DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, int enc)
62 { 63 {
63 register DES_LONG l,r,t,u; 64 register DES_LONG l,r,t,u;
64 #ifdef DES_PTR 65 #ifdef DES_PTR
65 register const unsigned char *des_SP=(const unsigned char *)DES_SPtrans; 66 register const unsigned char *des_SP=(const unsigned char *)DES_SPtrans;
66 #endif 67 #endif
67 #ifndef DES_UNROLL 68 #ifndef DES_UNROLL
68 register int i; 69 register int i;
69 #endif 70 #endif
(...skipping 30 matching lines...) Expand all
100 D_ENCRYPT(r,l,14); /* 8 */ 101 D_ENCRYPT(r,l,14); /* 8 */
101 D_ENCRYPT(l,r,16); /* 9 */ 102 D_ENCRYPT(l,r,16); /* 9 */
102 D_ENCRYPT(r,l,18); /* 10 */ 103 D_ENCRYPT(r,l,18); /* 10 */
103 D_ENCRYPT(l,r,20); /* 11 */ 104 D_ENCRYPT(l,r,20); /* 11 */
104 D_ENCRYPT(r,l,22); /* 12 */ 105 D_ENCRYPT(r,l,22); /* 12 */
105 D_ENCRYPT(l,r,24); /* 13 */ 106 D_ENCRYPT(l,r,24); /* 13 */
106 D_ENCRYPT(r,l,26); /* 14 */ 107 D_ENCRYPT(r,l,26); /* 14 */
107 D_ENCRYPT(l,r,28); /* 15 */ 108 D_ENCRYPT(l,r,28); /* 15 */
108 D_ENCRYPT(r,l,30); /* 16 */ 109 D_ENCRYPT(r,l,30); /* 16 */
109 #else 110 #else
110 » » for (i=0; i<32; i+=8) 111 » » for (i=0; i<32; i+=4)
111 { 112 {
112 D_ENCRYPT(l,r,i+0); /* 1 */ 113 D_ENCRYPT(l,r,i+0); /* 1 */
113 D_ENCRYPT(r,l,i+2); /* 2 */ 114 D_ENCRYPT(r,l,i+2); /* 2 */
114 D_ENCRYPT(l,r,i+4); /* 3 */
115 D_ENCRYPT(r,l,i+6); /* 4 */
116 } 115 }
117 #endif 116 #endif
118 } 117 }
119 else 118 else
120 { 119 {
121 #ifdef DES_UNROLL 120 #ifdef DES_UNROLL
122 D_ENCRYPT(l,r,30); /* 16 */ 121 D_ENCRYPT(l,r,30); /* 16 */
123 D_ENCRYPT(r,l,28); /* 15 */ 122 D_ENCRYPT(r,l,28); /* 15 */
124 D_ENCRYPT(l,r,26); /* 14 */ 123 D_ENCRYPT(l,r,26); /* 14 */
125 D_ENCRYPT(r,l,24); /* 13 */ 124 D_ENCRYPT(r,l,24); /* 13 */
126 D_ENCRYPT(l,r,22); /* 12 */ 125 D_ENCRYPT(l,r,22); /* 12 */
127 D_ENCRYPT(r,l,20); /* 11 */ 126 D_ENCRYPT(r,l,20); /* 11 */
128 D_ENCRYPT(l,r,18); /* 10 */ 127 D_ENCRYPT(l,r,18); /* 10 */
129 D_ENCRYPT(r,l,16); /* 9 */ 128 D_ENCRYPT(r,l,16); /* 9 */
130 D_ENCRYPT(l,r,14); /* 8 */ 129 D_ENCRYPT(l,r,14); /* 8 */
131 D_ENCRYPT(r,l,12); /* 7 */ 130 D_ENCRYPT(r,l,12); /* 7 */
132 D_ENCRYPT(l,r,10); /* 6 */ 131 D_ENCRYPT(l,r,10); /* 6 */
133 D_ENCRYPT(r,l, 8); /* 5 */ 132 D_ENCRYPT(r,l, 8); /* 5 */
134 D_ENCRYPT(l,r, 6); /* 4 */ 133 D_ENCRYPT(l,r, 6); /* 4 */
135 D_ENCRYPT(r,l, 4); /* 3 */ 134 D_ENCRYPT(r,l, 4); /* 3 */
136 D_ENCRYPT(l,r, 2); /* 2 */ 135 D_ENCRYPT(l,r, 2); /* 2 */
137 D_ENCRYPT(r,l, 0); /* 1 */ 136 D_ENCRYPT(r,l, 0); /* 1 */
138 #else 137 #else
139 » » for (i=30; i>0; i-=8) 138 » » for (i=30; i>0; i-=4)
140 { 139 {
141 D_ENCRYPT(l,r,i-0); /* 16 */ 140 D_ENCRYPT(l,r,i-0); /* 16 */
142 D_ENCRYPT(r,l,i-2); /* 15 */ 141 D_ENCRYPT(r,l,i-2); /* 15 */
143 D_ENCRYPT(l,r,i-4); /* 14 */
144 D_ENCRYPT(r,l,i-6); /* 13 */
145 } 142 }
146 #endif 143 #endif
147 } 144 }
148 145
149 /* rotate and clear the top bits on machines with 8byte longs */ 146 /* rotate and clear the top bits on machines with 8byte longs */
150 l=ROTATE(l,3)&0xffffffffL; 147 l=ROTATE(l,3)&0xffffffffL;
151 r=ROTATE(r,3)&0xffffffffL; 148 r=ROTATE(r,3)&0xffffffffL;
152 149
153 FP(r,l); 150 FP(r,l);
154 data[0]=l; 151 data[0]=l;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 D_ENCRYPT(r,l,14); /* 8 */ 193 D_ENCRYPT(r,l,14); /* 8 */
197 D_ENCRYPT(l,r,16); /* 9 */ 194 D_ENCRYPT(l,r,16); /* 9 */
198 D_ENCRYPT(r,l,18); /* 10 */ 195 D_ENCRYPT(r,l,18); /* 10 */
199 D_ENCRYPT(l,r,20); /* 11 */ 196 D_ENCRYPT(l,r,20); /* 11 */
200 D_ENCRYPT(r,l,22); /* 12 */ 197 D_ENCRYPT(r,l,22); /* 12 */
201 D_ENCRYPT(l,r,24); /* 13 */ 198 D_ENCRYPT(l,r,24); /* 13 */
202 D_ENCRYPT(r,l,26); /* 14 */ 199 D_ENCRYPT(r,l,26); /* 14 */
203 D_ENCRYPT(l,r,28); /* 15 */ 200 D_ENCRYPT(l,r,28); /* 15 */
204 D_ENCRYPT(r,l,30); /* 16 */ 201 D_ENCRYPT(r,l,30); /* 16 */
205 #else 202 #else
206 » » for (i=0; i<32; i+=8) 203 » » for (i=0; i<32; i+=4)
207 { 204 {
208 D_ENCRYPT(l,r,i+0); /* 1 */ 205 D_ENCRYPT(l,r,i+0); /* 1 */
209 D_ENCRYPT(r,l,i+2); /* 2 */ 206 D_ENCRYPT(r,l,i+2); /* 2 */
210 D_ENCRYPT(l,r,i+4); /* 3 */
211 D_ENCRYPT(r,l,i+6); /* 4 */
212 } 207 }
213 #endif 208 #endif
214 } 209 }
215 else 210 else
216 { 211 {
217 #ifdef DES_UNROLL 212 #ifdef DES_UNROLL
218 D_ENCRYPT(l,r,30); /* 16 */ 213 D_ENCRYPT(l,r,30); /* 16 */
219 D_ENCRYPT(r,l,28); /* 15 */ 214 D_ENCRYPT(r,l,28); /* 15 */
220 D_ENCRYPT(l,r,26); /* 14 */ 215 D_ENCRYPT(l,r,26); /* 14 */
221 D_ENCRYPT(r,l,24); /* 13 */ 216 D_ENCRYPT(r,l,24); /* 13 */
222 D_ENCRYPT(l,r,22); /* 12 */ 217 D_ENCRYPT(l,r,22); /* 12 */
223 D_ENCRYPT(r,l,20); /* 11 */ 218 D_ENCRYPT(r,l,20); /* 11 */
224 D_ENCRYPT(l,r,18); /* 10 */ 219 D_ENCRYPT(l,r,18); /* 10 */
225 D_ENCRYPT(r,l,16); /* 9 */ 220 D_ENCRYPT(r,l,16); /* 9 */
226 D_ENCRYPT(l,r,14); /* 8 */ 221 D_ENCRYPT(l,r,14); /* 8 */
227 D_ENCRYPT(r,l,12); /* 7 */ 222 D_ENCRYPT(r,l,12); /* 7 */
228 D_ENCRYPT(l,r,10); /* 6 */ 223 D_ENCRYPT(l,r,10); /* 6 */
229 D_ENCRYPT(r,l, 8); /* 5 */ 224 D_ENCRYPT(r,l, 8); /* 5 */
230 D_ENCRYPT(l,r, 6); /* 4 */ 225 D_ENCRYPT(l,r, 6); /* 4 */
231 D_ENCRYPT(r,l, 4); /* 3 */ 226 D_ENCRYPT(r,l, 4); /* 3 */
232 D_ENCRYPT(l,r, 2); /* 2 */ 227 D_ENCRYPT(l,r, 2); /* 2 */
233 D_ENCRYPT(r,l, 0); /* 1 */ 228 D_ENCRYPT(r,l, 0); /* 1 */
234 #else 229 #else
235 » » for (i=30; i>0; i-=8) 230 » » for (i=30; i>0; i-=4)
236 { 231 {
237 D_ENCRYPT(l,r,i-0); /* 16 */ 232 D_ENCRYPT(l,r,i-0); /* 16 */
238 D_ENCRYPT(r,l,i-2); /* 15 */ 233 D_ENCRYPT(r,l,i-2); /* 15 */
239 D_ENCRYPT(l,r,i-4); /* 14 */
240 D_ENCRYPT(r,l,i-6); /* 13 */
241 } 234 }
242 #endif 235 #endif
243 } 236 }
244 /* rotate and clear the top bits on machines with 8byte longs */ 237 /* rotate and clear the top bits on machines with 8byte longs */
245 data[0]=ROTATE(l,3)&0xffffffffL; 238 data[0]=ROTATE(l,3)&0xffffffffL;
246 data[1]=ROTATE(r,3)&0xffffffffL; 239 data[1]=ROTATE(r,3)&0xffffffffL;
247 l=r=t=u=0; 240 l=r=t=u=0;
248 } 241 }
249 242
250 void DES_encrypt3(DES_LONG *data, DES_key_schedule *ks1, 243 void DES_encrypt3(DES_LONG *data, DES_key_schedule *ks1,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 DES_encrypt2((DES_LONG *)data,ks1,DES_DECRYPT); 275 DES_encrypt2((DES_LONG *)data,ks1,DES_DECRYPT);
283 l=data[0]; 276 l=data[0];
284 r=data[1]; 277 r=data[1];
285 FP(r,l); 278 FP(r,l);
286 data[0]=l; 279 data[0]=l;
287 data[1]=r; 280 data[1]=r;
288 } 281 }
289 282
290 #ifndef DES_DEFAULT_OPTIONS 283 #ifndef DES_DEFAULT_OPTIONS
291 284
292 #if !defined(OPENSSL_FIPS_DES_ASM)
293
294 #undef CBC_ENC_C__DONT_UPDATE_IV 285 #undef CBC_ENC_C__DONT_UPDATE_IV
295 #include "ncbc_enc.c" /* DES_ncbc_encrypt */ 286 #include "ncbc_enc.c" /* DES_ncbc_encrypt */
296 287
297 void DES_ede3_cbc_encrypt(const unsigned char *input, unsigned char *output, 288 void DES_ede3_cbc_encrypt(const unsigned char *input, unsigned char *output,
298 long length, DES_key_schedule *ks1, 289 long length, DES_key_schedule *ks1,
299 DES_key_schedule *ks2, DES_key_schedule *ks3, 290 DES_key_schedule *ks2, DES_key_schedule *ks3,
300 DES_cblock *ivec, int enc) 291 DES_cblock *ivec, int enc)
301 { 292 {
302 register DES_LONG tin0,tin1; 293 register DES_LONG tin0,tin1;
303 register DES_LONG tout0,tout1,xor0,xor1; 294 register DES_LONG tout0,tout1,xor0,xor1;
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 } 390 }
400 391
401 iv = &(*ivec)[0]; 392 iv = &(*ivec)[0];
402 l2c(xor0,iv); 393 l2c(xor0,iv);
403 l2c(xor1,iv); 394 l2c(xor1,iv);
404 } 395 }
405 tin0=tin1=tout0=tout1=xor0=xor1=0; 396 tin0=tin1=tout0=tout1=xor0=xor1=0;
406 tin[0]=tin[1]=0; 397 tin[0]=tin[1]=0;
407 } 398 }
408 399
409 #endif
410
411 #endif /* DES_DEFAULT_OPTIONS */ 400 #endif /* DES_DEFAULT_OPTIONS */
OLDNEW
« no previous file with comments | « openssl/crypto/des/des-lib.com ('k') | openssl/crypto/des/des_lib.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698