密码技术
计算机科学中的密码技术

计算机科学中的密码技术密码技术是计算机科学中至关重要的一个领域。
它可以预防数据泄漏,保护机密信息,并且有效的防止网络攻击。
本文将从三个方面介绍计算机科学中的密码技术:对称加密、非对称加密以及哈希函数。
一、对称加密对称加密是一种加密方式,其中加密和解密都使用相同的密钥。
这意味着需要安全分发密钥来保护加密数据并防止未经授权的访问。
对称加密算法通常分为分组密码和流密码两种类型。
分组密码将明文分为块,并使用相同的密钥加密每个块,从而生成密文。
这些块可以是比特序列或者是更大的块。
分组密码算法中比较常见的有DES(数据加密标准),Triple-DES,AES(高级加密标准)等。
流密码则通过加密明文和随机密钥序列的异或运算来生成密文。
这种密码算法可以被看作是分组密码的一种变体,其中块是一位比特。
流密码算法中比较常见的有RC4,ChaCha20等。
二、非对称加密非对称加密是一种公钥加密技术。
这里需要两个密钥:公钥和私钥。
公钥是公开的,并且任何人都可以使用它来加密消息。
相反,解密消息需要私钥,这个私钥只能由接收方持有。
这种加密方式的一种优点是可以避免安全分发密钥的问题,但是会增加加密和解密的计算量。
非对称加密算法比较常见的有RSA(可扩展的加密算法)和椭圆曲线加密算法(ECC)。
三、哈希函数哈希函数是一种将任意长度的输入映射为固定长度的输出的函数。
这个输出通常称为散列值或者数字指纹。
哈希函数的一个主要特性是当输入数据发生变化时,输出结果必须发生变化。
散列值用于验证数据的完整性,它通常用于数字签名和消息认证码(MAC)等方面。
SHA-1和MD5是最常使用的哈希函数之一。
但是最近关于它们的安全问题已经被发现,因此人们更常使用SHA-256、SHA-384和SHA-512等更多安全的哈希算法。
结论密码学技术是计算机科学的研究,包括对称加密算法、非对称加密算法和哈希函数。
现代密码学可以帮助数据保持安全,并且保证保密性和完整性,从而预防数据泄露和网络攻击。
第3章密码技术

密码算法是在密钥控制下的一簇数学运算。根 据消息密级的不同,算法强度可以不同。
1.密码算法的分类
(1)对称密码算法
也称为单密钥密码算法。其特征是加密与解密 的密钥是一样的或相互可以导出的。
对称加密体制,如图3.3所示。
明文
E1 加密
密文
信道
密文
E2 解密
明文
通过试算我们找到,当d=7时,e×d≡1 mod φ(n)同余 等式成立。因此,可令d=7。从而我们可以设计出一 对公私密钥,加密密钥(公钥)为:KU =(e,n)=(3,33),解密密钥(私钥)为:KR =(d,n)=(7,33)。
将明文信息数字化,假定明文英文字母编码表为按字 母顺序排列数值,则字母y的明文信息为25,对其加 密得密文:C=253(mod 33)=16;对16解密得明文: M=167(mod 33)=25。
(6)RSA体制
一个可逆的公钥密码体制,它利用了如下基本事实:
寻找大素数是相对容易的,而分解两个大素数的积在 计算上是不可行的。
RSA体制的密钥对的产生过程如下:
选择两个大素数p和q(典型在10100以上)。
计算n=pq,φ(n)=(p-1)(q-1)。
选择e,并使e与φ(n)互为素数。
(3)公钥密码体制的两种基本应用模式 加密模式:公钥加密,私钥解密。 认证模式:私钥加密,公钥解密。
可用于这两种模式的公钥密码体制称为可逆公钥密码 体制,只能用于认证模式的公钥密码体制称为不可逆 公钥密码体制。
(4)公钥密码体制的安全性基础 对算法设计者来说,公钥密码体制的设计比对称密码
3.4 密钥及密钥管理框架
密钥是密码算法中的可变参数。现代密码学中有句名 言:“一切秘密寓于密钥之中”。密钥需要保密,而 密码算法是公开的。密码体制的安全性是建立在对密 钥的保密基础上的。
密码技术

(4)可以完成数字签名和数字鉴别。发信人使用只有自己 知道的密钥进行签名,收信人利用公开密钥进行检查,既方 便又安全。
置换选择函数PC-1
Ci(28位)
Di(28位)
14 3 23 16 41 30 44 46
17 28 19 7 52 40 49 42
11 15 12 27 31 51 39 50
24 6 4 20 37 45 56 36
1 21 26 13 47 33 34 29
5 10 8 2 55 48 53 32
难以解决数字签名验证的问题。
解决密钥分发的困难 数字签名的需要 依据数学问题的不同,可分为三类:
基于整数分解问题:RSA 基于离散对数问题:DSA,DH 基于椭圆曲线点群上离散对数问题:ECDSA
【RSA密码体制】 密钥产生
假设Alice想要通过一个不可靠的媒体接收Bob的一条私人讯息。她 可以用以下的方式来产生一个公钥和一个私钥: 随意选择两个大的质数p和q,p不等于q,计算n=p×q。 根据欧拉函数,不大于N且与N互质的整数个数为(p-1)(q-1) 选择一个整数e与(p-1)(q-1)互质,并且e小于(p-1)(q-1) 用公式计算d:d× e ≡ 1 (mod (p-1)(q-1)) 将p和q的记录销毁。 e是公钥,d是私钥。d是秘密的,而n是公众都知道的。Alice将她 的公钥传给Bob,而将她的私钥藏起来。
用户2 (保存自己的私钥、公钥)
Internet
用户4 (保存自己的私钥、公钥)
第3章密码技术

3.2 对称加密算法
分组密码 分组密码是将明文消息编码表示后的数字(简称明文数字) 序列,划分成长度为n的组(可看成长度为n的矢量),每 组分别在密钥的控制下变换成等长的输出数字(简称密文 数字)序列。 扩散(diffusion)和扰乱(confusion)是影响密码安全的 主要因素。扩散的目的是让明文中的单个数字影响密文中 的多个数字,从而使明文的统计特征在密文中消失,相当 于明文的统计结构被扩散。 扰乱是指让密钥与密文的统计信息之间的关系变得复杂, 从而增加通过统计方法进行攻击的难度。扰乱可以通过各 种代换算法实现。 分组密码包括DES、IDEA等。
3.2 对称加密算法
DES算法 主要有以下四点: (1)提供高质量的数据保护,防止数据未经授权 的泄露和未被察觉的修改; (2)具有相当高的复杂性,使得破译的开销超过 可能获得的利益,同时又要便于理解和掌握; (3)DES密码体制的安全性应该不依赖于算法的 保密,其安全性仅以加密密钥的保密为基础; (4)实现经济,运行有效,并且适用于多种完全 不同的应用。
3.2 对称加密算法
对称加密采用了对称密码编码技术,它的特点是文件加密 和解密使用相同的密钥,或加密密钥和解密密钥之间存在 着确定的转换关系。这种方法在密码学中叫做对称加密算 法,其实质是设计一种算法,能在密钥控制下,把 n比特 明文置换成唯一的n比特密文,并且这种变换是可逆的。 根据不同的加密方式,对称密码体制又有两种不同的实现 方式,即分组密码和序列密码(流密码)。
3.3 非对称加密技术
RSA算法公钥和私钥的生成
假设 A 要与 B 进行加密通信,该怎么生成公钥和私钥呢? 1.随机选择两个不相等的质数 p 和 q。 假设 A 选择了 3 和 11。 (实际应用中,这两个质数越大,就越难破解。 ) 2.计算 p 和 q 的乘积 n。 n=3× 11=33 n 的长度就是密钥长度。33 写成二进制是 100001,一共有 6 位,所以这个 密钥就是 6 位。 实际应用中, RSA 密钥一般是 1024 位, 重要场合则为 2048 位。 3.计算 n 的欧拉函数 (n) 。 根据公式:
密码技术

9
2. DES算法关键操作 DES算法关键操作
(1) 初始置换,逆初始置换及其参数表 初始置换, DES算法在加密前 DES算法在加密前, 首先执行一个初始置换操 算法在加密前, 初始置换表将 位明文的位置 按照规定的初始置换表 64 位明文的 作 , 按照规定的 初始置换表 将 64位明文的位置 进行变换,得到一个乱序的64位明文 位明文. 进行变换,得到一个乱序的64位明文. 经过16轮运算后 通过一个逆初始置换操作, 轮运算后, 经过16轮运算后, 通过一个逆初始置换操作, 按照规定的逆初始置换表将左半部分32位和右 逆初始置换表将左半部分 按照规定的逆初始置换表将左半部分32位和右 半部分32位合在一起 得到一个64位密文 位合在一起, 位密文. 半部分32位合在一起,得到一个64位密文. 初始置换和逆初始置换并不影响 DES 的安全 性 , 其主要目的是通过置换将明文和密文数据 变换成字节形式输出,易于DES芯片的实现 芯片的实现. 变换成字节形式输出,易于DES芯片的实现.
10
(2) 密钥置换及其参数表 64位密钥中 每个字节的第8 位密钥中, 在64位密钥中, 每个字节的第8位为奇偶校验 经过密钥置换表置换后去掉奇偶校验位, 密钥置换表置换后去掉奇偶校验位 位,经过密钥置换表置换后去掉奇偶校验位, 实际的密钥长度为56位 实际的密钥长度为56位. 在每一轮运算中, 56位密钥中产生不同的 位密钥中产生不同的48 在每一轮运算中, 从56位密钥中产生不同的48 这些子密钥按下列方式确定: 位子密钥 Ki,这些子密钥按下列方式确定: 56位密钥分成两部分 每部分为28位 位密钥分成两部分, 将56位密钥分成两部分,每部分为28位; 根据运算的轮数, 按照每轮左移位数表 每轮左移位数表将这两 根据运算的轮数, 按照每轮左移位数表将这两 部分分别循环左移 1位或 2位; 按照压缩置换表 56位密钥中选出 位子密 压缩置换表从 位密钥中选出48 按照压缩置换表从56位密钥中选出48位子密 它也称压缩置换或压缩选择. 钥,它也称压缩置换或压缩选择.
密码技术

密码技术密码技术基本概念密码技术就是数据加解密的基本过程,就是对明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法阅读的目的。
该过程的逆过程称为解密,即将该编码信息转化为原来数据的过程。
✹明文(Plaintext):被隐蔽的数据消息;✹• 密文(Ciphertext):隐蔽后的数据消息;✹• 加密(Encryption):将明文转换为密文的过程;✹• 解密(Decryption):将密文转换为明文的过程;✹• 密钥(Key):控制加密、解密的安全参数;✹• 当前,密码技术的发展使得它已经能用于提供完整性、真实性、和非否认性等属性,成为保障信息安全的核心基础技术。
✹明文P用加密算法E和加密密钥K加密,得到密文C=E K(P);✹在传送的过程中可能会出现密文截获者(又称攻击者或入侵者);✹到了接收端,利用解密算法D和解密密钥K,解出明文为D K C)= D K(E K(P))=P;✹在这里我们假定加密密钥和解密密钥都是一样的,但实际上它们可以是不一样的(即使不一样,这两个密钥也必然有某种相关性);✹密钥通常是由一个密钥源提供,当密钥需要向远地传送时,一定要通过另一个安全信道;✹根据KERCHOFF原则:算法是公开的,密钥是保密的。
在密码技术发展的早期,人们把数据的安全依赖于算法的是否保密,很显然这是不够安全的。
1883年Kerchoffs第一次明确提出编码原则:“加密算法应建立在算法的公开不影响明文和密钥安全的基础之上”。
这一原则成为判定密码强度的衡量标准,实际上也成为传统密码和现代密码的分界线。
密码的分类与算法1.按历史发展阶段划分(1)手工密码(2)机械密码(3)电子机内乱密码(4)计算机密码2.按保密程度划分(1)理论上保密的密码(2)实际上保密的密码(3)不保密的密码3.按密钥方式划分(1)对称式密码(2)非对称是密码4.按密码算法分(1)对称式密码算法(2)3DES(3)RC2和RC4(4)国际数据加密算法(5)公共密码算法(6)数字签名算法(7)AES(8)单向散列算法古典密码技术密码分析所谓密码分析,就是在未知密钥的前提下,从密文中恢复出明文或者推导出密钥,对密码进行分析的尝试。
第3章 密码技术

DES 的加密强度
• 1995年,一百万美元制造出的机器平 均3.5小时(最多不超过7小时),能破 译56位密钥的DES算法。 • 1997年1月28日美国RSA公司悬赏1万 美元破译56位DES密码,1997年3月 13日,Internet数万志愿者协助科罗拉 多州1程序员,96天破译。 • 研究还发现,机器的价格和破译速度之 比是成线性的。
3.1 加密机制
3.1.1 密码学基础知识
一个密码体制被定义为一对数据变换。
明文
加密变换
密文
解密变换
明文
加密过程
加密过程主要是重复使用混乱和扩散两种技 术。
混乱—பைடு நூலகம்是改变信息块,使输出位和输入位无 明显的统计关系。 扩散——是将明文位和密钥的效应传播到密 文的其它位。
KE
KD
M
加密
加密
C
C
解密
3.3.1 数字签名技术的概念
• 数字签名(Digital Signature)是解决网络通信 中特有的安全问题的有效方法。特别是针对 通信双方发生争执时可能产生的如下安全问 题:
– 冒充 – 否认 – 伪造 – 公证
3.3.1 数字签名技术的概念
数字签名机制需要实现以下几个目的: l 可信:消息的接收者通过签名可以确信消 息确实来自于声明的发送者。 l 不可伪造:签名应是独一无二的,其它人 无法假冒和伪造。 l 不可重用:签名是消息的一部分,不能被 挪用到其它的文件上。 l 不可抵赖:签名者事后不能否认自己签过 的文件。
(3)逆置换和 :经过16轮运算,左、右两部分合在 一起经过一个末转换(初始转换的逆置换IP-1),输 出一个64bit的密文分组。
左半部分 32 位
密 码 技 术

1.2.2 变换密码
换位有时也称为排列,它不对明文字母进行变换, 只是将明文字母的次序进行重新排列。它的密钥 必须是一个不含重复字母的单词或短语,加密时 将明文按密钥长度截成若干行排在密钥下面,按 照密钥字母在英文字母表中的先后顺序给各列进 行编号,然后按照编好的序号按列输出明文即成 密文。
1.3.1 DES算法
数据加密标准(Data Encryption Standard,DES)是由IBM 公司研制的加密算法,于1977年被美国政府采用,作为商业和 非保密信息的加密标准被广泛采用。尽管该算法较复杂,但易 于实现。它只对小的分组进行简单的逻辑运算,用硬件和软件 实现起来都比较容易,尤其是用硬件实现使该算法的速度快。
TDEA使用3个密钥,按照加密→解密→加密的次序执 行3次DES算法。
TDEA3个不同的密钥总有效长度为168比特,加强了 算法的安全性。
1.3.2 IDEA算法
国际数据加密算法IDEA是瑞士的著名学者提出的。 IDEA是在DES算法的基础上发展起来的一种安全 高效的分组密码系统。 IDEA密码系统的明文和密文长度均为64比特,密 钥长度则为128比特。其加密由8轮类似的运算和 输出变换组成,主要有异或、模加和模乘3种运算。
密钥长度越大,安全性也就越高,但相应的计算机速 度也就越慢。由于高速计算机的出现,以前认为已经 很具有安全性的512位密钥长度已经不再满足人们的 需要。1997年,RSA组织公布当时密钥长度的标准 是个人使用768位密钥,公司使用1024位密钥,而一 些非常重要的机构使用2048位密钥。
1.4 加密技术的典型应用
返回本节目录
一个较为成熟的密码体系,其算法应该是公开的,而 密钥是保密的。
在加密系统的设计中,密钥的长度是一个主要的设计 问题。一个2位数字的密钥意味着有100种可能性,一 个3位数字的密钥意味着有1000种可能性,一个6位数 字的密钥意味着有100万种可能性。密钥越长,加密 系统被破译的几率就越低。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章密码技术7.1 数据加密技术1.基本概念——术语●消息被称为明文(plain text)●用某种方法伪装消息以隐藏它的内容的过程称为加密(encryption,encipher)●加了密的消息称为密文(cipher text)●而把密文转变为明文的过程称为解密(decryption, decipher)。
●使消息保密的技术和科学叫做密码编码学(cryptography)。
●从事此行的叫密码编码者(cryptographer)●破译密文的科学和技术叫做密码分析学(cryptanalysis)●从事密码分析的专业人员叫做密码分析者(cryptanalyst)●密码学包括密码编码学和密码分析学两者。
现代的密码学家通常也是理论数学家。
2. 基本概念——密码学的在网络通信上的作用●保密:保护信息在传输的过程中,内容不会泄露给热合非法截收的第三者。
●鉴别:消息的接收者应该能够确认消息的来源;入侵者不可能伪装成他人。
●完整性:消息的接收者因该能够验证在传送过程中没有被修改;入侵者不可能用假消息代替合法消息。
●抗抵赖:发送者事后不可能虚假地否认他发送的消息(不可否认性)。
3.密码通信模型①算法密码算法也叫密码,是用于加密和解密的数学函数。
通常情况下,有两个相关的函数:一个用作加密,另一个用作解密。
明文用M(消息),密文用C表示,加密函数E作用于M得到密文C,用数学表示为:E(M)=C.相反地,解密函数D作用于C产生MD(C)=M.先加密后再解密消息,原始的明文将恢复出来,下面的等式必须成立:D(E(M))=M②受限制的算法如果算法的保密性是基于保持算法的秘密,这种算法称为受限制的算法。
如果有人无意暴露了这个秘密,所有人都必须改变他们的算法。
③现代密码学现代密码学用密钥解决了这个问题,密钥用K表示。
用K作为加密、解密函数中的参数。
密钥K的可能值的范围叫做密钥空间。
加密和解密运算都使用这个密钥,加/解密函数现在变成:E k(M)=CD k(C)=MD k(E(M))=M图见书。
4. 密码体制①对称密钥体制加密和解密时使用同一个密钥,或者加密密钥能够从解密密钥中推算出来,反过来也成立。
又称为对称密钥体制或单钥密钥体制。
对称密码体制的代表:1977年美国国家标准局颁布的DES算法对称密钥体制的缺陷:a.密钥管理麻烦通信双方事先要通过保密信道交换密钥。
算法是公开的,密钥是对称密钥体制的核心,一定不能泄露。
密钥管理问题:用户数为n,系统拥有密钥总数为n(n-1)/2b.数字签名问题(缺乏对接收端的证实)可以证实发送端:只有掌握解密密钥的合法接收者才能恢复出明文。
不能证实接收端:接收方收到文件后可以伪造或篡改文件。
c.缺乏自动检测保密密钥泄密的能力一旦密钥泄露,在一段密钥有效期内,能顺利破译出该密钥加密的所有信息而不被发现。
②公钥密钥体制(非对称密钥体制)③混合加密体制5. 公钥密钥体制①基本概念应用两个不同的密钥:一个是公开的,一个是秘密的。
从公开密钥(以下简称为公钥)很难推断出私人密钥(以下简称为私钥)。
持有公钥的任何人都可以加密消息,但却无法解密。
只有持有私钥的人才能够解密。
②加密/解密基本步骤假设A要给B发送数据。
一般的情况下,网络中的用户约定一个共同的公开密钥密码系统,每个用户都有自己的公钥和私钥,并且所有的公钥都保存在某个公开的数据库中,任何用户都可以访问此数据库。
这样加密协议如下:A.A从公开数据库中取出B的公开密钥。
B.A用B的公开密钥加密她的消息,然后传送给B。
C.B用他的私钥解密A的消息。
③公钥/私钥特点:A.公钥和私钥是两个相互关联的密钥,但是由公钥很难推出私钥。
B.公钥加密的文件只能由私钥解密。
C.私钥加密的文件只能由公钥解密。
④优点从以上的介绍中可以看出,与对称密码技术相比较,利用非对称密码技术进行安全通信,有以下优点:A.通信双方事先不需要通过保密信道交换密钥。
B.密钥持有量大大减少。
在n个用户的团体中进行通信,每一用户只需要持有自己的私钥,而公钥可放置在公共数据库上,供其它用户取用。
这样,整个团体仅需拥有n对密钥,就可以满足相互之间进行安全通信的需求。
(实际中,因安全方面的考虑,每一用户可能持有多个密钥,分别用于数字签名、加密等用途。
此种情况下,整个团体拥有的密钥对数为n的倍数。
但即使如此,与使用对称密码技术时需要n2/2个不同的密钥相比,需要管理的密钥数量仍显著减少。
)C.非对称密码技术还提供了对称密码技术无法或很难提供的服务:如与哈希函数联合运用可生成数字签名(以后介绍),可证明的安全伪随机数发生器的构造,零知识证明等。
⑤缺点算法比较复杂,加密速度慢。
6.混合加密体制加解密采用传统密码,密钥传送采用公钥密钥。
同时解决密钥管理困难和加解密速度的问题。
步骤:A.产生一个会话密钥K,用B的公钥对K加密,得到CkB.用K和对称加密算法对明文P加密得密文CC.A发送C和Ck给BD.B用他的私钥对Ck解密得会话密钥KE.B用会话密钥K解密出消息。
图见书。
7.2网络加密方式1.链路加密方式在数据链路层上进行加密,对传输的数据报文的每一个比特进行加密,每个节点配置安全单元,用于进行加密解密。
不但对数据报文正文加密,并对路由信息、校验和等控制信息加密传输过程:网络节点内数据为明文木桶原理:一个木桶由许多块木板组成,如果组成木桶的这些木板长短不一,那么这个木桶的最大容量不取决于长的木板,而取决于最短的那块木板。
采用链路加密方式,从起点到终点,要经过许多中间节点,在每个节点地均要暴露明文,如果链路上的某一节点安全防护比较薄弱,那么按照木桶原理(木桶水量是由最低一块木板决定),虽然采取了加密措施,但整个链路的安全只相当于最薄弱的节点处的安全状况。
2.节点对节点的加密方式是对链路加密方式的改进。
和链路加密方式不同的是:只对数据报文加密,不对路由信息和校验和这些控制信息加密,在节点处进行路由选择和差错检测,但是在节点先把收到的消息进行解密,然后采用另一个不同的密钥进行加密,连接保密组件,消息的加密/解密都在保密装置中进行,明文不在节点处出现。
3.端对端的加密方式发送端和接收端数据在发送端被加密,在最终目的地(接收端)解密,中间节点处不以明文的形式出现。
在应用层完成7.3密码算法介绍7.3.1古典密码算法●在计算机出现前,密码学由基于字符的密码算法构成。
不同的密码算法是字符之间互相代换或者是互相之间移位,好的密码算法是结合这两种方法,每次进行多次运算。
●现在事情变得复杂多了,但原理还是没变。
重要的变化是算法对比特而不是对字母进行变换,实际上这只是字母表长度上的改变,从26个元素变为2个元素。
大多数好的密码算法仍然是移位和置换的元素组合。
例如:移位算法凯撒密码:著名的凯撒密码就是一种简单的代替密码,它的每一个明文字符都由其右边第K 个(模26)字符代替(若K=3,A由D代替,B由E代替,W由Z代替,X由A代替,Y由B 代替,Z由C代替)。
它实际上更简单,因为密文字符是明文字符的环移,并且不是任意置换。
⏹ABCDEFGHIJKLMNOPQRSTUVWXYZ⏹DEFGHIJKLMNOPQRSTUVWXYZABC仅有25个可能的密钥,非常不安全。
例如:移位算法就是明文中每一个字符被替换成密文中的另外一个字符。
接收者对密文进行逆替换就恢复出明文来。
简单代替密码:就是明文的一个字符用相应的一个密文字符代替。
多字母代替密码:字符块被成组加密,例如“ABA”可能对应于“RTQ”,ABB可能对应于“SLL”等。
7.3.2数据加密标准(DES)1.DES加密算法的背景●发明人:美国IBM公司W. Tuchman 和C. Meyer 1971-1972年研制成功。
●产生:美国国家标准局(NBS)1973年5月到1974年8月两次发布通告,公开征求用于电子计算机的加密算法。
经评选从一大批算法中采纳了IBM的LUCIFER方案。
●标准化:DES算法1975年3月公开发表,1977年1月15日由美国国家标准局颁布为数据加密标准(Data Encryption Standard),于1977年7月15日生效。
DES出现之后,很多专家学者对它进行分析论证,证明它是一种性能良好的数据加密算法,不仅随机特性好,线性复杂度高,而且易于实现,能够标准化和通用化,因此在国际上得到了广泛的应用2.DES加密算法的基本思想DES是一种对称密码体制,加密和解密的密钥相同。
DES算法入口参数:●64bit的数据(Data),●64bit的初始密钥(Key)K●模式(Mode)DES算法工作过程:如果Mode为加密模式,则用Key去把数据Data进行加密,生成Data的密码形式(64bit)作为DES输出结果;若Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64bit)作为DES的输出结果。
DES利用传统的移位和置换的方法。
主要包括三部分:密钥产生部分、换位操作部分、与密钥有关的乘积变换部分。
图见书113页而异或则是按位“异或”,相同为“0”,相异为“1”。
例:10011000异或01100001结果11111001或运算10011000或01100001结果111110017.3.3 RSA公钥密码算法MH——背包公钥体制RSA算法是R.Rivest、A.Shamir和L.Adleman于1977年在美国麻省理工学院开发,于1978年首次公布。
1.理论准备●单向函数一个单向函数是满足下列条件的函数:它将一个定义域映射到值域,使得每个函数值有一个唯一的原像,同时还要满足下列条件:函数值计算很容易,而逆计算是不可行的。
单项陷门函数:所谓单向陷门函数是这样的函数,即除非知道某种附加的信息,否则这样的函数在一个方向上容易计算,而在另外的方向上要计算是不可行的。
有了附加的信息,函数的逆就可以在多项式时间内计算出来。
一个实用的公开密钥密码系统的建立和发展依赖于找到一个单向陷门函数。
●素数只能被1和它本身整除的自然数;否则为合数。
每个合数都可以唯一的分解出素数因子6=2×315851=131×11×11999999=3×3×3×7×11×13×37互质:如果两个数的最大公约数是1,我们就说这两个数是互质数。
1.和1互质的数:2,3,4,5,6,7,8;2.和2互质的数:3,5,7;3.和3互质的数:4,5,7,8;●素因子分解速度采用运算速度为100万次每秒的计算机整数n的十进制位数因子分解运算次数计算时间50 1.4*1010 3.9小时75 9.0*1012104天100 2.3*101574年200 1.2*1023 3.8*109年300 1.5*1029 4.0*1015年500 1.3*1039 4.2*1025年●模运算求余数例如:2 mod 7=28 mod 3=5●同余问题如果a和b都是整数,而m是一个固定的正整数,则当m能够整数a-b时,称a,b 对模m同余,记为a≡b(mod m)例如:5≡2(mod 3)5-2能整除3●模运算性质如果a 与n互素,则存在b使得a ×b ≡ 1(mod n)例如:a=2, n=3 2×2≡1(mod 3) 2×5≡1(mod 3) 注:b不唯一!●欧拉函数φ(n):小于n,但与n互素的正整数的个数。