2N/A/* This file was automatically imported with 2N/A import_gcry.py. Please don't modify it */ 2N/A/* rfc2268.c - The cipher described in rfc2268; aka Ron's Cipher 2. 2N/A * Copyright (C) 2003 Nikos Mavroyanopoulos 2N/A * Copyright (C) 2004 Free Software Foundation, Inc. 2N/A * This file is part of Libgcrypt 2N/A * Libgcrypt is free software; you can redistribute it and/or modify 2N/A * it under the terms of the GNU Lesser general Public License as 2N/A * published by the Free Software Foundation; either version 2.1 of 2N/A * the License, or (at your option) any later version. 2N/A * Libgcrypt is distributed in the hope that it will be useful, 2N/A * but WITHOUT ANY WARRANTY; without even the implied warranty of 2N/A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 2N/A * GNU Lesser General Public License for more details. 2N/A * You should have received a copy of the GNU Lesser General Public 2N/A * License along with this program; if not, write to the Free Software 2N/A * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 2N/A/* This implementation was written by Nikos Mavroyanopoulos for GNUTLS 2N/A * direct use by Libgcrypt by Werner Koch. This implementation is 2N/A * only useful for pkcs#12 descryption. 2N/A * The implementation here is based on Peter Gutmann's RRC.2 paper. 2N/A 217,
120,
249,
196,
25,
221,
181,
237,
2N/A 40,
233,
253,
121,
74,
160,
216,
157,
2N/A 198,
126,
55,
131,
43,
118,
83,
142,
2N/A 98,
76,
100,
136,
68,
139,
251,
162,
2N/A 23,
154,
89,
245,
135,
179,
79,
19,
2N/A 97,
69,
109,
141,
9,
129,
125,
50,
2N/A 189,
143,
64,
235,
134,
183,
123,
11,
2N/A 240,
149,
33,
34,
92,
107,
78,
130,
2N/A 84,
214,
101,
147,
206,
96,
178,
28,
2N/A 115,
86,
192,
20,
167,
140,
241,
220,
2N/A 18,
117,
202,
31,
59,
190,
228,
209,
2N/A 66,
61,
212,
48,
163,
60,
182,
38,
2N/A 111,
191,
14,
218,
70,
105,
7,
87,
2N/A 39,
242,
29,
155,
188,
148,
67,
3,
2N/A 248,
17,
199,
246,
144,
239,
62,
231,
2N/A 6,
195,
213,
47,
200,
102,
30,
215,
2N/A 8,
232,
234,
222,
128,
82,
238,
247,
2N/A 132,
170,
114,
172,
53,
77,
106,
42,
2N/A 150,
26,
210,
113,
90,
21,
73,
116,
2N/A 75,
159,
208,
94,
4,
24,
164,
236,
2N/A 194,
224,
65,
110,
15,
81,
203,
204,
2N/A 36,
145,
175,
80,
161,
244,
112,
57,
2N/A 153,
124,
58,
133,
35,
184,
180,
122,
2N/A 252,
2,
54,
91,
37,
85,
151,
49,
2N/A 45,
93,
250,
152,
227,
138,
146,
174,
2N/A 5,
223,
41,
16,
103,
108,
186,
201,
2N/A 211, 0,
230,
207,
225,
158,
168,
44,
2N/A 99,
22,
1,
63,
88,
226,
137,
169,
2N/A 13,
56,
52,
27,
171,
51,
255,
176,
2N/A 187,
72,
12,
95,
185,
177,
205,
46,
2N/A 197,
243,
219,
71,
229,
165,
156,
119,
2N/A 10,
166,
32,
104,
254,
127,
193,
173 2N/A for (i = 0; i <
16; i++)
2N/A /* For some reason I cannot combine those steps. */ 2N/A if (i ==
4 || i ==
10)
2N/A for (i =
15; i >= 0; i--)
2N/A if (i ==
5 || i ==
11)
2N/A unsigned char *S, x;
2N/A if (
keylen <
40 /
8)
/* We want at least 40 bits. */ 2N/A /* Phase 2 - reduce effective key size to "bits". This was not 2N/A * discussed in Gutmann's paper. I've copied that from the public 2N/A /* Make the expanded key, endian independent. */ 2N/A for (i = 0; i <
64; i++)
2N/A ctx->S[i] = ( (
u16) S[i *
2] | (((
u16) S[i *
2 +
1]) <<
8));
2N/A /*{ "1.2.840.113549.3.2", GCRY_CIPHER_MODE_CBC },*/ 2N/A /* pbeWithSHAAnd40BitRC2_CBC */