信息加密技术——对称密码体制
对称密码体制(symmetricencryption)也称为秘密密钥密码体制、单密钥密码体制或常规密码体制,其模型如图3-4所示。如果一个密码算法的加密密钥和解密密钥相同,或者由其中一个很容易推导出另一个,该算法就是对称密码算法,满足关系M= Dk (C)=Dk (Ek(M))。
对称密码体制的安全性主要取决于两个因素:
- 一是加密算法必须足够安全,使得不必为算法保密,仅根据密文就能破译出消息是计算上不可行的;
- 二是密钥的安全性,即密钥必须保密并保证有足够大的密钥空间。对称密码体制要求基于密文和加密/解密算法的知识能破译出消息的做法在计算上是不可行的。
对称密码算法的优缺点如下:
(1)优点:
- 加密、解密处理速度快,保密度高等。
(2)缺点:
- ①密钥是保密通信安全的关键,发信方必须安全、妥善地把密钥护送到收信方,不能泄露其内容。如何才能把密钥安全地送到收信方,是对称密码算法的突出问题。对称密码算法的密钥分发过程复杂,所花代价高;
- ②多人通信时密钥组合的数量会出现爆炸性膨胀,使密钥分发更加复杂化,若有N个用户进行两两通信,总共需要的密钥数为N(N-1)/2个;
- ③通信双方必须统一密钥,才能发送保密的信息。如果发信人与收信人素不相识,这就无法向对方发送秘密信息了;
- ④除了密钥管理与分发问题外,对称密码算法还存在数字签名困难问题(通信双方拥有同样的消息,接收方可以伪造签名,发送方也可以否认发送过某消息)。
对称密码体制分为两类:
- 一类是对明文的单个位(或字节)进行运算的算法,称为序列密码算法,也称为流密码算法(streamcipher);
- 另一类是把明文信息划分成不同的块(或小组)结构,分别对每个块(或小组)进行加密和解密,称为分组密码算法(Blockcipher)。
一 、序列密码:
序列密码分为同步序列密码和自同步序列密码两种。
- 同步序列密码要求发送方和接收方必须是同步的,在同样的位置用同样的密钥才能保证正确的密。如果在传输过程中密文序列有被篡改、删除、插人等错误导致同步失效,则不可能成功解密,只能通过重新同步来实现解密、恢复密文。在传输期间,一个密文位的改变只影响该位的恢复,不会对后继位产生影响。
- 自同步序列密码密钥的产生与密钥和已产生的固定数量的密文位有关,因此,密文中产生的一个错误会影响到后面有限位的正确解密。所以,自同步密码的密码分析比同步密码的密码分析更加困难。序列密码具有实现简单、便于硬件计算、加密与解密处理速度快、低错误(没有或只有有限位的错误)传播等优点,但同时也暴露出对错误的产生不敏感的缺点。序列密码涉及大量的理论知识,许多研究成果并没有完全公开,这也许是因为序列密码目前主要用于军事和外交等机要部门的缘故。目前,公开的序列密码主要有RC4、SEAL等。
- 序列密码的安全强度依赖于密钥流产生器所产生的密钥流序列的特性,关键是密钥生成器的设计及收发两端密钥流产生的同步技术。
1. 伪随机序列:
2. 线性反馈移位寄存器:
3. RC4:
- RC4是由麻省理工学院的Ron Rivest教授在1987年为RSA公司设计的一种可变密钥长度、面向字节流的序列密码。RC4是目前使用最广泛的序列密码之一,已应用于Microsoft Windows、Lotus Notes和其他应用软件中,特别是应用到SSL协议和无线通信方面。
- RC4算法很简单,它以一个数据表为基础,对表进行非线性变换,从而产生密码流序列。
- RC4包含两个主要算法:
- 密钥调度算法(Key- Scheduling Algorithm, KSA)
- 伪随机生成算法( Pseudo Random Generation Algorithm , PRGA)。
- KSA的作用是将一个随机密钥(大小为40~256位)变换成一个初始置换表S。
KSA过程如下:
二 、分组密码:
分组密码的本质就是由密钥k=(k1,k2,..,kn)控制的从明文空间M(长为n的比特串的集合)到密文空间C(长为r的比特串的集合)的一个一对一映射。为了保证密码算法的安全强度,加密变换的构造应遵循下列个原则。
- (1) 分组长度足够大。当分组长度n较小时,容易受到暴力穷举攻击,因此要有足够大的分组长度n来保证足够大的明文空间,避免给攻击者提供太多的明文统计特征信息。
- (2) 密钥量空间足够大,以抵抗攻击者通过穷举密钥破译密文或获得密钥信息。
- (3) 加密变换足够复杂,以加强分组密码算法自身的安全性,使攻击者无法利用简单的数学关系找到破译缺口。
- (4) 加密和解密运算简单,易于实现。分组加密算法将信息分成固定长度的二进制位串进行变换。为便于软、硬件的实现,一般应选取加法、乘法、异或和移位等简单的运算,以避免使用逐比特的转换。
- (5) 加密和解密的逻辑结构最好一致。如果加密、解密过程的算法逻辑部件一致,那么加密、解密可以由同一部件实现,区别在于所使用的密钥不同,以简化密码系统整体结构的复杂性。
实现分组密码算法设计的具体操作包括替代、置换、乘积变换。
数据加密标准(DES) :
1.DES算法加密过程
- DES对64位的明文分组进行操作。通过一个初始置换,将明文分组分成左半部分和右半部分,各32位长。然后进行16轮完全相同的运算,这些运算被称为函数f,在运算过程中数据与密钥结合。经过16轮后,左、右半部分合在一起,经过一个末置换(初始置换的逆置换),这样该算法就完了。
2. DES解密过程
DES解密过程的逻辑结构与加密过程一致,但必须注意以下两点。
- (1) 第16轮迭代结束后须将左右两个分组交换位置,即将L16与R16交换顺序。
- (2) 解密过程中使用的子密钥的顺序与加密时的顺序正好相反,依次为Kr6,Ks,...,Kr,即当把64位密文作为明文输人时,解密过程的第1轮迭代使用子密钥K]6,第2轮迭代使用子密钥Ks,.,第16轮迭代使用子密钥Kr,同理,第16轮迭代后须交换顺序,最终输出得到64位明文。
3. DES算法的安全隐患
- (1)密钥太短。DES的初始密钥实际长度只有56位,批评者担心这个密钥长度不足以抵抗穷举搜索攻击,穷举搜索攻击破解密钥最多尝试的次数为2的56次,不太可能提供足够的安全性。1998 年前只有DES破译机的理论设计,1998年后出现实用化的DES破译机。
- (2) DES的半公开性。DES算法中的8个S盒替换表的设计标准(指详细准则)自DES公布以来仍未公开,替换表中的数据是否存在某种依存关系,用户无法确认。
- (3) DES迭代次数偏少。DES算法的16轮迭代次数被认为偏少,在以后的DES改进算法中,都不同程度地进行了提高。
4. 三重DES应用
针对DES密钥位数和迭代次数偏少等问题,有人提出了多重DES来克服这些缺陷,比较典型的是2DES、3DES和4DES等几种形式,实用中一般广泛采用3DES方案,即三重DES。它有以下4种使用模式。
- (1) DES EEE3模式:使用3个不同密钥(Kr,K2,Kz),采用3次加密算法。
- (2) DES EDE3模式:使用3个不同密钥(Kr,Kz,K3),采用加密一解密-加密算法。
- (3) DES EEE2模式:使用两个不同密钥(K:= K3,K2),采用3次加密算法。
- (4) DES EDE2模式:使用两个不同密钥(K,= Ks,K2),采用加密一解密一加密算法。
3DES的优点:
- 密钥长度增加到112位或168位,抗穷举攻击的能力大大增强;
- DES基本算法仍然可以继续使用。
3DES的缺点:
- 处理速度相对较慢,因为3DES中共需迭代48次,同时密钥长度也增加了,计算时间明显增大;
- 3DES算法的明文分组大小不变,仍为64位,加密的效率不高。
信息安全与技术(第二版)
信息加密技术——对称密码体制相关推荐
- 互联网大陆的守夜人:信息加密技术
从古代战争中密码系统到互联网时代的OpenSSL,这篇文章为我们讲述信息加密技术的进化之路.文章最后,作者还分析了为什么 SSL 在中国难普及,以及怎么用信息加密技术保护个人信息. 导语 互联网黄金时 ...
- 密码基础知识(3)---对称密码体制
目录 一.对称密码概念 二.别名 三.对称密码体制的优缺点: 1.对称密码体制的缺点: 2.对称密码体制的优点: 四.对称密码的分类 1.序列密码 2.分组密码 五.分组密码的分组模式 1.ECB模式 ...
- 对称密码体制与公钥密码体制
在为某一应用选择密码体制时,我们需要从功能性.安全性和性能三方面考量. 功能性:该密码体制是否满足所需功能. 安全性: 该密码体制是否安全. 性能:对于所需要的安全性,该密码体制是否满足性能要求. ...
- 密码学基础之对称密码体制和公钥密码体制
对称密码体制 公钥密码体制 对称密码体制 分组密码的思想:将明文消息编码表示后的数字序列划分为成长为n的组,各组分别在密钥k控制下变换成等长的输出数字序列 DES就是一种分组密码算法,它将明文从算法的 ...
- 密码技术--对称加密算法及Go语言应用
对称加密算法 DES Data Encryption Standard (数据加密标准)是1977年美国联邦信息处理标准(FIPS)中所采用的一种对称密码.DES一直以来被美国以及其他国家的政府和银行 ...
- 加密解密技术—对称算法加密
一:什么是对称算法? 对称算法也被称作单密钥算法,也就是加密密钥能从解密密钥中推算出来,同样解密密钥也能从加密密钥中推算出来,说白了,就是加密密钥和解密密钥是同一个密钥,对称算法的安全性依赖于密钥,密 ...
- 对称密码和公开密钥密码技术
对称密码技术 对称密码体制的加密密钥和解密密钥是相同的其中最负盛名的是曾经广泛使用的DES和在推行的AES.与公开密钥密码技术相比,其最大的优势就是速度快,一般用于对大量数据的加密和解密. 数据加密标 ...
- 【网络工程师】<软考中级>网络安全与应用
目录 一.网络安全应用: 1.网络安全威胁和漏洞类型: 2.网络安全信息数据的五大特征: 3.网络安全基本技术: 二.信息加密技术: 1.现代信息加密技术: 2.现代信息加密技术对称密钥总结表: 3. ...
- 网络安全技术第二章——数据加密技术及应用(数据加密概述、密码体制、加密算法数字签名和报文鉴别身份认证)
数据加密技术及应用 一.数据加密概述 1.数据加密技术 2.密码学 3.保密体制或保密系统 4.密码体制 5.数据加密 6.常见现代密码 7.数据加密标准DES概述 8.高级加密标准AES概述 非对称 ...
- 对称密钥密码体制和公开密钥密码体制
一:对称密钥密码体制 数据加密标准(DES)是对称分组密码体制,它的密钥长度为64位,实际密钥长度即主密钥为56位,用于生成每轮加密循环体制的密钥,将64位明文加密为64位暗文.加密循环体制位数为16 ...
最新文章
- “智源论坛Live”报名 | 清华大学高天宇:实体关系抽取的现状和未来
- BZOJ 2434 阿狸的打字机
- 2019年校招8个大厂心得体会,纯干货分享(大疆、百度、阿里、腾讯...)
- docker初识_docker 初识
- Java --- 基础学习Ⅰ
- FFMPEG中H.264的算法文档--整理自ffmpeg论坛等
- 好用的php空间,推荐国内三个优质的免费PHP空间
- leetcode990. 等式方程的可满足性
- bash 别名_必不可少的Bash别名
- Python之数据分析(Numpy的使用、多维数组、数据类型)
- nginx通过反向代理实现未备案域名访问详解
- 进一步理解VC中的句柄
- mysql优化(关联查询优化)
- html结构及部分属性——从0开始
- android 仿小米商城,仿小米商城网页版(全套)
- 我想健康富有聪明怎么导告_富有成效的远程工作(当您的心理健康说“否”时)
- Angular CLI简介
- Teacher Forcing for Recurrent Neural Networks
- 绘画基础学习之两点透视原理
- 吾“两年”一省吾身,于2018结束之际立flag
热门文章
- MYSQL选修课的心得体会_选修课心得体会
- IEEE802.3-2015 CL78 节能以太网(EEE)要点翻译
- win7修复计算机是重装吗,win7系统修复无需重装
- 三维人脸表情识别综述学习笔记
- java document对象详解
- 项目技术管理经验总结
- matlab函数式里虚数i怎么表示,MATLAB中复数的处理函数
- Java控制流程-for 天朝有一个乞丐姓洪,去天桥要钱 第一天要了1块钱 第二天要了2块钱 第三天要了4块钱 第四天要了8块钱 洪乞丐干10天,收入是多少?
- 华为三层交换机配置方法实例
- 解决IDEA连接mysql时出现Server returns invalid timezone问题一劳永逸的方法