summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/seed/seed_ofb.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/seed/seed_ofb.c')
-rw-r--r--src/lib/libcrypto/seed/seed_ofb.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/src/lib/libcrypto/seed/seed_ofb.c b/src/lib/libcrypto/seed/seed_ofb.c
index e2f3f57a38..3c8ba33bb9 100644
--- a/src/lib/libcrypto/seed/seed_ofb.c
+++ b/src/lib/libcrypto/seed/seed_ofb.c
@@ -105,24 +105,12 @@
105 * [including the GNU Public Licence.] 105 * [including the GNU Public Licence.]
106 */ 106 */
107 107
108#include "seed_locl.h" 108#include <openssl/seed.h>
109#include <string.h> 109#include <openssl/modes.h>
110 110
111void SEED_ofb128_encrypt(const unsigned char *in, unsigned char *out, 111void SEED_ofb128_encrypt(const unsigned char *in, unsigned char *out,
112 size_t len, const SEED_KEY_SCHEDULE *ks, 112 size_t len, const SEED_KEY_SCHEDULE *ks,
113 unsigned char ivec[SEED_BLOCK_SIZE], int *num) 113 unsigned char ivec[SEED_BLOCK_SIZE], int *num)
114 { 114 {
115 int n; 115 CRYPTO_ofb128_encrypt(in,out,len,ks,ivec,num,(block128_f)SEED_encrypt);
116
117 n = *num;
118
119 while (len--)
120 {
121 if (n == 0)
122 SEED_encrypt(ivec, ivec, ks);
123 *(out++) = *(in++) ^ ivec[n];
124 n = (n+1) % SEED_BLOCK_SIZE;
125 }
126
127 *num = n;
128 } 116 }