《复联3》中的密码学:随机数和伪随机数
维基尼亚加密法的应用,有一个大的前期,就是这个钥匙能不被破解,至少钥匙的长度不被破解。
将维吉尼亚加密法升级一次变成2.0版本:钥匙变长
那么,如果这个钥匙非常长呢,长到和原文一样长呢,那么相当于用《金刚经》加密《道德经》——把他们全部换成英语字母的情况下。
举这个例子并非无厘头,因为这两部经典“书籍”的长度都是5000字左右,(5100多字),这样,是不是就会完全没有办法用频率破解法破解了呢?
其实不一定的。钥匙是《金刚经》的经文,这经文中的重复非常多,比如 “如是我闻”“须菩提”在文中出现的频率非常高,“佛说世界,非世界,是名世界”这类句式也非常多。
那么,你说,拿着《哈姆雷特》原文对《道德经》的英文版,进行加密总行了吧。也不行,因为,“and”“the”“a”“an”“he”“she”这样的连接词、冠词、人称代词到处都是,不断重复,如果要破解还是很有办法的。
那怎么办?
不要用文章或者有规律的诗文进行加密了,用随机数。
维吉尼亚加密法再升级:钥匙变成随机数
但是,什么是随机数?随机产生的数吗?什么是随机?
你在跑步或者休息的时候,打开QQ音乐或者网易云音乐,然后你点击随机播放,这就是随机数吗?
并不是的。如果有100首歌要听,而你用真正的随机播放的话,这一百首音乐,可能需要非常长的时间才能听完,因为随机播放的时候,是不会考虑这首歌是不是在十分钟前已经播放过了。苹果公司的音乐软件曾经用随机播放,然后客户抱怨这个不是很“随机”呀,然后苹果公司改了算法,变成了“循环同余随机”,就是你听到的音乐感觉是随机的,随机地听完了100首音乐。现在基本上音乐播放器都是这套规则。所以,QQ音乐或者酷狗等等音乐播放器,你选100首歌,在随机的情况下,基本上不会有太多重复。
还有一个例子,一名数学教授给学生讲概率论,让学生回去掷100次硬币,然后每次的结果需要记下来然后交给老师。教授看了学生提交的作业后,很快就知道谁是一次一次的投硬币了,谁没有。秘密就是:真正自己投掷硬币的话,好几次甚至几十次都是正面或者反面,都是有可能的,而那些不用手去做,只是在脑中思考的人会按照一定的规律交替出现正面和反面,因为看起来非常的随机。
同样的,你在键盘上乱七八糟的打字母,出来的也不是真随机,给你足够长的时间,规律就出来了。凡是软件制造的随机都是伪随机,真随机是非常少见的情况。
这样使用随机数,单次密码本的维吉尼亚加密法是可以非常安全的加密,但是,诞生之初没有人去用,因为效率太低了。
所以密码学一开始就有着效率和安全的双重要求,就和区块链暂时不好突破的所谓不可能三角“去中心化、安全、效率(可扩展性)”一样,这三样密码学的发展就占了其中两样,毕竟,区块链是密码学下的蛋。
扩展内容:
深化了解随机数和伪随机数
对于懂一些编程的朋友,会知道rand()或 random(),这两个函数就是计算机程序用来生成随机数的,这产生的随机数也是伪随机数,我们尽力的去接近随机数但是并不是真的随机数。
引出了密码学中随机数的定义(网上有很多,以下是结合wikipedia定义加一些内容让大家更容易理解):
1, 统计学上的随机性:对于机器来说,所有的信息都可以转化成0和1,也就是一段信息中,0和1的数量是接近的,但是,给你一个十位的二进制随机数,最好不可以是0000011111,为什么呢?肉眼一看就不是随机的,01 10 00 11这样的数组也数量接近,以此类推,这样的情况下,人类看上起这就是随机的。
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, 应该有个别星球的人是一个都没死的,宇宙那么多生命,说不好就有一个星球可以全活。实际上,灭霸心中所想更像是,每个星球的生命“随机”减少一半。
所以,灭霸的随机,是伪随机。.
其实很多时候,用不着那么多的真随机数,只是如果你有一千个或者几万个比特币要弄个钱包,根据“千金之子,坐不垂堂”的古训,还是要慎重一些选择钱包。
随机数是当代密码学的基础部分,本文只是粗略的介绍入门,修行在个人,大家可以一起讨论和学习。
未来讲到的更加深入的高级的加密法和数字货币知识,离不开随机数这个概念。
来源:村头二旧
比推快讯
更多 >>- QCP Capital:经济增长放缓和通胀持续升温的滞胀组合进一步削弱美联储降息可能性
- Peter Brandt:比特币或已见顶,可能回落至3万美元
- Aboard Exchange宣布完成最新升级
- ETH跌破3200美元
- 香港虚拟银行Mox:拟透过Mox Invest证券交易平台向客户提供虚拟资产ETF
- Wintermute将15,000枚ETH转入Coinbase
- FTX债权人Sunil:新CEO接管时未提及FTX拥有5500万枚SOL,将反对S&C所有计划
- 美众议员French Hill:如果稳定币立法与大麻银行法案相结合,将投票支持该法案
- 2个巨鲸地址交易BRETT获利约314万美元,收益达30830倍
- 慢雾:警惕恶意攻击者利用WordPress插件漏洞发起的水坑攻击
- 毕马威:自托管机构投资者可通过香港ETF持有虚拟资产,无需事先兑换为法币
- 中国台湾检方建议对ACE交易所诈骗案4名主要嫌疑人判处20年有期徒刑
- 香港交易所:收纳博时HashKey、华夏、嘉实比特币及以太币ETF为中央结算系统多柜台合资格证券
- 知情人士:惠理提交虚拟货币现货ETF申请后又主动退出
- 1亿枚 USDT 从 Tether Treasury 转移到 Bitfinex
- Optimism已修复其测试网的两个关键漏洞
- Arkham:与 Wisdomtree WBIT相关的钱包持有8900枚BTC,价值约 5.79 亿美元
- 纳指止步4周连跌,创去年11月以来最大单周涨幅
- DAI 单日链上转账金额达到 860 亿美元,创下历史新高
- 以太坊 Rollup 协议 Zircuit 拟于夏季启动主网,总锁仓价值已达25亿美元
- 美参议员警告用于交易儿童性虐待材料的加密活动有所增加
- 加密银行 Custodia Bank 就其美联储成员资格败诉一案提出上诉
- Yuga Labs裁员,专注于建立“更小、更灵活的加密原生团队”
- NFTfi基金会:NFTFI空投申领门户将从 4 月 30 日开放至 6 月 10 日
- dYdX Chain累计交易量突破1200亿美元
- Phoenix Wallet将从美国应用商店下架,Jack Dorsey称“感觉完全没有必要”
- 零知识 (ZK) 协议 Hinkal 完成140 万美元战略融资,估值 7000 万美元
- 姆爷Eminem取代马特·达蒙成为 Crypto.com 最新明星代言人
比推专栏
更多 >>观点
项目
比推热门文章
- 揭秘新骗局:恶意修改 RPC 节点链接骗取资产
- Theta Network :一个基于区块链的去中心化视频传输网络
- 加密悲歌:金钱换不来权力,世界是一个养套杀的草台班子
- 传奇 Meme 币猎手 James:用 7000 美元赚 2500 万美元,如今喊单效应失灵
- BTC将达21万美元?价格模型指标暗示了什么?
- 吴说播客:Faust 谈 Runes Merlin 和 RGB++ 比特币生态更自由
- 一种估算比特币泡沫大小的科学方法
- QCP Capital:经济增长放缓和通胀持续升温的滞胀组合进一步削弱美联储降息可能性
- Peter Brandt:比特币或已见顶,可能回落至3万美元
- Aboard Exchange宣布完成最新升级