DES与RSA的比较?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/27 00:45:29
DES与RSA的比较?
x}V[OG+T&*yJ^དྷ[*Rl̥ll`ms 1j _3rfg1&j+Yb9u yƧh519[ms=j Y97eZ5<2|?10=TAwG~w\/CVJ7ŠK|X%H_[pۼX8k,aC! X%~6N]r݌ϯHV CBZ]d> t*2}#+G;U֏Y7ZՄ/ ?S(R 鄐X;0Hc؜R \{?-a>{efo6l2s E=WRgլ%Jw$Yg3mZ6ZZcd <`&'/_9 UڈmˊqVg/!ZfK*bVWE |YcsߺK# vqD,XW`6an[|m{~$)a  J|풪2/2)!ZYTog5fl[/hF;0̃\;d^K눇KJ]Auk|jxBgiaPK|QZlη@ %B`<)?+=!opLI

DES与RSA的比较?
DES与RSA的比较?

DES与RSA的比较?
DES算法全称为Data Encryption Standard,即数据加密算法,它是IBM公司于1975年研究成功并公开发表的.DES算法的入口参数有三个:Key、Data、Mode.其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密.
DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,其算法主要分为两步:
1初始置换
其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长3 2位,其置换规则为将输入的第58位换到第一位,第50位换到第2位……依此类推,最后一位是原来的第7位.L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位,例:设置换前的输入值为D1D2D3……D64,则经过初始置换后的结果为:L0=D58D50……D8;R0=D57D49……D7.
2逆置换
经过16次迭代运算后,得到L16、R16,将此作为输入,进行逆置换,逆置换正好是初始置换的逆运算,由此即得到密文输出.
RSA算法简介
这种算法1978年就出现了,它是第一个既能用于数据加密也能用于数字签名的算法.它易于理解和操作,也很流行.算法的名字以发明者的名字命名:Ron Rivest,AdiShamir 和Leonard Adleman.但RSA的安全性一直未能得到理论上的证明.
RSA的安全性依赖于大数分解.公钥和私钥都是两个大素数( 大于 100个十进制位)的函数.据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积.
密钥对的产生.选择两个大素数,p 和q .计算:
n = p * q
然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) 互质.最后,利用Euclid 算法计算解密密钥d,满足
e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) )
其中n和d也要互质.数e和n是公钥,d是私钥.两个素数p和q不再需要,应该丢弃,不要让任何人知道.
加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,...,mi ,块长s,其中 2^s