码迷,mamicode.com
首页 > 其他好文 > 详细

信息安全技术及应用 常规加密技术

时间:2016-06-21 15:54:23      阅读:409      评论:0      收藏:0      [点我收藏+]

标签:

一、密码技术与常规加密概述

1.1 密码系统

密码学:包含密码编码学和密码分析学两部分内容。前者是研究如何通过编码来保证信息的机密性,后者则研究如何破译密码。

一般加密模型
技术分享

密码系统的主要功能:完成信息的加密变换和解密变换。
明文:加密变换前的原始信息。
加密算法:加密变换时使用的算法。
密文:经过加密变换后的信息。
解密算法:解密变换时使用的算法,是加密算法的逆过程。加密和解密算法是相关的。

密钥(Key):在加密和解密变换过程中引入一个相同或两个不同但相关的参数,该参数称为密钥。分为加密密钥解密密钥

主要取决于密钥的安全性。要经常更换密钥。密码系统的安全性
密码系统的描述:(P,C,E,D,KeKd) (明文(P)、密文(C)、加密算法(E)、解密算法(D)、加密密钥(Ke)和解密密钥(Kd))


密码系统的使用:
- 加密过程和解密过程位于同一系统中。信息的存储加密
- 加密过程和解密过程位于不同系统中。信息的传输加密

1.2 密码体制

根据加密和解密过程中使用的密钥是否相同进行分类:对称密码体制和非对称密码体制。

对称密码体制:加密和解密算法使用相同的密钥。也称为常规密钥密码体制单密钥密码体制秘密密钥密码体制
非对称密码体制:加密和解密算法使用不同但相关的一对密钥。也称为公开密钥密码体制双密钥密码体制

根据密文数据段是否与明文数据段在整个明文中的位置相关,可将密码系统分为分组密码体制和序列密码体制。

分组密码体制:密文仅与加密算法和密钥有关。(常用)
序列密码体制:密文除了与加密算法和密钥有关外,还与被加密明文部分在整个明文中的位置有关。

根据加密变换是否可逆,可将密码系统分为单向函数密码体制和双向变换密码体制。

单向函数密码体制:将明文加密成密文,但却不能将密文转换成明文。用于不需要解密的场合,如报文鉴别。
双向变换密码体制:如:现在常用的加密算法。

根据在加密过程中是否引入客观随机因素,可将密码系统分为确定型密码体制和随机密码体制。

确定型密码体制:一旦明文和密钥确定后,密文也就唯一地确定了。(常用)
随机密码体制:对于给定的明文和密钥,总存在一个较大的密文集合与之对应,最终的密文是根据客观随机因素在密文集中随机选取的。

1.3 常规加密模型

技术分享

常规加密:又称为对称加密或单密钥加密,是在公钥加密研制以前使用的惟一加密类型,仍广泛使用。
在使用常规加密的通信系统中,安全通信的双方共享同一个密钥K。
加密和解密算法公开,密钥保密。因此,常规加密密钥也称为秘密密钥(Secret Key)。



决定常规加密安全性的主要因素:
- 加密算法必须足够强大,使得仅根据密文就能破译出消息是不切实际的。
- 在算法一定和公开的前提下,常规加密的安全性取决于密钥的安全性。在密钥不泄露的前提下,其安全性与密钥长度和更新频度有关。



保证常规加密算法强度的方法:扩散和扰乱。
- 扩散:让明文和密钥的每个字符影响尽可能多的密文字符,从而使明文和密钥的统计特征被扩散。
- 扰乱:使密文的统计特征与明文和密钥的关系尽可能复杂化,这样,即使攻击者掌握了密文的某些统计特征,也无法从中推测出密钥和明文。

密码分析:由密文试图获得明文、密钥或这两者的过程称为密码分析。

常见的密码分析方法:强行攻击、统计分析、差分密码分析、线性密码分析和代数攻击等。
密码破译者所使用的策略取决于加密方案的性质以及可供密码破译者使用的信息。



对加密消息进行攻击的类型:
- 仅有密文:可用的信息仅有密文和加密算法。方法一:对所有可能的密钥进行尝试(强行攻击)。方法二:对密文本身进行统计分析。
- 已知明文:除密文和加密算法外,分析员还能够获取一段或多段明文- 密文对,或者分析员可能知道某种明文模式将出现在一个消息中。
如果攻击者能够设法在源系统插入由该攻击者所选择的信息,则可进行选择明文攻击。

如果一个加密算法满足下述两个条件之一,就称此算法在计算上是安全的。
- (1)破译该密码的成本超过被加密信息的价值。
- (2)破译该密码的时间超过该信息有用的生命周期。

1.4 经典加密技术

替代技术:将明文中的每个元素(字母、比特、比特组合或字母组合)映射为另一种元素的技术。明文的元素被其他元素所代替而形成密文。
置换技术:置换是在不丢失信息的前提下对明文中的元素进行重新排列。

二、现代常规加密技术

2.1 序列密码和分组密码

序列密码(流密码):
在该密码体制中,将明文P看成连续的比特流(或字符流)p1 p2…,用密钥序列K=k1 k2…中的第i个元素ki对明文中的第i个元素pi进行加密。
即:EK(P)=EK1(p1) EK2(p2) …

技术分享

这种体制的保密性完全在于密钥的随机性。如果密钥是真正的随机数,则这种体制就是理论上不可破的。这也称为一次一密乱码本体制。
该体制所需的密钥量很大,目前常用伪随机序列的密钥序列,序列周期一般为1050



分组密码(block cipher):
将明文划分成固定的n比特的数据组,然后以组为单位,在密钥的控制下进行一系列的线性或非线性的变换而得到密文。


分组密码的主要特点:
- 一次变换一组数据,不需要同步。适合分组交换网传输。
- 给定密钥后,明文分组相同,密文分组也相同。



分组密码的操作模式:
(1)电子密码本(ECB):最基本的操作模式。
将明文P划分为长度为w比特的明文分组(P1, P2, … , Pn ) 最后一个分组通常需要填空。
每个明文分组使用同样的密钥K进行加密。
每个明文分组在加密时独立处理。
w比特的明文分组与w比特的密文分组一一对应。类似密码本。



电子密码本模式特点:
- 相同的明文分组产生相同的密文分组。
- 易受统计分析攻击。
- 可并行处理,加、解密速度快,应用广泛。

(2)密码分组链接模式(CBC):
将明文P分组(P1, P2, … , Pn ) 。
每个明文分组使用同样的密钥K进行加密。
每个明文分组在加密前,先与上一次加密输出的密文分组进行按位异或,而后再进行加密处理。
对第一个明文分组进行处理时,还没有密文分组可用,需要引入一个初始向量IV与该分组异或。



密码分组链接模式特点:
- 通过将明文分组与前一个密文分组异或,实现了明文模式的隐藏,抗统计分析攻击。
- 不能并行加密,加密速度较慢。
- 适用于高结构化信息的加密传输。

2.2 数据加密标准DES

DES加密原理:
加密前对整个明文进行分组,每组长64位,然后对每个64位二进制数据块分别进行加密,产生一组64位密文数据。最后将各组密文串接起来,即得出整个密文。使用的密钥为64位,实际密钥长度为56位(有8位用于其他目的)。



DES加密算法特点:是一种分组密码。

技术分享

DES加密过程分为两条主线:明文的加密处理和子密钥的产生。



明文加密处理由三个阶段构成:
第一阶段:初始置换
第二阶段:标准的Feistel结构,循环次数16次。
第三阶段:完成初始置换的逆置换。


加密方程:Ri=Li?1f(Ri?1,Ki)


DES算法的缺点:
- 相同的明文产生相同的密文。
- 密钥太短,分组太短。
- 密文仅与明文分组和密钥相关(电子密码本模式)



DES的保密性:仅取决于对密钥的保密,而算法是公开的。

三、常用常规加密算法介绍

3.1 国际数据加密算法IDEA

IDEA每次加密的明文分组长度为64比特,加密时将这64比特分为4个16比特的子分组。
IDEA的密钥长度为128比特,加密时将密钥生成52个16比特的子密钥。
IDEA使用了8轮循环,8轮循环后再经过一个输出变换形成密文。
每轮循环使用6个16位的子密钥,最后的输出变换使用4个16位的子密钥。
IDEA的解密算法与加密算法相同,解密算法的52个子密钥由加密子密钥导出。

3.2 RC5数据加密算法

RC5的参数包括字长w、循环轮数r和密钥长度b。
字长w的单位为比特,允许取值为16、32或64。
分组长度为2w,允许取值32、64或128比特。
循环轮数r允许的取值为0,1,2,…,255。循环轮数越多安全性越好。
密钥长度b的单位为字节,允许取值为0, 1, 2, …, 255,对应的二进制位是0, 8, 16, …, 2040。选择合适的密钥长度可以在速度和安全性之间进行折衷。



RC5算法由三部分组成:密钥扩展算法、加密算法和解密算法。


RC5的主要特点:
(1)适合于硬件和软件实现:RC5只使用了微处理器上常见的初等计算操作,加法/减法操作、按位异或操作、循环移位操作。
(2)快速:RC5算法结构简单,且面机器字,基本操作每次对数据的整个字进向行。
(3)对不同字长的处理器有适应性:字中的比特数是RC5中的一个参数。
(4)可变的循环次数
(5)可变长度的密钥
(6)较低的内存需要使得RC5适合于智能卡和其他具有有限内存的设备。
(7)高安全性:RC5可通过选择合适的参数提供高安全性。

技术分享
技术分享

3.3 高级加密标准AES

Rijndael算法的主要优点是:
(1)设计简单。无论采用硬件还是软件形式,无论是否采用反馈模式,算法都显示出非常好的性能。
(2)内存需求非常低,很适合用于受限环境中。
(3)操作简单,在所有平台上运行良好,支持并行处理,并可抵御时间和空间上的攻击。
(4)在分组和密钥大小方面具有一定的灵活性。

信息安全技术及应用 常规加密技术

标签:

原文地址:http://blog.csdn.net/codeforcer/article/details/51726109

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!