版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第3章密码学基础,2,保密与安全 安全保密与密码学的联系与区别 编码系统与密码系统的关系与区别 密码体系与密码系统 加密与解密之联系 常用及特殊密码体系 硬件加密与软件加密 保密技术的应用,本章知识点:,3,保密与安全 保密:保守机密,让不该知道的人不知。 安全:让自身不受任何方式的威胁与侵害。为此,提出了保密和安全问题。 这里必须了解: 安全的类别和层次(粒度)。 类别:国家安全、部门安全、行业安全、商业安全 层次:安全的敏感度、了解公开的范围、密级。,4,国家安全是指主权国家独立自主地生存和发展的权利和利益的总和,指国家独立、主权和领土完整以及国家政治制度不受侵犯;经济发展、民族和睦、
2、社会安定不受威胁;国家秘密不被窃取;国家工作人员不被策反;国家的机构不被渗透;人民生命、财产不受外来势力的威胁和侵犯。,什么是国家安全,5,中华人民共和国保守国家秘密法 第二条规定,国家秘密是关系国家的安全和利益,依照法定程序确定,在一定时间内只限一定范围的人员知悉的事项。,什么是国家秘窑,6,保密法第八条规定: “国家秘密包括符合本法第二条规定的下列秘密事项: 1)国家事务的重大决策中的秘密事项; 2)国防建设和武装力量活动中的秘密事项; 3)外交和外事活动中的秘密事项以及对外 承担保密义务的事项; 4)国民经济和社会发展中的秘密事项; 5)科学技术中的秘密事项;,7,6)维护国家安全活动和
3、追查刑事犯罪中的 秘密事项; 7)其他经国家保密工作部门确定应当保守 的国家秘密事项; 不符合本法第二条规定的,不属于国家秘密。 政党的秘密事项中符合本法第二条规定的,属于国家秘密。,8,文档保密密级: 绝密: 机密: 秘密: 公开: 由于办公自动化的日益普及,计算机和通信技术的联姻,信息和数据也同样涉及到保密的密级问题。在实际的应用中,加密解密机制从另一个方面决定了保密的密级。,9,安全保密性: 数据与信息的价值 人对数据和信息的依赖性 信息的敏感性 信息的私有性 为什么要保密? 不愿被他人知晓的都要保密 信息决定生存、决定政治和社会稳定 信息决定发展、 信息决定主动、抢占制高点 个人隐私,
4、 防窥视、窃取、泄露、滥用,10,安全机制的第三部分:安全保密,信息隐藏:看不到,找不到,信息加密:看不懂,难理解,信息锁定:看到了,带不走,信息控制:看懂了,已无用,用户 认证,访问 控制,安全 保密,安全 审计,安全 恢复,11,信息论涉及:消息在运动中产生信息 在通信时才需要信息保护 现在无论静态和动态数据都需要保护 密码学涉及:早期作用是保密, 现在除保密外,还有认证、鉴别功能 保密学涉及:早期对文电、文档进行加密 现在除文电、文档外,对任何文字、图形、图象、声音等多媒体信息; 对硬件部件和电路等实体的保密; 对思路、思维、企图等虚体的保密;,安全保密涉及的学科,12,一、防泄漏的范围
5、 防止计算机中的程序、数据、运行结果与执行过程的泄密,防止进入计算机系统、网络系统、信息系统的防御措施的泄密,防止个人专用信息和隐私的泄密。,第一节 系统防泄露与加解密,13,二、防泄露的机制 1)隐藏:屏蔽,看不到、找不到 2)加密:能看到,看不懂,难理解 3)控制:看到了,拿不到,带不走 4)权限:拒绝读写,拒绝执行 5)时效:看懂了,已无用,过时,14,三、密码学 密码学是一门研究秘密信息的隐写技术的学科;密码学技术可以使消息的内容对(除发送者和接收者以外的)所有人保密;可以使接收者验证消息的正确性;是解决计算机与通信安全问题重要技术。,15,四、编码系统与密码系统的关系与区别 密码编码
6、学(Cryptography): 主要研究对信息进行编码,实现对信息的隐蔽. 虽然两者都可以用于隐藏传输信息,但是它们采用的是不同的替换技术。 在密码系统中,明文表示被加密以前的一组数据,在处理时并不注重它们实际的含义。而在编码系统中,单词或者词组被其他的单词或词组所替换,从而隐藏了它们的原义。,16,例如,消息: FIRE THE CORPORATE LAWYER 通过密码系统简单加密变为: GJSF UIF OPSQPSBUF MBXZFS 通过编码系统简单加密变为: SELL THE CORPORATE DONKEY, 这里,单词SELL对应于FIRE,而DONKEY则对应于LAWYER
7、。,17,编码系统特点: * 一般不会改变太多的术语的含义 * 要求预先熟悉和掌握所有的替换码 * 复杂累赘的编码本(密码本),这种编码本含有成千上万条术语和对应的编码。编码本的准备不仅困难和耗时,而且一旦丢失、或者泄露,就形同噩梦缠身,不得不用新的编码本来替换。 * 较长的消息内容。要用编码本编码、译码非常费时,如果是现代,等译码后,消息已经无用。 * 编码系统获安全保护级别较低,18,密码系统特点: * 需要改变消息的真实含义,成为一堆乱码 * 要求预先熟悉和掌握必须的密钥 * 没有密码本,密钥可以经常替换、 * 无论消息多长。可以非常方便,可利用计算机处理,译码速度快 * 比编码系统获得
8、更高的消息安全保护级别。,19,五、电子邮件传输与保密问题 将被加密的消息通过电子邮件传输的安全问题 计算机字符集:8位二进制表示一个字符, 那么,共有:28=256种唯一的字符能够被用来表示明文字符集和密文字符集。 但是,很多电子邮件系统把所传输的字符限制为7位,而把第8位作为传输字节的奇偶校验位。这里,字符传输的限制是27,即128种字符。那么,许多不限制密文字符集的密码系统,如DES算法,就不能直接地通过某些电子邮件系统传输数据。,20,密文应当能以8位字符集表示256种唯一的字符,并能通过7位的电子邮件系统发送。那么,就需要对每个8位字符进行一种变换。 实现这种变换的计算机程序称为UU
9、ENCODE,将三个8位字符转换成四个7位字符。而另一个程序UUDECODE则完成逆向操作。这里,发送者和接收者都必须具有编码程序和对应的解码程序。 如果要通过某种电子邮件系统来传输密文,而又不需要接收者必须具有7位到8位字符的转换程序,我们就必须对明文字符集和用来产生密文的算法作出一定的限制。,21,第二节 密码学的基本概念 一、密码学与密码 密码学是关于加密和解密变换的一门科学,是保护数据和信息的有力武器。密码技术已经从早期的军事和外交领域逐步延伸到金融、交通、经济、科学、技术、信息、社会生活等各个方面,成为现代社会中保护信息的重要方法。 密码是什么? 密码就是变换。(信息代码变换、数据电
10、平变换。 变换是什么?变换是一种算法实现过程。 谁来做变换?变换可以由硬件和软件实现。 (人、器件部件、计算机),22,几个术语: 明文(plaintext):需要被隐蔽的消息 密文(cipertext): 明文经变换形成的隐蔽形式 加密 (encryption) : 从明文到密文的变换过程 解密 (decryption) : 从密文恢复到明文的过程。,23,几个术语: 变换函数所用的一个控制参数称为密钥(key) 加密和解密算法的操作通常是在一组密钥控制下进行的,分别称为加密密钥和解密密钥。 密钥未知情况下进行的解密推演过程,称为破译,也称为密码分析或者密码攻击。,24,变换的依据:密钥(K
11、ey) 密钥:计算的数据基(Database)。 密钥深度:计算的复杂性 加密的深度(程度) 获取密钥是入侵的关键,也是解密的关键。 破译与逆向工程: 密码破译:分析、统计、穷举 程序破译:反汇编、反编译 硬件破译:逆向工程,25,“魔高一尺,道高一丈” 加密和解密:矛盾在长期对抗中不断发展。 实际体现:加密和解密算法。 系统的保密性主要取决于密钥的安全性。,明文 x,密文 y,加密过程 E,密钥 k,26,加解密过程示意图 加密和解密算法的操作通常都是在一组密钥的控制下进行的,分别称为加密密钥(Encryption Key) 和解密密钥(Decryption Key).,27,“魔高一尺,道
12、高一丈”,明文 x,密文 y,加密过程,加密密钥,解密过程,解密密钥,密码破译,加密与解密,28,密钥分类: 基本密钥(base key)。用于启动和控制某种算法结构的密钥产生器,产生用于加密数据的密钥流。 会话密钥(session key)。两个用户在一次通话或交换数据时采用的密钥,例如:数据加密密钥、文件加密密钥等。 密钥加密密钥(key encrypting key)。对密钥进行加密时采用的密钥。 主密钥(host master key)。对密钥加密密钥进行加密的密钥。,29,二、密码体制 密码体制目前分为单钥密码和双钥密码体制 单钥密码体制 也称为对称密码体制,其加密密钥和解密密钥相同
13、,或者在实质上等同,即从一个很容易得出另一个。 它具有两种加密方式:,30,它具有两种加密方式: 流密码(stream cipher) :又称序列密码.序列密码每次加密一位或一字节的明文。即 对明文按字符逐位加密 组密码(block cipher):将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。 序列密码是手工和机械密码时代的主流 设计简单,密钥单一,加密效率高,特别适合点对点通信传输的数据加密。但其密钥的管理(如密钥产生、分配、存储、销毁等)工作比较复杂。,31,双钥密码体制 也称非对称密码体制,其加密密钥与解密密钥不相同,从一个很难得出另一个。采用双密钥体制
14、的每个用户都有一对选定的密钥,其中一个是秘密的,而另一个则可以公开,并可以象电话号码一样注册公布。因此,双钥密码体制也被称为公钥体制(public key system)。,32,公钥体制特点: 加密和解密能力分开,可实现多个用户加密的信息只能由一个用户解读(多对一),或者一个用户加密的信息可以由多个用户解读(一对多)。 前者可以用于公共网络中实现保密通信,后者可用于认证系统中对信息进行数字签名。由于该体制大大减少了多用户之间通信所需的密钥数,方便了密钥管理,这种体制特别适合多用户通信网络。,33,公钥体制特点:,大部分是分组密码,只有概率密码体制属于流密码 每次对一块数据加密 数字签名,身份
15、认证 RSA,ECC,ElGamal 加密解密速度慢,34,三、密码与系统安全 几个概念: 1)没有一种密码系统是无懈可击的,仅仅是 一个时间/空间复杂性问题。 2)有多种密码体制,每一种体制又派生出多 种算法,需要针对性折衷。 3)加密程度可以根据应用安全的级别来定, 一个系统可以有多种加密方式。 4)加密程度越高,算法越复杂,会降低系统 性能,需要实际性折衷。,35,1)有很多密码体系,各自产生的背景不同, 要了解他们各自适合的领域和范围。 2)每一种密码体系都有其优势和不足,扬 长避短。 3)每种密码体系算法是公开的,需要用的 时候可以知道到什么地方去查找这种标 准化文本?知道如何使用。
16、 4)了解如何使用加密、解密工具。,如何对待密码体系?,36,如何对待密码体系? 5)了解其如何产生?解决什么问题?优势 和不足在哪里?还有什么问题没有解决? 我们能不能解决?怎样解决? 6)我们能够做的事: 改进已有的算法,加深加密深度,提高加解密速度,增强应用灵活性,检测和评估加解密的程度,发明新的加密解密算法和硬件。,37,采用了密码体制的系统称为密码系统,密码系统是各种攻击的目标。非授权者、恶意攻击者通过各种办法来窃取机密信息。例如:网络侦察、数据流分析、软件跟踪、搭线窃听、电磁窃听等。 在一定的情况下,不知道密钥,仍然可能入侵密码系统。对一个密码系统采取截获密文,经过分析推断出明文的
17、攻击称为被动攻击。而主动向系统串扰,采用删除、增添、更改、伪造等手段向系统注入假信息的攻击称为主动攻击。,第三节 密码系统,38,一、密码学的起源,三个阶段: 1949年之前 密码学是一门艺术 19491975年 密码学成为科学 1976年以后 密码学的新方向公钥密码学,39,密码学的起源,隐写术(steganography): 通过隐藏消息的存在来保护消息. 隐形墨水 字符格式的变化 图象图像,40,例1,(象形文字的修改)Modified Hieroglyphics, c. 1900 B.C. 密码学的第一个例子是对标准书写符号的修改 例如:古埃及法老坟墓上的文字 思想:代替(substi
18、tution),41,例2,Polybius Checkerboard , 205123 B.C. 明文:POLYBIUS 密文:3534315412244543,42,1949年之前: 古典密码(classical cryptography) 密码学还不是科学,而是艺术 出现一些密码算法和加密设备 密码算法的基本手段(substitution & permutation)出现,针对的是字符 简单的密码分析手段出现,43,1)代替密码(替换密码) 可分为单表密码、多表密码 单表密码:将明文中的字母或符号用另一种字母或符号来代替,这种代替是一一对应的。 明文与密文之间只有一种对应关系。 多表密码
19、:代替不是一一对应的。 代替规律不同,密码体制也不同。 代替规律相同,明密文间字母对应关系不同, 代替出的密码也不同。 e.g.同余密码(加同余、乘同余、线性同余) 随机替代、密钥词组、多表组合,二、经典密码,44,* 一般单码替换密码 简单的方法给出密钥 写出密钥(删除重复字母)write key (with repeated letters deleted) 在其下面依次写出剩余字母(以横、纵行) 按列读取字母得到密文。then read off by columns to get ciphertext equivalents,45,一般单码替换密码举例 给定密钥字STARWARS 去掉重
20、复字母得到STARW 填写剩余字母: STARW BCDEF GHIJK LMNOP QUVXY Z 按列读取字母得到密文 Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ Cipher: SBGLQZTCHMUADINVREJOXWFKPY 可以用这个密钥加密、解密 例如Plaintext: I KNOW ONLY THAT I KNOW NOTHING Ciphertext: H UINF NIAP OCSO H UINF INOCHIT,46,一般单码替换密码的密码分析 根据频率统计进行分析 确定每个字母被映射到什么字母 如果知道单词之间的间隙知道,则破译会很容易. 单
21、个字母出现的可能是A或I 一般来说3个字母出现的可能是THE或AND 还可以用其他通常出现的双字母或三字母组合) 还可以应用其它很少应用的字母,47,同余密码 (1)加同余码: 一种移位密码,如凯撤(Cacsar)密码:以查码表方式进行一对一替换。 收发双方采用同一码表。 凯撤密码加密变换:C=P+3 (mod 26) 凯撤密码解密变换:P=C-3 (mod 26) 密钥:3,48,若明文 m=Casear cipher is a shift substitution 则密文 C=E(m)=FDVHDU FLSHU LV D VKLIW VXEVWLWXWLRQ,49,凯撤密码扩展: C=P+
22、n (mod 26) P=C-n (mod 26) 密钥:n,密码分析 ()加解密算法已知 ()可能尝试的密钥只有6个 通过强力攻击得到明文,50,(2)乘同余码: 移位或等间隔抽取码,明密文之间没有一一对应关系。(容易产生多义性)。 变换按照同余乘法进行: 加密变换:C=Pk (mod 26) 解密变换:P=Ck (mod 26) 密钥:k,51,(3)线性同余: 加同余与乘同余密码的结合。 正常字母顺序替换,解码容易,52,随机替换密码 随机改变字母替换顺序,改变单一字母组合, 增加字符或者专用符号替换,从而增加了密钥 数量,使密码破译困难,但用户自己记忆也困难。 通常以码表查阅实现。 密
23、钥词组密码 解决密钥记忆困难问题,任选一词组作为密钥。 加解密均也采用查表方式。 上述密码均是字母、符号的排列和组合,用计算机可以对上述密码进行破译。,53,多表密码 利用多码表组合形成的加解密机制,打乱明文统计规律,提高保密强度。多表代换密码是以一系列(两个以上)代换表依次对明文消息的字母进行代换的加密方法 e.g.维吉尼亚密码、博福特密码等,54,1维吉尼亚密码 一种以移位代换为基础的周期代换密码,为1858年法国密码学家维吉尼亚提出。 首先构造一个维吉尼亚方阵:它的基本阵列是26行26列的方阵.方阵的第一行是按正常顺序排列的字母表,第二行是第一行左移循环1位得到的,依此类推,得到其余各行
24、.然后在基本方阵的最上方附加一行,最左侧附加一列,分别依序写上a到z 26个字母,表的第一行与与附加列上的的字母a相对应,表的第二行与附加列上的字母b相对应.最后一行与附加列上的字母z相对应.如果把上面的附加行看作是明文序列,则下面的26行就分别构成了左移0位,1位,2位,25位的26个单表代换加同余密码的密文序列。加密时,按照密钥字的指示,决定采用哪一个单表。,55,56,维吉尼亚密码 密钥字 encryptionencryptione 明 文:publickeydistribution 密 文:thdcgrdmmqmfvrgqnbwbr,由于密钥字比明文短,所以要重复书写密钥字,以得与明文
25、等长的密钥序列。,57,Vigenre cipher-破译,依然保留了字符频率某些统计信息 重码分析法:间距是密钥长度整数倍的相同子串有相同密文,反过来,密文中两个相同的子串对应的密文相同的可能性很大。,58,2)置换密码 也称换位密码或转置密码。 加密方式与密文形式不同于代替密码体制。 不改变组成明文消息的符号本身,只对符号进行重新排列。 可以分类为: 倒序密码:颠倒明文书写顺序。 栅栏密码:明文交替书写排列。 行列转置:明文行列转置书写。,59,变换密码的关键思想 按一定规则写出明文,按另一规则读出密文。 密钥:用于读密文的方法和写明文的方法,60,例、行变换密码-(Row transpo
26、sition ciphers Row transposition ciphers) 按行写出字母 以密钥给出的顺序按行读出密文 (总是有一个密钥对),61,行变换密码(续1) 1) Plain: THESIMPLESTPOSSIBLETRANSPOSITIONSXX Key (R): 2 5 4 1 3 Key (W): 4 1 5 3 2 T H E S I S T I E H M P L E S E M S L P T P O S S S T S O P I B L E T E I T L B R A N S P S R P N A O S I T I T O I I S O N S X
27、X X O X S N Cipher: STIEH EMSLP STSOP EITLB SRPNA TOIIS XOXSN,62,3)代码密码 可以对明文字母、符号、词组和短语等进行替换,甚至对明文句子进行替换。 不考虑明文的结构,代码替换可以是等长的,也可以是不等长的。 短码替换使明文长度缩短,实现明文压缩。 长码替换使明文长度增长,实现明文扩展。 e.g.以各种编码实现替换: 二进制码、八或16进制码、五中出二码、 格雷码等。,63,一次一密密码,一次一密密码,由AT&T公司的Gilbert Vernam在1917年提出。发方和收方各保存一份一次一密乱码本,它是一个大的不重复的真随机密钥字
28、母集。发方用乱码本中的某一页密钥加密明文。加密方法:明文字符和乱码本密钥字符的模26加法。 每个密钥仅对一个消息使用一次。发方对所发的消息加密,然后销毁乱码本中用过的一页。收方有一个同样的乱码本,并依次使用乱码本上的每个密钥去解密密文的每个字符,然后销毁乱码本中用过的一页。,64,三、著名密码体系,1、分组密码的一般设计原理,分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列,,65,DES(Data Encryption Standard) 在所有分组密码中,数据加密标准(DES
29、)可谓是最著名的了。 DES密码是一种数据加密标准,1977年正式公布,供非机要部门的保密通信使用,是唯一由美国政府颁布的公开加密算法。 DES密码在过去20年被正式作为国际标准采用,但业界认为其56位密钥太短,而且其基本设计原理,如各种不同排列选择、置换、叠代次数等没有清楚的说明,存在系统隐蔽陷阱的可能。,1)、DES数据加密标准,66,目前,DES密码体制已经从56位单一DES,发展为112位的Double DES,以及Triple DES和更多重的DES,使加密程度和密码本身安全性得以大大提高。,67,DES是一种对二进制数据进行加密的算法。数据分组长为64位,密钥长也为64位。使用56
30、位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。与每轮编码时,一个48位的“每轮”密钥值由56位的完整密钥得出来。经过16轮的迭代、乘积变换、压缩变换等,输出密文也为 64位。 DES算法的安全性完全依赖于其所用的密钥。,68,明文64 bit码,初始变换,轮乘积变换,逆初始变换,密文bit码,输出,算法,69,()初始变换将64位数据按下表变换(IP) 取得64位的数据,如果数据长度不足64位,应该将其扩展为64位(例如补零),Initial Permutation (IP) 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62
31、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,70,将输入的第58位换到第一位,第50位换到第2位,.,依此类推,最后一位是原来的第7位。 L0、R0则是换位输出后的两部分,L0是输出的左32位,R0 是右32位,例:设置换前的输入值为D1D2D3.D64,则经过初始置换后的结果为:L0=D58D50.D8; R0=D57D49.D7。,71,将变换后的数据分为两部分,开始的
32、32位称为L0,最后的32位称为R0。 用16个子密钥加密数据,初始I=1。,72,()选择运算 将32位的RI-1按下表(E)扩展为48位的EI-1 选择运算,输入位数据,产生位输出,Expansion (E) 321 2 3 4 5 45 6 7 8 9 8 9 10 11 12 13 1213141516 17 161718192021 2021 22 23 24 25 242526 27 2829 2829 30 31 32 1,73,变换密钥16个,取得64位的密钥,每个第8位作为奇偶校验位。 舍弃64位密钥中的奇偶校验位,根据下表(PC-1)进行密钥变换得到56位的密钥,在变换中,
33、奇偶校验位已被舍弃。,74,Permuted Choice 1 (PC-1) 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4,75,将变换后的密钥分为两个部分: 开始的28位称为C0, 最后的28位称为D0。,76,生成16个子密钥,初始I=1。,同时将CI、DI左移1位或2位,根据I值决定循环左移的位数。见下表 I: 1 2
34、 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,77,将CIDI作为一个整体按下表(PC-2)变换,得到48位的KI,Permuted Choice 2 (PC-2) 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,78,()使用密钥 用16个子密钥加密数据, 初始I=1。,
35、79,异或EI-1和KI, 即EI-1 XOR KI 将异或后的结果分为8个6位长的部分,第1位到第6位称为B1,第7位到第12位称为B2,依此类推,第43位到第48位称为B8。,80,(4)选择函数(S-盒),S1、S2.S8为选择函数,其功能是将bit数据变为bit 数据,81,Substitution Box 1 (S1) 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5
36、11 3 14 10 0 6 13,82,S2 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9,83,S3 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 1 10
37、 13 0 6 9 8 7 4 15 14 3 11 5 2 12,84,S4 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14,85,86,S8 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7 11 4 1 9 12 14 2 0 6
38、10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11,87,按S表变换所有的BJ,初始J=1。所有在S表的值都被当作4位长度处理。,将BJ的第1位和第6位组合为一个2位长度的变量M,M作为在SJ中的行号。 将BJ的第2位到第5位组合,作为一个4位长度的变量N,N作为在SJ中的列号。 用SJMN来取代BJ。,88,例:以为例说明,在中,共有行数据,、 每行有列,、14、15列 现输入101100, 则 列=0110,行=10,坐标为(2,6) 查表S1为2,以4位二进制表示为:0010,89,(5)选择函数输出的拼接与换位,将B1到B8组合32
39、位, 按下表(P)变换,得到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,90,(6)每轮输出,异或P和LI-1结果放在RI, 即RI=P XOR LI-1。 LI=RI-1 直到K16被变换完成。,91,(7)逆初始变换 IP-1,组合变换后的R16L16(注意:R作为开始的32位) 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61
40、 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25,92,DES用软件进行解码需要用很长时间,而用硬件解码速度非常快,但幸运的是当时大多数黑客并没有足够的设备制造出这种硬件设备。 在1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。所以,当时DES被认为是一种十分强壮的加密方法。,93,1997年开始,RSA公司发起了一个称作“向DES挑战”的竞技赛。 1997年1月,用了96天时间,成功地破解
41、了用DES加密的一段信息; 一年之后,在第二届赛事上,这一记录41天 ;1998年7月, “第2-2届DES挑战赛(DES Challenge II-2)” 把破解DES的时间缩短到了只需56个小时; “第三届DES挑战赛(DES Challenge III)”把破解DES的时间缩短到了只需22.5小时 。,94,三重DES 解决其密钥长度问题的方法,即采用三重DES。这种方法用两个密钥对明文进行三次加密,假设两个密钥是K1和K2,其算法的步骤: 1. 用密钥K1进行DES加密。 2. 用K2对步骤1的结果进行DES解密。 3. 用步骤2的结果使用密钥K1进行DES加密 缺点:花费原来三倍时间
42、 优点:112位密钥长度,很“强壮”的加密方式,95,96,2)IDEA密码算法 IDEA是以64-bit的明文块进行分组,密钥是128-bit长。此算法可用于加密和解密。IDEA用了混乱和扩散等操作,算法背后的设计思想是“在不同的代数组中的混合运算”。主要有三种运算:异或、模加、模乘,容易用软件和硬件来实现。 IDEA的速度:现在IDEA的软件实现同DES的速度一样块。,97,2、公钥密码算法,加密与解密由不同的密钥完成 加密: XY: Y = EKU(X) 解密: YX: X = DKR(Y) = DKR(EKU(X) 知道加密算法,从加密密钥得到解密密钥在计算上是不可行的 两个密钥中任何
43、一个都可以用作加密而另一个用作解密(不是必须的) X = DKR(EKU(X) = EKU(DKR(X),98,3、公钥密码算法 1)RSA密码体制 RSA密码是由Rivest, Shamir和Adleman三位学者于1977年联合提出的双密钥(公钥)密码系统,RSA是由他们的名字的首字母命名。 是迄今理论上最为成熟完善的一种公钥密码体制。 RSA密码基于计算复杂性原理获得加密强度,但其缺点是系统的安全取决于所用的两个大素数,如果能找出一种快速方法分解这两个大素数,系统很容易被攻破。,99,RSA算法描述,RSA加、解密算法(1978 Rivest,Shamir,Adelman) 分组大小为k
44、, 2k n 2k+1 公开密钥 n(两素数p和q的乘积)(推荐p,q等长) e(与(p-1)(q-1)互素) ed1(mod(p-1)(q-1) 私人密钥 d(e-1 mod(p-1)(q-1) ) 加密 c=me mod n 解密 m=cdmod n,100,用户首先选择一对不同的素数p,q,计算n=pq,f(n)=(p-1)(q-1). 并找一个与f(n)互素的数d,并计算其逆a, 即da=1 mod f(n)。 则密钥空间K=(n,p,q,a,d )。 加密过程为ma mod n=c, 解密过程为cd mod n=m。 其中m,c分别为明文和密文. n和a公开,而p,q,d是保密的。,
45、101,举例,取两个质数p=11,q=13,p和q的乘积为n=pq=143,算出另一个数d=(p-1)(q-1)=120;再选取一个与d=120互质的数,例如e=7,则公开密钥=(n,e)=(143,7)。 对于这个e值,可以算出其逆:a=103。因为ea=7103=721,满足ea mod d =1;即721 mod 120=1成立。则秘密密钥=(n,a)=(143,103)。,102,设张小姐需要发送机密信息(明文)m=85给李先生,她已经从公开媒体得到了李先生的公开密钥(n,e)=(143,7),于是她算出加密值: c= me mod n=857 mod 143=123并发送给李先生。
46、李先生在收到密文c=123后,利用只有他自己知道的秘密密钥计算:m= ca mod n =123103 mod 143=85,所以,李先生可以得到张小姐发给他的真正的信息m=85,实现了解密。,103,RSA的安全性,就目前的计算机水平用1024位的密钥是安全的,2048位是绝对安全的。RSA实验室认为,512位的n已不够安全,应停止使用,现在的个人需要用668位的n,公司要用1024位的n,极其重要的场合应该用2048位的n。,104,RSA算法的脆弱性,公开密钥算法,P、q选择不当,则变换周期性、封闭性而泄密 例:p=17,q=11,e=7,则n=187。设m=123,则 C1=1237
47、mod 187=183 C2=1837 mod 187=72 C3=727 mod 187=30 C4=307 mod 187=123 明文m经过4次加密,恢复成明文。 总之,RSA对用户要求太苛刻,密钥不能常更换。,105,4。背包密码体制 一种基于组合数学的公钥密码体制。 思路:组合容易,分解困难,单向性原理。 加密对象:数字信息。 不同的背包有不同的解密方法,106,背包问题,背包问题描述:给定重量分别为a1,a2,an的n个物品,装入一个背包中,要求重量等于一个给定值那么,究竟是那些物品? 0-1背包问题: 给定一个正整数S和一个背包向量A=(a1,an),其中ai是正整数,求满足方程
48、S = aixi 的二进制向量X=(x1,xn)。 这是一个NP (非确定多项式)完全问题,解决这个问题所需要的时间与n呈指数增长,107,背包问题用于公钥密码学,做法:明文为X,S为密文 奥妙在于有两类背包,一类可以在线性时间内求解,另一类则不能 把易解的背包问题修改成难解的背包问题 公开密钥使用难解的背包问题 私钥使用易解的背包问题,108,易解的背包问题超递增背包,满足下列条件的背包 ai aj (j = 1,i-1) 这样的背包也被称为简单背包 求解 从最大的ai开始,如果S大于这个数,则减去ai, 记xi为1,否则记xi为0 如此下去,直到最小的ai 例如背包序列 2, 3, 6,
49、13, 27, 52 求解70的背包 结果为2, 3, 13, 52 所以,密文70对应的明文为 1 1 0 1 0 1,109,例:加解密过程,取一个超递增序列,用N去乘所有的项,再用M做模数进行模运算。模应比序列中的所有数的和要大,乘数与序列中的数没有公因子。 超递增序列2,3,6,13,27,52 取模M=105,乘数N=31,那么一般背包:,110,(231) mod 105=62 (331) mod 105=93 (631) mod 105=81 (1331) mod 105=88 (2731) mod 105=102 (5231) mod 105=37 即背包为62,93,81,8
50、8,102,37 超递增背包序列是私人密钥,而得到的背包序列是公开密钥。,111,加密二进制: 首先将其分为长度等于一般背包序列中项目数的多个分组。 如消息是:011000 110101 101110 第一组:011000 对应 93+81=174 第二组:110101 对应62+93+88+37=280 第三组:101110 对应 62+81+88+102=333 于是密文:174,280,333,112,解密密文,先计算N-1以满足NN-1(mod M),用N-1模M乘密文值的每项,然后用原始的超递增背包对其进行划分得明文。 M=105 N=31 N-1=61,113,(17461) mo
51、d 105=9=3+6 对应 011000 (28061) mod 105=70=2+3+13+52 对应 110101 (33361) mod 105=48=2+6+13+27 对应 101110 恢复明文,114,背包密码系统的意义,是第一个公钥密码系统 有较好的理论价值 在实践过程中,大多数的背包方案都已被破解,或者证明存在缺陷,115,5、刘氏密码 刘尊全教授1998年公布了一种新型公开密码系统,成功解决了数据加密中NP(非确定多项式)完全问题。特点: 一种真正公开加密算法,设计原理清楚易懂,算法过程透明,无隐蔽陷阱。 解决了信息加密中提高加密强度的问题。 密文不存在统计特征,相同明文
52、有不同的密文,相同密文也可能有不同的明文,从而使流行的统计分析密码破译法失效。 新加密系统的密钥基于随机性和数学无通常解析解而设计。,116,例、PGP加密软件是美国Network Associate Inc.出产的Internet免费软件,可用它对文件、邮件进行加密,你还可和同样装有PGP软件的朋友互相传递加密文件,安全十分保障。 PGP的7.0版是免费版, 在 上可以下载,7.8M。 是基于RSA的双钥加密体制。,117,软件用法: 首先生成一对密钥(同时生成)一个公钥,你可以把它分发给你的朋友们,用来加密文件,另一个私钥,自己保存,解密文件的。打开“开始”中“PGP”的“PGP KEYS
53、”,点击图标 或者用菜单keynew key开始生成密钥。,118,PGPKeys窗口,119,常用工具窗口,120,PGPKeys窗口,121,密钥(公钥、私钥)的产生,122,公钥以.asc或.txt文件保存,并发送对方,用于加密。,123,文件加密,124,注意选择加密的密钥,125,注意选择适当的公钥进行加密,126,第四节 密钥管理 密钥是加密解密算法中的可变部分,采用密码技术保护的系统,其安全性在很大程度上取决于对密钥的保护,而不仅仅是对算法和硬件本身的保护。因此,密钥的保密和密钥的安全管理在信息系统、通信系统等现代系统安全中是极其重要的。密钥管理包含了密钥自产生到最终销毁的整个过
54、程中的各种安全问题。如:密钥的产生、存储、装入、分配、保护、遗忘、丢失和销毁。,127,密钥安全的几个关键步骤: 密钥生成 密钥算法,公式,实现 密钥分配 分配方式,途径,拥有者 密钥验证 密钥附着一些检错和纠错位来传输,当密钥 在传输中发生错误,能很容易地被检查出来. (4) 更新密钥 如需频繁改变密钥,可从旧密钥中产生新密钥,或利用单向函数更新密钥.,128,密钥安全的几个关键步骤: (5)密钥保护 保密,权限,授权,存储,加密,携带 (6)备份密钥 密钥托管、秘密分割、秘密共享 (7)密钥有效期 (8)密钥销毁 更换,销毁 (9)公开密钥的密钥管理,129,第五节 软件与硬件加密技术 一
55、、软件加密概念 缺点:速度慢、造价高、安全性差 优点:使用灵活、修改方便、可移植性好。 采用软件加密时,密钥管理的手段必须可靠,密钥和明文应在加密后删除。,130,用纯软件方法来实现的加密,有密码方式、软件自校验方式和钥匙盘方式等。随着软加密的发展,解密软件也开始出现。一些高手可利用DEBUG、SOFTICE等工具来分析软加密的工作原理,而编写相应的解密程序。市场上有许多采用软加密的软件被这些工具解密。针对这些,软加密也做出相应的改进。一是提高加密强度,采用内部调用函数,外部包壳,并会自动排斥一些常用的解密工具;二是短时间内即做一次软件升级,使解密者难于应付。,131,密码方式 所谓密码方式就
56、是在软件执行过程中在一些重要的地方询问用户密码,用户依照密码表输入密码,程序才能继续执行。优点:实现简单,投入成本少。 缺点:破坏了正常的人机对话,易让用户感到厌烦;密码相对固定,非法用户只需复制密码表,就可以非法使用该软件;加密点比较固定,软件容易被解密。密码方式主要用于价格较低的软件,如早期的一些游戏软件就采取了此种方式。,132,软件自校验方式 是开发商将软件装入用户硬盘,安装程序自动记录计算机硬件的奇偶校验和、软件安装的磁道位置等信息,或者在硬盘的特殊磁道、CMOS中做一定标记,然后自动改写被安装程序。软件安装完之后,执行时就会校验这些安装时记录的信息或标记。如果软件被用户拷贝到另外的
57、计算机上,由于运行环境已改变,软件不能正常执行。,133,使用此种加密方式用户在正常使用软件时感觉不到加密的存在,加密相对也比较可靠,为许多软件开发商采用。有的软件商索性将安装盘用硬件加密后销售,用户购买安装盘后可自己将软件安装到多台计算机上,为用户提供了很大方便。这种加密方式也存在一定缺陷,当用户增减或更换计算机硬件,压缩硬盘,或出现CMOS掉电等情况都会造成软件不能正常执行,需重新安装软件。,134,钥匙盘方式 在软盘的特殊磁道写入一定信息,软件在运行时要校验此信息。此软盘类似一把钥匙,称为钥匙盘。采用此种加密方式的软加密工具有很多,较先进的软加密工具还提供了接口函数,如BITLOK。软件
58、商只需一次性投资购买一套加密工具,就可自己制作多张钥匙盘。此种方式加密简便,成本低,加密可靠,使用此种加密方式的软件也比较多,如KILL、KV300等。但存在一些缺陷:用户执行软件时必须在软盘驱动器中插入软盘,为用户在软盘中存取数据造成不便。因软盘是消耗品,易因折伤、划伤、磁化、冷热等原因造成损坏。软盘上的软件和数据用户可以备份,而钥匙盘不能备份,所以用户经常会因钥匙盘损坏等原因造成软件不能正常使用。,135,序列号加密 现今很多Shareware(共享软件)大多采用这种加密方式,用户在软件的试用期是不需要交费的,一旦试用期满还希望继续使用这个软件,就必须到软件公司进行注册,然后软件公司会根据
59、你提交的信息(一般是用户的名字)来生成一个序列号,当你收到这个序列号以后,并在软件运行的时候输入进去,软件会验证你的名字与序列号之间的关系是否正确,如果正确说明你已经购买了这个软件,也就没有日期的限制了。,136,许可证加密 是序列号加密的一个变种。从网上下载或购买的软件并不能直接使用,软件在安装时或运行时会对你的计算机进行一番检测,并根据检测结果生成一个特定指纹,这个指纹是一个数据文件,把这个指纹数据通过Internet、E-mail、电话、传真等方式发送到开发商那里,开发商再根据这个指纹给你一个注册码或注册文件,你得到这个注册码或注册文件并按软件要求的步骤在你的计算机上完成注册后方能使用。,137,二、硬件加密概念 硬加密则是采用硬件(电路、器件、部件等)和软件结合来实现的加密,对硬件本身和软件采取的加密、隐藏、防护技术,防止被保护对象被攻击者破析、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字化转型下BY公司人力资源成本控制策略研究:基于效益与可持续发展视角
- 数字化转型下ANQ公司营销策略的创新与突破
- 数字化赋能:船检行业无损检测信息管理系统的深度探索与实践
- 数字化赋能:小学选修型校本课程管理网站的构建与实践探索
- 经济师《房地产经济专业知识与实务》试卷中级试题及答案
- 数字化赋能政务:温州市行政审批综合应用平台的设计与实现
- 教师资格中学教育知识与能力模拟题库及答案
- 数字化浪潮下VIETTIEN服装总公司营销策略创新与转型研究
- 2025 做值日作文课件
- 2025 刺激的过山车体验作文课件
- 人工智能企业人才招聘策略可行性研究报告
- 单片机原理及接口技术C51编程第2版张毅刚 教学课件全套
- 套标机考试题及答案
- 焦炭采购知识培训课件
- 储能集装箱知识培训课件
- 小学生 Python 入门 10 堂课
- 黄河流域矿井水新型除氟剂的开发制备及作用机理分析
- 游泳池拆除工程施工方案
- 气割工技能考试题及答案
- 水利水电工程单元工程施工质量验收标准 第3部分:地基处理与基础工程
- 《涉外法治概论》课件 杜涛 第7-10章 对外贸易与经济制裁法律制度-涉外应急管理法律制度
评论
0/150
提交评论