图灵计划(一)

本文介绍了图灵如何运用数论设计加密计划,以保护二战时期的军事通信。图灵将信息转化为素数进行加密,但计划存在的缺陷在于重复使用同一密钥会导致密钥可被破解。文章探讨了素数测试和素因数分解的难题,并暗示图灵可能使用了模运算来改进计划。
摘要由CSDN通过智能技术生成

数论的第一次应用

数论是一门研究整数的学科。为什么会有人想要研究整数呢?数论到底能在生活中哪些地方得到应用呢?数论的用处并不是显而易见的。但是数论既然偏离了人类所有的生活轨迹,那为什么会有人研究它呢?

让我们回到1937年的秋天,德国在希特勒的领导下重新武装,世界大战一触即发。此时的图灵和我们一样正思考着数论能在哪些地方被应用。他很快意识到,在战争爆发以后,能否保护盟军之间通过电报传递的密令将成为能否赢得战争的关键。于是,图灵设想,能否通过数论来加密通信呢?这个灵机一动的设想,使数论彻底的融入我们的现代生活中。如今,数论已成为众多公钥密码系统,数字签名方案,密码散列函数和数字现金系统的基础。每一次你在淘宝购物,或者使用支付宝在线支付,你都在使用数论的一些算法。

图灵在设计好他的加密和解密算法后,很快就消失在公众的视野中,直到过了半个世纪之后,人们才逐渐知道图灵当时去了哪里,他在那里做了什么样的工作。我们接下来要通过分析图灵留下的一些手稿,试图重建图灵的计划。对于计划的具体细节,我们是未知的,因为图灵从来没有向外界公布过他的计划,因此我们只是推测图灵当时可能的,合理的想法。

图灵计划第一版

图灵的计划是通过数论来加密信息,那么我们首先假设图灵把这条信息转化为一个素数。这一步并不是真正的加密,只是转化为素数有利于后面的运算,所以这一步并不是至关重要的。一种简单的方法就是将每个字符编码成两位的数字( A = 01 , B = 02 , C = 03 A=01,B=02,C=03 A=01B=02C=03,等等),然后信息就会转化成一个巨大的整数,然后我们可以在这个整数后面加上必要的数字使其成为一个素数。例如,如果我们编码"victory"这个单词:

 v   i   c   t   o   r   y
22  09  03  20  15  18  25	13

我们得到一个素数 2209032015182513 2209032015182513 2209032015182513 ,后面加 13 13 13 是为了使它成为素数。现在我们可以这样加密这个素数,我们用 m m m 来代表没有被加密的信息,用 m ′ m' m 代表加密之后的信息。发送和接收信息的双方事先约定一个非常大的素数 p p p 作为密钥。发送方通过下面这个公式来加密 m m m
m ′ = m ⋅ p m' = m \cdot p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值