Changeset 1014 for trunk/library/xtea.c
- Timestamp:
- 04/24/11 10:57:21 (13 months ago)
- File:
-
- 1 edited
-
trunk/library/xtea.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/library/xtea.c
r1011 r1014 30 30 #include "polarssl/xtea.h" 31 31 32 #include <string.h>33 34 32 /* 35 33 * 32-bit integer manipulation macros (big endian) … … 39 37 { \ 40 38 (n) = ( (unsigned long) (b)[(i) ] << 24 ) \ 41 | ( (unsigned long) (b)[(i) + 1] << 16 ) \42 | ( (unsigned long) (b)[(i) + 2] << 8 ) \43 | ( (unsigned long) (b)[(i) + 3] ); \39 | ( (unsigned long) (b)[(i) + 1] << 16 ) \ 40 | ( (unsigned long) (b)[(i) + 2] << 8 ) \ 41 | ( (unsigned long) (b)[(i) + 3] ); \ 44 42 } 45 43 #endif … … 66 64 for( i = 0; i < 4; i++ ) 67 65 { 68 GET_ULONG_BE( ctx->k[i], key, i << 2 );66 GET_ULONG_BE( ctx->k[i], key, i << 2 ); 69 67 } 70 68 } … … 85 83 if( mode == XTEA_ENCRYPT ) 86 84 { 87 uint32_t sum = 0, delta = 0x9E3779B9;88 89 for( i = 0; i < 32; i++ )90 {91 v0 += (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + k[sum & 3]);92 sum += delta;93 v1 += (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + k[(sum>>11) & 3]);94 }85 uint32_t sum = 0, delta = 0x9E3779B9; 86 87 for( i = 0; i < 32; i++ ) 88 { 89 v0 += (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + k[sum & 3]); 90 sum += delta; 91 v1 += (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + k[(sum>>11) & 3]); 92 } 95 93 } 96 94 else /* XTEA_DECRYPT */ 97 95 { 98 uint32_t delta = 0x9E3779B9, sum = delta * 32;99 100 for( i = 0; i < 32; i++ )101 {102 v1 -= (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + k[(sum>>11) & 3]);103 sum -= delta;104 v0 -= (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + k[sum & 3]);105 }96 uint32_t delta = 0x9E3779B9, sum = delta * 32; 97 98 for( i = 0; i < 32; i++ ) 99 { 100 v1 -= (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + k[(sum>>11) & 3]); 101 sum -= delta; 102 v0 -= (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + k[sum & 3]); 103 } 106 104 } 107 105 … … 117 115 int xtea_crypt_cbc( xtea_context *ctx, 118 116 int mode, 119 int length,117 size_t length, 120 118 unsigned char iv[8], 121 119 unsigned char *input,
Note: See TracChangeset
for help on using the changeset viewer.


