1.数据加密和解密技术的要素
数据加密的技术核心是密码技术。密码技术是实现网络信息安全的核心技术,是保护数据最重要的工具之一。通过加密交换,将可读的文件变换成不可理解的乱码,从而起到保护信息和数据的作用。网络中的数据加密则是通过对网络中传输的信息进行数据加密,满足网络安全中数据加密、数据完整性和不可抵赖性等要求。
由此可见,在加密和解密的过程中,都要涉及信息(明文、密文)、算法(加密算法、解密算法)和密钥(加密密钥、解密密钥)这几个基本要素。
1)明文
明文是指希望得到保密的原始信息。例如,若想加密“China”这个信息,“China”就是明文。
2)密文
密文是经过加密处理后得到的隐藏信息。例如,经过某种加密机制,上述的信息变为“FKLQD”,则“FKLQD”就是密文住处。
3)加密算法
加密算法是指通过一系列的变换,替代或其他各种方式将明文信息转化为密文信息的方法。
4)解密算法
解密算法是与加密算法相反的过程,指通过一系列变换、替代或其他各种方法将密文恢复为明文的方法。加密算法与解密算法一般是公开的。
5)密钥
密钥类似于银行保险箱的钥匙,除了拥有保险箱钥匙的人能够开启箱子取得“保险物品”之外,其他人都无法获得,即只有拥有密钥的人才能从密文中恢复明文的信息。因此,密钥是密码系统最关键的要素,其安全性关系着整个密码系统的安全。
一个完整的加密和解密过程将涉及以上五个基本要素,数据加密解密过程如图9.3所示。
图9.3 数据加密和解密过程
2.密钥体制
密钥分为加密密钥和解密密钥。完成加密和解密的算法称为密码体制,传统的密码体制所用的加密密钥和解密密钥相同,形成了对称式密钥加密技术。在一些新体制中,加密密钥和解密密钥不同,形成非对称式密码加密技术,即公开密钥加密技术。
1)对称式密钥加密技术
对称加密,是指使用同一把密钥对信息加密,而对信息解密,同样采用该密钥即可。如果一个加密系统的加密密钥和解密密钥相同,或者虽不相同,但可以由其中一个推导出另一个,则为对称密钥密码体制。
(1)对称式密钥加密技术的分类。
对称加密的典范是DES。1977—1998年,DES一直被确认为美国国家加密标准。另一个是IDEA,它比DES的加密性好,而且对计算机要求不高。
① DES。DES(Data Encryption Standard,数据加密标准)是一种数据分组的加密算法,是由IBM在20世纪70年代发展起来的,并经过政府的加密标准筛选后,于1997年被美国政府定为联邦信息标准。它将数据分成长度为64位的数据块,其中8位作为奇偶校验,有效的密码长度为56位。DES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮迭代,最后进行逆初始化变换而得到密文。
② IDEA。IDEA(International Data Encryption Algorithm,国际信息加密算法)是一种国际信息加密算法,于1992年正式公开,是一个分组大小为64位,密钥为128位,迭代轮数为8轮的迭代型密码体制。此算法使用长达128位的密钥,有效地消除了任何试图破解密钥的可能性。
(2)对称式密钥加密技术的优缺点。对称式密钥加密技术具有加密速度快、保密度高等优点。其缺点有以下几个。
①钥是保密通信安全的关键,发信方必须安全、妥善地把钥匙护送到收信方,不能泄露其内容。如何才能把密钥安全地送到收信方,是对称密钥加密技术的突出问题。
② 通信时密钥的组合的数量会出现爆炸性的膨胀,使密钥分发更加复杂化,nn个人进行两两通信,总需要的密钥数为n(n-1)/2。
③通信双方必须统一密钥,才能发送保密的信息。如果发信者与收信人是素不相识的,就无法向对方发送秘密信息。
④对称密钥体制难以解决电子商务系统中的数字签名认证问题。对于开放的计算机网络来说,存在着安全隐患,不适合网络环境邮件加密的需要。
2)公开密钥加密技术
如果将一个加密系统的加密密钥和解密密钥分开,加密和解密分别由两个密钥来实现,并使得由加密密钥推导出解密密钥(或反之)在计算上是不可行的。则该系统称为公开密钥加密技术。
采用公开密钥加密技术的每一个用户都有一对选定的密钥。加密密钥公布于众,谁都可以用,解密密钥只有解密人自己知道,分别称为公开密钥(Public-Key)和私有密钥(Private-Key)。公开密钥加密算法的典型代表是RSA算法。
RSA算法于1978年就出现,这是一个既能用于数据加密,也能用于数字签名的算法。算法的名字以发明者的名字命名[李维斯特(Rivest)、萨莫尔(Shamir)和阿德曼(Adleman)]。但RSA的安全性一直未能得到理论上的证明。
RSA的安全性依赖于大数分解。它利用两个很大的质数相乘所产生的乘积来加密。这两个质数无论哪一个先与原文件编码相乘,对文件加密,均可由另一个质数再相乘来解密。但要用一个质数来求出另一个质数,则是十分困难的。因此将这一对质数称为密钥对(Key Pair)。一个作为公开密钥向公众开放,另一个作为私有密钥不告诉任何人。
(1)信息保密原理。公开密钥与私有密钥这两个密钥是互补的,即用公钥加密的密文可以用私钥解密,而用私钥加密的密文可以用公钥解密。在加密应用时,接收者总是将一个密钥公开,为发送一份保密报文,发送者必须使用接收者的公共密钥对数据进行加密。一旦加密,只有接收方用其私人密钥才能加以解密。假设甲和乙互相知道对方的公开密钥,甲向乙发送信息时用乙的公开密钥加密,乙收到后就用自己的私有密钥解密出甲发送的原文。由于没有别人知道乙的私有密钥,从而解决了信息的保密问题。
(2)签名认证原理。
另外,由于具有数字凭证身份的人员的公共密钥可在网上查到,因此,任何人都可能知道乙的公开密钥,都能给乙发送信息,乙要确认是甲发送的信息,就产生了认证的问题,于是要用到数字签名。数字签名是发送方用自己的私钥加密,而接收方用发送方的公钥解密。
RSA公钥体系的特点使它非常适合用来满足上述两个要求:保密性和认证性。
3.数字摘要
数字摘要是将任意长度的消息变成固定长度的短消息,类似于一个自变量是消息的函数,也就是Hash函数。Hash函数的好坏是由发生碰撞的概率决定的。如果攻击者能够轻易地构造出两个具有相同的Hash值的消息,那么这样的Hash函数是很危险的。一般来说,安全Hash标准的输出长度为160位,这样才能保证足够的安全。
数字摘要的原理:通过某种密码运算生成一系列符号及代码并组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证无法比拟的。数字摘要的过程如图9.4所示。
图9.4 数字摘要
用于数字摘要的Hash函数应该满足以下几个条件。
(1)对同一数据使用同一个Hash函数,其运算结果应该是一样的,即对同一文件采用同样的“全息处理”过程,形成的“全息照片”应该是一样的。
(2)Hash函数应具有运算结果不可预见性,即从源文件的变化不能推导出缩影结果的变化,对源文件的微小变化可能会导数“全息照片”的巨大变化。
(3)Hash函数具有不可逆性,即不能通过文件缩影反算出源文件的内容。
由此可以看出,通过Hash函数计算出的“信息文摘”可以被看作源文件的缩影。由于它是整个源文件经过Hash函数处理的结果,因此该“缩影”的完整性可以代替源文件的完整性。通过Hash函数可以将变长文件缩为定长信息,避免对全文加密的时间消耗(加密算法的实现需要大量的数学计算)。目前常用的Hash算法有安全散列算法(the Secure Hash Algorithm, SHA)、MD5(Message Digest Algorithm,消息摘要算法第五版)等。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。