数字签名
有许多不同的技术可用于生成和验证数字签名,支持您工作的数学原理超出了本文的范围。对于那些不熟悉密码学的人来说,这里描述的过程最初可能看起来令人难以置信。
现在我将简要地提及这些技术用于许多常见的Internet协议,并且是信息科学不可或缺的一部分。
想象一下两个人,Alice和Bob,私下交换了公钥。Alice希望向Bob发送消息,但Bob是一个非常可疑的人,除非他能用数学方式进行确定性测试,否则他不相信消息真的来自Alice。为了测试,他们同意使用数字签名。
动态 | 韩国数字货币交易平台Coinis胜诉:据Cryptonews消息,韩国数字货币交易平台Coinis在对韩国Nonghyup(NH)银行的诉讼中受到受地区法院的支持,获得胜诉。此前,韩国最大的商业银行之一的Nonghyup(NH)上个月决定终止与Coinis的银行合作关系,并阻止了Coinis处理所有存款和取款。这一举措被Coinis交易所首席执行官认为是武断的,并向法院提起诉讼,声称NH违反了合同,并补充说银行没有足够的证据支持其决定,并且其行为相当于限制交易。在这一诉讼的裁决中,法官裁定支持Coinis,并指出NH的决定不是根据金融服务委员会关于加密货币相关的反措施的指导方针做出的。[2018/10/31]
为了生成签名,Alice在她的计算机上使用签名生成算法,该算法将她的私钥和完整的消息作为输入并生成数字签名。然后将此消息/签名组合发送给Bob——,但重要的是您不要发送私钥。
动态 | 伦敦地铁现数字货币广告:据Reddit用户爆料,在伦敦地铁上出现了数字货币交易中间商Coincorner的广告,广告强调通过Coincorner可以在10分钟内完成比特币的购买。[2018/7/26]
当Bob收到消息和签名时,他可以调用补充签名验证算法。该算法将消息和签名作为输入,以确定Alice用于生成签名的公钥-私钥对中的公钥。当Bob看到他的算法,输出爱丽丝的公钥,它在数学证明,该公司使用对爱丽丝的公私密钥的实际产生,即使你知道,你无法计算对公私密钥爱丽丝。关键
韩国监管机构:在数字货币交易所现场调查中未发现明显违反金融法的行为:1月23日上午,韩国金融委员会和金融监督局公布了数字货币交易所反义务的调查结果。金融监督委员会副主席表示在此次调查中没有发现明显违反金融法的问题,因此没有对交易所采取强制措施,其内部工作的不足将通过指导方针及银行的引导进行自我纠正。韩国金融委员会相关人士接受提问时称:每天交易金额超过1千万韩元、一周超过2千万韩元的行为视为可疑交易,用户需要报备资金来源;如果经营企业拒绝提供资料或者没有被指定为合法经营场所,银行了解情况后应该立即取消向其提供服务,目前经营单位的法人账户将以3个月为单位进行审核,银行内部自行判断是否暂停对其的服务。[2018/1/23]
更简洁,这一数字签名的过程允许Bob验证该消息不是由某个第三方创建或修改,而是必须使用Alice的私钥才能生成的,而不必知道她的私钥。他需要的只有消息/签名组合和她的公钥。
印尼央行警告数字货币风险:不要购买、销售和交易加密货币:印度尼西亚央行日前发出警告称,不要购买、销售和交易加密货币。印度尼西亚央行认为加密货币不是有效的支付工具,并且禁止其在印度尼西亚境内作为支付手段。印尼央行对于加密货币态度一直很不友好,去年年底就敦促零售商在禁令颁布之前就停止相关经营。此后,比特币支付供应商关闭并重组了业务,迎来即将来临的监管。而在此之前,商务部门在此表现出对加密货币的厌恶,并否认加密货币技术上带来的奇迹。[2018/1/15]
直觉上,这似乎令人难以置信,你可以感觉好像有一个误解。如果Alice的私钥与公钥密切相关,并且Alice使用她的私钥生成Bob收到的签名,为什么她只能获取她的公钥而不能获得她的私钥?理解这个问题的答案需要比大多数人更深入地理解数学,这超出了本书的范围。
尽管如此,这项技术每天都在使用,在密码学界被认为是可靠的。当您访问地址以https开头的网站时,“s”表示该网站使用数字签名进行身份验证。您的计算机使用签名验证算法来验证该站点是否是正确的公钥-私钥对。数字签名可确保您与网站之间的任何其他交互都经过加密和身份验证。如果验证失败,浏览器将警告您并将该站点标记为危险。
足够大的整数
在此之前,我只是提到公钥和私钥的行为类似于用户名和密码,但实际上它们只是具有特殊数学关系的大整数。鉴于此,我经常被问到以下问题:
“你能用一台计算机来猜测或计算一堆数字并尝试将它们用作私钥吗?你能找到公钥-私钥对的私钥来控制这个身份吗?”就比特币而言,这将允许攻击者窃取公钥-私钥对所具有的部分比特币。
这是一个很好的问题,但它不会发生。如上所述,有几个比特币地址在BTC有数百万美元,但它们多年没有被转移。——虽然窃取它们只需要正确的私钥,但——是正确的大整数!如果您能猜出这些地址的私钥,您可以将钱汇给任何人。与密码不同,您可以在自己的计算机上本地验证私钥,并且任何服务器都不会限制您的尝试或频率。
那么,为什么人们没有偷钱呢?答案是用作私钥的数字几乎是荒谬的。它们足够大了。
让我们从一个简单的思想实验开始。想象一下,您的私钥足够大,可以与世界上所有的计算机一起工作,并且您需要24小时猜测。如果只向私钥添加一个数字,则计算机需要十倍的计算量,这需要十天而不是一天。增加六位数将使这个时间延长到27,000年。
在任何情况下,创建随机数以生成私钥所需的计算能力可忽略不计。使用私钥生成签名并使用公钥验证这些签名在计算上也很简单。但是,每增加一个附加数字,猜测私钥所需的工作量就会呈指数级增长。私钥被蛮力“免疫”,我们只需要添加足够数量的——,我们只是需要让他们足够大。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。