GPG / PGP签名和加密 – 学术安全问题

数字签名

发生数字签名,您可以将私钥应用于特定消息(或大多数情况下该消息的散列).

然后,收件人会将您的公钥 – 不出意外公开 – 然后通过将其应用于签名邮件来验证您的身份.

加密

另一方面,加密会使您获取消息所针对的人的公钥,并将其应用于消息.完成此操作后,您实际上已将其锁定在所有人(包括您自己)之外,解锁该消息的唯一方法是让收件人将其私钥应用于加密邮件.

“应用”

在上述两种情况中,我都使用了“应用”这个术语,这是因为这是我接下来提出最后一个问题的重点.

数字加密和签名基本上是数学上合适的消息表示的数学乘法,通过非常大的数量(公钥/私钥).当私钥被公钥“倍增”时,它们相互抵消(略微简化的描述).

我用Diffie-Helman here编写了一个简化的例子.

问题/安全问题

现在考虑到这一点,这是我正在考虑的情景……

想象一下,您使用标准的非对称加密(pri / pub密钥)来获取秘密消息,并为某人加密.然后,您通过不安全的渠道将该邮件发送给收件人.

窃听者点击该行并捕获您的消息.

然而,对他们的消息是加密的 – 他们猜测消息的真正接收者(具有相应私钥的人)使用相同的公钥/私钥对进行签名,就像她对加密一样.

他们以某种方式操纵/说服信息的真实接收者签署“某些文件”,并且让我们说她做了.文档当然是捕获的消息,但收件人不知道这一点.

刚刚发生了什么?收件人已将其私钥应用于已由其公钥签名的邮件.

然后,她会将消息传回攻击者(让我们假设这是一个盲目签名请求).

袭击者现在有解密的消息?

澄清问题

谢谢所有回应的人 – 似乎我没有说出我的问题,因为每个人都误解了它 – 这是我的错,对此感到抱歉.

澄清:假设对整个消息执行“签名”操作(此处用于学术目的),而不是该消息的散列.是的我知道这不是实际完成的,并且由于原因(包括性能和大小),签名是在消息的固定长度加密哈希上完成的,而不是消息本身,但对于这个问题,请假装这个事实并非如此.

解决方法

您基本上是在询问是否以相同的方式执行签名和运行解密 – 答案是否定的.

你写了:

Digital encryption and signing is
basically the mathematical
multiplication of a
mathematically-suitable representation
of a message,by a very large number
(the public/private keys). When the
private key is “multiplied” by the
public key,they cancel each other out
(somewhat simplified description).

这是不正确的.签名是在明文的加密哈希上执行的,而不是在明文本身上.

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...