信息机

数学保障信息传输安全的核心技术遇见

发布时间:2025/5/19 18:25:07   
北京中科白癜风医院价格 https://wapjbk.39.net/yiyuanfengcai/yyjs_bjzkbdfyy/
[遇见数学翻译小组]作者:赵小翼、大柳子。加密、解密和密码等概念,曾经只与间谍,情报活动和恋人之间的隐秘通信联系在一起。但密码学——关于保密的科学——现在已成为我们日常生活的一部分,不论是在发送邮件时还是线上购物时我们都会用到它。而正是密码学背后的数学原理,使电子商务革命和信息时代成为可能。▲恺撒曾经使用下面加密信息方法与其将数学一直是密码学的核心。尤利乌斯·凯撒(JuliusCaesar)使用了替换加密技术,现在被称为凯撒密码,该技术通过将每个字母替换为字母表中往后移三位的字母来编码信息。所以所有的字母A将被替换成D,B变成E,将被替换为依此类推。当我们使用数学方法来做分析,用在字母表中的位置序号表示每个字母——即——可见凯撒密码是使用取模运算。凯撒密码把每个字母(实际上是位置序号)先加3后对26取模,以得到编码后的信息。上图当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这是模数为26的取模运算,所以数学就被应用于最基础的密码技术。密钥分发最近,数学为密钥分发问题提供了解决方案。密钥分发问题,是多年来密码学中最重要的问题之一。假设你想通过互联网购买一些东西,比如从亚马逊购买麦当娜最新的CD。在某个时刻,你将被要求输入你的信用卡详细信息并将信息发送给亚马逊。正如数学家西蒙·辛格解释的那样,这是一个极具风险的时刻。“如果有人截获了你传给亚马逊的消息,他们可能会窃取你的信用卡卡号,并以你的名义疯狂盗刷。所以你应该根据一些特殊的方法对你的信用卡卡号进行加密编码,这些方法会混淆、移动并替代信用卡号本身,并具有密码所应有的所有优点。“现在的问题是,当它到达另一端时,有人需要正确解开它,但是他们不知道你加密编码的方法,因为只有你知道。如亚马逊线上购物是一个很好的例子,因为他们总部位于西雅图。所以你要怎么把你的编码配方送到西雅图,以便亚马逊可以解密你的信息呢?这样的配方就是我们所说的密钥,而在接收者和发送者之间传递密钥则被称为密钥分发问题。”人们过去认为解决这个问题的唯一方法是让发送者和接收者肉身相会,或借助于信使传递密钥。数学家西蒙·辛格说,这就是人们在第二次世界大战中那样。“人们会把密钥传递到荒漠另一端,而U型潜艇将返回到基地以获取密钥,诸如此类。”但是理论上再怎么安全的密码,都有可能败在发送钥匙的环节上。但值得庆幸的是,数学家们在这里大显身手。“数学的伟大之处在于,某些事情看似不可能,但除非已有人证明了这些事情的确不可能,否则数学家会说‘好吧,让我们尝试并找到一个解决方案。’”他们的确这么做了。以下是辛格对解决方案的解释。“我把信息放在一个盒子里,扣上盖子,转动钥匙锁上然后把盒子交给你。但你不能打开它,因为钥匙还在我手里。”一些数学家Diffie,Hellman和Merkle想到了另一种处理方法。“我把信息放在盒子里,挂上锁后然后交给你。现在你仍然无法打开它,你所要做的事情是:给盒子上再加把你的锁,并把盒子交回给我。然后我把我的挂锁取下来,把盒子交回给你。你把你的挂锁取下来,于是就打开了盒子。”因此理论上,信息可以在不交换密钥的情况下实现保密地传递。“突然之间,这个例子解决了年来人们认为不可能解决的问题。不需要交换密钥。”给信息加上数学挂锁进一步这些数学家考虑挂锁的工作原理。考虑任何人都可以锁上一个已打开的挂锁——你不需要用钥匙来锁上它——但再次打开它就需要钥匙喽。这样的话,当你从亚马逊购买东西时,你只需要一个已打开的挂锁。“你说,‘嘿,亚马逊,你可以把挂锁发给我吗?’然后他们会把他们的已打开的挂锁发给你”。“你把这个亚马逊的挂锁锁在装有自己信用卡详细信息的盒子上,然后把盒子交给亚马逊,他们已经拿到了钥匙,因为那个挂锁一开始就是他们的。”因此,通过发给你一把打开的挂锁,亚马逊可以再次打开它并获取你的支付信息。“这一突破显著改变了互联网的安全性。它创造了成千上万的就业机会,并使做出这一发明的数学家成为百万富翁。这是一个非凡的突破。但问题是,如何制作数学挂锁?显然,在互联网上人们没法使用物理世界的挂锁,你需要用某种软件算法来制作挂锁。“解决这个问题的方法,是去询问一个数学家,挂锁有什么特别之处?特别之处在于它很容易被锁上但很难打开——这就是数学中的单向函数(One-wayfunction),容易正向运算但难以逆向运算。整数相乘是一个经典的单向函数。将两个数相乘得到一个乘积很容易。但直接给出一个很大的数,要找出与它对应的两个因数则很难。这就是数学挂锁的核心。”例如,17乘以7相当容易计算,但是你能快速计算出哪两个数相乘得到吗?今天,互联网上使用的数学挂锁类型被称为RSA公开密钥密码系统(Rivest–Shamir–Adleman),它以其发明者RonaldRivest,AdiShamir和LeonardAdleman的名字命名。▲从左到右依次为RonRivest,AdiShamir,LenAdleman一个RSA挂锁由两个数字组成:加密密钥e和与数学原理相关的模数N。例如,让我们使用加密密钥e=3和模数N=55的挂锁。在加密信息之前,首先通过标准方法,将信息转换为数字,如将字符替换为二进制数的ASCII。然后为了安全地加密数字消息m,假设m=14,通过执行以下计算,把它转变为另一个数字c,c被称为密文:49是除以55时的余数。因此,密文c就是49。然后可以使用一个密钥对该密文进行解密,在本例中,密钥d=27,解密方式如下:我们看到,借助密钥d,我们将密文解密出了初始信息14。为了使如上所述系统运作,我们需要找到数字e,N和d,使得解密密文c的过程对于任何初始信息都是可行的。因此,对于任何信息m:因此,为了使RSA系统运作,你需要找到数字e,N和d,使得将任何信息m先做指数为ed的幂运算,然后对N做取模运算,等价于对数字m做指数为1的幂运算。RSA系统提供了一种计算这些数字的方法,使得只有知道N的因数时,你才能使用挂锁e和N计算得到密钥d。这是系统安全性的根基。我们选择使用N等于两个大素数乘积的挂锁。年8月,一个由数学家组成的大型团队花费了超过35个计算年,才完成了一个位数字的素因数分解,而根据RSA网站,目前的技术无法实现位数字的素因数分解。因此,如果你选择两个足够大的素数,使得它们的乘积N的数位长度超过位,则在现有计算能力下通过对N做素因数分解来破解密钥是不可行的。只要对这两个素数保密,挂锁——e和N——就可以安全地分发出去,因为人们不可能从这些信息中破解出来密钥d。计算RSA挂锁和密钥并不简单,但值得注意的是它使用了一些非常古老的数学成果。计算过程中某一步使用了欧拉在十八世纪发现的欧拉函数,而另一步使用了公元前年《几何原本》中记录的欧几里得算法的一个扩展版本。实践中,RSA并不被用于加密实际信息,而是被用于加密另一个编码系统的密钥,例如DES或3DES(加密速度快)。原因在于RSA加密效率极低,难易用此算法来加密大量的数据。所以人们将两种算法结合来用,DES来加密较长的信息,RSA来只对DES的密钥加密,这样来弥补RSA的缺点。所以目前,RSA使得信息处于安全的境况,但黑客是否会找到破解RSA挂锁的方法?辛格猜测RSA几乎是不可破解的。“目前没有人证明破解是不可能的,说不定明天就有人想出一个非常聪明的方法来破解RSA,但我认为不会发生这种情况。”素因数分解是一类难题——NP问题——中的一个。许多数学家相信NP≠P,尽管他们还没有证明这一点。现代隐写术因此,只要使用足够长足够大的密钥,RSA就会保持安全,而衡量是否足够长足够大的标准,随着计算能力的提高在变化。然而,在某些情况下,仅使用足够长的密钥不足以使加密保证安全。有时你需要隐藏自己使用了加密技术这一事实,或者隐藏自己正在发送信息这一事实。隐写术(Steganography)——一种隐藏信息的做法,是与密码学一起发展的保密科学领域。它已经从最早吞下隐藏有信息的蜡球或使用隐形墨水,发展到今天可以在互联网上使用的方法。▲图自维基这是一棵树的照片,内含了隐蔽的图像。如果把每个色彩空间和数字3进行按位与(Bit-wiseAND)运算,再把亮度增强85倍,得到上左图,从上右图则是恢复出的图像。(-End-)

转载请注明:http://www.aideyishus.com/lkjg/8688.html
------分隔线----------------------------