欢迎来到天天文库
浏览记录
ID:26617818
大小:52.50 KB
页数:4页
时间:2018-11-28
《“不可破译”的密码(1)的论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、“不可破译”的密码(1)的论文 密码在当今社会生活中的作用可以说十分巨大,除了众所周知的军事国防方面的应用外,现代金融、贸易、生产等无不在大规模使用密码.计算机网络的广泛应用,使人们对密码的依赖达到了新的高度,在千百万台计算机联结成的因特网上,用户的识别基本上是靠密码.密码被破译就会产生危及安全的极严重的后果.计算机“黑客”的作为,即为密码破译的一例,连美国国防部的计算机都未能幸免,可见密码编制的难度了. 由大整数因数分解的困难,人们研制成功一种“不可破译”的密码:rsa体制密码(见本刊2000年第6期《大整数的因数分解问题》一文).rsa密码是一种公开密钥密码,说它“不可破
2、译”是形容破译之难,不过的确至今尚没找到破译的理论工具. 一般密码编制理论中,称要传递的原文为“明文”,经加密后实际传递的是密码构成的“密文”,收信方则将其解密,恢复为明文使其可理解,就完成了通信任务.这其中加密和解密要用通信双方约定的方法,这一方法就称为密钥.更一般地,人们首先给定一个加密算法,不太严格地说,可把这一算法视为函数,函数的值就是密钥,而解密算法可以说是加密算法的一个反函数,使用同一个密钥(原函数的值)可将密文惟一地译成明文. 密码的关键就在于通信双方约定密钥而不被外界所知,外界对密码的破译也就指向密钥了.而且为了防止外界可能的破译,就应尽力使外人不可能积累在同
3、一密钥下的许多密文,否则可用统计分析法等确定出密钥,世界战争史、外交史上有许多破译成功的例子.这样就经常变换密钥,重要的通信要每天一换甚至通一次信换一次. 这么频繁换的密钥怎样送给对方?如果随其他信息(用无线电或网络)易于失密,每次派专人送又不可能,怎样解决这一问题呢?这就是rsa密码的长处了,它把密钥分成加密钥和解密钥.如a和b通信,a把加密钥公开送达b(可用明码电报或与上次通信同时),不怕外人知道,所以叫公开密钥,而解密钥留在自己处不送达b,b收到公开密钥后,用它加密要给a的信息,然后送回a(这也无须特别秘密),则a可用手中的解密密钥解密. 外人没有解密密钥,就无从破译密
4、码了,那么加密钥和解密钥就没有关系了吗?当然不是,否则就无法解密了.不过这种关系正是建立在大整数因数分解困难的基础上.换句话说,由公开密钥得出解密钥要进行一个充分大的整数的因数分解,你无法分解也就无法破译. 具体的编码过程是,先找出两个不同的大素数p和q,再给定一个数r(一般是用计算机产生一个随机数或至少一个伪随机数,也可每次一换),使r与数(p-1)(p-1)互素,这三个数p、q、r就是解密密钥. 再求一个数m,使(rm-1)能被(p-1)(q-1)整除.严格表述为:求m,使 rm≡1(mod(p-1)(q-1)). 由于r与(p-1)(q-1)互素,所以m是一定可求出
5、来的(有数论定理保证).再求出数n=pq.m、n为加密密钥,即公开密钥. 具体的加密方法为,设明文为x,可把x视为(或变为)一个大整数,设x<n,若x≥n,则将x表示为s进位的形式(s≤n,常用s=2t形式)的数,使其每一个数位上的数都小于n,再分数位进行编码.求一个数y(0≤y<n)使 y≡xm(modn)(可理解为,使(y-xm)能被n整除),y就是用m、n密钥加密后的密文. 解密过程为,求 z=yr(modn)(0≤z<n), 在限定的条件(0≤y<n,0≤z<n)下有(可严格证明) δ=x, 即得出明文. 外人要想破译密码,就必须由m、n求出数r来. 由
6、此可见,要找到r必须由n得出p和q,即对n进行因数分解,如p、q取得相当大,即n相当大,由于分解困难,无法破译这一密码. 由于运用现代计算机已可分解100位左右数的因数,因此n要取得相当大,从而p、q也要取得相当大,比如每个数80位以上,再求积,这在技术上是可能的. 是否还应考虑相应计算的复杂性和计算所需要的时间呢?当然有这方面的问题,现在通常用复合编码法解决,即用其他计算比较简单、耗时少的编码方法编码,而每次编码所采用的密钥用rsa密码来传递,这既加强了安全性,又加快了速度.
此文档下载收益归作者所有