我正在编写一个编写加密日志文件的小程序(用C语言),但是有很多文章说只要有可能,就应该避免RSA。然而,这些文章中的大多数似乎也专门提到了涉及RSA的居家算法,因为在这种情况下,缺乏经验的密码开发人员往往会选择不安全的参数。
在我的例子中,我只是使用OpenSSL库及其RSA_public_encrypt()函数以及OAEP填充。纯文本是通过网络接收的,从来没有直接传送到程序,任何错误消息都将只报告给本地访问正在运行的机器的人。私钥可以是2048位长的,也可以是4096位长的,并且将在离线和远离公钥的地方存储。密钥对是在应用程序之外生成的,也是通过OpenSSL生成的:
openssl gen