Mercurial > dropbear
comparison libtomcrypt/src/ciphers/rc6.c @ 1435:f849a5ca2efc
update to libtomcrypt 1.17 (with Dropbear changes)
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Sat, 24 Jun 2017 17:50:50 +0800 |
parents | 0cbe8f6dbf9e |
children | 6dba84798cd5 |
comparison
equal
deleted
inserted
replaced
1434:27b9ddb06b09 | 1435:f849a5ca2efc |
---|---|
4 * algorithms in a highly modular and flexible manner. | 4 * algorithms in a highly modular and flexible manner. |
5 * | 5 * |
6 * The library is free for all purposes without any express | 6 * The library is free for all purposes without any express |
7 * guarantee it works. | 7 * guarantee it works. |
8 * | 8 * |
9 * Tom St Denis, [email protected], http://libtomcrypt.com | 9 * Tom St Denis, [email protected], http://libtom.org |
10 */ | 10 */ |
11 | 11 |
12 /** | 12 /** |
13 @file rc6.c | 13 @file rc6.c |
14 RC6 code by Tom St Denis | 14 LTC_RC6 code by Tom St Denis |
15 */ | 15 */ |
16 #include "tomcrypt.h" | 16 #include "tomcrypt.h" |
17 | 17 |
18 #ifdef RC6 | 18 #ifdef LTC_RC6 |
19 | 19 |
20 const struct ltc_cipher_descriptor rc6_desc = | 20 const struct ltc_cipher_descriptor rc6_desc = |
21 { | 21 { |
22 "rc6", | 22 "rc6", |
23 3, | 23 3, |
38 0x8d14babbUL, 0x2b4c3474UL, 0xc983ae2dUL, 0x67bb27e6UL, 0x05f2a19fUL, 0xa42a1b58UL, 0x42619511UL, 0xe0990ecaUL, | 38 0x8d14babbUL, 0x2b4c3474UL, 0xc983ae2dUL, 0x67bb27e6UL, 0x05f2a19fUL, 0xa42a1b58UL, 0x42619511UL, 0xe0990ecaUL, |
39 0x7ed08883UL, 0x1d08023cUL, 0xbb3f7bf5UL, 0x5976f5aeUL, 0xf7ae6f67UL, 0x95e5e920UL, 0x341d62d9UL, 0xd254dc92UL, | 39 0x7ed08883UL, 0x1d08023cUL, 0xbb3f7bf5UL, 0x5976f5aeUL, 0xf7ae6f67UL, 0x95e5e920UL, 0x341d62d9UL, 0xd254dc92UL, |
40 0x708c564bUL, 0x0ec3d004UL, 0xacfb49bdUL, 0x4b32c376UL }; | 40 0x708c564bUL, 0x0ec3d004UL, 0xacfb49bdUL, 0x4b32c376UL }; |
41 | 41 |
42 /** | 42 /** |
43 Initialize the RC6 block cipher | 43 Initialize the LTC_RC6 block cipher |
44 @param key The symmetric key you wish to pass | 44 @param key The symmetric key you wish to pass |
45 @param keylen The key length in bytes | 45 @param keylen The key length in bytes |
46 @param num_rounds The number of rounds desired (0 for default) | 46 @param num_rounds The number of rounds desired (0 for default) |
47 @param skey The key in as scheduled by this function. | 47 @param skey The key in as scheduled by this function. |
48 @return CRYPT_OK if successful | 48 @return CRYPT_OK if successful |
112 return x; | 112 return x; |
113 } | 113 } |
114 #endif | 114 #endif |
115 | 115 |
116 /** | 116 /** |
117 Encrypts a block of text with RC6 | 117 Encrypts a block of text with LTC_RC6 |
118 @param pt The input plaintext (16 bytes) | 118 @param pt The input plaintext (16 bytes) |
119 @param ct The output ciphertext (16 bytes) | 119 @param ct The output ciphertext (16 bytes) |
120 @param skey The key as scheduled | 120 @param skey The key as scheduled |
121 */ | 121 */ |
122 #ifdef LTC_CLEAN_STACK | 122 #ifdef LTC_CLEAN_STACK |
166 return err; | 166 return err; |
167 } | 167 } |
168 #endif | 168 #endif |
169 | 169 |
170 /** | 170 /** |
171 Decrypts a block of text with RC6 | 171 Decrypts a block of text with LTC_RC6 |
172 @param ct The input ciphertext (16 bytes) | 172 @param ct The input ciphertext (16 bytes) |
173 @param pt The output plaintext (16 bytes) | 173 @param pt The output plaintext (16 bytes) |
174 @param skey The key as scheduled | 174 @param skey The key as scheduled |
175 */ | 175 */ |
176 #ifdef LTC_CLEAN_STACK | 176 #ifdef LTC_CLEAN_STACK |
222 return err; | 222 return err; |
223 } | 223 } |
224 #endif | 224 #endif |
225 | 225 |
226 /** | 226 /** |
227 Performs a self-test of the RC6 block cipher | 227 Performs a self-test of the LTC_RC6 block cipher |
228 @return CRYPT_OK if functional, CRYPT_NOP if self-test has been disabled | 228 @return CRYPT_OK if functional, CRYPT_NOP if self-test has been disabled |
229 */ | 229 */ |
230 int rc6_test(void) | 230 int rc6_test(void) |
231 { | 231 { |
232 #ifndef LTC_TEST | 232 #ifndef LTC_TEST |
337 *keysize = 128; | 337 *keysize = 128; |
338 } | 338 } |
339 return CRYPT_OK; | 339 return CRYPT_OK; |
340 } | 340 } |
341 | 341 |
342 #endif /*RC6*/ | 342 #endif /*LTC_RC6*/ |
343 | 343 |
344 | 344 |
345 | 345 |
346 /* $Source: /cvs/libtom/libtomcrypt/src/ciphers/rc6.c,v $ */ | 346 /* $Source$ */ |
347 /* $Revision: 1.12 $ */ | 347 /* $Revision$ */ |
348 /* $Date: 2006/11/08 23:01:06 $ */ | 348 /* $Date$ */ |