comparison libtomcrypt/src/encauth/gcm/gcm_memory.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 gcm_memory.c 13 @file gcm_memory.c
14 GCM implementation, process a packet, by Tom St Denis 14 GCM implementation, process a packet, by Tom St Denis
15 */ 15 */
16 #include "tomcrypt.h" 16 #include "tomcrypt.h"
17 17
18 #ifdef GCM_MODE 18 #ifdef LTC_GCM_MODE
19 19
20 /** 20 /**
21 Process an entire GCM packet in one call. 21 Process an entire GCM packet in one call.
22 @param cipher Index of cipher to use 22 @param cipher Index of cipher to use
23 @param key The secret key 23 @param key The secret key
63 direction); 63 direction);
64 } 64 }
65 65
66 66
67 67
68 #ifndef GCM_TABLES_SSE2 68 #ifndef LTC_GCM_TABLES_SSE2
69 orig = gcm = XMALLOC(sizeof(*gcm)); 69 orig = gcm = XMALLOC(sizeof(*gcm));
70 #else 70 #else
71 orig = gcm = XMALLOC(sizeof(*gcm) + 16); 71 orig = gcm = XMALLOC(sizeof(*gcm) + 16);
72 #endif 72 #endif
73 if (gcm == NULL) { 73 if (gcm == NULL) {
76 76
77 /* Force GCM to be on a multiple of 16 so we can use 128-bit aligned operations 77 /* Force GCM to be on a multiple of 16 so we can use 128-bit aligned operations
78 * note that we only modify gcm and keep orig intact. This code is not portable 78 * note that we only modify gcm and keep orig intact. This code is not portable
79 * but again it's only for SSE2 anyways, so who cares? 79 * but again it's only for SSE2 anyways, so who cares?
80 */ 80 */
81 #ifdef GCM_TABLES_SSE2 81 #ifdef LTC_GCM_TABLES_SSE2
82 if ((unsigned long)gcm & 15) { 82 if ((unsigned long)gcm & 15) {
83 gcm = (gcm_state *)((unsigned long)gcm + (16 - ((unsigned long)gcm & 15))); 83 gcm = (gcm_state *)((unsigned long)gcm + (16 - ((unsigned long)gcm & 15)));
84 } 84 }
85 #endif 85 #endif
86 86
102 return err; 102 return err;
103 } 103 }
104 #endif 104 #endif
105 105
106 106
107 /* $Source: /cvs/libtom/libtomcrypt/src/encauth/gcm/gcm_memory.c,v $ */ 107 /* $Source$ */
108 /* $Revision: 1.23 $ */ 108 /* $Revision$ */
109 /* $Date: 2006/09/07 10:00:57 $ */ 109 /* $Date$ */