计算机没有出现的时代是古典密码学,计算机出现后是现代密码学。有什么区别呢?
大家回忆下之前所讲的隐藏法、移位替换、维吉尼亚加密、包括二战时期的恩尼格码机,都是英文字母,比如恩尼格码机的26个齿轮槽对应26个英文字母。
计算机读的是0和1,这根芯片基本结构单元二极管相关。那么,计算机出现后,语言学家就退居二线,现在不太需要英文字母了,加密解密的过程全部由计算机完成,而0和1的二进制世界来了。
比特序列开始统治之后,需要找个方法把语言文字变成二进制比特序列,将现实世界的东西映射为比特序列的操作叫做编码,这个编码有个规范叫做ASCII。
以上就是一部分二进制的对照表,网上很容易可以搜到。
密码学博士高承实:量子计算机大规模应用将对非对称密码算法和哈希函数带来致命性的影响:密码学博士,计算机应用专业副教授高承实发表《量子计算机的应用会颠覆掉比特币系统吗?》专栏文章,文章表示,量子计算机从发展状况来看,还处于极其早期阶段,离真正实用还有相当远的距离。如果量子计算机真正能够大规模应用,将对密码算法当中的非对称密码算法和哈希函数带来致命性的影响。现在基于数学难解问题而生成的非对称密码算法RSA和ECC安全性将不复存在,哈希函数的抗碰撞性也将受到极大挑战,除非尽可能增加哈希函数的输出长度。目前的非对称密码,主要是ECDSA和哈希函数SHA256,是比特币系统最核心的底层技术,确保了比特币分配和支付的安全,在比特币系统的多个环节得到了应用,包括生成钱包地址、对交易进行签名和验证、计算区块内所有交易的默克尔数生成区块以保证块内数据难以被篡改、激励矿工开展挖矿竞赛以维护系统的自运行……如果ECDSA和SHA256两种算法的安全性不复存在,那么整个比特币系统的安全性也将不复存在。
当然我们也没有必要那么悲观。第一,量子计算机的真正使用还有相当远的距离;第二,随着量子计算以及量子计算机的发展,抗量子计算的密码算法也会同步得到发展,比如格密码。
真的到了那个时候,或者比特币系统中的密码模块会替换为抗量子计算的密码模块,或者比特币已经完成它的历史使命,从这个世界上消亡。(财新)[2020/12/24 16:21:46]
这背后有有趣的东西。ASCII是IEEE的里程碑作品之一。IEEE就很有意思了,全称是:美国电气和电子工程师协会。总部在美国纽约,“拥有来自175个国家42万会员”,1963年就开始发展了。所以现在很多区块链项目动不动说是十万百万粉丝,这个很难的,你看看IEEE的发展就好了,当然啦,你说区块链行业的分布式,以及高明的传播,会加快一切进程,也对,十万会员的技术组织是很难的,十万关注的人是可行的。
声音 | Nick Szabo:比特币利用计算机科学实现了前所未有的深度安全:智能合约先驱尼克·萨博(Nick Szabo)发推称:“数字中心化资产的深层安全性较差,它们只能在一个合法稳定的环境中被设计及使用。当地方安全性较强时,房地产和黄金具有更深层次的安全性。信任最小化的比特币利用计算机科学实现了前所未有的深度安全。”[2019/8/18]
IEEE最早的里程碑作品是本杰明·富兰克林的成名著作《电力的实验与发现》在1751年的时候发表,富兰克林就是美国一百元钞票上面的头像人物。
电子电气工程、通讯、计算机科学和工程这些学科的先驱之一是富兰克林,不是二战时候的美国总统富兰克林·罗斯福,是美国的开国时期的大佬。密码学和这些学科是交叉在一起的,所以,有趣的事情就是,密码学从一开始就和钱有关系。100美元的钞票上面印着的这个大佬,更多不是因为他在学术上的贡献,是因为他是财政部长、外交部长、印刷厂长、起草《独立宣言》、“第一个真正意义上的美国人”、代表了美国精神等等成就。
声音 | Blockstream研究员:隐私币Monero要比比特币更容易受到量子计算机的攻击威胁:据bitcoinnews消息,在谈到量子计算机对加密货币的威胁时,Blockstream研究员Andrew Poelstra最近表示,隐私币Monero并不是完全安全的,它比比特币更容易受到量子计算机的威胁。比特币只需要替换数字签名算法便具有量子抗性,而像Monero这样的隐私币更换起来会更复杂。[2019/5/16]
大家可以看下IEEE发展史,链接如下:
https://zh.wikipedia.org/wiki/IEEE里程碑列表
回到我们的二进制编码,ASCII,这时候语言文字变成了0和1,也就是我们不需要对着字母去捣鼓折腾了,只需要改变0和1就可以对内容进行加密。
下面以非常直白简单的语言讲一下怎么加密的?
什么是XOR?
声音 | BlockStream首席战略官:IBM的量子计算机不对比特币构成威胁:据Bitcoinist报道,IBM最近推出世界上第一台商用量子计算机Q System One。BlockStream首席战略官Samson Mow在推特上称,信用卡不具有量子抗性。并转发BlockStream官推上消息:即便与1972年代的计算机相比,Q System One也”超级弱“(实用性差)。此外,目前在比特币的发展路线图中存在很多抗量子解决方案。[2019/1/14]
XOR叫exclusiveor,也就是异或,本身是一种极为简单的运算。你把它当成小学时候学过的加减乘除的一种,当然,这么说高估了运算的简单,这么说吧,一个小学生看XOR运算,绝对比加减乘除容易非常多。
1XOR0结果就是1;
0XOR1结果就是1;
1XOR1结果就是0;
0XOR0结果就是0;
ECHO技术负责人张楠:相比黑客 区块链更应该警惕量子计算机:5月19日,ECHO公链技术负责人张楠受邀作为首届全球区块链黑客马拉松导师参与区块链项目辅导。会上,张楠呼吁现场区块链从业者:相比于黑客,区块链更应该警惕量子计算机!他指出,谷歌已经研发出72量子比特(qubits)超导量子计算机,虽然这短期还不足以威胁区块链,但ECHO公链团队前瞻性采用了抗量子特性技术方案——后量子密码,运用LWE算法(伴随误差学习)抵抗来自量子计算机的攻击。ECHO团队还将会考虑开发与OpenSSL一同工作的Ring-LWE密钥交换协议,实现后量子时代区块链的安全问题。[2018/5/19]
前后一样就是1,前后不一样就是0.从上文表格里找一个字母比如说是a,a就是01100001.随便找一个秘钥,比如01010101.当然可以是任意选择的,下面会讲的。
这就是用秘钥,XOR之后的结果,00110100就是密文。对照表格,这个二进制表达的信息就是:4
于是,原文的a就变成了密文的4,当然,有时候看起来没有这么规则更像是乱码。
记住口诀:同就是0,异就是1.这比背乘法口诀容易太多了,小朋友很快可以掌握。
给个图形化表达,更加容易理解:
用钥匙去XOR原文运算之后的结果可以通过钥匙反向推回来。这就是计算机时代的对称加密法。
普及下知识:
什么是比特Bit?什么是字节Byte?
上文中看到八位二进制就可以表达一个英文字母,那么,一个英文字母也就是一个字节,英文叫Byte,也就是1byte=8bit=8个二进制位。因为一个比特就是代表二进制里面的一位。再比如,一个汉字就是两个字节。标点符号另算。
下面讲一下分类:一次性密码本和分组密码
对称密码学中,一次性密码本属于流密码。流密码的定义更宽一些,本章不展开。
简单来理解就是,你有一段信息需要加密了,比如你的信息由1万个英文字母构成,转成二进制后有8万比特。
我现在生成一个二进制随机数,长度是多少呢?8万位,也即是说这个原文每个比特我都XOR了一下,而且没有什么规律,因为钥匙本身是个随机数。
但是这样的加密比较麻烦,安全性不错,效率不高,钥匙和原文一样长。你有个1GB的文件,加密一下后还是1GB,但是钥匙也有1GB,配送和保存都是问题,记住:密码学中也有物流问题,主要是传输秘钥。
这时候用一个固定长度的加密秘钥,去对原文循环加密,简化模型后,可以这么说,8万比特长度的原文,我拿着80比特长度的钥匙去加密,需要1000个循环。记住,这是简化的模型,实际操作的时候,比这个复杂。
分组秘钥是被广泛运用在通讯、电子商务、金融系统等领域的加密法。
注意,不是以后有了非对称加密,对称加密就没有用了,对称加密有对称的安全,非对称有非对称的麻烦,不是一棍子直接打死的。
DES和AES是什么?
“数据加密标准是一种对称密码的分组密码,由美国国家标准局于1976年选择作为美国的官方联邦信息处理标准,随后广泛被国际使用。”
后来又有了AES,A就是advanced就是更先进更高级不是American,AES的加密方法选拔是全球公开的,AES既是美国的,又是全球的。选拔由美国一个标准化机构NIST举行,评审不是他们,是全球企业和密码学家以及参赛者共同完成。如果全世界密码学家都找不到加密方法的弱点,兼顾效率和安全性之后,就会被选上。
被选上的算法,要求免费公开给全球使用。有点像打擂台,看看谁的功夫好,就选谁,并且选好了之后把这套内功心法交给全球人民。比如我们现在广泛使用的AES实际就是Rijndael算法,是在2000年从候选算法中被选出来的。
这个图片中的五家就是候选的算法了。出现了RSA公司,RSA算法就是非对称密码中最广泛使用的密码算法。RSA公司在20世纪末举行过好几场比赛,干什么呢?去组织人破译DES的对称算法,确实破解成功了,本来对称密码学中的分组密码就是可以被破解的,RSA找人破解了DES算法,又在后来提交了AES算法,并成功“提名奥斯卡”,只是最后时刻落选了,最佳算法颁给了Rijndael。
不过,在非对称密码领域,RSA那是封神的存在,也正是有了非对称密码,区块链的诞生才有可能。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。