projects
/
crypto.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Header documentation changes and other small fixes
[crypto.git]
/
lib
/
silccrypt
/
ciphers_def.h
diff --git
a/lib/silccrypt/ciphers_def.h
b/lib/silccrypt/ciphers_def.h
index c550827e4ea30ada95443633df11c4fb2e7ed5ed..d99da6df3539e7d147e892a379ec685445685250 100644
(file)
--- a/
lib/silccrypt/ciphers_def.h
+++ b/
lib/silccrypt/ciphers_def.h
@@
-80,7
+80,7
@@
do { \
#define SILC_CBC_DEC_LSB_128_32(len, iv, block_prev, block, \
block_dec, src, dst, i, dec) \
do { \
#define SILC_CBC_DEC_LSB_128_32(len, iv, block_prev, block, \
block_dec, src, dst, i, dec) \
do { \
- if (
len & (16 - 1))
\
+ if (
!len || len & (16 - 1))
\
return FALSE; \
\
SILC_GET32_LSB(block_prev[0], &iv[0]); \
return FALSE; \
\
SILC_GET32_LSB(block_prev[0], &iv[0]); \
@@
-162,7
+162,7
@@
do { \
#define SILC_CBC_DEC_MSB_128_32(len, iv, block_prev, block, \
block_dec, src, dst, i, dec) \
do { \
#define SILC_CBC_DEC_MSB_128_32(len, iv, block_prev, block, \
block_dec, src, dst, i, dec) \
do { \
- if (
len & (16 - 1))
\
+ if (
!len || len & (16 - 1))
\
return FALSE; \
\
SILC_GET32_MSB(block_prev[0], &iv[0]); \
return FALSE; \
\
SILC_GET32_MSB(block_prev[0], &iv[0]); \
@@
-236,7
+236,7
@@
do { \
#define SILC_CBC_DEC_MSB_64_32(len, iv, block_prev, block, \
block_dec, src, dst, i, dec) \
do { \
#define SILC_CBC_DEC_MSB_64_32(len, iv, block_prev, block, \
block_dec, src, dst, i, dec) \
do { \
- if (
len & (8 - 1))
\
+ if (
!len || len & (8 - 1))
\
return FALSE; \
\
SILC_GET32_MSB(block_prev[0], &iv[0]); \
return FALSE; \
\
SILC_GET32_MSB(block_prev[0], &iv[0]); \
@@
-438,6
+438,7
@@
do { \
#define SILC_CFB_DEC_LSB_128_32(iv, cfb, pad, src, dst, dec) \
do { \
#define SILC_CFB_DEC_LSB_128_32(iv, cfb, pad, src, dst, dec) \
do { \
+ unsigned char temp; \
while (len-- > 0) { \
if (pad == 16) { \
SILC_GET32_LSB(cfb[0], iv); \
while (len-- > 0) { \
if (pad == 16) { \
SILC_GET32_LSB(cfb[0], iv); \
@@
-453,9
+454,9
@@
do { \
SILC_PUT32_LSB(cfb[3], iv + 12); \
pad = 0; \
} \
SILC_PUT32_LSB(cfb[3], iv + 12); \
pad = 0; \
} \
-
iv[pad] = *src ^ iv[pad];
\
- *dst =
iv[pad];
\
- iv[pad++] =
*src
; \
+
temp = *src;
\
+ *dst =
temp ^ iv[pad];
\
+ iv[pad++] =
temp
; \
dst++; \
src++; \
} \
dst++; \
src++; \
} \
@@
-491,6
+492,7
@@
do { \
#define SILC_CFB_DEC_MSB_128_32(iv, cfb, pad, src, dst, dec) \
do { \
#define SILC_CFB_DEC_MSB_128_32(iv, cfb, pad, src, dst, dec) \
do { \
+ unsigned char temp; \
while (len-- > 0) { \
if (pad == 16) { \
SILC_GET32_MSB(cfb[0], iv); \
while (len-- > 0) { \
if (pad == 16) { \
SILC_GET32_MSB(cfb[0], iv); \
@@
-506,9
+508,9
@@
do { \
SILC_PUT32_MSB(cfb[3], iv + 12); \
pad = 0; \
} \
SILC_PUT32_MSB(cfb[3], iv + 12); \
pad = 0; \
} \
-
iv[pad] = *src ^ iv[pad];
\
- *dst =
iv[pad];
\
- iv[pad++] =
*src
; \
+
temp = *src;
\
+ *dst =
temp ^ iv[pad];
\
+ iv[pad++] =
temp
; \
dst++; \
src++; \
} \
dst++; \
src++; \
} \
@@
-540,6
+542,7
@@
do { \
#define SILC_CFB_DEC_MSB_64_32(iv, cfb, pad, src, dst, dec) \
do { \
#define SILC_CFB_DEC_MSB_64_32(iv, cfb, pad, src, dst, dec) \
do { \
+ unsigned char temp; \
while (len-- > 0) { \
if (pad == 8) { \
SILC_GET32_MSB(cfb[0], iv); \
while (len-- > 0) { \
if (pad == 8) { \
SILC_GET32_MSB(cfb[0], iv); \
@@
-551,9
+554,9
@@
do { \
SILC_PUT32_MSB(cfb[1], iv + 4); \
pad = 0; \
} \
SILC_PUT32_MSB(cfb[1], iv + 4); \
pad = 0; \
} \
-
iv[pad] = *src ^ iv[pad];
\
- *dst =
iv[pad];
\
- iv[pad++] =
*src
; \
+
temp = *src;
\
+ *dst =
temp ^ iv[pad];
\
+ iv[pad++] =
temp
; \
dst++; \
src++; \
} \
dst++; \
src++; \
} \
@@
-578,15
+581,16
@@
do { \
/* CFB 128-bit block, MSB, the 8-bit iv argument must be decrypted. */
#define SILC_CFB_DEC_MSB_128_8(iv, pad, src, dst, dec) \
/* CFB 128-bit block, MSB, the 8-bit iv argument must be decrypted. */
#define SILC_CFB_DEC_MSB_128_8(iv, pad, src, dst, dec) \
- do { \
+do { \
+ unsigned char temp; \
while (len-- > 0) { \
if (pad == 16) { \
dec; \
pad = 0; \
} \
while (len-- > 0) { \
if (pad == 16) { \
dec; \
pad = 0; \
} \
-
iv[pad] = *src ^ iv[pad];
\
- *dst =
iv[pad];
\
- iv[pad++] =
*src
; \
+
temp = *src;
\
+ *dst =
temp ^ iv[pad];
\
+ iv[pad++] =
temp
; \
dst++; \
src++; \
} \
dst++; \
src++; \
} \