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

Side by Side Diff: nss/mozilla/security/nss/lib/freebl/mpi/mp_gf2m-priv.h

Issue 10919163: Add GCM, CTR, and CTS modes to AES. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/
Patch Set: Fix comments as rsleevi suggested, fix a 32-bit bug and miscellaneous issues Created 8 years, 3 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
OLDNEW
1 /* 1 /*
2 * ***** BEGIN LICENSE BLOCK ***** 2 * ***** BEGIN LICENSE BLOCK *****
3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
4 * 4 *
5 * The contents of this file are subject to the Mozilla Public License Version 5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with 6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at 7 * the License. You may obtain a copy of the License at
8 * http://www.mozilla.org/MPL/ 8 * http://www.mozilla.org/MPL/
9 * 9 *
10 * Software distributed under the License is distributed on an "AS IS" basis, 10 * Software distributed under the License is distributed on an "AS IS" basis,
(...skipping 28 matching lines...) Expand all
39 39
40 #ifndef _MP_GF2M_PRIV_H_ 40 #ifndef _MP_GF2M_PRIV_H_
41 #define _MP_GF2M_PRIV_H_ 41 #define _MP_GF2M_PRIV_H_
42 42
43 #include "mpi-priv.h" 43 #include "mpi-priv.h"
44 44
45 extern const mp_digit mp_gf2m_sqr_tb[16]; 45 extern const mp_digit mp_gf2m_sqr_tb[16];
46 46
47 #if defined(MP_USE_UINT_DIGIT) 47 #if defined(MP_USE_UINT_DIGIT)
48 #define MP_DIGIT_BITS 32 48 #define MP_DIGIT_BITS 32
49 /* enable fast divide and mod operations on MP_DIGIT_BITS */
50 #define MP_DIGIT_BITS_LOG_2 5
51 #define MP_DIGIT_BITS_MASK 0x1f
49 #else 52 #else
50 #define MP_DIGIT_BITS 64 53 #define MP_DIGIT_BITS 64
54 /* enable fast divide and mod operations on MP_DIGIT_BITS */
55 #define MP_DIGIT_BITS_LOG_2 6
56 #define MP_DIGIT_BITS_MASK 0x3f
51 #endif 57 #endif
52 58
53 /* Platform-specific macros for fast binary polynomial squaring. */ 59 /* Platform-specific macros for fast binary polynomial squaring. */
54 #if MP_DIGIT_BITS == 32 60 #if MP_DIGIT_BITS == 32
55 #define gf2m_SQR1(w) \ 61 #define gf2m_SQR1(w) \
56 mp_gf2m_sqr_tb[(w) >> 28 & 0xF] << 24 | mp_gf2m_sqr_tb[(w) >> 24 & 0xF] << 1 6 | \ 62 mp_gf2m_sqr_tb[(w) >> 28 & 0xF] << 24 | mp_gf2m_sqr_tb[(w) >> 24 & 0xF] << 1 6 | \
57 mp_gf2m_sqr_tb[(w) >> 20 & 0xF] << 8 | mp_gf2m_sqr_tb[(w) >> 16 & 0xF] 63 mp_gf2m_sqr_tb[(w) >> 20 & 0xF] << 8 | mp_gf2m_sqr_tb[(w) >> 16 & 0xF]
58 #define gf2m_SQR0(w) \ 64 #define gf2m_SQR0(w) \
59 mp_gf2m_sqr_tb[(w) >> 12 & 0xF] << 24 | mp_gf2m_sqr_tb[(w) >> 8 & 0xF] << 1 6 | \ 65 mp_gf2m_sqr_tb[(w) >> 12 & 0xF] << 24 | mp_gf2m_sqr_tb[(w) >> 8 & 0xF] << 1 6 | \
60 mp_gf2m_sqr_tb[(w) >> 4 & 0xF] << 8 | mp_gf2m_sqr_tb[(w) & 0xF] 66 mp_gf2m_sqr_tb[(w) >> 4 & 0xF] << 8 | mp_gf2m_sqr_tb[(w) & 0xF]
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 99
94 /* Compute xor-multiply of two binary polynomials (a3, a2, a1, a0) x (b3, b2, b 1, b0) 100 /* Compute xor-multiply of two binary polynomials (a3, a2, a1, a0) x (b3, b2, b 1, b0)
95 * result is a binary polynomial in 8 mp_digits r[8]. 101 * result is a binary polynomial in 8 mp_digits r[8].
96 * The caller MUST ensure that r has the right amount of space allocated. 102 * The caller MUST ensure that r has the right amount of space allocated.
97 */ 103 */
98 void s_bmul_4x4(mp_digit *r, const mp_digit a3, const mp_digit a2, const mp_digi t a1, 104 void s_bmul_4x4(mp_digit *r, const mp_digit a3, const mp_digit a2, const mp_digi t a1,
99 const mp_digit a0, const mp_digit b3, const mp_digit b2, const mp_digit b1, 105 const mp_digit a0, const mp_digit b3, const mp_digit b2, const mp_digit b1,
100 const mp_digit b0); 106 const mp_digit b0);
101 107
102 #endif /* _MP_GF2M_PRIV_H_ */ 108 #endif /* _MP_GF2M_PRIV_H_ */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698