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

1.1 密码系统

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

一般加密模型

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

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

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


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

1.2 密码体制

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

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

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

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

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

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

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

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

1.3 常规加密模型

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



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



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

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

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



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

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

1.4 经典加密技术

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

二、现代常规加密技术

2.1 序列密码和分组密码

序列密码(流密码):
在该密码体制中,将明文P看成连续的比特流(或字符流)p1p_1 p2p_2…,用密钥序列K=k1k_1 k2k_2…中的第i个元素kik_i对明文中的第i个元素pip_i进行加密。
即:EKE_K(P)=EK1E_{K_1}(p1p_1) EK2E_{K_2}(p2p_2) …

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



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



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



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



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

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



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

2.2 数据加密标准DES

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



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

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



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



加密方程: Ri=Li−1R_i=L_{i-1} ⊕\oplus f(Ri−1,Kif(R_{i-1},K_i)



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)在分组和密钥大小方面具有一定的灵活性。

信息安全技术及应用 常规加密技术相关推荐

  1. 信息安全技术实验PGP邮件加密系统工具下载过程记录

    由于信息安全技术实验课程需要,上网查找资料学习,仅记录安装过程. 一.安装 (1)从网上下载好资源,双击setup目录下的64位安装包,并选择默认语言English (2)选择安装协议I accept ...

  2. 计算机三级 信息安全技术题库——选择题3

    1.如果所有外键参考现有的主键,则说明一个数据库具有参照完整性 2.深入数据库内,对数据库内部的安全相关对象进行完整的扫描和检测,即内部安全检测 3.由于一般的扫描侦测器的实现是通过监视某个时间里一台 ...

  3. 信息安全技术 网络安全等级保护测评要求_【诚资讯】等保2.0版本出炉!信息安全技术 网络安全等级保护基本要求正式发布...

    2019年5月10日,<信息安全技术 网络安全等级保护基本要求>.<信息安全技术 网络安全等级保护测评要求>.<信息安全技术 网络安全等级保护安全设计技术要求>(以 ...

  4. GB/T 28448-2019 《信息安全技术 网络安全等级保护测评要求》之安全物理环境测评解读

    文章目录 引言 一.物理位置选择 二.物理访问控制 三.防盗窃和破坏 四.防雷击 五.防火 六.防水和防潮 七.防静电 八.温湿度控制 九.电力供应 十.电磁防护 总结 引言 2019年12月1日,我 ...

  5. [数据加密]GIS空间数据水印信息隐藏与加密技术方法[转]

    到目前为止,国内外数字水印技术的研究主要集中在图像.视频和声音等多媒体信息的版权保护上,在GIS空间数据中,通过隐藏水印信息并对其加密.压缩以实现其安全保护的研究还很少,这是数字水印技术应用的一个新领 ...

  6. CSDN技术主题月:实战解读移动信息安全技术

    摘要:11 月 12 日,由 CSDN 社区主办的"CSDN 技术主题月--移动信息安全技术的挑战与创新"在北京中关村隆重举行,此次沙龙活动邀请到黄帅(@猴子搬来的救兵Castie ...

  7. java文件加密解密实验报告_《网络信息安全技术》_实验报告_破译vigenamp#232;re_密码加密的密文...

    <<网络信息安全技术>_实验报告_破译vigen&amp#232;re_密码加密的密文>由会员分享,可在线阅读,更多相关<<网络信息安全技术>_实验报 ...

  8. 计算机网络信息安全技术研究论文,v计算机网络信息安全的数据加密技术论文...

    v计算机网络信息安全的数据加密技术论文 摘要:21世纪是计算机飞速发展的黄金时代,计算机网络已经成为人们不可或缺的信息交流工具.由于计算机网络信息的开放性和互联性,导致了计算机网络信息存在着极大的安全 ...

  9. 信息安全技术之数字签名_公钥密码_非对称加密

    信息安全技术主要包括: 信息加密技术 数字签名技术 身份认证技术 访问控制技术 网络安全技术 反病毒技术 数据备份与恢复 信息安全管理 这里因为之前搞到了师兄给的一百多页的密码学基础,所以就先pick ...

  10. 第二届360杯全国大学生信息安全技术大赛部分解题思路(加密解密题)

    第二届360杯全国大学生信息安全技术大赛比赛的题目如下: 加密解密第一题: 源码如下: <div class="container"><div class=&qu ...

最新文章

  1. JAVA模拟HTTP post请求上传图片
  2. java桥接和装饰_设计模式:桥接模式和装饰模式
  3. [转]simhash进行文本查重
  4. 导入要素类到要素数据集当中(C++)(ArcObject)史上最快
  5. C++技巧:用kdevelop进行交叉编译的方法
  6. win10+Ubuntu16.04 LTS双系统完美教程
  7. 一个Keil工程包含的内容
  8. python 线性相关 与 线性拟合
  9. 每天5分钟玩转Kubernetes | Liveness探测
  10. 力扣刷题 DAY_81 贪心
  11. flink学习(五)DataStream API
  12. 如何让你的Linux程序程序后台运行
  13. html中怎样变单独英文月份,【Web前端问题】js中,如何将日期中的月份转化为英文显示?...
  14. 微信开发者工具未绑定企业号开发者
  15. 时间序列模型R语言实现-批量建模,预测(ARIMA, 随机森林)
  16. 习题4-5 换硬币 (20 分)
  17. 计算机音乐大全集,计算器音乐合集
  18. 数据结构与算法——左程云08
  19. ubuntu1804系统设置在哪里_ubuntu1804安装后设置
  20. C++的sort函数对于vector排序

热门文章

  1. 64位WIN7系统下无法安装驱动/ 有黄色感叹号怎么办?
  2. ABB变频器ACS 310-通讯协议
  3. studio one 3 机架声道设置_雅马哈Yamaha AG03/AG06声卡直播机架跳线教程
  4. android恢复微信好友,安卓微信删除好友怎么找回 找回好友详细方法
  5. RN:app开发入门指南
  6. Oracle alter 语句用法
  7. MATLAB警告:名称不存在或不是目录
  8. python md5解密_Python md5解密
  9. SVN客户端安装教程
  10. 分享个Duilib中基于wke的浏览器控件