ecb.c
来自「文件驱动加密,功能强大,可产生加密分区,支持AES,MD2,MD4,MD5MD2」· C语言 代码 · 共 60 行
C
60 行
/* 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 * gurantee it works. * * Tom St Denis, tomstdenis@iahu.ca, http://libtomcrypt.org */#include "mycrypt.h"#ifdef ECBint ecb_start(int cipher, const unsigned char *key, int keylen, int num_rounds, symmetric_ECB *ecb){ int err; _ARGCHK(key != NULL); _ARGCHK(ecb != NULL); if ((err = cipher_is_valid(cipher)) != CRYPT_OK) { return err; } ecb->cipher = cipher; ecb->blocklen = cipher_descriptor[cipher].block_length; return cipher_descriptor[cipher].setup(key, keylen, num_rounds, &ecb->key);}int ecb_encrypt(const unsigned char *pt, unsigned char *ct, symmetric_ECB *ecb){ int err; _ARGCHK(pt != NULL); _ARGCHK(ct != NULL); _ARGCHK(ecb != NULL); if ((err = cipher_is_valid(ecb->cipher)) != CRYPT_OK) { return err; } cipher_descriptor[ecb->cipher].ecb_encrypt(pt, ct, &ecb->key); return CRYPT_OK;}int ecb_decrypt(const unsigned char *ct, unsigned char *pt, symmetric_ECB *ecb){ int err; _ARGCHK(pt != NULL); _ARGCHK(ct != NULL); _ARGCHK(ecb != NULL); if ((err = cipher_is_valid(ecb->cipher)) != CRYPT_OK) { return err; } cipher_descriptor[ecb->cipher].ecb_decrypt(ct, pt, &ecb->key); return CRYPT_OK;}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?