Пример #1
0
			void decrypt(AES_KEY &ctx, decrypt_output_type &dst, const decrypt_input_type &src, iv_type &iv)
			{
				// 아직 bits값에 대한 것은 모호함. 조사 필요
				int bits = 1;
				// 패딩이 없어도 된다.
				AES_cfb8_encrypt(&src[0], &dst[0], src.size(), &ctx, &iv[0], &bits, AES_DECRYPT);
			}
Пример #2
0
static int
aes_do_cipher(EVP_CIPHER_CTX *ctx,
	      unsigned char *out,
	      const unsigned char *in,
	      unsigned int size)
{
    AES_KEY *k = ctx->cipher_data;
    if (EVP_CIPHER_CTX_mode(ctx) == EVP_CIPH_CFB8_MODE)
        AES_cfb8_encrypt(in, out, size, k, ctx->iv, ctx->encrypt);
    else
        AES_cbc_encrypt(in, out, size, k, ctx->iv, ctx->encrypt);
    return 1;
}
Пример #3
0
 virtual void decrypt(const unsigned char* in, unsigned char* out, std::size_t length) {
     assert(in && out);
     AES_cfb8_encrypt(in, out, length, &this->aes_ctx, this->ivec, &this->num, AES_DECRYPT);
 }