Mercurial > dropbear
comparison libtomcrypt/src/modes/f8/f8_setiv.c @ 435:337c45621e81
merge of 'a9b0496634cdd25647b65e585cc3240f3fa699ee'
and 'c22be8b8f570b48e9662dac32c7b3e7148a42206'
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 22 Feb 2007 14:53:49 +0000 |
parents | 0cbe8f6dbf9e |
children | f849a5ca2efc |
comparison
equal
deleted
inserted
replaced
434:0aaaf68e97dc | 435:337c45621e81 |
---|---|
1 /* LibTomCrypt, modular cryptographic library -- Tom St Denis | |
2 * | |
3 * LibTomCrypt is a library that provides various cryptographic | |
4 * algorithms in a highly modular and flexible manner. | |
5 * | |
6 * The library is free for all purposes without any express | |
7 * guarantee it works. | |
8 * | |
9 * Tom St Denis, [email protected], http://libtomcrypt.com | |
10 */ | |
11 #include "tomcrypt.h" | |
12 | |
13 /** | |
14 @file f8_setiv.c | |
15 F8 implementation, set IV, Tom St Denis | |
16 */ | |
17 | |
18 #ifdef LTC_F8_MODE | |
19 | |
20 /** | |
21 Set an initial vector | |
22 @param IV The initial vector | |
23 @param len The length of the vector (in octets) | |
24 @param f8 The F8 state | |
25 @return CRYPT_OK if successful | |
26 */ | |
27 int f8_setiv(const unsigned char *IV, unsigned long len, symmetric_F8 *f8) | |
28 { | |
29 int err; | |
30 | |
31 LTC_ARGCHK(IV != NULL); | |
32 LTC_ARGCHK(f8 != NULL); | |
33 | |
34 if ((err = cipher_is_valid(f8->cipher)) != CRYPT_OK) { | |
35 return err; | |
36 } | |
37 | |
38 if (len != (unsigned long)f8->blocklen) { | |
39 return CRYPT_INVALID_ARG; | |
40 } | |
41 | |
42 /* force next block */ | |
43 f8->padlen = 0; | |
44 return cipher_descriptor[f8->cipher].ecb_encrypt(IV, f8->IV, &f8->key); | |
45 } | |
46 | |
47 #endif | |
48 | |
49 | |
50 /* $Source: /cvs/libtom/libtomcrypt/src/modes/f8/f8_setiv.c,v $ */ | |
51 /* $Revision: 1.2 $ */ | |
52 /* $Date: 2006/06/16 22:49:25 $ */ |