信息安全技术——密码与隐藏技术
密码技术中常用术语:
1、明文P :可以理解的信息原文;
2、加密E:用某种方法伪装明文以隐藏它的内容的过程;
3、密文C:经过加密后将明文变换成不容易理解的信息;
4、解密D:将密文恢复成明文的过程;
5、密钥K:用来控制加密和解密算法的实现。
古典加密方法
1、代替密码
按照一定要求,将明文中的每个字符替换成另一个字符,明文中字符的位置保持不变,但其本身改变了。如移位密码、单表置换密码(例:凯撒密码)、多表置换密码
2、换位密码
改变明文中字母的位置,但明文中的字母不变。
例:可以将明文the变换成het
3、对称加密算法
特点:
①采用的解密算法就是加密算法的逆运算,或者解密算法与加密算法完全相同;
②加密密钥和解密密钥相同,或者加密密钥能够从解密密钥中推算出来,反过来也成立。
对称算法要求发送者和接收者在安全通信之前,商定一个密钥,它的安全性依赖于密钥的保密性。
对称算法可分为两类:分组密码和序列密码
对称加密算法
一、数据加密标准DES
DES是分组加密算法,它以64位(二进制)为一组,对称数据加密,64位明文输入,64位密文输出,密钥长度为56位,但密钥通常表示为64位,并分为8组,每组第8位作为奇偶校验位。
利用密钥,通过传统的换位、替换和异或等变换,实现二进制明文的加密与解密。
DES算法加密过程
1、初始置换
2、明文分组
3、密钥置换
4、密钥分组、移位、合并
5、产生子密钥
6、扩展置换
7、子密钥和扩展置换后的数据异或运算
8、S盒代替(核心部分,整个变换过程是非线性的)
9、P盒置换
10、P盒输出与原64位数据异或运算
11、R(i-1)→L(i)
12、重复4~11步
13、逆初始置换
二、高级加密标准AES
AES算法是一种分组密码体制,其明文分组长度、密钥长度可以是128比特、192比特、256比特中的任意一个。
公开密钥算法
特点:1、在公开密钥算法中,有一对密钥(pk,sk),其中pk是公开的,即公开密钥,简称公钥。另一个密钥sk是保密的,简称私钥;
2、在公开密钥算法中,进行加密和解密时,使用不同的加密密钥和解密密钥,而且加密密钥或解密密钥不能相互推导出来,或者很难推导出来。
3、在公开密钥算法中,公开密钥和私人密钥必须配对使用;
4、公开密钥算法的安全性是依赖于某个数学问题很难解决的基础上;
一、RSA算法
一种典型的公开密钥体制算法。
与传统的对称密码算法相比,RSA算法优势:①为实现数字签名和数字认证提供了手段,而用DES无法实现这一功能; ②在一个有N个结点的网络中,用DES算法进行数据加密时需要使用N(N-1)/2对密钥,而用RSA算法只需要N对密钥,大大减轻了密钥分配与管理的工作量。
对称加密体制与公开密钥体制对比
1、对称算法
(1)在对称算法体制中,如果有N个成员,就需要N(N-1)/2个密钥,这巨大的密钥量给密钥的分配和安全管理带来了困难;
(2)在对称算法体制中,知道了加密过程可以很容易推导出解密过程,知道了加密密钥等于知道了解密密钥,可以用简单的方法随机产生密钥;
(3)多数对称算法不是建立在严格意义的数学问题上,而是基于多种“规则”和可“选择”假设上;
(4)必须建立受保护的通道来传递密钥;
(5)不能提供法律证据,不具备数字签名功能;
(6)对称算法加密速度快,通常用加密算法加密大量的明文。
2、公开密钥算法
(1)在公开密钥算法中,每个成员都有一对密钥(pk,sk),如果有N个成员,只需要2N个密钥,需要的密钥少,密钥的分配和安全管理相对要容易一些;
(2)知道加密过程不能推导出解密过程,不能从pk推导出sk,或从sk推导出pk。或者说如果能推导出来也是很难的,要花很长的时间和代价。
(3)容易用数学语言描述,算法的安全性是依赖于某个数学问题很难解决的基础上;
(4)需要一个有效的计算方法求解一对密钥pk、sk,以确保不能从pk、sk中相互推导;
(5)用公开密钥算法传送信息时,无需在通信双方传递密钥,也就不需要建立受保护的信息通道。
(6)就目前来看,公开密钥算法加密的速度要比对称算法慢得多,一般只用公开密钥算法加密安全要求高、信息量不大的信息。
