牛郎看到织女的回信,知道目的已经达到了。
牛郎没有先回复织女,而是先给王母写了封信,挑衅满满:
岳母大人:
看来,您的专家团不太行呀,还是慢了一步,哈哈哈哈。
王母收到后,哭笑不得,她自信牛郎不可能比自己的专家团更强,但是却又猜不透牛郎葫芦里卖的什么药。
王母将织女的信交给专家团,同时,王母也料定牛郎是解不出来的。
所以,王母隐隐推断,这个计算很可能是个障眼法。
那么接下来,牛郎给织女的回信就是关键了。
回到牛郎这边,牛郎已经在构思给织女的回信了。
牛郎先看了看日历,今天竟然是农历七月五日了。
牛郎先在信件的开头,介绍了自己的“公钥-私钥”加密方案。
由于加密与解密的秘钥不同,两者并不对称,因此牛郎将这种加密方法命名为“非对称加密”。
接着,牛郎写出了自己当时“全网广播”的初衷:
一是为了发布公钥,二是为了获得织女的公钥。
从心理角度分析,自己提出的“日期求解问题”是无解的,而王母多疑,必然会先尽力求解,却不敢轻举妄动;
只有织女才可能反向提出问题,而这问题的题目,其实就是自己的公钥。
这是赌博,不过,很荣幸,赌赢了。
现在“非对称加密”方法已在此信件公开,而牛郎和织女的公钥也在之前被公开,那么,
“一个信息若能被公钥解密,那么它一定是被私钥加密的”,所以,牛郎织女的身份可以被绝对的认证。
接着,牛郎也写出了“非对称加密”的弊端:运算量较大,被加密的信息不能太多,否则加解密时间会很长。
信件的最后,牛郎附了一段自己私钥加密后的密文,来供大家娱乐。
当然,牛郎也附上了原文:HelloWorld。
只是,考虑到大家可能是没有“字典”概念的,牛郎这里的数字转换用了字母表的方式,
列了一个表格,写出了每个字母对应的数字。
这样,所有人拿到信件后,都可以用牛郎的公钥,解密出密文的数字,然后对照字母表,就能得到原文“HelloWorld”了。
最后的最后,牛郎又加了行“小字”:我就是要全网广播,看你王母怎么办!哈哈哈哈!
当然,“小字”这个是文字描述的小字了,毕竟目前的喜鹊网络体系,文本都是无格式的纯文本,只能手动“小字”,手动“滑稽”。
没错,牛郎,又发了一次全网广播。
咱们且不说王母看到这一次全网广播后的“火冒三丈”,只知道第二天,“非对称加密”火遍整个天庭。
许多人尝试后,无不赞叹牛郎加密算法之精妙,简直巧夺天工。
同时,第二天,织女也给牛郎回信一封:
牛郎牛郎:
这个密文1是我用自己私钥加密的“HelloWorld!”,你看看,对不对?
密文2是用你的公钥加密的内容,我偏不告诉你原文,看你能不能解出来~
信的末尾是两段密文。
王母也拦截到了这封信,但她看了内容,并未太过在意,随手丢给专家团了。
话说牛郎收到了织女的来信,非常开心。
牛郎先用织女的公钥验证了一下,果然密文1解密后,就是“HelloWorld!”。
接着,牛郎用自己的私钥,去解密密文2,得到了“你好,世界!xxxx……”,后面竟然是一段乱码。
“不应该呀,难道自己的加密方法有问题?”牛郎看着乱码,非常疑惑。
牛郎百思不得其解。然后仔细看这段乱码,发现与密文1竟然是一样的!
不,不完全一样,但前面是一样的,后面不同。
“怎么会有这么巧合?自己的加密方法,加密后的密文应该是千差万别的,不可能出现这么高的匹配度吧。”
“除非,织女这里在引导我什么。”
是的,牛郎也想到了,既然这段乱码,与上面密文1前半部分一样,说明,
这段乱码,跟密文1一样,很可能是织女用自己的私钥加密的。
接着,牛郎用织女的公钥解密这段乱码,果然,得到了另一段可读的文本:
“Hello,七月七日晚七点整,见面。”
牛郎一愣。
他知道夜长梦多,但没想到织女会如此激进。
转念一想,王母座下可是有一帮专家团的,时间一长难免找到新的算法漏洞。
尽快见面,确实是最佳的选择,必然能让王母措手不及。
而且关键的是,织女这封信确实伪装得很好,从内容上看,一般会被误认为是加密测试,不会多虑的。
牛郎慎重思考后,觉得织女所言合理。
不过,牛郎也是非常佩服织女,竟然在这么短的时间内,可以想到二次加密的思路。
而且,Hello这个前缀的应用,简直就是绝了。
只是,这回信,也不能让他人看出猫腻,所以牛郎谨慎地写了一封回信:
织女织女:
你简直冰雪聪明!用的太对了!完全正确,就是这样的!
当然,我知道这信件也有无数人(指王母)虎视眈眈,
关于密文2,好吧,我就留个线索:
不过是“你好,世界!”开头的一句话罢了,后面就不公开了,给各位看客们留个悬念,侧面证明我的加密方法安全性。
只有织女知道,那句“关于密文2,好吧”,不仅仅是一个感叹,更是对自己信件内容的肯定。
为了让大家放下疑心,牛郎紧接着给织女写了第二封信,
告知织女加密算法已看似稳定,但为了提防王母,还是先试运行几天,
确保王母确实拿它没办法,那么就可以正式商讨见面日期事宜了。
当然,信是写给织女的,实际上是给王母看的。
这封信,是七月六日晚发出去的,王母和织女在七月七日上午,都收到了信息。
牛郎与织女都知道,自己的周围,可能也遍布王母的眼线,监视着自己的一举一动。
为了表现地自然,牛郎织女其实并未做太多准备,而是和往常一样地生活,然后准备下一封信件而已。
七月七日黄昏时分,天庭御花园。
王母正坐在摇椅上,悠闲地乘凉。
花园的绿地上,五只可爱的玉兔正在静静地品尝美味的青草。
王母看着兔子出神:“人人都羡慕神仙,谁料神仙也有烦恼。”
是啊,一直与牛郎织女“作斗争”,怎么能没有烦恼。
王母端起茶杯,低头品了一口上等的天庭绿茶,再次望向兔子:
“若是像这四只玉兔一样,无忧无虑,该多好啊!”
转过头来,王母突然一愣:“等下,四只?刚才不是五只来着?”
抬头,发现一只猎鹰已经飞远了,那鹰爪之上隐约可以看出来是一只玉兔。
王母放下茶杯,自言自语:“额,这也太快了,就当我刚才啥都没说……”
这时候,王母忽然感觉自己右上方亮了一个灯泡:“不对,牛郎织女会不会也用了如此策略?”
“以迅雷不及掩耳之势,快速确定见面日期。如此说来,织女回信中的密文,必然是一条关键信息。”
王母大喝一声:“传天将巴戈,立刻来见我!”
片刻之后,巴戈已经来到了御花园。
“巴戈,织女密文的事情,查得怎么样了?”王母问道。
“回禀王母,属下无能,无法破译密文。”巴戈赶紧低头谢罪。
“一群废物!”王母大怒,但转念一想,这确实是理论上不可能解出来的,如果属下解出来了那才怪了。
王母叹了一口气,接着说:“罢了。那说说你们都做过哪些尝试吧。”
巴戈回想了一下,对王母说:“王母大人,首先我将专家团分成两组,‘正向破解组’与‘逆向验证组’。”
“正向破解组,就是正面面对密文,思考破解原文的方式。”
“当然,您也知道,牛郎设计的‘公钥-私钥机制’,破解运算量极大,这也是正向破解组绞尽脑汁却没什么收获的重要原因。”
“逆向验证组,是换一种思维,原文经过牛郎的公钥加密,可以得到密文。”
“那么,只要不断猜测原文,如果加密后得到的内容与密文一致,那原文就猜对了。”
“专家们按牛郎回复的内容,验证确实‘你好,世界!’加密后,与密文前缀一致。”
“但接下来的内容,却是无法猜测了。我们尝试了各种组合,都无从收获。”
巴戈接着说,“而且,专家名也尝试过将1月到12月,从1日到31日,从0点到24点等可能用于日期传递的文字,用牛郎公钥加密。”
“但得到的密文,在织女的那段密文中,都不能找到。”
“因此,我们也能初步断定,这确实只是一段普通的测试文本,应该不是什么见面日期传递。”
王母沉思了一会儿,反问道:“你觉得,你若是织女,你会不会在这篇密文中约定见面日期呢?”
巴戈想了想,说:“会,因为夜长梦多,就是要杀个措手不及。否则,谁知道哪天这个加密方法就被破译了。”
“对,我刚才看到了猎鹰的迅疾,也是猜测织女可能如此行事。”王母说,“但以织女的聪慧,她应该会揣测到我们的想法吧?”
此时,巴戈稍微一愣:“王母大人的意思,是织女可能不会只是简单地加密一次?”
王母点点头。
巴戈赶紧喊来专家团代表:
“快,将1月至12月这些最可能的元素,用多种加密方式反复尝试,务必确认织女的密文中没有时间信息。”
专家团代表赶紧离开,将任务分派下去。
“验证一次要多长时间?”王母问到。
“一个时辰足够了。”巴戈回答。
“那咱们先聊聊后续的计划吧。”王母让侍女给巴戈也倒了杯茶。
也就是一炷香左右的功夫,王母看了看时间,已经是晚上7点多了。
突然,专家团代表匆忙跑了过来:“报——有重大进展!我们发现,织女的密文1,用牛郎公钥加密后,与密文2中间有重叠部分!”
巴戈一拍桌子:“如此看来,织女是先经过了一次自己的私钥加密,然后用牛郎的公钥加密。”
“可恶,我们没有织女的私钥,这样一来,咱们根本无法验证内容!”
这时,又一位专家团成员气喘吁吁地跑过来,“王母娘娘,巴戈大人,专家团代表,我是‘逆向验证组’组长,刚才有重大发现!”
说着,他递上来一张字条,“虽然不知道是什么意思,但是这段内容用牛郎公钥加密后,与织女的密文2完全一致!”
巴戈很高兴,将纸条递给专家团代表:“先集中所有人力,用织女公钥解密这段信息!出结果后立即来汇报!”
“是!”专家团代表接过纸条,赶紧小跑着下去了。
王母则招呼侍女又倒上一杯茶,“赐座!”
“原理上说,牛郎的公钥-私钥机制牢不可破,说说你们是怎么得到这段信息的?”
验证组组长小心翼翼地坐下来,毕恭毕敬地说:“如果真的是完全解密的话,确实天庭的算力,一年之内算不出来的。”
“但是我们发现,织女的这段密文很短,也就是18个字,包含标点。”
“当然,用‘字’可能不太准确,因为牛郎按字典映射了每个字的索引,所以应该说密文是‘18组数字加密后的内容’。”
“虽然只有18组数字,但由于每组数字的范围都是极大的,我们逐个用牛郎的公钥验证,时间上也是不可能的。”
“因此,一位专家提出了‘启发式算法’。”
“这是一种‘运气+实力’的思想,随机产生18组数字,用牛郎公钥加密得到密文。”
“根据密文的相似度,制定一个打分标准,分为1-10分,对18组数字分别打分。”
“如果某组数字的分数高于5分,那么该组下次产生的随机数,就要与上次产生的数接近一些。”
“有点像是蚂蚁找食物,越是有可能接近食物的方向,就要越多地分配蚂蚁过去。”
“这个方向上的蚂蚁又会得到更多食物的信息,从而使正确道路上的蚂蚁越来越多,最终尽可能接近食物。”
“当然,可能蚂蚁们穷极一生,也找不到食物,所以,这个算法,提出该算法思想是实力,但真正算出结果要靠运气。”
“值得庆幸,我们的运气不错。”
王母大悦:“果然厉害!重赏!”
“报——”竟有两人同时来报,其中一位就是刚才的专家团代表。
“专家团代表先说。”王母说道。
“内容已经解密,是‘Hello,七月七日晚七点整,见面。’。”
王母看了看时间,已是七点二刻。叹息道:“看来,还是晚了一步。”
接着王母转头向另一位士兵:“你欲上报何事?”
“七点整,牛郎织女已点燃了‘会面符’,鹊桥现在已开始生成。”
王母再叹一口气,“唉——这次,真的是有点小看他们了。”
- 版权说明:
文章内容系作者原创,转载请注明出处。 - 封面图片:
印象笔记素材-蚂蚁
图片源自网络,如有侵权,可联系作者删除。 - 拓展资料:
百度百科-启发式算法
百度百科-蚁群算法