加密技术原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
加密技术原理
一.密钥与算法
(一) 密码技术
1. 密码技术的必要性
必须经过公共通道(如Internet)传输的敏感信息通常不是以明文而是以密文的方式进行通讯传输的。电子商务特别依赖于加密或秘密代码形式来保护信息。加密的目的是使黑客在获得通过网络传输的秘密文件时,无法将它恢复为原文,密码技术是保证网络、信息安全的核心技术。
2.加密技术
加密是对原来明文信息中的加密为衔文数字信息。解密是将加密的一段密文信息恢复为原来的明文信息。加密就是信息的变异,它将某种形式(文本、视频、图像)的信息转变为仅通过解密密钥解密后才可读的形式。
基本的加密方法有:替换加密和转换加密。
3. 替换加密法
(1) 单字母加密方法
即利用另一个字母表(与正常的字母表符号或顺序不同)中的字母替代明文中的字母。单字母加密的方法有很多中,这里介绍其中几种。
例1:恺撒(Caesar)密码,
这是加密法中最古老的一种,它使用的密码字母表与普通字母表相同,加密时把明文中的每个字母都用字母表中该字母右边移动固定数目后的位置的字母替代,并认为Z 后面是A。这个固定数目称为偏移量,我们称其为密钥(Key)。比如,取每个字母其右边第K个字母作为偏移量,则密钥为这个数字K。
举例来说,如果明文为“important”,其偏移量为3,Key=3,第一个字母“i”在字目表上右移 3 个字母后为“L”,照此类推,则密文(记做C)则为“LPSRUWDQW”。
可见,即使算法公开,别人如果不知道偏移量为3,仍然不能解密。加密者不必担心算法被他人知道,他主要关心密钥不被他人知道。
单字母替换加密法由于是一个明文字母对应唯一一个密文字母。密码分析者可将密文中字母出现的频率与这些统计相比较,因而容易逐个击破直至最后破译。
(2) 多字母加密方法
多字母加密是使用密钥进行加密。密钥是一组信息(一串字符)。同一个明文经过不同的密钥加密后,其密文也会不同。
例1:维吉尼亚(Vigenere)密码。V igenere(维吉利亚)是法国密码专家,以他名字命名的密码是这样的:假设明文m=m1m2m3......mn,
密钥Key=K1K2K3......Kn,对应密文C=,
则:Ci = mi + Ki mod 26,i = 1,2,......n,其中,26 个字母的序号对应是0------25
mi 是明文中第i 个字母的序号,
Ki 是密钥Key 中第i 个字母的序号,
如果m=information
Key=STAR
则C=AGFFJFAKAHN
密钥Key 的循环出现使其长度与明文一样,密文中的字母A在明文中是i 和a;而明文中的字母o 在密文中是F 和H。
Vigenere 密码的密钥长度若增加,破译的难度也将增加,若密钥的长度与明文的长度一样,而且是随机的,Vigenere 密码可做到一次一密。
Vigenere 算法可以公开,但是,只要密钥Key=STAR 保密,就不能解密。可见,密钥是加密技术的关键。
4. 转换加密法在替换加密发中,原文的顺序没被改变,而是通过各种字母映射关系把原文隐藏了起来。
转换加密法是将原字母的顺序打乱,将其重新排列。如:
it can allow students to get close up views 将其按顺序分为5 个字符的字符串:
itcan
allow
stude
ntsto
getcl
oseup
views
再将其按先列后行的顺序排列,就形成了密文:
即密文 C 为“IASNGOVTLTTESICLUSTEEAODTCUWNWEOLPS”如果将每一组的字母倒排,也形成一种密文:C=NACTIWOLLAEDUTSOTSTNLCTEGPUESOSWEIV 数据加密是大家熟知的保证安全通信的手段。由于计算机技术的发展,人们借助于计算
机进行分析处理,密码的破译能力也不断提高。
(二) 加密技术分类
1. Kerckhoff 原则
系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥。这是著名的Kerckhoff 原则。
算法不是重点保密对象。密钥是重点保密对象。因此,加密技术实际上是围绕着密钥展开的。
当前有广泛使用的加密方法。较老的也是较简单的称为“单钥“或“秘密密钥“加密,。近来兴起的方法称“公开密钥“加密。
2. 加密技术分类根据信息加密使用的密钥体制的不同,可以将加密技术分为两类:
1) 对称加密体制(对称密钥体制、单密钥体制)在专用网络上的安全性较满意,但是在公开的计算机网络使用时受制约。
2) 非对称加密体制(非对称密钥体制、公开密钥体制、公钥体制)。适合在公开的计算机网络使用。
(三) DES算法概述
DES( Data Encryption Standard)算法的入口参数有三个:Key、Data、Mode。其中Key 为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。
DES算法是这样工作的:如Mode为加密,则用Key 去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。
通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。
1 算法框架:
DES对64(bit)位的明文分组M进行操作,M经过一个初始置换IP置换成m0,将m0明文分成左半部分和右半部分m0=(L0,R0),各32位长。然后进行16轮完全相同的运算,这些运算被称为函数f,在运算过程中数据与密匙结合。经过16轮后,左,右半部分合在一起经过一个末置换,这样就完成了。
在每一轮中,密匙位移位,然后再从密匙的56位中选出48位。通过一个扩展置换将数据的右半部分扩展成48位,并通过一个异或操作替代成新的32位数据,在将其置换换一次。这四步运算构成了函数f。然后,通过另一个异或运算,函数f的输出与左半部分结合,其结果成为新的右半部分,原来的右半部分成为新的左半部分。将该操作重复16次,就实现了。具体图所示。