我正在寻找使用 OpenSSL 的 AES CCM 加密的示例。显然,这是需要除 EVP_CipherInit_ex() 之外的额外设置的两种“自定义”密码模式之一。任何建议,将不胜感激。

最佳答案

简而言之:

// Tell the alg we will encrypt Psize bytes
int outl = 0;
EVP_EncryptUpdate(ctx, 0, &outl, 0, Psize);

// Add the AAD
EVP_EncryptUpdate(ctx, 0, &outl, A, Asize);

// Now we encrypt the data in P, placing the output in CT
EVP_EncryptUpdate(ctx, CT, &outl, P, Psize);

有关更多详细信息,请参阅我的博客文章 http://www.fredriks.se/?p=23

10-07 23:52