西西河

主题:【原创】【周末小包子】【乱扯】从阿磕老兄随手打的乱码说起 -- 1001n

共:💬28 🌺32
全看树展主题 · 分页首页 上页
/ 2
下页 末页
家园 随机,随手,随心。呵呵

康熙微服私访里面那两个举人同测“因”字的段子,被解成 因 和 恩

家园 (小声提醒一下)

链接出处这个帖子似乎应该更新了呢。。。

你不做斑竹了还有权限更新么?

家园 惭愧惭愧

大师就是大师,能从玩笑中阐发科学道理。

另外关于计算机随机数的产生,Knuth的TAOCP第二卷有详细讨论,有兴趣的同学可以一看。

家园 改不了了,

一来年头久,过了修改期限。二来好像设了不可回复,无法跟贴。

要是起头另发,属于侵犯斑竹义务。

所以----

家园 所以就先复位, 干完这事就下岗?

家园 愚愚,你好狠

坚决不下二茬岗。

家园 啊呸, 年轻人真没志气

起码要来个三上三下, 七上八下的.

家园 呵呵,无理数和随机数可不是一回事

谁要能证明了,不管证明结果是还是不是,那可就出名了。

随机性在于随机数中的每一个数字,还有每一个子数字组,出现的概率都一样。对于已知的无理数,现在人们只是怀疑它们是随机数,但是还没人能证明。

现在一般来说自称可以产生随机数的人,都利用自然界里的现象,比如无线电噪声,放射源衰减等等。不难发现,这些人有一个特点,就是他们专玩数学家玩不转的东东,所以好像也没数学家证明他们错。

当然也没有数学家证明他们对。

密码学里的随机要求比这个松。一般只是有限长度内数字串的随机,就是“够随机”就行了。不必最求完美随机。

不过密码学对于所需“随机数”还有一个要求,就是不可预测性。所以这些大家熟知的无理数,就算他们本身的随机特性再好,也不能用。

家园 老兄说的非常对,索性把我的想法补充全了吧

正因为我那个“产生随机数”的土办法其实是有漏洞的,所以,当时我才专门称之为休闲,其实是供大家一笑的……

既然老兄提到了,我就干脆多说两句吧——我那个土办法,最大的漏洞在于:这个产生所谓随机数的办法,其过程本身,并不是严格随机的。

例如,根号7是个无理数,它的数字分布也许符合随机分布,但是选择的开方对象,这个7,本身就有问题——怎么就选择了7,而不是别的数字呢?

类似的问题还出现在π和e上。简而言之,如此取得的无理数,无论是小数点后多少位,其具体数字都是可以预知的。而适合密钥编制的随机数字,该不该有“可预知性”,这是个很大的问题。

在截取数字的时候,也有问题。我说观察车牌,取得82373991,然后从π的第82373991位截取10个数字,再去截取……这个办法本身就是有漏洞的:

第一、82373991是个8位数字,而8位数字的全排列不过100,000,000种(加上00000000),因此,实际上只能有一亿种截取方案。相应地,观察9次车牌,只有十亿种截取方案,如此类推。

第二、截取方案数量有限,而截取结果却又是可知的。拿上面的例子来说,针对已经固定的π值,我们全部的选择,不过是从第00000001位截取10个数字起,到第99999999位截取10个数字止而已。

具体说,也许我暂时不知道某一次观察车牌的具体结果,但是我知道,从第00000002位连续截取π,得到的10个数字一定是3.1415926535894932384……;而这个结果,即4159265358,一定是如此观察方法的可能结果之一

如果我有足够的时间,肯定可以把它们全部截取下来。于是,它的总结果,实际就是1亿个顺序相连的数字组;而在相邻的每组之间,只有首尾两个数字不同。

抛开这个可预知的问题不谈,下一个问题也很重要:无理数的数字分布,是不是随机的?

如果是随机的,这么截取的思路应该是可以的,只不过在编制随机密钥本的时候,恐怕不能截取π这么显眼的数字,而该截取观察车牌结果的平方根或几次方根之类(假如真是无理数的话)。比如我们观察了34次车牌,得到一个34位或者68位(每个车牌取两位)的数字,开方之并得到一个无理数,虽然同样存在着可能被穷尽的危险,但是毕竟破解难度大太多了。如果取3000位车牌数字呢?或者10万个数字、1000万个数字呢?此外,具体开多少次方,也根据车牌数字确定;同时截取多少位数字,依然根据车牌数字生成——如此一来,即便不是真随机,也是随机性相当大的伪随机了……

说到底,它根据的就是观察车牌取得的数字,是随机的——这是以上观点的总根据。至于这算不算真随机,嘿嘿,我觉得是——前提是,这个地方不会酷到只有一两辆车的地步吧……

如果不是随机的,那就是个大问题了。不过以在下所看到的资料,至少对于π,是有人做了这个工作的:他统计了小数点后多少多少位,并且确定在这多少多少位之前,所有数字的分布,从多个角度观察,都的确是符合随机分布规律的。

在他统计的位数之后会不会就有逆转,无法证明;其它的无理数是不是也如π一般有这个特性,问题更大,我也更不清楚。我只能以自己的一点极为不可靠的主观感觉,倾向于认同“无理数的数字分布,应该符合随机分布”这个论断。当然,主观感觉和科学实践是无法叫板的,所以,我也只能说“倾向于”“应该”,呵呵,实在没有确定的根据啊……如果有人证明过,也希望各位提供一下

至于真空管噪声、放射衰变,这两个办法确实都被采用过。现在不见下文的缘故,大概还是不太理想,或者不太好使吧

很赞同老兄的一个观点,那就是密钥选取,未必需要“真随机”的数字。其实,只要符合随机分布规律,有理数也没什么不可以,前提是:别人不能知道你选的是什么数字。

总的来说,老兄的几次指正、补充和帮助,让我实在是受益良多。也请老兄不吝赐教,看到不对的地方,只管说——咱在这方面是外行,非常愿意听到中肯的专业意见,也好趁机进步一二

以及,我原文中提到那被破译的密本,不是苏联而是德国的;破译方也不是纳粹而是盟国——这一点是我记错了,趁着没人发现,赶紧修正一下

春节事多,今天才看到老兄的回复,匆忙之间做个补充回答,也望老兄原谅

家园 这么说就太过了

咱就这点小爱好,啥也不是……真正的大师,不说别的,就连人家的思想咱都看不明白

不过,老兄提到的书,有机会一定要找来看看的

家园 无理数和随机数是两个不同的概念

无理数就是通常所谓的无限不循环小数,例如

0.1010010001000010000010000001...

这里我们每次在两个1之间多插入一个0。这个数是无理数,但是他的每一位数字都是可以很容易预计的。相反的,对于有一些无理数,例如圆周率,数值计算表明它的数字分布似乎是随机的,只是没有办法证明而已。

数学上也可以产生严格意义上的随机数,至少是渐近意义下的。例如取一个很大的(几百位的)素数p,对于每一个其它的素数q,令(q/p)=1,若q可以写成一个平方数和一个p的倍数之和,否则就令(q/p)=-1。象11=1*1+5*2,所以(11/5)=1,而(13/7)=-1。(据说)可以证明,当我们让q依次取遍所有的素数时,(q/p)的分布是随机的:我们不能从前面所有的数值推出下一个是1还是-1,而且1和-1的所有组合的出现概率也符合随机计算的结果。

在实际应用中,这些数学上的方法相对而言要慢得多,所以大家宁可使用伪随机序列,大多数情形已经足够了。

不是做密码的,只能根据自己的了解随便说说。

关键词(Tags): #无理数#随机数#素数
家园 顺便说一句,用平方根不是好的随机方法吧。

从连分数来看,平方根都对应于循环的连分数。立方根也许好一些?我就不知道了。

家园 老兄的钻研精神和文笔,

我一向佩服得很。能把枯燥的密码写的有趣,这个可不是一般的难。能把enigma解剖得如此详尽,真是了不起。我虽然吃了几年密码饭,和老兄相比那只是侧重点不同,所谓指正那是万万谈不上的,最多互相学习吧。

全看树展主题 · 分页首页 上页
/ 2
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河