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

Side by Side Diff: openssl/crypto/camellia/cmll_locl.h

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/camellia/cmll_ctr.c ('k') | openssl/crypto/camellia/cmll_misc.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/camellia/camellia_locl.h -*- mode:C; c-file-style: "eay" -*- */ 1 /* crypto/camellia/camellia_locl.h -*- mode:C; c-file-style: "eay" -*- */
2 /* ==================================================================== 2 /* ====================================================================
3 * Copyright 2006 NTT (Nippon Telegraph and Telephone Corporation) . 3 * Copyright 2006 NTT (Nippon Telegraph and Telephone Corporation) .
4 * ALL RIGHTS RESERVED. 4 * ALL RIGHTS RESERVED.
5 * 5 *
6 * Intellectual Property information for Camellia: 6 * Intellectual Property information for Camellia:
7 * http://info.isl.ntt.co.jp/crypt/eng/info/chiteki.html 7 * http://info.isl.ntt.co.jp/crypt/eng/info/chiteki.html
8 * 8 *
9 * News Release for Announcement of Camellia open source: 9 * News Release for Announcement of Camellia open source:
10 * http://www.ntt.co.jp/news/news06e/0604/060413a.html 10 * http://www.ntt.co.jp/news/news06e/0604/060413a.html
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 61 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
62 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 62 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
63 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 63 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
64 * OF THE POSSIBILITY OF SUCH DAMAGE. 64 * OF THE POSSIBILITY OF SUCH DAMAGE.
65 * ==================================================================== 65 * ====================================================================
66 */ 66 */
67 67
68 #ifndef HEADER_CAMELLIA_LOCL_H 68 #ifndef HEADER_CAMELLIA_LOCL_H
69 #define HEADER_CAMELLIA_LOCL_H 69 #define HEADER_CAMELLIA_LOCL_H
70 70
71 #include "openssl/e_os2.h" 71 typedef unsigned int u32;
72 #include <stdio.h> 72 typedef unsigned char u8;
73 #include <stdlib.h>
74 #include <string.h>
75 73
76 typedef unsigned char u8; 74 int Camellia_Ekeygen(int keyBitLength, const u8 *rawKey, KEY_TABLE_TYPE keyTable );
77 typedef unsigned int u32; 75 void Camellia_EncryptBlock_Rounds(int grandRounds, const u8 plaintext[],
78 76 » » const KEY_TABLE_TYPE keyTable, u8 ciphertext[]);
79 #ifdef __cplusplus 77 void Camellia_DecryptBlock_Rounds(int grandRounds, const u8 ciphertext[],
80 extern "C" { 78 » » const KEY_TABLE_TYPE keyTable, u8 plaintext[]);
81 #endif 79 void Camellia_EncryptBlock(int keyBitLength, const u8 plaintext[],
82 80 » » const KEY_TABLE_TYPE keyTable, u8 ciphertext[]);
83 #if defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X6 4)) 81 void Camellia_DecryptBlock(int keyBitLength, const u8 ciphertext[],
84 # define SWAP(x) ( _lrotl(x, 8) & 0x00ff00ff | _lrotr(x, 8) & 0xff00ff00 ) 82 » » const KEY_TABLE_TYPE keyTable, u8 plaintext[]);
85 # define GETU32(p) SWAP(*((u32 *)(p)))
86 # define PUTU32(ct, st) { *((u32 *)(ct)) = SWAP((st)); }
87 # define CAMELLIA_SWAP4(x) (x = ( _lrotl(x, 8) & 0x00ff00ff | _lrotr(x, 8) & 0xf f00ff00) )
88
89 #else /* not windows */
90 # define GETU32(pt) (((u32)(pt)[0] << 24) \
91 » ^ ((u32)(pt)[1] << 16) \
92 » ^ ((u32)(pt)[2] << 8) \
93 » ^ ((u32)(pt)[3]))
94
95 # define PUTU32(ct, st) { (ct)[0] = (u8)((st) >> 24); \
96 » (ct)[1] = (u8)((st) >> 16); \
97 » (ct)[2] = (u8)((st) >> 8); \
98 » (ct)[3] = (u8)(st); }
99
100 #if (defined (__GNUC__) && (defined(__x86_64__) || defined(__x86_64)))
101 #define CAMELLIA_SWAP4(x) \
102 do{\
103 asm("bswap %1" : "+r" (x));\
104 }while(0)
105 #else
106 #define CAMELLIA_SWAP4(x) \
107 do{\
108 x = ((u32)x << 16) + ((u32)x >> 16);\
109 x = (((u32)x & 0xff00ff) << 8) + (((u32)x >> 8) & 0xff00ff);\
110 } while(0)
111 #endif
112 #endif
113
114 #define COPY4WORD(dst, src)» \
115 » do»» » \
116 » » {» » \
117 » » (dst)[0]=(src)[0];»» \
118 » » (dst)[1]=(src)[1];»» \
119 » » (dst)[2]=(src)[2];»» \
120 » » (dst)[3]=(src)[3];»» \
121 » » }while(0)
122
123 #define SWAP4WORD(word)»» » » \
124 do» » » » » » \
125 » {» » » » » \
126 » CAMELLIA_SWAP4((word)[0]);» » » \
127 » CAMELLIA_SWAP4((word)[1]);» » » \
128 » CAMELLIA_SWAP4((word)[2]);» » » \
129 » CAMELLIA_SWAP4((word)[3]);» » » \
130 » }while(0)
131
132 #define XOR4WORD(a, b)/* a = a ^ b */» » \
133 do» » » » » » \
134 » {» » » » » \
135 » (a)[0]^=(b)[0];»» » » \
136 » (a)[1]^=(b)[1];»» » » \
137 » (a)[2]^=(b)[2];»» » » \
138 » (a)[3]^=(b)[3];»» » » \
139 » }while(0)
140
141 #define XOR4WORD2(a, b, c)/* a = b ^ c */» \
142 do» » » » » » \
143 » {» » » » » \
144 » (a)[0]=(b)[0]^(c)[0];» » » \
145 » (a)[1]=(b)[1]^(c)[1];» » » » \
146 » (a)[2]=(b)[2]^(c)[2];» » » » \
147 » (a)[3]=(b)[3]^(c)[3];» » » » \
148 » }while(0)
149
150
151 void camellia_setup128(const u8 *key, u32 *subkey);
152 void camellia_setup192(const u8 *key, u32 *subkey);
153 void camellia_setup256(const u8 *key, u32 *subkey);
154
155 void camellia_encrypt128(const u32 *subkey, u32 *io);
156 void camellia_decrypt128(const u32 *subkey, u32 *io);
157 void camellia_encrypt256(const u32 *subkey, u32 *io);
158 void camellia_decrypt256(const u32 *subkey, u32 *io);
159
160 #ifdef __cplusplus
161 }
162 #endif
163
164 #endif /* #ifndef HEADER_CAMELLIA_LOCL_H */ 83 #endif /* #ifndef HEADER_CAMELLIA_LOCL_H */
165
OLDNEW
« no previous file with comments | « openssl/crypto/camellia/cmll_ctr.c ('k') | openssl/crypto/camellia/cmll_misc.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698