数据加密原理与实现方法八.docx

上传人:b****5 文档编号:8805901 上传时间:2023-05-15 格式:DOCX 页数:7 大小:19.44KB
下载 相关 举报
数据加密原理与实现方法八.docx_第1页
第1页 / 共7页
数据加密原理与实现方法八.docx_第2页
第2页 / 共7页
数据加密原理与实现方法八.docx_第3页
第3页 / 共7页
数据加密原理与实现方法八.docx_第4页
第4页 / 共7页
数据加密原理与实现方法八.docx_第5页
第5页 / 共7页
数据加密原理与实现方法八.docx_第6页
第6页 / 共7页
数据加密原理与实现方法八.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据加密原理与实现方法八.docx

《数据加密原理与实现方法八.docx》由会员分享,可在线阅读,更多相关《数据加密原理与实现方法八.docx(7页珍藏版)》请在冰点文库上搜索。

数据加密原理与实现方法八.docx

数据加密原理与实现方法八

数据加密原理与实现方法八

12.1数据加密原理与实现方法

无论是络传输中使用的安全传输协议还是安全手段或安全措施它们都需要使用加密算法和相应的解密算法。

不了解与此相关的加密原理和算法就很难深刻地认识各种安全传输协议以及实现络安全所采用的数字凭证、数字签名等技术所以我们在本节集中介绍一下。

12.1.1基本概念

加密方法属于计算机密码学范畴。

长久以来计算机密码学作为一门研究计算机数据加密、解密及其变换的艰深的学科鲜为普通用户所了解。

过去只有间谍及军事人员对加密技术感兴趣并投入了大量人力、物力和财力进行秘密研究。

直到最近十几年随着计算机络及通信技术的民用化发展尤其是商业和金融事务的介入密码学的研究才得到了前所未有的广泛重视。

密码学涉及到很多高深的数学理论很难在一节内容中进行比较全面的论述。

这里我们仅介绍一些基础知识让读者了解络信息加密及数字签名、数字凭证的实现原理并对常用加密方法的优缺点有一些基本认识。

所谓加密就是把数据信息即明文转换为不可辨识的形式即密文的过程目的是使不应了解该数据信息的人不能够知道和识别。

将密文转变为明文的过程就是解密。

加密和解密过程形成加密系统明文与密文统称为报文。

任何加密系统不论形式如何复杂实现的算法如何不同但其基本组成部分是相同的通常都包括如下4个部分:

(1)需要加密的报文也称为明文;

(2)加密以后形成的报文也称为密文;

(3)加密、解密的装置或算法;

(4)用于加密和解密的钥匙称为密钥。

密钥可以是数字、词汇或者语句。

报文加密后发送方就要将密文通过通信渠道传输给接收方。

传输过程中即密文在通信渠道传输过程中是不安全的可能被非法用户即第三方截取和窃听但由于是密文只要第三方没有密钥只能得到一些无法理解其真实意义的密文信息从而达到保密的目的。

整个过程如图12.1所示。

 

图12.1加密与解密过程

长久以来人们发明了各种各样的加密方法为便于研究通常把这些方法分为传统加密方法和现代加密方法两大类。

前者的共同特点是采用单钥技术即加密和解密过程中使用同一密钥所以它也称为对称式加密方法;而后者的共同特点是采用双钥技术也就是加密和解密过程中使用两个不同的密钥它也称为非对称式加密方法。

下面就简单介绍一下这些加密方法。

12.1.2基于单钥技术的传统加密方法

这类方法主要包括代码加密法、替换加密法、变位加密法和一次性密码簿加密法等。

(1)

代码加密法。

通信双方使用预先设定的一组代码表达特定的意义而实现的一种最简单的加密方法。

代码可以是日常词汇、专用名词也可以是某些特殊用语。

例如:

密文:

姥姥家的黄狗三天后下崽。

明文:

县城鬼子三天后出城扫荡。

这种方法简单好用但通常一次只能传送一组预先约定的信息而且重复使用时是不安全的因为那样的话窃密者会逐渐明白代码含义。

(2)替换加密法。

这种方法是制定一种规则将明文中的每个字母或每组字母替换成另一个或一组字母。

例如下面的这组字母对应关系就构成了一个替换加密器:

明文字母:

ABCDEF……

密文字母:

KUSWB……

虽然说替换加密法比代码加密法应用的范围要广但使用得多了窃密者就可以从多次搜集的密文中发现其中的规律破解加密方法。

(3)变位加密法。

与前两种加密方法不同变位加密法不隐藏原来明文的字符而是将字符重新排序。

比如加密方首先选择一个用数字表示的密钥写成一行然后把明文逐行写在数字下。

按照密钥中数字指示的顺序将原文重新抄写就形成密文。

例如:

密钥:

6835490271

明文:

小赵拿走黑皮包交给李

密文:

包李交拿黑走小给赵皮

(4)一次性密码簿加密法。

这种方法要先制定出一个密码薄该薄每一页都是不同的代码表。

加密时使用一页上的代码加密一些词用后撕掉或烧毁该页;然后再用另一页上的代码加密另一些词直到全部的明文都加密成为密文。

破译密文的唯一办法就是获得一份相同的密码簿。

计算机出现以后密码簿就无需使用纸张而使用计算机和一系列数字来制作。

加密时根据密码簿里的数字对报文中的字母进行移位操作或进行按位的异或计算以加密报文。

解密时接收方需要根据持有的密码簿将密文的字母反向移位或再次作异或计算以求出明文。

数论中的“异或”规则是这样的:

1^1=00^0=0;1^0=10^1=1。

下面就是一个按位进行异或计算的加密和解密实例:

加密过程中明文与密码按位异或计算求出密文:

明文:

101101011011

密码:

011010101001

密文:

110111110010

解密过程中密文与密码按位异或计算求出明文:

密文:

110111110010

密码:

011010101001

明文:

101101011011

顾名思义一次性密码簿只能使用一次以保证信息加密的安全性。

但由于解密时需要密码薄所以想要加密一段报文发送方必须首先安全地护送密码簿到接受方(这一过程常称为“密钥分发”过程)。

如果双方相隔较远如从美国五角大楼到英国中央情报局则使用一次性密码簿的代价

是很大的。

这也是限制这种加密方法实用化和推广的最大障碍因为既然有能力把密码簿安全地护送到接受方那为什么不直接把报文本身安全地护送到目的地呢?

正因为传统加密方法在这方面的局限性人们又想出了很多算法来加强和改进这些方法。

下面我们就介绍几个比较著名的方法。

12.1.3改进的传统加密方法

我们首先需要说明数据块和数据流加密的概念。

数据块加密是指把数据划分为某一特定长度的数据块再分别进行加密。

数据块之间的加密是相互独立的因此如果内容相同的数据块重复出现密文也会呈现出某种规律性从而会降低破密的难度。

数据流加密是指使用加密后的密文前面的部分来参与报文后面部分的加密。

这种方法的好处是数据块之间的加密不再独立即使有相同的数据重复出现密文也不会呈现出明显的规律性从而提高破译的难度。

改进的传统加密方法便是应用了这种思想这类方法常划为使用传统加密技术的现代加密方法。

(1)数据加密标准DES。

DES(DataEncrytionStandard)是美国政府1977年采用的加密标准最初是由IBM公司在70年代初期开发的。

美国政府在1981年又将DES进一步规定为ANSI标准。

DES是一个对称密钥系统加密和解密使用相同的密钥。

它通常选取一个64位(bit)的数据块使用56位的密钥在内部实现多次替换和变位操作来达到加密的目的。

DES有ECBCBC和CFB三种工作模式其中ECB采用的是数据块加密模式CBC与CFB采用的是数据流加密模式。

作为第一个公开的新式加密方法DES的影响非常大。

后来提出的许多密码方法都汲取了DES的思想和技术。

但是DES的缺点是它采用的密钥太短只有56位也就是说所有可能的密钥只有256个。

采用一些计算络若每秒钟测试5亿个密钥则在4小时以内便可把所有可能的密钥都测试一遍。

因此随着计算机性能的提高DES的破解难度已经降低不太实用了。

(2)三层DES(Trile-DES)。

这种方法是DES的改进加密算法它使用两把密钥对报文作三次DES加密效果相当于将DES密钥的长度加倍。

三层DES克服了DES的显著缺点即其56位的短密钥。

本来三层DES是通过三次使用DES算法来对数据进行编码加密在每一层上都使用不同的密钥这样就可以用一个3×56=168位的密钥进行加密;但许多密码设计者认为168位的密钥已经超过实际需要了所以便在第一层和第三层中使用相同的密钥产生一个有效的112位的密钥长度。

之所以没有直接采用两层DES是因为第二层DES不是十分安全它对一种称为“中间可遇”的密码分析攻击形式来说是极为脆弱的所以还是采用

了三层DES操作。

(3)RC2和RC4。

RC指RivestCode它是以发明人美国麻省理工学院的RonRivest教授的姓氏命名的由RSADSI公司发行是不公开的专有算法。

RC2和RC4使用可变长度(1至1024位)的密钥实现不同级别的保密性。

RC2采用的是数据块加密算法RC4采用的是数据流加密算法。

由于它们的具体算法不公开所以没有人知道它们的可靠性到底能达到何种程度。

有名的Netscae浏览器从2.0版就使用了RC2和RC4的加密算法。

(4)数字摘要(DigitalDigest)。

该加密方法也是由RonRivest设计的也被称为安全Hash编码法SHA(SecureHashAlgorithm)或MD5(MDStandardsforMessageDigest)。

该编码法采用单向Hash函数[1]将需加密的明文“摘要”成一串128bit(位)的密文这一串密文也称为数字指纹(Fingerrint)它具有固定的长度。

而且不同的明文摘要成密文时其指纹结果也是不同的而相同明文的摘要必定相同。

这样这串摘要便可以成为验证明文是否是“真身”的“指纹”了。

SHA其实就是RC方法的一种实现。

(5)国际数据加密算法IDEA。

IDEA(InternationalDataEncrytionAlgorithm)是1990年瑞士的JamesMasseyXuejiaLai等人发表的一个数据块加密算法。

该算法使用128位的密钥能够有效地消除试图穷尽搜索密钥的可能攻击。

IDEA看起来是一个较“强”的算法但由于出现没多久所以目前暂还没人知道它是否有漏洞。

(6)基于硬件的加密。

为克服软件加密算法在容易复制、容易尝试方面的不足人们又开发了基于硬件的加密算法。

如美国国家安全局为使用Clier芯片就秘密开发了一个民用加密算法SkiJack采用80位的密钥使得穷尽搜索密钥不可行。

而且由于在Clier芯片的硬件中人为地加进了一些“机关”设置增加了破解难度。

虽然说传统的加密方法在军事、谍报、金融和其他商业领域曾一度得到了广泛应用但它在密钥分发方面存在一些弊端主要有下面3个方面:

其一接收方必须有密钥才能解密为此就需分发密钥而安全送达密钥的代价往往很大。

其二多人通信时密钥的组合数量往往很大使得密钥选取和分发变得十分因难;例如3个人两两通信时总共只需3把密钥但若6人两两通信则总共需要15把密钥n个人两两通信共需要密钥数为n(n-1)/2把;如果一个100多人的团体内部进行两两通信则需要安全地分发近5000把密钥代价实在太大。

其三当通信人增多、密钥增多时密钥的管理非常困难;因为密钥的管理人员和传送人员中如果有人受贿或背叛则密钥就可能被泄露从而失去保密的意义。

这些弊端说明传统加密方法有很大的局限性人们必须寻找其他的方法

实现更方便实用的加密目的来保护络通信信息和数据。

公共密钥加密方法便是人们在传统加密方法的基础上提出的一种更为有效的加密方法。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2