/ vigenere.h
vigenere.h
 1  #include <stdlib.h>
 2  
 3  struct vigenere_key_st {
 4    unsigned char *key;           /* A copy of the key bytes */
 5    size_t keysize;               /* Size of |key| */
 6    size_t keypos;                /* Current position in |key| */
 7  };
 8  int vigenere_init(struct vigenere_key_st *k, unsigned char *key, size_t keylen);
 9  int vigenere_encrypt(const unsigned char *in, size_t inlen,
10                       unsigned char *out, size_t outsize,
11                       struct vigenere_key_st *k);
12  int vigenere_decrypt(const unsigned char *in, size_t inlen,
13                       unsigned char *out, size_t outsize,
14                       struct vigenere_key_st *k);
15  int vigenere_done(struct vigenere_key_st *k);