(第六讲) 分组密码的应用技术 张焕国 武汉大学计算机学院

Slides:



Advertisements
Similar presentations
3 的倍数的特征 的倍数有 : 。 5 的倍数有 : 。 既是 2 的倍数又是 5 的倍数有 : 。 12 , 18 , 20 , 48 , 60 , 72 , , 25 , 60 ,
Advertisements

2.8 函数的微分 1 微分的定义 2 微分的几何意义 3 微分公式与微分运算法则 4 微分在近似计算中的应用.
2.3 函数的微分. 四川财经职业学院 课前复习 高阶导数的定义和计算方法。 作业解析:
练一练: 在数轴上画出表示下列各数的点, 并指出这些点相互间的关系: -6 , 6 , -3 , 3 , -1.5, 1.5.
学习情境4-2 网上交易安全问题 ——数据加密技术
智能信息安全 Intelligent Information Security
计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
信息安全导论(模块4-密码基础) 密码基础-对称密码.
第3章 对称密码体制.
网络安全协议 Network Security Protocols
作者簡介 路寒袖.
引入 在开放的、非安全的网络上如何安全的传送数据? 我怎么确认你发给我的文件没被别人篡改过?.
第五章 策划用文体写作.
(第十四讲) 认证 张焕国 武汉大学计算机学院
实验四 利用中规模芯片设计时序电路(二).
计算机网络安全 第五章.
《高等数学》(理学) 常数项级数的概念 袁安锋
定积分的换元法 和分部积分法 换元公式 分部积分公式 小结 1/24.
第5章 定积分及其应用 基本要求 5.1 定积分的概念与性质 5.2 微积分基本公式 5.3 定积分的换元积分法与分部积分法
第十六章 计算机密码学.
2-7、函数的微分 教学要求 教学要点.
《数据结构》课程简介 李武军 南京大学计算机科学与技术系 2016年秋季.
计算机基础知识 丁家营镇九年制学校 徐中先.
密码学基础(1) 胡建斌 北京大学网络与信息安全研究室
第十讲公钥加密算法 (续) 公钥密码(续) RSA \ ElGamal algorithms.
第三章 公钥基础设施PKI 本章学习重点掌握内容: 密码学基本术语 密码体制分类 私钥密码体制的主要特点 公钥密码体制的主要特点
网络与系统安全实验 一 传统加密技术 古典密码技术.
密码学导论˙第5章 分组密码 8学时 李卫海.
Hadoop I/O By ShiChaojie.
2.2 IDEA 1990年Xuejia Lai(来学加)& J.L.Massey提出
秘密金鑰密碼系統 (Secret Key Cryptosystems)
中国科学技术大学 肖 明 军 《网络信息安全》 中国科学技术大学 肖 明 军
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
计算机数学基础 主讲老师: 邓辉文.
密码学基础(2) 胡建斌 北京大学网络与信息安全研究室
现代密码学理论与实践 第9章 公钥密码学与RSA
逆向工程-汇编语言
动态规划(Dynamic Programming)
3.4 概率公钥系统 虽然可以通过在明文后面附上随机生成指定长度的字符串挫败上述攻击,但是要付出时空代价。
CPU结构和功能.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
计算机安全与保密 古典密码 张 旻 杭 州 电 子 科 技 大 学.
分组密码的工作模式 为克服分组密码自身所具有的缺陷,在具体的分组密码系统设计中必须对其基本的工作模式(电码本模式Electronic Codebook, ECB)进行改进。 密码分组链接模式(Cipher Block Chaining ,CBC) 密码反馈模式(Cipher Feed back ,CFB)
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
微机系统的组成.
实数与向量的积.
作业情况 已交作业人数:140人 凡是自己没有交过作业的同学,课后留下,有话要说。 2. 文件名范例: 姓名:王树武 wshw_1.c
Chapter 8 運用現代對稱式金鑰 加密法之加密技術.
5.2 常用统计分布 一、常见分布 二、概率分布的分位数 三、小结.
主要内容: 无线局域网的定义 无线传输介质 无线传输的技术 WLAN的架构 无线网络搭建与配置 无线网络加密配置
IT 安全 第 11节 加密控制.
Web安全基础教程
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
计算机问题求解 – 论题4-4 - 密码算法 2017年04月05日.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
第七、八次实验要求.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
基于列存储的RDF数据管理 朱敏
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第十七讲 密码执行(1).
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
6-1磁的基本概念 沒有磁沒有人類 磁力的由來 磁能
入侵检测技术 大连理工大学软件学院 毕玲.
App 加密算法建议 Possible lab 土豪军 小陈.
Cfc Zeilberger 算法 陈焕林 陈永川 付梅 臧经涛 2009年7月29日.
Presentation transcript:

(第六讲) 分组密码的应用技术 张焕国 武汉大学计算机学院 密 码 学 (第六讲) 分组密码的应用技术 张焕国 武汉大学计算机学院

目 录 1、密码学的基本概念 2、古典密码 3、数据加密标准(DES) 4、高级数据加密标准(AES) 5、中国商用密码(SMS4) 目 录 1、密码学的基本概念 2、古典密码 3、数据加密标准(DES) 4、高级数据加密标准(AES) 5、中国商用密码(SMS4) 6、分组密码的应用技术 7、序列密码 8、习题课:复习对称密码 9、公开密钥密码(1)

目 录 10、公开密钥密码(2) 11、数字签名(1) 12、数字签名(2) 13、HASH函数 14、认证 15、密钥管理 目 录 10、公开密钥密码(2) 11、数字签名(1) 12、数字签名(2) 13、HASH函数 14、认证 15、密钥管理 16、PKI技术 17、习题课:复习公钥密码 18、总复习/检查:综合实验

一、计算机数据的特殊性 1、存在明显的数据模式: 许多数据都具有某种固有的模式。这主要是由数据冗余和数据结构引起的。 各种计算机语言的语句和指令都十分有限,因而在程序中便表现为少量的语句和指令的大量重复。 各种语言程序往往具有某种固定格式。 数据库的记录也往往具有某种固定结构。 操作系统和网络也有同样的问题。

一、计算机数据的特殊性 1、存在明显的数据模式: 根据明文相同、密钥相同,则密文相同的道理,这些固有的数据模式将在密文中表现出来。 掩盖明文数据模式的方法: 预处理技术(随机掩盖) 链接技术 如果不能掩盖数据模式,既使采用安全的密码算法也是徒劳的。

二、分组密码的工作模式 1977年DES颁布。1981年美国针对DES的应用制定了四种基本工作模式: 电码本模式(ECB) 密文反馈链接模式(CBC) 密码反馈模式(CFB) 输出反馈模式(OFB)

二、分组密码的工作模式 2000年美国在征集AES的同时又公开征集AES的工作模式。共征集到 15个候选工作模式。 新的工作模式标准还在评审中。 这些新的工作模式将为AES的应用作出贡献。

二、分组密码的工作模式 1、电码本模式(ECB) 直接利用分组密码对明文的各分组进行加密。 设 明文M=(M1 ,M2 ,…,Mn ), 密钥为K, 密文C= ( C1 ,C2 ,…,Cn ), 其中 Ci =E(Mi,K), i=1,2,…,n 电码本方式是分组密码的基本工作模式。 缺点:可能出现短块,这时需要特殊处理。 缺点:暴露明文的数据模式。 应用:适合加密密钥等短数据

二、分组密码的工作模式 2、密文反馈链接模式(CBC) 其中 E(Mi ⊕Z ,K), i=1 ①明密文链接方式(Plaintext and Ciphertext Block Chaining) 设 明文 M=(M1 ,M2 ,…,Mn ), 密钥为K, 密文 C = ( C1 ,C2 ,…,Cn ), 其中 E(Mi ⊕Z ,K), i=1 E(Mi ⊕Mi-1 ⊕Ci-1,K), i=2,…,n Z为初始化向量。 Ci=

二、分组密码的工作模式 2、密文反馈链接模式(CBC) ①明密文链接方式 即使Mi =Mj ,但因一般都有Mi-1 ⊕Ci-1 ≠Mj-1 ⊕Cj-1 ,从而使Ci ≠Cj ,从而掩盖了明文中的数据模式。 加密时,当Mi 或Ci 中发生一位错误时,自此以后的密文全都发生错误。这种现象称为错误传播无界。 解密时也是错误传播无界。

二、分组密码的工作模式 2、密文反馈链接模式(CBC) ①明密文链接方式 错误传播无界的缺点:当磁盘发生一点损坏时将导致整个文件无法解密。 错误传播无界的优点:可用于数据完整性、真实性认证。

二、分组密码的工作模式 M1 M2 Mn Z 加密 K K K E E E C1 C1 Cn K K K D D D 解密 Z M1 M2

二、分组密码的工作模式 2、密文反馈链接模式(CBC) 其中 E( Mi ⊕ Z ,K), i=1 明密文链接方式具有加解密错误传播无界的特性,而磁盘文件加密和通信加密通常希望解密错误传播有界,这时可采用密文链接方式。 ②密文链接方式( Ciphertext Block Chaining) 设 明文 M=(M1 ,M2 ,…,Mn ), 密钥为K, 密文 C = ( C1 ,C2 ,…,Cn ), 其中 E( Mi ⊕ Z ,K), i=1 E(Mi ⊕Ci-1,K), i=2,…,n Ci=

二、分组密码的工作模式 M1 M2 Mn Z 加密 K K K E E E C1 C2 Cn K K K D D D 解密 Z M1 M2

二、分组密码的工作模式 2、密文反馈链接模式(CBC) D(Ci ,K)⊕Z , i=1 D(Ci ,K)⊕Ci-1 , i=2,…,n ②密文链接方式 加密:错误传播无界 解密时:错误传播有界 D(Ci ,K)⊕Z , i=1 D(Ci ,K)⊕Ci-1 , i=2,…,n Ci-1 发生了错误,则只影响Mi-1 和Mi 发生错误,其余不错,因此错误传播有界。 缺点也是要求数据的长度是密码分组长度的整数倍,否则最后一个数据块将是短块。 Mi=

二、分组密码的工作模式 3、输出反馈模式 (OFB) 将一个分组密码转换为一个密钥序列产生器。从而可以实现用分组密码按流密码的方式进行加解密。 移位寄存器 S位 种子R0 E S位 K 明文 密文

二、分组密码的工作模式 3、输出反馈模式 (OFB) 如果分组密码是安全的,则产生的密钥序列也是安全的。 加解密都没有错误传播。 适于加密冗余度较大的数据,如语音和图象数据。 为了提高速度可输出最右边的 8位。 但因无错误传播而对密文的篡改难以检测。

二、分组密码的工作模式 4、密码反馈模式 CFB(Cipher Feedback) CFB模式也是用分组密码产生密钥序列。 移位寄存器 S位 E S位 K 明文 密文

二、分组密码的工作模式 4、密码反馈模式 (CFB) 与OFB的不同是,把密文反馈到移位寄存器。 加密时若明文错了一位,则影响相应的密文错,这一错误反馈到移位寄存器后将影响到后续的密钥序列错,导致后续的密文都错。 解密时若密文错了一位,则影响相应的明文错,但密文的这一错误反馈到移位寄存器后将影响到后续的密钥序列错,导致后续的明文都错。 因错误传播无界,可用于检查发现对明密文的篡改。

二、分组密码的工作模式 5、X CBC (Extended Cipher Block Chaining Encryption)模式 2000年美国学者J0hn Black和Phllip Rogaway提出X CBC模式,作为CBC模式的扩展,被美国政府采纳作为标准。 X CBC主要是解决了CBC要求明文数据的长度是密码分组长度的整数倍的限制,可以处理任意长的数据。如果用分组密码是安全的,则密钥序列就是安全的。

二、分组密码的工作模式 5、X CBC (Extended Cipher Block Chaining Encryption)模式 设明文M=(M1 ,M2 ,…,Mn-1,Mn ),相应的密文C=( C1 ,C2 ,…,Cn-1,Cn ),而Mn 可能是短块。 使用3个密钥 K1,K2,K3进行加密。 使用填充函数 Pad(X)对短块数据进行填充。

二、分组密码的工作模式 5、X CBC (Extended Cipher Block Chaining Encryption)模式 填充函数Pad(X)定义如下: X, 当X不是短块; X10…0, 当X是短块。 经填充函数 Pad(X)填充后的数据块一定是标准块。 Pad(X)=

二、分组密码的工作模式 5、X CBC (Extended Cipher Block Chaining Encryption)模式 令Z=0,以Z作为初始化向量。加密过程如下: E(Mi ⊕Z ,K1),i=1 E(Mi ⊕Ci-1,K1), i=2,…,n-1 E(Mn ⊕Cn -1 ⊕K2,K1), 当Mn 不是短块; E(PAD(Mn)⊕Cn -1 ⊕K3,K1),当Mn是短块。 Ci = Cn =

二、分组密码的工作模式 5、X CBC (Extended Cipher Block Chaining Encryption)模式 X CBC与CBC区别: ♣CBC要求最后一个数据块是标准块,不是短块。 ♣ X CBC既允许最后一个数据块是标准块,也允许是短块。 ♣最后一个数据块的加密方法与 CBC不同。 ♣ 因为有填充,需要传输填充长度信息。

二、分组密码的工作模式 5、X CBC (Extended Cipher Block Chaining Encryption)模式 可以处理任意长度的数据。 适于计算产生检测数据完整性的消息认证码MAC。 X CBC模式的主要缺点: 有填充,不适合文件和数据库加密。 使用3个密钥,需要传填充长度,复杂。

二、分组密码的工作模式 6、CTR(Counter Mode Encryption)模式 CTR模式是Diffie和Hellman于1979年提出的,在征集AES工作模式的活动中由California大学的Phillip Rogaway等人的推荐。 设T1,T2 ,…,Tn-1,Tn 是一给定的计数序列,M1,M2,…,Mn-1,Mn 是明文,其中M1,M2,…,Mn-1是标准块,Mn 的可能是标准块,也可能是短块。设其长度等于u,u小于等于分组长度。

二、分组密码的工作模式 6、CTR(Counter Mode Encryption)模式 CTR的工作模式的加密过程如下: Oi=E(Ti,K),i=1,2,…,n. Ci=Mi⊕Oi ,i=1,2,…,n-1. Cn=Mn⊕MSBu(On). 其中MSBu(On)表示On 中的高u位。

T 1 计数器 时钟脉冲 T i 加密算法 E K O i M i C i

二、分组密码的工作模式 6、CTR(Counter Mode Encryption)模式 CTR的工作模式的解密过程如下: Oi=E(Ti,K),i=1,2,…,n. Mi=Ci⊕Oi ,i=1,2,…,n-1. Mn=Cn⊕MSBu(On).

二、分组密码的工作模式 6、CTR(Counter Mode Encryption)模式 CTR的工作模式的优点: Oi的计算可预处理高速进行; 加解密过程仅涉及加密运算,不涉及解密运算,因此不用实现解密算法。 适合随机存储数据的解密。 CTR模式的缺点是没有错误传播,因此不易确保数据完整性。

三、短块加密 分组密码一次只能对一个固定长度的明文(密文)块进行加(解)密。 称长度小于分组长度的数据块为短块。 必须采用合适的技术解决短块加密问题。 短块处理技术: 1、填充技术 2、密文挪用技术 3、序列加密

三、短块加密 1、填充技术 用无用的数据填充短块,使之成为标准块。 为了确保加密强度,填充数据应是随机的。 但是收信者如何知道哪些数字是填充的呢?这就需要增加指示信息,通常用最后8位作为填充指示符。 填充法适于通信加密而不适于文件和数据库加密。

三、短块加密 2、密文挪用技术 Mn-1 Mn K E b Mn 加密 K a b E a Cn-1 Cn K a b D 解密 K

三、短块加密 密文挪用法也需要指示挪用位数的指示符,否则收信者不知道挪用了多少位,从而不能正确解密。 密文挪用加密短块的优点是不引起数据扩展。 缺点是解密时要先解密Cn 、还原挪用后再解密Cn-1 ,从而使控制复杂。

三、短块加密 3、序列加密 对于最后一块短块数据,直接使用密钥K与短块数据模2相加。 序列加密方法的优点是简单。 但是如果短块太短,则加密强度不高。

大作业 以DES、AES或SMS4作为加密算法开发出文件加密软件系统: 具有文件加密和解密功能; 具有加解密速度统计功能; 采用密文反馈链接和密文挪用短块处理技术; 具有较好的人机界面。

复习题 ① 计算机数据加密有些什么特殊问题? ② 分析CBC和X CBC工作模式的加解密错误传播情况。 ③ 为什么说填充法不适合计算机文件和数据库加密应用? ④ 密文挪用方法有什么优缺点?