From 5a0ef35c9d77bedabd249fb7f47d94a6f54b5082 Mon Sep 17 00:00:00 2001 From: Eugene Crosser Date: Tue, 29 Oct 2013 20:49:24 +0400 Subject: [PATCH] proto tomcrypt --- tom_crypto.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/tom_crypto.c b/tom_crypto.c index e69de29..cdb02d0 100644 --- a/tom_crypto.c +++ b/tom_crypto.c @@ -0,0 +1,47 @@ +#include + +#include "crypto_if.h" + +static int tom_encrypt(void *pt, int ptlen, void *key, int keylen, + void *ct, int *ctlen) +{ + symmentric_cbc cbc; + unsigned char iv[16] = {0}; + int index, err; + + if ((index = register_cipher(&aes_desc)) == -1) return -1; + // if ((index = find_cipher("aes")) == -1) return -1; + cipher = cipher_descriptor[index]; + if ((err = cbc_start(index, iv, key, keylen, 0, &cbc)) != CRYPT_OK) + return err; + if ((err = cbc_encrypt(pt, ct, ptlen, &cbc)) != CRYPT_OK) + return err; + if ((err = cbc_done(&cbc)) != CRYPT_OK) + return err; + if ((err = unregister_cipher(&aes_desc)) != CRYPT_OK) + return err; + return 0; +} + +static int tom_decrypt() +{ + return 0; +} + +static int tom_hash() +{ + return 0; +} + +static int tom_hmac() +{ + return 0; +} + +struct crypto_interface tom_crypto_if = { + .name = "tomcrypt", + .encrypt = tom_encrypt, + .decrypt = tom_decrypt, + .hash = tom_hash, + .hmac = tom_hmac, +}; -- 2.39.2