tomcrypt/src/modes/ecb/ecb_encrypt.c

42 lines
949 B
C
Raw Normal View History

2004-05-12 20:42:16 +00:00
/* LibTomCrypt, modular cryptographic library -- Tom St Denis
*
* LibTomCrypt is a library that provides various cryptographic
* algorithms in a highly modular and flexible manner.
*
* The library is free for all purposes without any express
* guarantee it works.
*
* Tom St Denis, tomstdenis@iahu.ca, http://libtomcrypt.org
*/
2004-12-30 23:55:53 +00:00
#include "tomcrypt.h"
/**
@file ecb_encrypt.c
ECB implementation, encrypt a block, Tom St Denis
*/
2004-05-12 20:42:16 +00:00
#ifdef ECB
2004-12-30 23:55:53 +00:00
/**
ECB encrypt
@param pt Plaintext
@param ct [out] Ciphertext
@param ecb ECB state
@return CRYPT_OK if successful
*/
2004-05-12 20:42:16 +00:00
int ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_ECB *ecb)
{
int err;
2004-12-30 23:55:53 +00:00
LTC_ARGCHK(pt != NULL);
LTC_ARGCHK(ct != NULL);
LTC_ARGCHK(ecb != NULL);
2004-05-12 20:42:16 +00:00
if ((err = cipher_is_valid(ecb->cipher)) != CRYPT_OK) {
return err;
}
cipher_descriptor[ecb->cipher].ecb_encrypt(pt, ct, &ecb->key);
return CRYPT_OK;
}
#endif