电子商务技术与安全(铁道版) 第4章信息加密技术的应用 课件(共79张PPT)

资源下载
  1. 二一教育资源

电子商务技术与安全(铁道版) 第4章信息加密技术的应用 课件(共79张PPT)

资源简介

(共79张PPT)
第4章
信息加密技术的应用
第4章 信息加密技术的应用
4.1 信息加密技术概述
4.2 古典密码
4.3 分组密码
4.4 公钥密码
4.5 加密技术在电子商务安全中的应用
4.6 非密码的安全技术
4.7 加密实例分析
4.1 信息加密技术概述
4.1.1 密码学的起源与发展
4.1.2 密码学的基本概念
4.1.3 密码算法分类
4.1.1 密码学的起源与发展
密码学是一门古老的技术.人类出现战争就出现了密码(Cipher).
 -1946年,电子计算机出现,密码进入电子时代.
 -1946年,香农发表了“保密系统的通信理论”一文,标志密码学作为一门学科而形成.
 -1976年,提出公开密钥密码的概念,开创了一个密码新时代.
 -1977年,美国颁布了数据加密标准DES,密码史上一大创举.
 -1978年,提出RSA算法,基于大整数因子分解困难性问题.
 -2001年,颁布AES为美国国家标准.
 -未来,量子密码,混沌密码,生物密码等.
4.1.2 密码学的基本概念
一个密码系统是整个安全系统的一部分,由五部分组成(M,C,K,E,D):
 -明文空间M,全体明文的集合
 -密文空间C,全体密文的集合
 -密钥空间K,全体密钥的集合,
 -加密算法集合E,加密变换
 -解密算法集合D,解密变换
密码系统工作流程
对密码系统的攻击
仅知密文攻击:Ciphertext-only attack (COA)
 -仅知道一些密文
已知明文攻击:Known-plaintext attack (KPA)
 -知道一些(明文,密文)对
选择明文攻击:Chosen-Plaintext attack (CPA)
 -能够选择明文并获得相应的密文
选择密文攻击:Chosen-ciphertext attack (CCA)
 -能够选择密文并获得相应的明文
4.1.3 密码算法分类
1. 分组密码与流密码
(1)分组密码
将明文m划分为固定长度的明文块m1,m2,…,mn,对每一块都用相同的密钥k进行加密
(2)流密码
将明文消息按字符或位逐个进行加密
2. 对称密码与非对称密码
(1)对称密码
加密密钥与解密密钥相同或从其中一个能很容易导出另一个
(2)非对称密码
通信主体都拥有一对密钥,其中一个保密,由本人产生并保管,称为私钥,另一个密钥则可以公开
4.2 古典密码
4.2.1 代替密码
4.2.2 置换密码
4.2 古典密码
4.2.1 代替密码
(1) 移位密码
(2) 仿射密码
(3) 维吉尼亚密码
(1) 移位密码
meet me after the toga party
PHHW PH DIWHU WKH WRJD SDUWB
m
n
o
p
由其后的第三个字母代替
加密算法:c= EK(m)=(m+3) mod 26
解密算法:m= Ed(c)=(c - 3) mod 26
(1) 移位密码
英文字母和数字映射
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
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
M=C=Z26
K= Z26
加密明文 m
ci=ek(mi)=(mi+k) mod 26
解密密文 c
mi=dk(ci)=(ci-k) mod 26
(2) 仿射密码
明文空间:M=Zn
密文空间:C=Zn
密钥空间:K={(a,b)∈Zn×Zn| gcd(a,n)=1}
加密: ek(m)=c=am+b (mod n)
解密: dk(c)=m=(c-b)a-1 (mod n)
(3) 维吉尼亚密码
密钥 h o l d h o l d h o l d h o l d h o
明文 t h i s i s t h e p l a i n t e x t
密文 A V T V P G E K L D W D P B E H D H
4.2 古典密码
4.2.2 置换密码
(1) rail-fence密码
(2) 三角密码
4.2.2 置换密码
(1)rail-fence密码
(2)三角密码
i a p
t s n p l
i a e
y
o u m
u s t d o
t h a t n o w
4.3 分组密码
4.3.1 数据加密标准(DES)
4.3.2 高级加密标准(AES)
4.3.3 国际数据加密算法(IDEA)
4.3.1 数据加密标准
(1) 初始置换
1 2 3 4 5 6 7 8 58 50 42 34 26 18 10 2
9 10 11 12 13 14 15 16 60 52 44 36 28 20 12 4
17 18 19 20 21 22 23 24 62 54 46 38 30 22 14 6
25 26 27 28 29 30 31 32 64 56 48 40 32 24 16 8
33 34 35 36 37 38 39 40 57 49 41 33 25 17 9 1
41 42 43 44 45 46 47 48 59 51 43 35 27 19 11 3
49 50 51 52 53 54 55 56 61 53 45 37 29 21 13 5
57 58 59 60 61 62 63 64 63 55 47 39 31 23 15 7
初始置换IP
(1) 初始置换
逆置换IP-1
1 2 3 4 5 6 7 8 58 50 42 34 26 18 10 2
9 10 11 12 13 14 15 16 60 52 44 36 28 20 12 4
17 18 19 20 21 22 23 24 62 54 46 38 30 22 14 6
25 26 27 28 29 30 31 32 64 56 48 40 32 24 16 8
33 34 35 36 37 38 39 40 57 49 41 33 25 17 9 1
41 42 43 44 45 46 47 48 59 51 43 35 27 19 11 3
49 50 51 52 53 54 55 56 61 53 45 37 29 21 13 5
57 58 59 60 61 62 63 64 63 55 47 39 31 23 15 7
(2) f函数
(2.1)扩展置换
1 2 3 4 32 1 2 3 4 5
5 6 7 8 4 5 6 7 8 9
9 10 11 12 8 9 10 11 12 13
13 14 15 16 12 13 14 15 16 17
17 18 19 20 16 17 18 19 20 21
1 22 23 24 20 21 22 23 24 25
25 26 27 28 24 25 26 27 28 29
29 30 31 32 28 29 30 31 32 1
(2.2)S盒代替
(2.3)P盒置换
16 7 20 21 29 12 28 17
1 15 23 26 5 18 31 10
2 8 24 14 32 27 3 9
19 13 30 6 22 11 4 25
(3) 产生子密钥
(3.1)置换选择PC1
C0 D0
57 49 41 33 25 17 9 63 55 47 39 31 23 15
1 58 50 42 34 26 18 7 62 54 46 38 30 22
10 2 59 51 43 35 27 14 6 61 53 45 37 29
19 11 3 60 52 44 36 21 13 5 28 20 12 4
(3.2)循环左移
迭代次数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
循环左移位数 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1
(3.3)置换选择PC2
14 17 11 24 1 5
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32
4.3.2 高级加密标准(AES)
(1)字节代替(SubBytes):通过非线性的替换函数,把每个字节替换成对应的字节。
(2)行移位(ShiftRows):将矩阵中的每个行进行循环移位。
(3)列混合(MixColumns):使用线性变换混合每列的四个字节。
(4)异或轮密钥(AddRoundKey):矩阵中的每一个字节都与该轮的轮密钥(round key)做XOR运算,每个轮密钥由密钥生成方案产生。
4.3.2 高级加密标准(AES)
4.3.2 高级加密标准(AES)
(1)字节代替:通过S盒完成一个字节到另外一个字节的映射
4.3.2 高级加密标准(AES)
(2)行移位:四行分别循环左移0、1、2和3个位置
4.3.2 高级加密标准(AES)
(3)列混合:利用GF(28)域上算术特性的一个操作,将行移位之后的矩阵左乘下述矩阵
4.3.2 高级加密标准(AES)
(4) 异或轮密钥: 加密过程中,每轮输入与轮密钥异或一次
4.3.3 国际数据加密算法(IDEA)
由旅居瑞士中国学者来学嘉和著名密码专家J.Massey于1990年提出的
4.3.3 国际数据加密算法(IDEA)
(1)X1和第一个子密钥相乘。
(2)X2和第二个子密钥相加。
(3)X3和第三个子密钥相加。
(4)X4和第四个子密钥相乘。
(5)将第(1)步和第(3)步的结果相异或。
(6)将第(2)步和第(4)步的结果相异或。
(7)将第(5)步的结果与第五个子密钥相乘。
(8)将第(6)步和第(7)步的结果相加。
4.3.3 国际数据加密算法(IDEA)
(9)将第(8)步的结果与第六个子密钥相乘。
(10)将第(7)步和第(9)步的结果相加。
(11)将第(1)步和第(9)步的结果相异或。
(12)将第(3)步和第(9)步的结果相异或。
(13)将第(2)步和第(10)步的结果相异或。
(14)将第(4)步和第(10)步的结果相异或。
4.4 公钥密码
4.4.1 RSA加密算法
4.4.2 ElGamal加密算法
4.4.3 椭圆曲线加密算法
4.4.1 RSA加密算法
1.Bob选择保密的素数p和q,并计算n=pq, (n)=(p-1)(q-1);
2.Bob通过gcd(e, (n))来选择e;
3.Bob通过ed 1mod (n)来计算d;
4.Bob将(n,e)公开,将(p,q,d)保密;
5.Alice将明文m加密为c = me mod n,并将c发送给Bob;
6.Bob通过计算m = cd mod n解密。
RSA 举例
1. 选择p=885320963,q=238855417
计算n=pq=211463707796206571,
(n)=(p-1)(q-1)=211463706672030192
2.选择 e=9007,gcd(9007, (n))=1
3.计算d=e-1 (mod (n))=116402471153538991
4.公钥(n,e),私钥(p,q,d)
5.加密: m=30120,
301209007mod n=113535859035722866
6.解密:
113535859035722866116402471153538991 mod n=30120
4.4.2 ElGamal加密算法
ElGamal算法的密钥生成过程如下:
(1)产生一个大的随机素数p;
(2)选择Zp的一个生成元g;
(3)选择一个随机数a, 0 a p-1;
(4)计算 = ga mod p;
(5)公钥是(p, g, ),私钥是a。
4.4.2 ElGamal加密算法
ElGamal算法的加密过程如下:
(6)选择随机数k, 0 k p-1;
(7)eK(m, k)=(c1,c2);
(8)c1= gk (mod p); c2=m ( )k (mod p)。
4.4.2 ElGamal加密算法
ElGamal算法的解密过程如下:
(9)收到密文(c1,c2);
(10)计算m=c2 (c1a)-1 (mod p),
c2 (c1a)-1= m gak g-ka = m (mod p)。
ElGamal加密算法举例
(1)Bob选择p=97和一个生成元g=5;
(2)Bob选择a=58并且计算 = ga =558=44 mod 97;
(3)Bob公布(97,5,44), 私钥是a = 58;
(4)Alice想要加密消息m=3给Bob;
ElGamal加密算法举例
(5)Alice选择一个随机数k=36并且计算:
c1 = 536 = 50 mod 97
c2 = 3 4436=3 75mod 97 = 31 mod 97
(6)Alice发送{50,31}给Bob;
(7)Bob计算I=5058=75 mod 97, I-1 = 22 mod 97;
(8)Bob计算m = c2 (c1a)-1 = 31 22 = 3 mod 97。
4.4.3 椭圆曲线加密算法
椭圆加密算法的密钥生成过程如下:
(1)选取一个椭圆曲线E (mod p), p是大素数;
(2)选择E上的点G, 使得n G=O;
(3)选择一个整数a(< n);
(4)计算PA=a G;
(5)公钥是(p, G, PA),私钥是a;
4.4.3 椭圆曲线加密算法
加密明文Pm的过程如下:
(6)选择随机整数k;
(7)eK(Pm, k)={C1, C2},C1=kG,C2=Pm+kPA;
解密密文的过程如下:
(8)Pm=C2–aC1。
椭圆曲线加密算法举例
(1)Z23上的椭圆曲线: y2 = x3 + x + 1;
(2)取G = (6, 4), a=3, 计算PA=3 G = (7, 12);
(3)Bob的公钥(23, G, PA ),私钥是a=3;
(4)明文Pm=(5, 4),Alice选择随机数k=2;
(5)则加密Pm为: C1=kG=(13,7), C2=Pm+kPA =(5,4)+2(7,12)=(5,19),
所以密文为: Cm =(C1,C2)=((13,7), (5,19));
(6)Bob收到密文后, 解密如下:Pm= C2–aC1 =(5,19)–3(13,7)=(5,4)。
4.5 加密技术在电子商务安全中的应用
4.5.1 数字签名技术
4.5.2 数字摘要技术
4.5.3 身份认证技术
4.5.4 数字水印技术
4.5.5 数字时间戳技术
4.5.6 数字信封技术
4.5.1 数字签名技术
数字签名(Digital Signature)
是附加在数据单元上的一些数据,或是对数据单元所作的密码变换
是不对称加密算法的典型应用
应用:身份认证、数据完整性、不可否认性、 匿名性等
数字签名说明
数字签名: 是和原文有关的一段符号串
数字签名方案: 对于每个密钥, 有一个秘密签名算法和一个公开验证算法
RSA签名
签名方案:
Alice选定RSA公钥: (e,n); 私钥: (d,p,q)
Alice签名: s=md (mod n)
SIGd(m)=s
验证方案:
Bob收到(m, s), 下载Alice的(e, n)
计算se= m (mod n)
4.5.2 数字摘要技术
将任意长度的消息变成固定长度的短消息
类似于一个自变量是消息的函数
散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值
主要用于信息安全领域中加密算法,把一些不同长度的信息转化成杂乱的固定位数的编码里,叫做Hash值
4.5.2 数字摘要技术
输入长度是任意的
输出长度是固定的,根据目前的计算技术应至少取128位长,以便抵抗生日攻击
对每一个给定的输入,计算输出即Hash值是很容易的
给定Hash函数的描述,找到两个不同的输入消息杂凑到同一个值是计算上不可行的,或给定Hash函数的描述和一个随机选择的消息,找到另一个与该消息不同的消息使得它们得到同一个值是计算上不可行的
Hash算法
MD5:把明文消息映射成128位的Hash值
SHA1:把明文消息映射成160位的Hash值
Hash 算法的结构
b
Y0
n
f
b
Y1
n
f
b
YL-1
n
CVL-1
f
CV1
n
n
IV = Initial Vector
CV = Chain Vector
Yi = The ith Message Block
f = Compress Function
n = Hash Value Length
b = Block Length
CVL
CV0=IV= initial n-bit value
CVi=f(CVi-1, Yi-1) (1 i L)
H(M) = CVL
CV0
4.5.3 身份认证技术
是在计算机网络中为确认操作者身份而采用的方法
目的是为了保证以数字身份进行操作的操作者就是这个数字身份合法拥有者
保证操作者的物理身份与数字身份相对应
4.5.3 身份认证技术
常见的身份认证方法包括:
(1)静态密码
每个用户的密码是由这个用户自己设定的,只有他自己才知道,因此只要能够正确输入密码,计算机就认为他就是这个用户
由于密码是静态的数据,并且在验证过程中需要在计算机内存中和网络中传输,而每次验证过程使用的验证信息都是相同的,很容易被驻留在计算机内存中的木马程序或网络中的监听设备截获
4.5.3 身份认证技术
(2)动态口令
是一种让用户的密码按照时间或使用次数不断动态变化,每个密码只使用一次的技术
动态口令技术采用一次一密的方法,有效地保证了用户身份的安全性
如果客户端硬件与服务器端程序的时间或次数不能保持良好的同步,就可能发生合法用户无法登陆的问题
动态口令技术广泛应用在VPN、网上银行、电子政务、电子商务等领域
4.5.3 身份认证技术
(3)短信密码
短信密码以手机短信形式请求包含6位随机数的动态密码,身份认证系统以短信形式发送随机的6位密码到客户的手机上
客户在登录或者交易认证时候输入此动态密码,从而确保系统身份认证的安全性
4.5.3 身份认证技术
(4)USB Key认证
基于USB Key的身份认证方式采用软硬件相结合一次一密的强双因子认证模式,很好地解决了安全性与易用性之间的矛盾
USB Key是一种USB接口的硬件设备,它内置单片机或智能卡芯片,可以存储用户的密钥或数字证书,利用USB Key内置的密码学算法实现对用户身份的认证。目前主要运用在电子政务、网上银行
4.5.3 身份认证技术
(5)IC卡认证
IC卡是一种内置集成电路的卡片,卡片中存有与用户身份相关的数据,IC卡由专门的厂商通过专门的设备生产,可以认为是不可复制的硬件
IC卡由合法用户随身携带,登录时必须将IC卡插入专用的读卡器读取其中的信息,以验证用户的身份
4.5.3 身份认证技术
(6)生物识别技术
生物识别技术是指采用每个人独一无二的生物特征来验证用户身份的技术
常见的有指纹识别、虹膜识别等
生物特征认证是最可靠的身份认证方式,因为它直接使用人的物理特征来表示每一个人的数字身份
4.5.3 身份认证技术
(7)数字签名
数字签名技术是用于身份认证的最典型的方法
数字签名有两种功效:一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。二是数字签名能确定消息的完整性
4.5.4 数字水印技术
将与多媒体内容相关或不相关的一些标示信息直接嵌入多媒体内容当中
不影响原内容的使用价值
不容易被人的知觉系统觉察或注意到
4.5.4 数字水印技术
(1)按水印的特性可以将数字水印分为鲁棒数字水印和易损数字水印两类
(2)按水印所附载的媒体划分为图像水印、音频水印、视频水印、文本水印以及用于三维网格模型的网格水印等
(3)按水印隐藏的位置划分为时(空)域数字水印、频域数字水印、时/频域数字水印和时间/尺度域数字水印
4.5.5 数字时间戳
对于成功的电子商务应用,要求参与交易各方不能否认其行为
这其中需要在经过数字签名的交易上打上一个可信赖的时间戳,从而解决一系列的实际和法律问题
由于用户桌面时间很容易改变,由该时间产生的时间戳不可信赖,因此需要一个权威第三方来提供可信赖的且不可抵赖的时间戳服务
4.5.5 数字时间戳
数字时间戳服务是网上安全服务项目,由专门的机构提供。时间戳(time-stamp)是一个经加密后形成的凭证文档,它包括三个部分:
① 需加时间戳的文件的摘要 (digest);
② DTS收到文件的日期和时间;
③ DTS的数字签名。
4.5.6 数字信封技术
信息发送方采用对称密钥来加密信息内容
将此对称密钥用接收方的公开密钥来加密(这部分称数字信封)之后,将它和加密后的信息一起发送给接收方
接收方先用相应的私有密钥打开数字信封,得到对称密钥,然后使用对称密钥解开加密信息
4.5.6 数字信封技术
(1) 发方A将原文信息进行哈希运算,得一哈希值即数字摘要MD;
(2) 发方A用自己的私钥PVA,采用非对称算法,对数字摘要MD进行加密,即得数字签名DS;
(3) 发方A用对称算法的对称密钥SK对原文信息、数字签名SD及发方A证书的公钥PBA采用对称算法加密,得加密信息E;
(4) 发方用收方B的公钥PBB,采用非对称算法对对称密钥SK加密,形成数字信封DE,就好像将对称密钥SK装到了一个用收方公钥加密的信封里;
(5) 发方A将加密信息E和数字信封DE一起发送给收方B;
4.5.6 数字信封技术
(6) 收方B接受到数字信封DE后,首先用自己的私钥PVB解密数字信封,取出对称密钥SK;
(7) 收方B用对称密钥SK通过对称算法解密加密信息E,还原出原文信息、数字签名SD及发方A证书的公钥PBA;
(8) 收方B验证数字签名,先用发方A的公钥解密数字签名得数字摘要MD;
(9) 收方B同时将原文信息用同样的哈希运算,求得一个新的数字摘要MD’;
(10)将两个数字摘要MD和MD’进行比较,验证原文是否被修改。如果二者相等,说明数据没有被篡改,是保密传输的,签名是真实的;否则拒绝该签名
4.6 非密码的安全技术
4.6.1 基于生物特征的鉴别技术
4.6.2 基于量子密码的密钥传输技术
4.6.1 基于生物特征的鉴别技术
(1)指纹识别
指纹识别技术是通过取像设备读取指纹图像,然后用计算机识别软件分析指纹的全局特征和指纹的局部特征,特征点如嵴、谷、终点、分叉点和分歧点等,从指纹中抽取特征值,可以非常可靠地通过指纹来确认一个人的身份
4.6.1 基于生物特征的鉴别技术
(2)虹膜和视网膜识别
与指纹识别技术的主要步骤以及原理相似,虹膜识别与视网膜识别一般包括图像采集、图像处理、特征提取、保存数据、特征值的比对和匹配等过程
4.6.1 基于生物特征的鉴别技术
(3)面部识别
面部识别技术通过对面部特征和它们之间的关系来进行识别,用于扑捉面部图像的两项技术为标准视频和热成像技术:标准视频技术通过视频摄像头摄取面部的图像,热成像技术通过分析由面部的毛细血管的血液产生的热线来产生面部图像,与视频摄像头不同,热成像技术并不需要在较好的光源,即使在黑暗情况下也可以使用
4.6.2 基于量子密码的密钥传输技术
量子密码学的理论基础是量子力学,不同于以往理论基础是数学的密码学。如果用量子密码学传递数据,则此数据将不会被任意撷取或被插入另一段具有恶意的数据,数据流将可以安全地被编码及译码
4.6.2 基于量子密码的密钥传输技术
“海森堡测不准原理”是量子力学的基本原理,说明了观察者无法同时准确地测量待侧物的位置与动量。“单量子不可复制定理”是海森堡测不准原理的推论,它指在不知道量子状态的情况下复制单个量子是不可能的,因为要复制单个量子就只能先作测量,而测量必然改变量子的状态
若以量子密码学的密钥具有不可复制性,因此是绝对安全的。如果不幸被黑客撷取,则因为测量过程中会改变量子状态,黑客盗得的会是毫无意义的资料
量子密码术用我们当前的物理学知识来开发不能被破获的密码系统,即如果不了解发送者和接受者的信息,该系统就完全安全
4.7 加密实例分析
PGP:
(1)邮件数据m经MD5进行散列处理,形成数据的摘要;
(2)用发送者的RSA私钥KAd对摘要进行数字签名,确保真实性;
(3)将邮件数据与数字签名拼接:数据在前,签名在后;
(4)用ZIP对拼接后的数据进行压缩,以便于存储和传输;
(5)用IDEA对压缩后的数据进行加密,加密钥为K,确保保密;
(6)用接收者的RSA公钥KBe加密IDEA的密钥K;
(7)将经RSA加密的IDEA密钥与IDEA加密的数据拼接:数据在前,密钥在后;
(8)将加密数据进行BASE 64变化,变化为ASCII码。
4.7 加密实例分析

展开更多......

收起↑

资源预览