作者:村头二旧
上一讲讲到,维基尼亚加密法的应用,有一个大的前期,就是这个钥匙能不被破解,至少钥匙的长度不被破解。
将维吉尼亚加密法升级一次变成2.0版本:钥匙变长
那么,如果这个钥匙非常长呢,长到和原文一样长呢,那么相当于用《金刚经》加密《道德经》——把他们全部换成英语字母的情况下。
举这个例子并非无厘头,因为这两部经典“书籍”的长度都是5000字左右,,这样,是不是就会完全没有办法用频率破解法破解了呢?
其实不一定的。钥匙是《金刚经》的经文,这经文中的重复非常多,比如“如是我闻”“须菩提”在文中出现的频率非常高,“佛说世界,非世界,是名世界”这类句式也非常多。
那么,你说,拿着《哈姆雷特》原文对《道德经》的英文版,进行加密总行了吧。也不行,因为,“and”“the”“a”“an”“he”“she”这样的连接词、冠词、人称代词到处都是,不断重复,如果要破解还是很有办法的。
24小时BTC全网合约成交数据显示:多空持平:据合约帝数据显示,最近24小时BTC全网合约成交量中开多比例为49.99%,开空比例为50.01%。主流合约交易所中,Huobi季度开多比例为50.25%,开空比例为49.75%;OKEx季度开多比例为51.48%,开空比例为48.52%;BitMEX合约开多比例为49.22%,开空比例为50.78%。[2020/12/7 14:25:04]
那怎么办?
不要用文章或者有规律的诗文进行加密了,用随机数。
维吉尼亚加密法再升级:钥匙变成随机数
但是,什么是随机数?随机产生的数吗?什么是随机?
你在跑步或者休息的时候,打开QQ音乐或者网易云音乐,然后你点击随机播放,这就是随机数吗?
数据显示:近一周比特币链上活跃度小幅回升,全网算力持续上扬:据Tokenview数据显示,近一周(03.02-03.08)比特币新增和活跃数小幅回升,链上交易总额有所回落,七日算力持续上涨。
在链上基本指标方面,七日新增地址数均值为41.38万,活跃地址数均值为76.89万;较上周分别上升3.47%和4.03%。七日链上交易额均值为79.99万BTC,较上周下降2.88%;日均交易笔数为33.13万笔;较上周基本持平。全网七日算力均值则为121.13 EH/s,较前周上升6.78%。[2020/3/9]
并不是的。如果有100首歌要听,而你用真正的随机播放的话,这一百首音乐,可能需要非常长的时间才能听完,因为随机播放的时候,是不会考虑这首歌是不是在十分钟前已经播放过了。苹果公司的音乐软件曾经用随机播放,然后客户抱怨这个不是很“随机”呀,然后苹果公司改了算法,变成了“循环同余随机”,就是你听到的音乐感觉是随机的,随机地听完了100首音乐。现在基本上音乐播放器都是这套规则。所以,QQ音乐或者酷狗等等音乐播放器,你选100首歌,在随机的情况下,基本上不会有太多重复。
动态 | 数据显示:90%的数字货币已毫无交易量陷入“僵尸状态”:数据平台显示,过去24小时内,只有200多个币种有交易额,其他币种已低至几块钱,甚至交易量为零。截至2018年3月底,盈灿咨询数据统计,市场上共有1917种虚拟币和Token。也就是说,按照这个比例,至少90%以上的币已毫无交易深度,“和死亡毫无区别”。[2018/9/17]
还有一个例子,一名数学教授给学生讲概率论,让学生回去掷100次硬币,然后每次的结果需要记下来然后交给老师。教授看了学生提交的作业后,很快就知道谁是一次一次的投硬币了,谁没有。秘密就是:真正自己投掷硬币的话,好几次甚至几十次都是正面或者反面,都是有可能的,而那些不用手去做,只是在脑中思考的人会按照一定的规律交替出现正面和反面,因为看起来非常的随机。
Marathon Digital:比特币暴跌80%才会让其无利可图:11月18日消息,Marathon Digital(MARA.US)首席执行官Fred Thiel称,考虑到能源和托管成本,该公司在比特币上的盈亏平衡率约为6500美元。即使比特币价格本周从68991美元的历史高点跌至60000美元左右,也需要暴跌80%才能达到盈亏平衡水平。
Thiel 表示:“这显然是一项非常有利可图的业务。比特币必须大幅下跌80%,才会对我们构成挑战,所以我们对目前的成本相当满意。”
这一盈亏平衡估计提醒人们,比特币挖矿对大型公司来说是多么有利可图,也解释了Marathon股价为什么于今年上涨近5倍。
该公司正计划升级运营,预计从现在到2022年年中,之前购买的13万台机器将投入使用。(凤凰网)[2021/11/18 22:00:17]
同样的,你在键盘上乱七八糟的打字母,出来的也不是真随机,给你足够长的时间,规律就出来了。凡是软件制造的随机都是伪随机,真随机是非常少见的情况。
这样使用随机数,单次密码本的维吉尼亚加密法是可以非常安全的加密,但是,诞生之初没有人去用,因为效率太低了。
所以密码学一开始就有着效率和安全的双重要求,就和区块链暂时不好突破的所谓不可能三角“去中心化、安全、效率”一样,这三样密码学的发展就占了其中两样,毕竟,区块链是密码学下的蛋。
扩展内容:
深化了解随机数和伪随机数
对于懂一些编程的朋友,会知道rand()或random(),这两个函数就是计算机程序用来生成随机数的,这产生的随机数也是伪随机数,我们尽力的去接近随机数但是并不是真的随机数。
引出了密码学中随机数的定义:
1,统计学上的随机性:对于机器来说,所有的信息都可以转化成0和1,也就是一段信息中,0和1的数量是接近的,但是,给你一个十位的二进制随机数,最好不可以是0000011111,为什么呢?肉眼一看就不是随机的,01100011这样的数组也数量接近,以此类推,这样的情况下,人类看上起这就是随机的。
2,码学安全伪随机性。其定义为,给定随机样本的一部分和随机算法,不能有效的演算出随机样本的剩余部分。
3,真随机。
也就是随机样本不可重现。这个是一个非常玄乎的东西。历史上出现过的人类,从一定程度上就是真随机的,不可能出现一模一样的人。但是这么说就太不学术了,实际上只要给定边界条件,就没有真随机数。
当然,你从网上也可以找到一些“真随机数”生成器之类的程序,去生成“真随机数”。如果将“真随机数”和“伪随机数”图像化,大概就是如下图这样。
你一眼就看出了下面这个不够“随机”呀。上面的才是“真随机数”。
事实上,从根本上来说,计算机本身并不能生成真随机数。只是高端的“伪随机数”和不高端的“伪随机数”
目前所有真随机数必须通过物理方法获得,怎么获得真随机数呢?除了google,还有一个途径。
http://www.oscca.gov.cn/
这是国家密码管理局的网站。
相当的威武霸气。大家可以偶尔上上这个网站看看。
http://www.sca.gov.cn/sca/zxfw/2017-04/25/content_1011723.shtml
这个就是网站上的真随机数生成法之一。
那么,思考一个好玩儿的问题,《复仇者联盟3》中的灭霸同志,打一个响指随机消灭了宇宙中的一半生命是“真随机”吗?
答案:不是。
因为几个原因一看就不是随机:
1,灭霸自己要养老,养老计划就做好了,说明这个响指一打,他知道自己不会消失;
2,很多CP是杀一个留一个,连神盾局的同事们都是一半的挂掉,如果是真随机,可以全死了,或者全活着,或者不这么有规律性;
3,应该有个别星球的人是一个都没死的,宇宙那么多生命,说不好就有一个星球可以全活。实际上,灭霸心中所想更像是,每个星球的生命“随机”减少一半。
所以,灭霸的随机,是伪随机。.
其实很多时候,用不着那么多的真随机数,只是如果你有一千个或者几万个比特币要弄个钱包,根据“千金之子,坐不垂堂”的古训,还是要慎重一些选择钱包。
随机数是当代密码学的基础部分,本文只是粗略的介绍入门,修行在个人,大家可以一起讨论和学习。
未来讲到的更加深入的高级的加密法和数字货币知识,离不开随机数这个概念。
欢迎私信沟通。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。