相同的RSA密钥,相同的消息,不同的加密

时间:2013-08-20 07:41:44

标签: encryption openssl rsa

我生成私钥/公钥和一个小文本文件

openssl genrsa -out priv.pem
openssl rsa  -out pub.pem -in priv.pem -pubout
echo "A" > plain.txt

使用公钥加密文本文件两次时,

openssl rsautl -encrypt -pubin -inkey pub.pem -in plain.txt -out cipher.txt

你会看到两个cipher.txt不同。这是我不明白的。

1 个答案:

答案 0 :(得分:2)

  

当您使用公钥加密文本文件两次时......您将看到两个cipher.txt不同。这是我不明白的。

这称为概率加密(与确定性加密相对)。它的设计方式使得相同的消息加密两次不会产生相同的密文。它由于RSA使用的屏蔽功能和填充功能。

如果加密产生相同的密文,那么您的对手可以获取信息。例如,如果你的对手看到他不理解的信息,但观察员你的军队在第二天早上攻击他的军队,他可能会猜到这个消息是“黎明时袭击”。如果他再次看到相同的加密信息,他可能会在第二天黎明时准备好进行攻击。

如果您想了解MGF,OAEP等的详细信息,加密堆栈交换的人员可能会帮助您进一步提供帮助。此外,Steve Bellovin博士在An Introduction to Cryptography处对密码学进行了非常平易近人的介绍。