Logo Search packages:      
Sourcecode: libtomcrypt version File versions  Download package

int f9_file ( int  cipher,
const unsigned char *  key,
unsigned long  keylen,
const char *  filename,
unsigned char *  out,
unsigned long *  outlen 

f9 a file

cipherThe index of the cipher desired
keyThe secret key
keylenThe length of the secret key (octets)
filenameThe name of the file you wish to f9
out[out] Where the authentication tag is to be stored
outlen[in/out] The max size and resulting size of the authentication tag
CRYPT_OK if successful, CRYPT_NOP if file support has been disabled

Definition at line 30 of file f9_file.c.

References f9_done(), f9_init(), f9_process(), and zeromem().

#ifdef LTC_NO_FILE
   return CRYPT_NOP;
   int err, x;
   f9_state f9;
   FILE *in;
   unsigned char buf[512];

   LTC_ARGCHK(key      != NULL);
   LTC_ARGCHK(filename != NULL);
   LTC_ARGCHK(out      != NULL);
   LTC_ARGCHK(outlen   != NULL);

   in = fopen(filename, "rb");
   if (in == NULL) {

   if ((err = f9_init(&f9, cipher, key, keylen)) != CRYPT_OK) {
      return err;

   do {
      x = fread(buf, 1, sizeof(buf), in);
      if ((err = f9_process(&f9, buf, x)) != CRYPT_OK) {
         return err;
   } while (x == sizeof(buf));

   if ((err = f9_done(&f9,    out, outlen)) != CRYPT_OK) {
      return err;

   zeromem(buf, sizeof(buf));

   return CRYPT_OK;

Here is the call graph for this function:

Generated by  Doxygen 1.6.0   Back to index