密码学概述 (Cryptology Summary)

Slides:



Advertisements
Similar presentations

Advertisements

3 的倍数的特征 的倍数有 : 。 5 的倍数有 : 。 既是 2 的倍数又是 5 的倍数有 : 。 12 , 18 , 20 , 48 , 60 , 72 , , 25 , 60 ,
3.1 信息加密技术概述 3.2 密码技术 3.3 密钥管理 3.4 网络加密技术 习题与思考题 参考文献 实训指南
学习情境4-2 网上交易安全问题 ——数据加密技术
全国高等职业教育计算机类规划教材 实例与实训教程系列 网络安全应用技术 密码技术.
——Windows98与Office2000(第二版) 林卓然编著 中山大学出版社
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
引入 在开放的、非安全的网络上如何安全的传送数据? 我怎么确认你发给我的文件没被别人篡改过?.
06資訊安全-加解密.
第十六章 计算机密码学.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
计算机基础知识 丁家营镇九年制学校 徐中先.
                                                                                                                                                                
密碼學簡介與簡單生活應用 Introduction to Cryptography & Simple Applications in Life 2010 Spring ADSP 05/07.
第十讲公钥加密算法 (续) 公钥密码(续) RSA \ ElGamal algorithms.
第三章 公钥基础设施PKI 本章学习重点掌握内容: 密码学基本术语 密码体制分类 私钥密码体制的主要特点 公钥密码体制的主要特点
Signutil.
网络与系统安全实验 一 传统加密技术 古典密码技术.
CH19資訊安全 認識資訊安全與其重要性 了解傳統與公開金鑰密碼系統, 以及基本的安全性觀念 了解訊息鑑別與雜湊函數 了解數位簽章法
中国科学技术大学 肖 明 军 《网络信息安全》 中国科学技术大学 肖 明 军
大学计算机基础 典型案例之一 构建FPT服务器.
元素替换法 ——行列式按行(列)展开(推论)
数 控 技 术 华中科技大学机械科学与工程学院.
§2 求导法则 2.1 求导数的四则运算法则 下面分三部分加以证明, 并同时给出相应的推论和例题 .
李开祥 郭雪丽 马高峰 杨洋 孙凤英 陈静 Copyright © 2007 西安交通大学电子商务系
现代密码学理论与实践 第9章 公钥密码学与RSA
你知道这些标志吗?. 你知道这些标志吗? 网络——信息安全 小组讨论 你觉得网络信息安全吗? 为什么?
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
第 5 章 加密与认证技术 本章学习目标: 掌握加密通信的系统模型 了解密码学知识及常见的密码体制 了解三种网络加密方法的特点
第一章 函数与极限.
新一代安全网上银行 小组成员:杨志明 王晶 任毅 刘建中 关昊 刘超.
第二章 经典密码学 加密通信的模型 Oscar x x y Alice 加密机 解密机 Bob k 安全信道 密钥源.
数据加密与鉴别.
计算机安全与保密 古典密码 张 旻 杭 州 电 子 科 技 大 学.
C语言程序设计 主讲教师:陆幼利.
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
顺序表的删除.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
主要内容: 无线局域网的定义 无线传输介质 无线传输的技术 WLAN的架构 无线网络搭建与配置 无线网络加密配置
WPT MRC. WPT MRC 由题目引出的几个问题 1.做MRC-WPT的多了,与其他文章的区别是什么? 2.Charging Control的手段是什么? 3.Power Reigon是什么东西?
实验七 安全FTP服务器实验 2019/4/28.
IT 安全 第 11节 加密控制.
用计算器开方.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
iSIGHT 基本培训 使用 Excel的栅栏问题
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
计算机问题求解 – 论题4-4 - 密码算法 2017年04月05日.
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
第4课时 绝对值.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
Python 环境搭建 基于Anaconda和VSCode.
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
主讲教师 欧阳丹彤 吉林大学计算机科学与技术学院
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
数据表示 第 2 讲.
第四章 UNIX文件系统.
第十七讲 密码执行(1).
第十二讲 密码执行(上).
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
位似.
Computer Security and Cryptography
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
§4.5 最大公因式的矩阵求法( Ⅱ ).
入侵检测技术 大连理工大学软件学院 毕玲.
Website: 第1章 密码学概论 Website: 年10月27日.
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
第三章 图形的平移与旋转.
Presentation transcript:

密码学概述 (Cryptology Summary) 哈尔滨理工大学网络中心 导师 孙名松教授 学生 刘杰

引言 密码学简介 密码学是一门古老而年轻的科学,在当今的信息时代,大量敏感信息如法庭记录、私人文档、软件源代码、银行交易、保险单据等常常通过公共通信设施或计算机网络来进行交换。 为了保证这些信息的私密性、完整性、真实性,必须使用技术手段对其进行处理。 私密性:对信息处理后,保证让他人不能读懂。 真实性:对信息处理后,保证他人不能篡改信息(改了之后会被接收者发觉)。 完整性:对信息处理后,保证他人不能从原始信息中删除或插入其它信息(删除或插入后会被接收者发觉)。

密码学常识 使消息保密的技术和科学叫做密码编码学(cryptography) 密码学(cryptology)作为数学的一个分支,是密码编码学和密码分析学的统称。 使消息保密的技术和科学叫做密码编码学(cryptography) 破译密文的科学和技术就是密码分析学(cryptanalysis) 明文:是作为加密输入的原始信息,即消息的原始形式,通常用m或p表示。所有可能明文的有限集称为明文空间,通常用M或P来表示。 .

密文:是明文经加密变换后的结果,即消息被加密处理后的形式,通常用c表示。所有可能密文的有限集称为密文空间,通常用C来表示。 密钥:是参与密码变换的参数,通常用k表示。一切可能的密钥构成的有限集称为密钥空间,通常用K表示。 加密算法:是将明文变换为密文的变换函数,相应的变换过程称为加密,即编码的过程(通常用E表示,即c=Ek(p))。 解密算法:是将密文恢复为明文的变换函数,相应的变换过程称为解密,即解码的过程(通常用D表示,即p=Dk(c))。

第一章 密码学的发展历史 古代加密方法(手工阶段) 密码学的发展历程大致经历了三个阶段:古代加密方法、古典密码和近代密码 第一章 密码学的发展历史 密码学的发展历程大致经历了三个阶段:古代加密方法、古典密码和近代密码 古代加密方法(手工阶段) 源于应用的无穷需求总是推动技术发明和进步的直接动力。存于石刻或史书中的记载表明,许多古代文明,包括埃及人、希伯来人、亚述人都在实践中逐步发明了密码系统。从某种意义上说,战争是科学技术进步的催化剂。人类自从有了战争,就面临着通信安全的需求,密码技术源远流长。 古代加密方法大约起源于公元前440年出现在古希腊战争中的隐写术。当时为了安全传送军事情报,奴隶主剃光奴隶的头发,将情报写在

奴隶的光头上,待头发长长后将奴隶送到另一个部落,再次剃光头发,原有的信息复现出来,从而实现这两个部落之间的秘密通信。 密码学用于通信的另一个记录是斯巴达人于公元前400年应用Scytale加密工具在军官间传递秘密信息。Scytale实际上是一个锥形指挥棒,周围环绕一张羊皮纸,将要保密的信息写在羊皮纸上。解下羊皮纸,上面的消息杂乱无章、无法理解,但将它绕在另一个同等尺寸的棒子上后,就能看到原始的消息。 我国古代也早有以藏头诗、藏尾诗、漏格诗及绘画等形式,将要表达的真正意思或“密语”隐藏在诗文或画卷中特定位置的记载,一般人只注意诗或画的表面意境,而不会去注意或很难发现隐藏其中的“话外之音”。

传输密文的发明地是古希腊,一个叫Aeneas Tacticus的希腊人 ,他使用了一个称为Polybius的校验表,这个表中包含许多后来在加密系统中非常常见的成分,如代替与换位。Polybius校验表由一个5×5的网格组成(如表1-1所示),网格中包含26个英文字母,其中I和J在同一格中。每一个字母被转换成两个数字,第一个是字母所在的行数,第二个是字母所在的列数。如字母A就对应着11,字母B就对应着12,以此类推。使用这种密码可以将明文“message”置换为密文“32 15 43 43 11 22 15”。在古代,这种棋盘密码被广泛使用。

1 2 3 4 5 A B C D E F G H I/J K L M N O P Q R S T U V W X Y Z 表1-1  Polybius校验表 1 2 3 4 5 A B C D E F G H I/J K L M N O P Q R S T U V W X Y Z

古典密码(机械阶段) 古典密码的加密方法一般是文字置换,使用手工或机械变换的方式实现。古典密码系统已经初步体现出近代密码系统的雏形,它比古代加密方法复杂,其变化较小。古典密码的代表密码体制主要有:单表代替密码、多表代替密码及转轮密码。Caesar密码就是一种典型的单表加密体制;多表代替密码有Vigenere密码、Hill密码;著名的Enigma密码就是第二次世界大战中使用的转轮密码。

在第一次世界大战期间,敌对双方都使用加密系统(Cipher System),主要用于战术通信,一些复杂的加密系统被用于高级通信中,直到战争结束。而密码本系统(Code System)主要用于高级命令和外交通信中。 到了20世纪20年代,随着机械和机电技术的成熟,以及电报和无线电需求的出现,引起了密码设备方面的一场革命——发明了转轮密码机(简称转轮机,Rotor),转轮机的出现是密码学发展的重要标志之一。美国人Edward Hebern认识到:通过硬件卷绕实现从转轮机的一边到另一边的单字母代替,然后将多个这样的转轮机连接起来,就可以实现几乎任何复杂度的多个字母代替。转轮机由一个键盘和一系列转轮组成,每个转轮是26个字母的任意组合。转轮被齿轮连接起来,这样就能实现当一个齿轮转动

当一个转轮转动时,可以将一个字母转换成另一个字母。照此传递下去,当最后一个转轮处理完毕时,就可以得到加密后的字母。为了使转轮密码更安全,人们还把几种转轮和移动齿轮结合起来,所有转轮以不同的速度转动,并且通过调整转轮上字母的位置和速度为破译设置更大的障碍。 典型的密码机Hagelin C-48型(即M-209 )是哈格林对C-36改进后的产品 ,共由6个共轴转轮组成,每个转轮外边缘分别有17, 19, 21, 23, 25, 26个齿,它们互为素数,从而使它的密码周期达到了26×25×23×21×19×17 = 101 405 850(数量级达到了亿)。

近代密码(计算机阶段) 密码形成一门新的学科是在20世纪70年代,这是受计算机科学蓬勃发展刺激和推动的结果。快速电子计算机和现代数学方法一方面为加密技术提供了新的概念和工具,另一方面也给破译者提供了有力武器。计算机和电子学时代的到来给密码设计者带来了前所未有的自由,他们可以轻易地摆脱原先用铅笔和纸进行手工设计时易犯的错误,也不用再面对用电子机械方式实现的密码机的高额费用。总之,利用电子计算机可以设计出更为复杂的密码系统。

关于二战的密码小插曲: 计算机和电子学时代的到来使得美国在1942年制造出了世界上第一台计算机.二战期间,日本采用的最高级别的加密手段是采用M-209转轮机械加密改进型—紫密,在手工计算的情况下不可能在有限的时间破解,美国利用计算机轻松地破译了日本的紫密密码,使日本在中途岛海战中一败涂地,日本海军的主力损失殆尽. 1943年,在获悉山本五十六将于4月18日乘中型轰炸机,由6架战斗机护航,到 中途岛视察时,罗斯福总统亲自做出决定截击山本,山本乘坐的飞机在去往中途岛的路上被美军击毁,山本坠机身亡,日本海军从此一蹶不振.密码学的发展直接影响了二战的战局!

密码学的理论基础 密码学的理论基础之一是1949年Claude Shannon发表的“保密系统的通信理论”(The Communication Theory of Secrecy Systems),这篇文章发表了30年后才显示出它的价值。1976年W.Diffie和M.Hellman发表了“密码学的新方向”(New Directions in Cryptography)一文,提出了适应网络上保密通信的公钥密码思想,开辟了公开密钥密码学的新领域,掀起了公钥密码研究的序幕。受他们的思想启迪,各种公钥密码体制被提出,特别是1978年RSA公钥密码体制的出现,成为公钥密码的杰出代表,并成为事实标准,在密码学史上是一个里程碑。

1976美国国家标准局(NBS,即现在的国家标准与技术研究所NIST)正式公布实施了美国的数据加密标准(Data Encryption Standard,DES),公开它的加密算法,并被批准用于政府等非机密单位及商业上的保密通信。

第二章 密码体制的分类及应用 密码体制 对称密码体制(Symmetric Encryption) 第二章 密码体制的分类及应用 密码体制 密码体制就是完成加密和解密功能的密码方案。近代密码学中所出现的密码体制可分为两大类:对称加密体制和非对称加密体制。 对称密码体制(Symmetric Encryption) 对称密码体制也称为秘密密钥密码体制、单密钥密码体制或常规密码体制,对称密码体制的基本特征是加密密钥与解密密钥相同。对称密码体制的基本元素包括原始的明文、加密算法、密钥、密文及攻击者。

发送方的明文消息P = [P1,P2,…,PM],P的M个元素是某个语言集中的字母,如26个英文字母,现在最常见的是二进制字母表{0,1}中元素组成的二进制串。加密之前先生成一个形如K = [K1,K2,…,KJ]的密钥作为密码变换的输入参数之一。该密钥或者由消息发送方生成,然后通过安全的渠道送到接收方;或者由可信的第三方生成,然后通过安全渠道分发给发送方和接收方。 发送方通过加密算法根据输入的消息P和密钥K生成密文C = [C1,C2,…,CN],C=EK(P)                            接收方通过解密算法根据输入的密文C和密钥K恢复明文P = [P1,P2,…,PM],即P = EK(C)                   

目前普遍使用的对称加密算法主要有DES、3DES、RC4、RC5和AES(Rijndeal算法)等,AES是目前最新的加密标准,DES将被渐渐淘汰。 安全性 AES>3DES>DES

DES算法介绍 DES是Data Encryption Standard(数据加密标准)的缩写。它是由IBM公司研制的一种加密算法,二十年来,它一直活跃在国际保密通信的舞台上,扮演了十分重要的角色。 DES是一个分组加密算法,它以64位为分组对数据加密。同时DES也是一个对称算法:加密和解密用的是同一个算法。它的密钥长度是56位(因为每个第8位都用作奇偶校验),密钥可以是任意的56位的数。 DES由于密钥长度短,因此不够安全,而且它不易于硬件实现,未来会被渐渐替代(AES),但其设计方法是没有过时的。

算 法 结 构 DES 明文(64bits) IP置换(64bits) L0(32bits) R0(32bits) + f ki L1=R0 R1=L0 f(R0,k1) + 16轮同样运算… L16 R16=L15 f(R15,ki) + IP-1置换(64bits)

DES:IP置换 IP置换表 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 (1) 58表示:结果中位于第1个位置的值,等于原文中第58个位置的值 (2) 图中的一格代表1bit,共有64bit,即8字节

DES:f 的结构(即黑盒变换) R(32bit) K (48bit) E E(R) (48bit) + B1 B2 B3 B4 B5 B6 B7 B8 (48bit) S1 S2 S3 S4 S5 S6 S7 S8 C1 C2 C3 C4 C5 C6 C7 C8 (32bit) P

非对称密码体(Asymmetric Encryption) 非对称密码体制也叫公开密钥密码体制、双密钥密码体制。其原理是加密密钥与解密密钥不同,形成一个密钥对,用其中一个密钥加密的结果,可以用另一个密钥来解密 。 目前普遍使用的对称加密算法主要有RSA、Elgamal(离散对数)、ECC(椭圆曲线)等。

RSA算法介绍: 设p、q为两个大素数,n=pq 令φ(n)=(p-1)(q-1) 寻找一对e,d,使ed≡1 mod φ(n) 加密:E(X)=xemod n, x∈Zn 解密:E(y)=ydmod n, X∈Zn (其中x为原文,y为密文) 其原理是初等数论的费马小定理: a的(p-1)次方≡1(mod p)

Hash函数 Hash简单点讲就是把任意一段数据经过某种算法生成一段唯一的固定长度的数据。也叫做摘要。为了确保数据A免受意外或者故意(恶意)的修改,往往用这段数据A产生一个hash数据一起发送出去,Hash一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。 目前常用的Hash函数有MD5(128bit)和SHA-1(160bits)等,它们都是以 MD4 为基础设计的。 Hash算法在信息安全方面的应用主要体现在以下的3个方面:

1) 文件校验 我们比较熟悉的校验算法有奇偶校验和CRC校验,这2种校验并没有抗数据篡改的能力,它们一定程度上能检测并纠正数据传输中的信道误码,但却不能防止对数据的恶意破坏。 MD5 Hash算法的"数字指纹"特性,使它成为目前应用最广泛的一种文件完整性校验和(Checksum)算法,不少Unix系统有提供计算md5 checksum的命令。

2) 数字签名 Hash 算法也是现代密码体系中的一个重要组成部分。由于非对称算法的运算速度较慢,所以在数字签名协议中,单向散列函数扮演了一个重要的角色。 对 Hash 值,又称“数字摘要”进行数字签名,在统计上可以认为与对文件本身进行数字签名是等效的。而且这样的协议还有其他的优点。 3) 鉴权协议 如下的鉴权协议又被称作"挑战--认证模式:在传输信道是可被侦听,但不可被篡改的情况下,这是一种简单而安全的方法。

第三章 密码技术的应用---数字签名技术 数字签名的定义 信息发送者使用公开密钥算法的主要技术产生的别人无法伪造的一段数字串。发送者用自己的私有密钥加密数据后传给接收者,接收者用发送者的公钥解开数据后,就可确定消息来自于谁,同时也是对发送者发送的信息的真实性的一个证明,发送者对所发信息不能抵赖。

数字签名中使用的加密算法 (1)同时使用非对称加密和哈希函数 (2)目前最常用的是RSA签名算法,常见的是SHA-1、RSA和MD5、 RSA组合 (3)数字签名标准:DSA、ECDSA、DSS

=? Receiver Sender 简单数字签名 原始信息 原始信息 加密结果 (称为签名) Hash算法 Hash算法 Hash值 私钥 加密 公钥 =? 加密结果 (称为签名) 解密 Hash值 Receiver Sender

加 密 信 息 解 密 信 息 =? Sender Receiver 带加密的数字签名 加 密 信 息 解 密 信 息 原始信息 原始信息 Hash算法 Hash算法 发送者 私钥 Hash值 Hash值 加密 =? 发送者公钥 加密结果 (数字签名) 解密 Hash值 Sender Receiver 接收者公钥 接收者私钥

加 密 信 息 解 密 信 息 =? Sender Receiver 改进的带加密的数字签名 加 密 信 息 解 密 信 息 原始信息 原始信息 Hash算法 Hash算法 发送者 私钥 Hash值 Hash值 加密 =? 发送者公钥 加密结果 (数字签名) 解密 Hash值 用接收者公钥加密分组加密密钥 用接收者私钥解密得分组加密密钥 Sender Receiver

CA:认证中心 虚拟世界的权威机构 为了防止上一页里欺骗的例子,必须有一个权威,负责发放和管理数字证书的权威机构。 所有人都信任CA。

A机构的 信息和公钥 CA的数字签名:数字证书 一个人或机构想要公布自己的公钥时,需要找一个CA,让CA对自己的公钥签名。 签名的内容还包含机构的基本信息。 A机构的 信息和公钥 CA的私钥 Hash 算法 如MD5 Hash 值 CA的签名 验证时:用CA的公钥(解密)CA的签名,看看结果是否等于A机构的Hash值。

终点: CA根证书 根证书是CA认证中心给自己颁发的证书,是信任链的起始点。安装根证书意味着对这个CA认证中心的信任。 已经有很多根证书安装在操作系统中,安装根证书可以从网站下载,也可以从颁发机构通过其它安全的途径得到。 CA根证书是CA用私钥对公钥签名的结果。

CA的公钥 (假定CA的公钥是众所周知的) 证书信任链(证书路径) CA私钥 CA公钥 CA的公钥 (假定CA的公钥是众所周知的) CA根证书 CA公钥 CA私钥 A公钥 A的证书 验证A的公钥 CA公钥 A私钥 B公钥 B的证书 验证B的公钥 A公钥

Thank you !