8 static const char *tom_init(void)
10 /* nothing to initialize */
14 static unsigned long tom_encrypt(void *key, int keylen, void *iv,
15 void *pt, void *ct, int tlen)
20 if ((index = register_cipher(&aes_desc)) == -1)
21 return CRYPT_INVALID_CIPHER;
22 if ((err = cbc_start(index, iv, key, keylen, 0, &cbc)) != CRYPT_OK)
24 err= cbc_encrypt(pt, ct, tlen, &cbc);
29 static unsigned long tom_decrypt(void *key, int keylen, void *iv,
30 void *ct, void *pt, int tlen)
35 if ((index = register_cipher(&aes_desc)) == -1)
36 return CRYPT_INVALID_CIPHER;
37 if ((err = cbc_start(index, iv, key, keylen, 0, &cbc)) != CRYPT_OK)
39 err= cbc_decrypt(ct, pt, tlen, &cbc);
44 static unsigned long tom_hash(void *pt, int tlen, void *tag, int *taglen)
47 unsigned long ltaglen = *taglen;
49 if ((index = register_hash(&sha1_desc)) == -1)
50 return CRYPT_INVALID_HASH;
51 rc = hash_memory(index, pt, tlen, tag, <aglen);
56 static unsigned long tom_hmac(void *key, int keylen,
57 void *pt, int tlen, void *tag, int *taglen)
60 unsigned long ltaglen = *taglen;
62 if ((index = register_hash(&sha1_desc)) == -1)
63 return CRYPT_INVALID_HASH;
64 rc = hmac_memory(index, key, keylen, pt, tlen, tag, <aglen);
69 static const char *tom_errstr(unsigned long err)
71 return error_to_string((int)err);
74 struct crypto_interface tom_crypto_if = {
76 .encrypt = tom_encrypt,
77 .decrypt = tom_decrypt,