我可以在酒吧中提出一个极其基本的非对称密码?


30

我正在尝试向父母解释比特币的基本知识。

比特币的核心组成部分之一是对交易进行签名以确保您的身份不会被假冒,因此需要解释简化的非对称密码。

我可以使用一个非常简单的非对称密码作为示例吗?

如何将这种简化的密码用于签名?


17
您为什么需要进入加密技术来让酒吧谈论比特币?据我了解,比特币解决了维护分布式账本的问题,特别是避免了双重支出问题。这样做的动机是避免拥有中央权限,这可以通过允许每个参与者批准交易(而不是将此权限授予银行)来实现。为了避免对抗性参与者批准自己的无效交易,引入了工作量证明的概念。无需谈论公钥加密。
Ariel

@Ariel当您想知道说从Ariel向Ryan发送3 BTC的人实际上是Ariel时,就会出现公钥密码术,或至少是数字签名。
德里克·埃尔金斯

1
是的,但这不是比特币专用的,因此他的父母只会感到困惑。
阿里埃勒(Ariel)

1
您可以解释非对称加密,区块链或比特币。选一个。
拉斐尔

2
这个问题可能更适合密码学
拉斐尔

Answers:


28

如果您想向您的父母或朋友展示公钥密码,那么我建议您遵循一些准则。首先,不要谈论特定的功能,没有人关心SHAxxx,保持您的谈话概念化。公钥密码术解决的问题是允许从未见过的两个参与者在公共渠道中安全地交换信息。请勿将其与通过公共密钥加密(例如数字签名或身份验证)实现的其他应用程序混淆。

下面是我所看到的一个具有启发性的简单说明。假设两个当事方有一个桶和多种颜色,并且他们想就特定的秘密化合物达成协议。他们被允许互相发送带有特定化合物的存储桶,但是发送的任何内容都可能遭受邪恶的对手的攻击。下划线的假设是容易混合颜色,但是很难将混合物分解成其成分。这个假设(很容易与事物的形式方面联系在一起)使您可以实现他们的目标。选择一种公共颜色,并允许双方选择一种秘密颜色,让我们用S 1S 2表示它们。然后,第一方发送一桶P S 1的混合物P小号1个小号2P小号1个。类似地,第二方发送包含的混合物的存储桶。最后,双方都将自己的私人颜色添加到他收到的混合物中,现在双方都有P S 1S 2的混合物,(根据我们的假设)对于任何窃听者来说都是秘密。Diffie-Hellman密钥交换协议是该协议的正式版本,它依赖于离散日志的难度。P小号2P小号1个小号2

现在,我对比特币协议的理解是有限的,但是当与您的父母讨论时,我认为没有理由进行加密。我所见过的大多数流行的解释都不必要地深入研究实现细节,并开始谈论查找哈希的原像,以便结果将具有个零,从而使人们看不到实际的问题。和以前一样,我建议保持演讲的概念性。比特币试图解决什么问题,为什么这并不琐碎?据我了解,比特币解决了维护分布式账本的问题,特别是避免了双重支出X问题。其动机是避免拥有中央权限,这可以通过允许每个参与者批准交易(而不是将此权限授予银行)来实现。为了避免对抗性参与者批准自己的无效交易,引入了工作量证明的概念。POW使用哈希作为黑匣子,因此您可以避免提及特定的候选者。


比特币解决了双重支出问题(它通过区块链来解决,对于它,您描述的“工作证明”算法至关重要)和转移请求的分布式身份验证(这很少讨论,因为它可以归结为一个已经存在的问题)。解决的问题,即通过非对称密钥进行消息身份验证)。
Jules

15

我听到的一个常见比喻是制造一堆挂锁,保留所有钥匙,然后将打开的挂锁发送给任何想要的人。然后,具有这种挂锁的任何人都可以通过以下方式向您发送秘密消息:将秘密消息放在一个盒子中,然后在发送给您之前,先使用您的一个挂锁将其锁定。没有人,只有您有钥匙,所以即使发件人在锁定后也无法将其解锁–特别是,邮政服务根本无法监听您的邮件。他们甚至可能还会从您那里获得挂锁,但这并不能帮助他们解锁盒子。

(我提供此示例来回答您所说的问题,但对它是否对比特币解释确实有用没有任何特别的意见。)


1
这是对非对称加密的有用解释,但是对于解释比特币的工作原理,您真正需要的是签名验证,这是相反的:您有一批挂锁,这些挂锁在打开时会断开,然后将密钥发送给可能需要的任何人他们。然后,当您发送消息时,请将其放在一个盒子中并在上面挂上一个挂锁,以便任何有钥匙的人都可以告诉您已将其发送出去。
Jules

@Jules我真的很喜欢这个解释,使其类似于篡改密封。
Ryan The Leach

7

解释非对称密码的问题(以及大多数流行的解释实际上无法解释任何事情的原因)在于,它们与存在(据说)难以解决的问题(这是计算复杂度背后的思想之一)的思想交织在一起。

一旦理解了这一点,不对称密码就“只是”一个易于计算但被认为难以求逆的函数。您甚至可以自己制作,请参阅Diffie-Hellman密钥交换的原始实现作为参考。


3
这还不是全部。除非您拥有私钥,否则很难进行反转。
本·米尔伍德

Diffie-Hellman +1。这是一个足够简单的协议来解释,它对应于颜色示例。
Ariel

4

我认为没有容易证明的非对称加密系统。相反,描述什么它,而不是如何它它。实际上,最近我不得不这样做,以描述PGP的工作方式。对于BitCoin,请专注于第二部分,对消息进行签名。

我可以创建两个相关的数字。一个称为私钥,另一个称为公钥。我保守第一个秘密,并告诉所有人第二个秘密。想要向我发送消息的任何人都将使用我的公共密钥,并使用它来加密他们的消息。一旦完成,没有人可以解密消息,甚至发送者也不能解密。收到消息后,可以使用私钥对其解密。

或者,我可以使用我的私钥加密邮件,然后将加密和未加密的邮件发送给第二个人。如果他们拥有我的公钥,则他们可以解密邮件的加密部分,并且该部分与未加密的部分相同。这表明我是加密邮件的人。

如果他们询问如何生成密钥,请说

我想到了两个非常大的素数,然后通过数学函数对其进行变换。它吐出私钥和公钥。

当然,这掩盖了以下事实:非对称加密通常不适用于消息本身,而不适用于会话密钥(用于加密)或散列(签名验证)。它还忽略了非常重要的要求,即必须将私钥保持私密-有权访问它的任何人都可以伪装成您。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.