webkit
2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Source
ThirdParty
libwebrtc
Source
third_party
boringssl
src
decrepit
ripemd
internal.h
Go to the documentation of this file.
1
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
2
* All rights reserved.
3
*
4
* This package is an SSL implementation written
5
* by Eric Young (eay@cryptsoft.com).
6
* The implementation was written so as to conform with Netscapes SSL.
7
*
8
* This library is free for commercial and non-commercial use as long as
9
* the following conditions are aheared to. The following conditions
10
* apply to all code found in this distribution, be it the RC4, RSA,
11
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
12
* included with this distribution is covered by the same copyright terms
13
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
14
*
15
* Copyright remains Eric Young's, and as such any Copyright notices in
16
* the code are not to be removed.
17
* If this package is used in a product, Eric Young should be given attribution
18
* as the author of the parts of the library used.
19
* This can be in the form of a textual message at program startup or
20
* in documentation (online or textual) provided with the package.
21
*
22
* Redistribution and use in source and binary forms, with or without
23
* modification, are permitted provided that the following conditions
24
* are met:
25
* 1. Redistributions of source code must retain the copyright
26
* notice, this list of conditions and the following disclaimer.
27
* 2. Redistributions in binary form must reproduce the above copyright
28
* notice, this list of conditions and the following disclaimer in the
29
* documentation and/or other materials provided with the distribution.
30
* 3. All advertising materials mentioning features or use of this software
31
* must display the following acknowledgement:
32
* "This product includes cryptographic software written by
33
* Eric Young (eay@cryptsoft.com)"
34
* The word 'cryptographic' can be left out if the rouines from the library
35
* being used are not cryptographic related :-).
36
* 4. If you include any Windows specific code (or a derivative thereof) from
37
* the apps directory (application code) you must include an acknowledgement:
38
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
39
*
40
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
41
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
42
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
43
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
44
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
45
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
46
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
47
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
48
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
49
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
50
* SUCH DAMAGE.
51
*
52
* The licence and distribution terms for any publically available version or
53
* derivative of this code cannot be changed. i.e. this code cannot simply be
54
* copied and put under another distribution licence
55
* [including the GNU Public Licence.] */
56
57
#ifndef OPENSSL_HEADER_BN_INTERNAL_H
58
#define OPENSSL_HEADER_BN_INTERNAL_H
59
60
#include <
openssl/base.h
>
61
62
#if defined(__cplusplus)
63
extern
"C"
{
64
#endif
65
66
67
static
void
ripemd160_block_data_order(
uint32_t
h
[5],
const
uint8_t
*
data
,
68
size_t
num);
69
70
#define DATA_ORDER_IS_LITTLE_ENDIAN
71
72
#define HASH_LONG uint32_t
73
#define HASH_CTX RIPEMD160_CTX
74
#define HASH_CBLOCK RIPEMD160_CBLOCK
75
#define HASH_UPDATE RIPEMD160_Update
76
#define HASH_TRANSFORM RIPEMD160_Transform
77
#define HASH_FINAL RIPEMD160_Final
78
#define HASH_MAKE_STRING(c, s) \
79
do { \
80
unsigned long ll; \
81
ll = (c)->h[0]; \
82
HOST_l2c(ll, (s)); \
83
ll = (c)->h[1]; \
84
HOST_l2c(ll, (s)); \
85
ll = (c)->h[2]; \
86
HOST_l2c(ll, (s)); \
87
ll = (c)->h[3]; \
88
HOST_l2c(ll, (s)); \
89
ll = (c)->h[4]; \
90
HOST_l2c(ll, (s)); \
91
} while (0)
92
#define HASH_BLOCK_DATA_ORDER ripemd160_block_data_order
93
94
#include "../../crypto/digest/md32_common.h"
95
96
/* Transformed F2 and F4 are courtesy of Wei Dai <weidai@eskimo.com> */
97
#define F1(x, y, z) ((x) ^ (y) ^ (z))
98
#define F2(x, y, z) ((((y) ^ (z)) & (x)) ^ (z))
99
#define F3(x, y, z) (((~(y)) | (x)) ^ (z))
100
#define F4(x, y, z) ((((x) ^ (y)) & (z)) ^ (y))
101
#define F5(x, y, z) (((~(z)) | (y)) ^ (x))
102
103
#define RIPEMD160_A 0x67452301L
104
#define RIPEMD160_B 0xEFCDAB89L
105
#define RIPEMD160_C 0x98BADCFEL
106
#define RIPEMD160_D 0x10325476L
107
#define RIPEMD160_E 0xC3D2E1F0L
108
109
#define ROTATE(a, n) (((a) << (n)) | (((a)&0xffffffff) >> (32 - (n))))
110
111
#define RIP1(a, b, c, d, e, w, s) \
112
{ \
113
a += F1(b, c, d) + X(w); \
114
a = ROTATE(a, s) + e; \
115
c = ROTATE(c, 10); \
116
}
117
118
#define RIP2(a, b, c, d, e, w, s, K) \
119
{ \
120
a += F2(b, c, d) + X(w) + K; \
121
a = ROTATE(a, s) + e; \
122
c = ROTATE(c, 10); \
123
}
124
125
#define RIP3(a, b, c, d, e, w, s, K) \
126
{ \
127
a += F3(b, c, d) + X(w) + K; \
128
a = ROTATE(a, s) + e; \
129
c = ROTATE(c, 10); \
130
}
131
132
#define RIP4(a, b, c, d, e, w, s, K) \
133
{ \
134
a += F4(b, c, d) + X(w) + K; \
135
a = ROTATE(a, s) + e; \
136
c = ROTATE(c, 10); \
137
}
138
139
#define RIP5(a, b, c, d, e, w, s, K) \
140
{ \
141
a += F5(b, c, d) + X(w) + K; \
142
a = ROTATE(a, s) + e; \
143
c = ROTATE(c, 10); \
144
}
145
146
#define KL0 0x00000000L
147
#define KL1 0x5A827999L
148
#define KL2 0x6ED9EBA1L
149
#define KL3 0x8F1BBCDCL
150
#define KL4 0xA953FD4EL
151
152
#define KR0 0x50A28BE6L
153
#define KR1 0x5C4DD124L
154
#define KR2 0x6D703EF3L
155
#define KR3 0x7A6D76E9L
156
#define KR4 0x00000000L
157
158
#define WL00 0
159
#define SL00 11
160
#define WL01 1
161
#define SL01 14
162
#define WL02 2
163
#define SL02 15
164
#define WL03 3
165
#define SL03 12
166
#define WL04 4
167
#define SL04 5
168
#define WL05 5
169
#define SL05 8
170
#define WL06 6
171
#define SL06 7
172
#define WL07 7
173
#define SL07 9
174
#define WL08 8
175
#define SL08 11
176
#define WL09 9
177
#define SL09 13
178
#define WL10 10
179
#define SL10 14
180
#define WL11 11
181
#define SL11 15
182
#define WL12 12
183
#define SL12 6
184
#define WL13 13
185
#define SL13 7
186
#define WL14 14
187
#define SL14 9
188
#define WL15 15
189
#define SL15 8
190
191
#define WL16 7
192
#define SL16 7
193
#define WL17 4
194
#define SL17 6
195
#define WL18 13
196
#define SL18 8
197
#define WL19 1
198
#define SL19 13
199
#define WL20 10
200
#define SL20 11
201
#define WL21 6
202
#define SL21 9
203
#define WL22 15
204
#define SL22 7
205
#define WL23 3
206
#define SL23 15
207
#define WL24 12
208
#define SL24 7
209
#define WL25 0
210
#define SL25 12
211
#define WL26 9
212
#define SL26 15
213
#define WL27 5
214
#define SL27 9
215
#define WL28 2
216
#define SL28 11
217
#define WL29 14
218
#define SL29 7
219
#define WL30 11
220
#define SL30 13
221
#define WL31 8
222
#define SL31 12
223
224
#define WL32 3
225
#define SL32 11
226
#define WL33 10
227
#define SL33 13
228
#define WL34 14
229
#define SL34 6
230
#define WL35 4
231
#define SL35 7
232
#define WL36 9
233
#define SL36 14
234
#define WL37 15
235
#define SL37 9
236
#define WL38 8
237
#define SL38 13
238
#define WL39 1
239
#define SL39 15
240
#define WL40 2
241
#define SL40 14
242
#define WL41 7
243
#define SL41 8
244
#define WL42 0
245
#define SL42 13
246
#define WL43 6
247
#define SL43 6
248
#define WL44 13
249
#define SL44 5
250
#define WL45 11
251
#define SL45 12
252
#define WL46 5
253
#define SL46 7
254
#define WL47 12
255
#define SL47 5
256
257
#define WL48 1
258
#define SL48 11
259
#define WL49 9
260
#define SL49 12
261
#define WL50 11
262
#define SL50 14
263
#define WL51 10
264
#define SL51 15
265
#define WL52 0
266
#define SL52 14
267
#define WL53 8
268
#define SL53 15
269
#define WL54 12
270
#define SL54 9
271
#define WL55 4
272
#define SL55 8
273
#define WL56 13
274
#define SL56 9
275
#define WL57 3
276
#define SL57 14
277
#define WL58 7
278
#define SL58 5
279
#define WL59 15
280
#define SL59 6
281
#define WL60 14
282
#define SL60 8
283
#define WL61 5
284
#define SL61 6
285
#define WL62 6
286
#define SL62 5
287
#define WL63 2
288
#define SL63 12
289
290
#define WL64 4
291
#define SL64 9
292
#define WL65 0
293
#define SL65 15
294
#define WL66 5
295
#define SL66 5
296
#define WL67 9
297
#define SL67 11
298
#define WL68 7
299
#define SL68 6
300
#define WL69 12
301
#define SL69 8
302
#define WL70 2
303
#define SL70 13
304
#define WL71 10
305
#define SL71 12
306
#define WL72 14
307
#define SL72 5
308
#define WL73 1
309
#define SL73 12
310
#define WL74 3
311
#define SL74 13
312
#define WL75 8
313
#define SL75 14
314
#define WL76 11
315
#define SL76 11
316
#define WL77 6
317
#define SL77 8
318
#define WL78 15
319
#define SL78 5
320
#define WL79 13
321
#define SL79 6
322
323
#define WR00 5
324
#define SR00 8
325
#define WR01 14
326
#define SR01 9
327
#define WR02 7
328
#define SR02 9
329
#define WR03 0
330
#define SR03 11
331
#define WR04 9
332
#define SR04 13
333
#define WR05 2
334
#define SR05 15
335
#define WR06 11
336
#define SR06 15
337
#define WR07 4
338
#define SR07 5
339
#define WR08 13
340
#define SR08 7
341
#define WR09 6
342
#define SR09 7
343
#define WR10 15
344
#define SR10 8
345
#define WR11 8
346
#define SR11 11
347
#define WR12 1
348
#define SR12 14
349
#define WR13 10
350
#define SR13 14
351
#define WR14 3
352
#define SR14 12
353
#define WR15 12
354
#define SR15 6
355
356
#define WR16 6
357
#define SR16 9
358
#define WR17 11
359
#define SR17 13
360
#define WR18 3
361
#define SR18 15
362
#define WR19 7
363
#define SR19 7
364
#define WR20 0
365
#define SR20 12
366
#define WR21 13
367
#define SR21 8
368
#define WR22 5
369
#define SR22 9
370
#define WR23 10
371
#define SR23 11
372
#define WR24 14
373
#define SR24 7
374
#define WR25 15
375
#define SR25 7
376
#define WR26 8
377
#define SR26 12
378
#define WR27 12
379
#define SR27 7
380
#define WR28 4
381
#define SR28 6
382
#define WR29 9
383
#define SR29 15
384
#define WR30 1
385
#define SR30 13
386
#define WR31 2
387
#define SR31 11
388
389
#define WR32 15
390
#define SR32 9
391
#define WR33 5
392
#define SR33 7
393
#define WR34 1
394
#define SR34 15
395
#define WR35 3
396
#define SR35 11
397
#define WR36 7
398
#define SR36 8
399
#define WR37 14
400
#define SR37 6
401
#define WR38 6
402
#define SR38 6
403
#define WR39 9
404
#define SR39 14
405
#define WR40 11
406
#define SR40 12
407
#define WR41 8
408
#define SR41 13
409
#define WR42 12
410
#define SR42 5
411
#define WR43 2
412
#define SR43 14
413
#define WR44 10
414
#define SR44 13
415
#define WR45 0
416
#define SR45 13
417
#define WR46 4
418
#define SR46 7
419
#define WR47 13
420
#define SR47 5
421
422
#define WR48 8
423
#define SR48 15
424
#define WR49 6
425
#define SR49 5
426
#define WR50 4
427
#define SR50 8
428
#define WR51 1
429
#define SR51 11
430
#define WR52 3
431
#define SR52 14
432
#define WR53 11
433
#define SR53 14
434
#define WR54 15
435
#define SR54 6
436
#define WR55 0
437
#define SR55 14
438
#define WR56 5
439
#define SR56 6
440
#define WR57 12
441
#define SR57 9
442
#define WR58 2
443
#define SR58 12
444
#define WR59 13
445
#define SR59 9
446
#define WR60 9
447
#define SR60 12
448
#define WR61 7
449
#define SR61 5
450
#define WR62 10
451
#define SR62 15
452
#define WR63 14
453
#define SR63 8
454
455
#define WR64 12
456
#define SR64 8
457
#define WR65 15
458
#define SR65 5
459
#define WR66 10
460
#define SR66 12
461
#define WR67 4
462
#define SR67 9
463
#define WR68 1
464
#define SR68 12
465
#define WR69 5
466
#define SR69 5
467
#define WR70 8
468
#define SR70 14
469
#define WR71 7
470
#define SR71 6
471
#define WR72 6
472
#define SR72 8
473
#define WR73 2
474
#define SR73 13
475
#define WR74 13
476
#define SR74 6
477
#define WR75 14
478
#define SR75 5
479
#define WR76 0
480
#define SR76 15
481
#define WR77 3
482
#define SR77 13
483
#define WR78 9
484
#define SR78 11
485
#define WR79 11
486
#define SR79 11
487
488
489
#if defined(__cplusplus)
490
}
/* extern C */
491
#endif
492
493
#endif
/* OPENSSL_HEADER_BN_INTERNAL_H */
uint32_t
unsigned int uint32_t
Definition:
ptypes.h:105
uint8_t
unsigned char uint8_t
Definition:
ptypes.h:89
data
EGLStreamKHR EGLint EGLint EGLint const void * data
Definition:
eglext.h:984
h
GLfloat GLfloat GLfloat GLfloat h
Definition:
gl2ext.h:3060
base.h
Generated by
1.8.13