|
|
| 首页 > 产品中心 > 金山电子印章 2006 > 正文 |
| 金山电子印章 2006使用的密码算法 | 在金山电子印章2006系统中需要支持以Windows CAPI,PKCS等标准加密与CA接口进行加解密的函数。主要应用到如下几类函数: 制作数字信封、打开数字信封、制作数字签名、验证数字签名、临时文件保护、获取个人信息、获取用户信息 支持以上函数的密码算法主要有以下几类:
散列算法 主要散列算法包括:MD2、MD4、MD5、SHA-1等。散列算法主要对数据进行压缩形成一个摘要,原始数据的任何改动都会引起摘要数据的变动。文档的完整性即可通过散列算法来保证,在文档中保存了原始文档的摘要,打开文档时根据文档的内容重新生成摘要,并与保存的摘要进行对比,如果不同,说明文档被篡改过。
加密算法 包括对称加密算法和非对称加密算法两种。主要的对称加密算法有:DES、3DES、RC系列、AES等。
对称加密算法 同一个密钥既用于加密也用于解密,具有安全、速度快、加密得到的密文是紧凑的特点。 典型的加密算法DES具有极高安全性,到目前为止,除了用穷举搜索法进行攻击外,还没有发现更有效的办法。而56位长的密钥的穷举空间为256,这意味着如果一台计算机的速度是每一秒种检测一百万个密钥,则它搜索完全部密钥就需要将近2285年的时间,可见DES加密算法具有相当的安全性。
非对称加密算法 主要包括:RSA、ECC等。非对称加密算法用一个密钥(公或私)加密的数据只能用另一个密钥(私或公)来解密,支持数字签名和不可否认性。加密速度相对较慢,加密得到的密文变长。 RSA是被研究得最广泛的非对称加密算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一,它是第一个既能用于数据加密也能用于数字签名的算法。 实际应用时,要综合考虑加密算法的安全性与使用效率,需要综合使用对称加密算法与非对称加密算法对文档进行加密。常见的加密过程如下: 1.生成随机对称密钥,对明文数据加密; 2.使用接收者的公钥加密产生的随机对称数据,称为“密钥打包操作”将被打包的密钥附在密文后面行成“数字信封”,发送给接收者。 3.接收者将“数字信封”拆分成密文和被打包的密钥,使用接收者的私钥解密被打包的密钥,得到初始的随机对称密钥;使用随机对称密钥解密密文,得到明文。该随机对称密钥被丢弃。
数字签名 利用公开密钥技术的一个主要目的就是为了实现对数据进行鉴别,保证其合法性与不可否认性,这就要用了数字签名。数字签名的制作与验证需要综合应用以上两类算法进行。对数据进行数字签名时,对需要加密的数据进行散列计算形成摘要,再使用发送者的私钥加密摘要,即形成了发送者的数字签名。 加密后的摘要(数字签名)附在原始数据后面发给接收者。接收者把数据和加密的摘要分开,使用发送者的公钥对加密的摘要进行解密得到摘要1。使用同样的散列算法对数据进行计算得到摘要2。将摘要1与摘要2进行匹配即可确定数据内容是否完整。 | |
|
|