最近,我对加密产生了兴趣,并阅读了有关对称和公共密钥加密算法的信息。我了解1970年代的RSA,DES和DH之类的发现对于推动这项技术的重要性。

我只是不了解公钥密码技术作为一个想法在不到50年前出现的时候,在整个历史上,这是一个非常需要的解决方案,而王国/国家/情报部门将向发现这一简单而又革命性想法的人付出丰厚的回报。

自19世纪以来就研究了整数分解和椭圆曲线之类的东西,没人会想到使用这样的已知数学问题来创建强大的加密系统,尤其是在WW1和WW2中,数据的机密性和完整性可以决定整个国家的命运,而不是依靠已有数百年历史的无用加密技术?
我确信这不是缺少人力资源,每个欧洲国家都有很多天才,那么为什么直到这么晚才发现公钥密码学呢?

评论

那里有用的墨水解释了公钥加密的(隐式)发现。

如果我没记错的话,在《杜鹃的蛋》中,它声称安全系统中的一位未具名的英国雇员在第二次世界大战后不久就发现了RSA,但不允许其发布。没有数字计算机,这实际上没有什么意义。

公钥密码术是否不像在国王拥有唯一密钥的情况下向现场将军发送挂锁和保险箱那样粗略地类似于?如果敌人获得了物理接触,则不能保证安全,但会不断将视线从敏感材料上撬开。基本概念似乎至少在数学实现方面有所帮助。

#1 楼

如果您阅读有关Merkle将主题带入主流的经验,您可能会感到惊讶。他的教授拒绝了他的最初建议,对任何进一步的发展都没有兴趣:

...我们被要求提交两个项目建议,其中一个我们将完成本课程。我提交了一项提案,该提案最终被称为公钥密码术,但霍夫曼拒绝了。我放弃了课程,但继续努力。他向ACM通讯部门提出的建议被拒绝了:发布它,赢得名利!”然后,我将其提交给了1975年8月,当时ACM通讯的编辑Susan Graham。据我所知,Fabry的回复很少。来自一位身份不明的“经验丰富的密码学专家”:
“很遗憾地通知您,该论文不在当前密码学思想的主流中,我不建议您发表该论文在ACM通讯中。”
“经验表明,以明文方式传输密钥信息非常危险。”
由于“专家”全面拒绝公开密钥密码,她拒绝了我的请求。文章。她“对没有文献参考的事实感到特别困扰。其他人有没有研究过这种方法。如果他们考虑并拒绝了,为什么?”

没有新颖的概念“主流”可能难以接受:

我没有提供有关公钥密码术先前工作的任何参考,以及以前该领域的工作人员拒绝这样做的原因。在提交论文之前,我应该在Google上查询过“公钥密码学”。我的辩解很微弱:没有Google,“公钥密码术”一词还不存在,并且该领域没有以前的工作者。对于我所做的事情,我一言不发,正在寻找一个概念来表明以前没有人认为这很困难。这不是一个独特的问题:它说明了任何试图向“专家”解释新想法的人所面临的问题,该专家希望在任何人试图向他们解释某些内容时都引用适当的文章。一个新的想法与任何先前的想法或概念越不相关,它就越应该表现为一个杂乱无章的混蛋,赤裸裸地独自一人,从头出现并且缺乏任何受人尊敬的血统或家庭来保证其可接受性。 CACM最终发表了该论文,尽管只有将近三年的延迟,然后才是其他人(更能说服其编辑及时出版的人)。

结论
公钥密码的实用性对我们来说很明显,但并非总是如此。当您知道密钥时,安全的加密听起来几乎是不存在的,因为它太好了,难以置信。因此,您当然可以原谅那些没有认真追求这个想法的人。

评论


$ \ begingroup $
是的,我们有时会忘记在PKC之前听起来“我们可以公开的钥匙”这个想法多么奇怪。
$ \ endgroup $
–雨披
18年5月25日在14:52



$ \ begingroup $
默克尔的CS244提案的早期版本是必读的,即使只是对他的目标和他的方法1的有远见的明确陈述。目标不是空想。不过,我不会第一个向拒绝方法2并最终拒绝该项目的教授扔石头的;值得注意的是,方法1暂时需要太多的交流,并且在没有可信的东西的情况下,它至少可以理解拒绝。
$ \ endgroup $
–fgrieu♦
18年5月25日在15:29



$ \ begingroup $
我认为这里有一个关于术语和印象管理的课程:“关键”一词在本领域中一直被用来指代秘密部分。如果他只是分别称它们为“密钥”和“ [非密钥]”而不是“私钥”和“公钥”,我认为结果会好得多。我学到的一个非常难的教训是,您永远不应该信任另一个人,只要他们可以略读,而您的言语却有机会误入歧途……,便会认真地认真地嘲笑您的想法。
$ \ endgroup $
–mtraceur
18年5月25日在18:56



$ \ begingroup $
@ poncho,PKC已经存在了数十年,但我们仍然让人们对Security.SE产生疑问,询问保护公钥的最佳方法是什么。
$ \ endgroup $
–马克
18年5月25日在23:34

$ \ begingroup $
我不确定时间安排的精确性,但是他(至少被审稿人)拒绝的事实可能是受到英国和美国早期或同时发现和分类该思想的影响。
$ \ endgroup $
– DRF
18年5月26日在7:11

#2 楼

我猜是由于以下三个综合因素,才发现公钥加密的时间较早:


在(数字)计算机之前,公钥加密不可能难以实现,而不能实现的事情实施几乎没有被发现,更没有得到任何牵引力;
在1970年代之前,严重的加密是一种军事事物,而根深蒂固的习惯在这种环境下变化缓慢;
在1970年代之前,平民学者可以使用计算机而数学家则受到经济原因的限制。


评论


$ \ begingroup $
另外,由于军方确实拥有值得信赖的信使(例如军官)和保证运输工具人身安全的手段,因此,他们并没有迫切需要拥有PK加密货币。
$ \ endgroup $
– SEJPM♦
18年5月25日在10:29



$ \ begingroup $
谢谢!我几乎同意所有观点,但这里有两点:1.自古代以来,密码学本身就是人们所需要和实现的,甚至在发现数学之前就已经实现了密码学。这是可以理解的,因为保密是一个非常老的问题。 2.与其他分支(计算机算术(例如,在ww2之前发明了浮点单元)),计算机体系结构(在1940年代甚至有基于十进制的计算机)相比,crypto看起来像是原始的CS分支到1950年代)。
$ \ endgroup $
–请不要
18年5月25日在11:08

$ \ begingroup $
“在(数字)计算机之前,不可能实现公共密钥加密”-是吗?我怀疑使用1930年代最先进的机械计算器(也许经过修改可以处理更大的数字)是否在可能的范围之内。他们不可能处理非常大的数字,但是攻击者也不能。对于拥有1930年代技术的攻击者而言,可能无法乘以万亿个两个素数的乘积,但对于1930年代的计算器而言,其乘积却无法通过平方求幂来使用。 @SEJPM提到的需求不足更能说明问题。
$ \ endgroup $
– John Coleman
18年5月25日在22:57

$ \ begingroup $
通信的“密钥”概念可能依赖于机密性,但是即使对于具有受信快递公司的代理机构而言,能够公开证明身份的手段而不公开伪造手段的价值也应显而易见。
$ \ endgroup $
–超级猫
18年5月26日在18:00

$ \ begingroup $
@James_pic鉴于有关2 ^ 67-1分解的著名轶事,我发现在电子计算机之前没有可利用的数学不对称性是令人难以置信的。需要比我更了解1930年计算工具功能的人员来最终回答这个问题。
$ \ endgroup $
– John Coleman
18年5月29日在13:30

#3 楼

我发现Hellman在1979年《科学美国人》上发表的名为“公钥密码学的数学”的导论很有启发。

特别地,非对称密码技术满足了多个私有/商业主体的需求,这些主体需要以经济高效的方式将信息安全地通过大型公共,不安全的电信网络传输给对等方。 br />
Hellman还看到了使用非对称加密技术来防止欺骗,篡改和抵赖的行为,这将使这类用户受益。


直到最近,主要用户密码系统是世界上的军事和外交机构。

传统系统的缺点尤其给密码学的新商业用户带来麻烦。首先,在可以通过不安全的信道加密和传输任何信息之前,接收方和发送方必须就密钥达成一致。

由于系统的安全性完全取决于密钥的保密性,因此必须通过安全通道(例如,受信任的信使)传输密钥,这是一个缓慢而昂贵的系统。在那些寻求隐私的个人没有事先通信或必须通过大型网络维护隐私的情况下,密钥的分配是一个特殊问题,在商业交易中经常会遇到两种情况。
的确,依靠快递公司分发密码技术的任何广泛应用所需的关键信息的成本和不便性实际上是令人禁止的。

密钥分发的要求不是当前使用的常规密码系统的唯一缺点。它们也不能完全满足消息认证的要求。由于在发送方和接收方之间共享一个密钥,因此没有什么可以阻止接收方向自己发送看似来自发送方的消息。考虑这样的伪造可能在电子邮件或电子银行系统中造成的困难。这样,传统的密码系统就无法就发送已签名的文件可以交换的消息(如果有)的争端提供相同的保险。

但是,公钥
系统为密钥分配问题和身份验证问题提供了答案。


#4 楼

具体来说,暂时暂时搁置公共密钥加密,我想从@fgrieu的答案开始切线。非对称加密特别容易受到攻击,但就这一点而言并非唯一。要实现这一点,需要执行三个步骤:确定所使用的方法。加密方案的期望属性之一是签名减少。毋庸置疑,您想要避免在密码中留下伪像的加密弱点,但要避免的是,您还要避​​免留下一开始就使用什么密码的指示。

A对于没有完全解密设置的人来说,完美的密码与随机噪声是无法区分的,或者换句话说,验证密码完整性的唯一方法是对其进行解密。如果您不知道我使用了10个密码中的哪一个,那么我将需要做的工作乘以10,就可以破除它。找出最弱的点。任何密码都不应该被认为是完美的,充其量我们可以说没有已知的攻击。从破解密码的愿望和证明密码强度的角度来看,试图找到对密码本身的攻击都是密码分析的重要组成部分。人们往往对这些事情感到愚蠢。在此过程中,人的参与越多,他们越容易把事情弄糟,并通过削弱事物来使您的生活变得更轻松。除非您真的很幸运,否则您仍然有超过1种的排列尝试。因此,您需要使用密钥空间中剩下的每个排列尝试解密。也许会在1%之后找到一组工作输入,也许会在99%处。

这就是问题。当计算机是纸人时,您不需要特别大的键空间,这就是密码锁(kinda)起作用的原因。
从实际的键角度来看,3位数字的组合具有1000个组合的键空间。根据我对特定类型的3轮密码锁的经验,我平均估计大约需要20-30分钟才能完全通过穷举搜索获得代码。找到良好的弱点或提高机械速度将使所需的工作量减少至少一个数量级,并且通常会减少更多。

就在第二次世界大战之前,Enigma就足够了。实际上,正确使用的Enigma仍然很难破解。没有上述计算机,要求快速计算机有效使用的密码就不切实际。基于机械实现的密码很难在数学或计算上进行优化,这是我们长期以来一直想要的。

那么,为什么非对称密码特别容易受到攻击?好吧,这取决于您选择它的目的。

在一种情况下,非对称加密可以为邮件添加身份验证因素。拥有密钥的对称加密意味着您可以伪造和拦截消息。如果您使用的是非对称方案,则只能模拟或接收您拥有的密钥。是的,这确实可行,但是您可以通过其他方式实现相同的目的,而不会在广播信息时使用1:1消息传递方案。

在另一种情况下,公钥的公共部分指的是使用发布密钥的功能可以更安全地交换另一个(通常是对称的)密钥。确切地说,在此过程中如何交换以及交换了什么。问题在于,大多数好处都需要实时通信和额外的工作,并且需要为发送和接收部分使用单独的机制。

使用PKI的第一个现代比喻是PGP及其家族,其中非对称加密和PKI既用于身份验证又用于保护消息。您也许可以通过考虑每个人都在发送PGP加密消息的邮件列表来了解它为什么效果不佳。

第二个目的是大多数人在谈论公钥加密时的想法……这就是使HTTPS和SSH起作用。试想一下,如果您每次想打个电话,都必须读出一个10位数的数字,写下一个数字,然后将新的数字打入电话中,然后希望彼此都能理解。
具体来说,PKI的最大问题,回到上面我提到的三个阶段,就是要有效地执行阶段3,理想地,您需要完成阶段2,而要有效地进行阶段2,则需要完成阶段1. PKI的性质和设计,不仅会发布部分密码设置,还会发布您实际使用的密码。使用图片中的计算机,您可以通过将关键空间增大许多个数量级来补偿该信息的泄露。尽管如此,如果可以的话,减少向对手公开的信息量总是比较可取的。 ,电子计算,快速高质量的电信和密钥交换算法……实际上,这并不奇怪,因为@ ella-rose的答案中提到的困难就证明了它没有更早出现。

评论


$ \ begingroup $
从身份验证的角度来看,使公钥密码术具有革命性的作用,不仅仅在于存在一些人可以进行身份​​验证的方式,而无需使用身份验证指示来促进伪造,而是开发了一种无需身份验证的系统依赖个人技能。如果自称是著名小提琴手的某人得到了小提琴并被要求演奏,并且他们的演奏就像他们声称的小提琴手一样,那么很可能就是他们所声称的那个人。但是许多人没有这样的技能可以唯一地识别他们。
$ \ endgroup $
–超级猫
18年5月27日在18:16

$ \ begingroup $
@supercat我也许可以说服一些人说我可以在小提琴上演奏非常前卫的当代音乐,并且已经超越了所有经典音乐...
$ \ endgroup $
–哈根·冯·埃岑
18年5月27日在20:27

$ \ begingroup $
@supercat是的,PKC确实为许多这样的系统提供了便利,但我想说它从根本上来说是一个锁,对于该锁,可以有一个能够锁定或解锁但不能同时锁定和解锁的钥匙。其价值在于可以以相当通用的方式将其应用于问题。
$ \ endgroup $
–凯塔尔
18年5月30日在15:53

$ \ begingroup $
@Kaithar:也许“个人技能”不是正确的说法。即使在古代,也有必要证明某人声称是某人发出的信息,命令,宣告等,实际上是该人发出的。足够华丽的图章戒指可能证明某人发出的消息具有足够的技能来制造这种戒指,或者更有可能是通过足够的手段制造了这样的戒指,但我的重点是制造认证手段即使对于合法使用它的人,某些东西也将是困难和/或昂贵的。
$ \ endgroup $
–超级猫
18年5月30日在16:37

$ \ begingroup $
@supercat在另一个答案中指出,非对称确实需要电子设备,因此它对古代没有帮助。另一方面,在日本,通过图章或印章进行身份验证的今天很活跃,在那里他们可以使用个人图章代替大多数文档上的签名。由于表面上的划痕,手工制作的图章很难伪造。
$ \ endgroup $
–凯塔尔
18年6月4日在17:07