通用密钥密码体制
通用密钥密码体制的加密密钥Ke和解密密钥Kd是通用的,即发送方和接收方使用同样密钥的密码体制,也称之为“传统密码体制”。
例如,人类历史上最古老的“恺撒密码”算法,是在古罗马时代使用的密码方式。由于无论是何种语言文字,都可以通过编码与二进制数字串对应,所以经过加密的文字仍然可变成二进制数字串,不影响数据通信的实现。
现以英语为例来说明使用恺撒密码方式的通用密钥密码体系原理。
例如:恺撒密码的原理是,对于明文的各个字母,根据它在26个英文字母表中的位置,按某个固定间隔n变换字母,即得到对应的密文。这个固定间隔的数字n就是加密密钥,同时也是解密密钥。例cryptograsphy是明文,使用密钥n=4,加密过程如图所示:
明文: C R Y P T O G R A P H Y
| | |
| |................. | 密钥:n=4
| | |
密文: F U B S W R J U D S K B
说明如下:
明文的第一个字母C在字母表中的位置设为1,以4为间隔,往后第4个字母是F,把C置换为F;同样,明文中的第二个字母R的位置设为1,往后第4个字母是U,把R置换为U;依此类推,直到把明文中的字母置换完毕,即得到密文。密文是意思不明的文字,即使第三者得到也毫无意义。通信的对方得到密文之后,用同样的密文n=4,对密文的每个字母,按往前间隔4得到的字母进行置换的原则,即可解密得到明文。
恺撒密码方式的密钥只有26种,只要知道了算法,最多将密钥变换26次做试验,即可破解密码。因此,恺撒密码的安全性依赖于算法的保密性。
在通用密码体制中,目前得到广泛应用的典型算法是DES算法。DES是由“转置”方式和“换字”方式合成的通用密钥算法,先将明文(或密文)按64位分组,再逐组将64位的明文(或密文),用56位(另有8位奇偶校验位,共64位)的密钥,经过各种复杂的计算和变换,生成64位的密文(或明文),该算法属于分组密码算法。
DES算法可以由一块集成电路实现加密和解密功能。该算法是对二进制数字化信息加密及解密的算法,是通常数据通信中,用计算机对通信数据加密保护时使用的算法。DES算法在1977年作为数字化信息的加密标准,由美国商业部国家标准局制定,称为“数据加密标准”,并以“联邦信息处理标准公告”的名称,于1977年1月15日正式公布。使用该标准,可以简单地生成DES密码。
在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。
与传统的加密方法不同,该技术采用两个不同的密钥来对信息加密和解密,它也称为"非对称式加密方法。每个用户有一个对外公开的加密算法E和对外保密的解密算法D, 它们须满足条件: (1)D是E的逆,即D[E(X)]=X; (2)E和D都容易计算。 (3)由E出发去求解D十分困难。 从上述条件可看出,公开密钥密码体制下,加密密钥不等于解密密钥。加密密钥可对外公开,使任何用户都可将传送给此用户的信息用公开密钥加密发送,而该用户唯一保存的私人密钥是保密的,也只有它能将密文复原、解密。虽然解密密钥理论上可由加密密钥推算出来,但这种算法设计在实际上是不可能的,或者虽然能够推算出,但要花费很长的时间而成为不可行的。所以将加密密钥公开也不会危害密钥的安全。 数学上的单向陷门函数的特点是一个方向求值很容易,但其逆向计算却很困难。许多形式为Y=f(x)的函数,对于给定的自变量x值,很容易计算出函数Y的值;而由给定的Y值,在很多情况下依照函数关系f(x)计算x值十分困难。例如,两个大素数p和q相乘得到乘积n比较容易计算,但从它们的乘积n分解为两个大素数p和q则十分困难。如果n为足够大,当前的算法不可能在有效的时间内实现。
特点:
(1) 发送者用加密密钥 PK 对明文 X 加密后,在接收者用解密密钥 SK 解密,即可恢复出明文,或写为:
Dsk(Epk(X)) = X
解密密钥是接收者专用的秘密密钥,对其他人都保密。
此外,加密和解密的运算可以对调,即
Epk(Dsk(X)) = X
(2) 加密密钥是公开的,但不能用它来解密,即
Dpk(Epk(X)) ? X
(3) 在计算机上可容易地产生成对的 PK 和 SK。
(4) 从已知的 PK 实际上不可能推导出 SK,即从 PK 到 SK 是“计算上不可能的”。
(5) 加密和解密算法都是公开的。
百度一下