⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eax_encrypt_authenticate_memory.c

📁 该压缩包中包括 tom的加密函数库及pdf说明 ,以及Rinick s ECC:椭圆曲线非对称加密密钥生成器
💻 C
字号:
/* 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@gmail.com, http://libtomcrypt.org *//**  @file eax_encrypt_authenticate_memory.c  EAX implementation, encrypt a block of memory, by Tom St Denis*/#include "tomcrypt.h"#ifdef EAX_MODE/**   EAX encrypt and produce an authentication tag   @param cipher     The index of the cipher desired   @param key        The secret key to use   @param keylen     The length of the secret key (octets)   @param nonce      The session nonce [use once]   @param noncelen   The length of the nonce   @param header     The header for the session   @param headerlen  The length of the header (octets)   @param pt         The plaintext   @param ptlen      The length of the plaintext (octets)   @param ct         [out] The ciphertext   @param tag        [out] The destination tag   @param taglen     [in/out] The max size and resulting size of the authentication tag   @return CRYPT_OK if successful*/int eax_encrypt_authenticate_memory(int cipher,    const unsigned char *key,    unsigned long keylen,    const unsigned char *nonce,  unsigned long noncelen,    const unsigned char *header, unsigned long headerlen,    const unsigned char *pt,     unsigned long ptlen,          unsigned char *ct,          unsigned char *tag,    unsigned long *taglen){   int err;   eax_state *eax;   LTC_ARGCHK(key    != NULL);   LTC_ARGCHK(pt     != NULL);   LTC_ARGCHK(ct     != NULL);   LTC_ARGCHK(tag    != NULL);   LTC_ARGCHK(taglen != NULL);   eax = XMALLOC(sizeof(*eax));   if ((err = eax_init(eax, cipher, key, keylen, nonce, noncelen, header, headerlen)) != CRYPT_OK) {      goto LBL_ERR;    }   if ((err = eax_encrypt(eax, pt, ct, ptlen)) != CRYPT_OK) {      goto LBL_ERR;    }    if ((err = eax_done(eax, tag, taglen)) != CRYPT_OK) {      goto LBL_ERR;    }   err = CRYPT_OK;LBL_ERR:#ifdef LTC_CLEAN_STACK   zeromem(eax, sizeof(*eax));#endif   XFREE(eax);   return err;   }#endif/* $Source: /cvs/libtom/libtomcrypt/src/encauth/eax/eax_encrypt_authenticate_memory.c,v $ *//* $Revision: 1.3 $ *//* $Date: 2005/05/05 14:35:58 $ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -