密码和密码模型
chap7.3密码与解密模型_资料
A1 (mod m)
2018/11/12
对上面例子,det(A)=5,它与29互素,所以满足 2 的条件,故A关于模29的逆为
5 2 5 2 A 5 (mod 29) 6 (mod 29)(因为5的同余逆21) 0 1 0 1 30 12 1 17 (mod 29) (mod 29) 0 6 0 6
2018/11/12
密码学名词
明 文 需要采用某种方法对其进行变换来隐蔽 它所载荷的信息或字符串 理解的隐蔽信息的消息或字符串的过程 密 文 明文经过加密过程的变换所得的消息或 字符串
加密过程 将明文变换成另一种不能被非授权者所
加密变换 将明文变为密文的变换
解密变换 将密文变为明文的变换
密 钥
2018/11/12
加(解)密变换所使用的参数
置换密码
置换密码是一个最容易实现而且最为人们熟悉 的密码。只需要把每个字母由其它的字母来替 换而形成密文。而替换的规则是随机的或者是 系统的。 凯撒密码是首先将讯息(明码)中的字母,用不同 的字母代替。他的做法是系统地将字母向后推 三个位置。
a-D b-E c-F d-G e-H f-I g-J h-K i-L j-M k-N l-O m-P n-Q o-R p-S q- T r-U s-V t-W u-X v-Y w-Z x-A y-B z-C
模 26 倒数表 a
a –1(mod26)
1 1
3 9Biblioteka 579 11 15 17 19 21 23 25
21 15 3 19 7 23 11 5 17 25
this message is top secret WKLVPHVVDJHLVWRSVHFUHW we are the champion ZHDUHWKHFKDPSLRQ
数论模型密码的加密与解密
仿射变换的解密公式可通过求解同余方程得到 a p c b (m o d m ) 记 整 数 a 关 于 模 m的 同 余 逆 为 a 对上式两边同乘a p a
1 1 1
,即 aa
1
1 (m o d m ),
,得
( c b ) (m o d m )
Remark: 只 有 a 与 m 互 素 , 才 可 能 存 在 a 关 于 模 m的 同 余 逆 a
1 05 4 2 1 1 0 (m o d 2 6 ) (m o d 2 6 ) 21 0 0 2 1
解密公式为: 1 1 0 A (m o d m ) (m o d 2 6 ) 0 2 1
1
对密文UUQR进行解密得到
对应密文
UUQR
定 义 8 .1 设 m 为 一 正 整 数 , 记 整 数 集 合 Z m {0 , 1, 2 , , m 1} . 对 于 一 个 元 素 属 于 Z m的 n阶 方 阵 A , 若 存 在 一 个 元 素 属 于 Z m 的 n阶 方 阵 B , 使 得 A B B A I (m o d m ) 称 A 为 模 m 可 逆 。 B 为 A 的 模 m 逆 矩 阵 , 记 为 B A (m o d m )
1
A (m o d m )
1
对上面例子,det(A)=5,它与26互素,所以满足 8.1的条件,故A关于模26的逆为
1
A
5
1
5 2 5 2 (m o d 2 6 ) 2 1 (m o d 2 6 )(因 为 5 的 同 余 逆 2 1) 0 1 0 1
1
(m o d m )
密码技术模型
密码技术模型
密码技术模型是一种用于描述密码技术的概念性、理论模型,通常包括密码学的基本要素、假设、算法和安全性分析等方面。
以下是几种常见的密码技术模型:
1. 传统密码模型(Classical Cryptography Model):传统密码
模型主要用于描述古典密码技术,如凯撒密码和仿射密码等。
它通常包括明文空间、密文空间、密钥空间、加密算法和解密算法等。
2. 非对称密码模型(Asymmetric Cryptography Model):非对
称密码模型是一种基于两个互相关联、但具有不同的密钥的密码模型,也称为公钥密码模型。
它通常包括公钥空间、私钥空间、加密算法和解密算法等。
3. 对称密码模型(Symmetric Cryptography Model):对称密
码模型是一种基于相同密钥进行加密和解密的密码模型。
它通常包括密钥空间、加密算法和解密算法等。
4. 散列函数模型(Hash Function Model):散列函数模型用于
描述散列函数的基本特性和安全性要求。
它包括散列函数的输入空间、输出空间、安全性要求和安全性分析等。
5. 消息认证码模型(Message Authentication Code Model):消息认证码模型用于描述消息认证码的基本特性和安全性。
它通常包括消息认证码的输入空间、输出空间、密钥空间、安全性要求和安全性分析等。
需要注意的是,以上只是几种常见的密码技术模型,实际上还有其他的密码技术模型,如基于标签的密码模型、公钥基础设施模型等,每种模型都有其特定的应用领域和技术要求。
密码学——精选推荐
密码学密码学符号说明:D(K,Y) ⽤密钥K和对称算法解密密⽂YD(PR a,Y) ⽤A的私钥PR a和⾮对称算法解密密⽂YD(PU a,Y) ⽤A的公钥PR a和⾮对称算法解密密⽂YE(K,X) ⽤密钥K和对称算法加密明⽂XE(PR a,,X) ⽤A的私钥和对称算法加密明⽂XE(PU a,X) ⽤A的公钥和对称算法加密明⽂XK 密钥PR a⽤户A的私钥PU a⽤户A的公钥C 密⽂P 明⽂gcb(a,b) 表⽰a和b的最⼤公因⼦OSI安全框架安全攻击:分为被动攻击和主动攻击。
被动攻击包括⾮授权阅读消息、⽂件以及流量分析。
主动攻击包括对消息或⽂件的篡改以及拒绝服务等。
安全机制:安全机制是⼀种处理过程(或实现该处理过程的设备),⽤来检测、阻⽌攻击或者从攻击状态恢复为正常状态。
安全机制的例⼦有加密算法、数字签名和认证协议。
安全服务:安全服务包括认证、访问控制、数据保密性、数据完整性、⾮否认性以及可⽤性。
密码算法和协议的4个领域对称加密:⽤于加密任意⼤⼩的数据块或数据流的内容,包括消息、⽂件、加密密钥和⼝令。
⾮对称加密:⽤于加密⼩的数据块,如加密密钥或数字签名中使⽤的Hash函数值。
数据完整性算法:⽤于保护数据块(例如⼀条消息)的内容免于修改。
认证协议:有许多基于密码算法的认证⽅案,⽤来认证实体的真实性。
对称密码模型对称加密⽅案有5个基本成分明⽂:原始可理解的消息或数据,是算法的输⼊加密算法:加密算法对明⽂进⾏各种代替和变换密钥:密钥也是加密算法的输⼊。
密钥独⽴于明⽂和算法。
算法根据所⽤的特定密钥⽽产⽣不同的输出。
算法所⽤的确切代替和变换也依靠密钥。
密⽂:作为算法的输出,看起来完全随机⽽杂乱的消息,依赖于明⽂和密钥。
对于给定的消息,不同的密钥产⽣不同的密⽂,密⽂看上去是随机的数据流,并且其意义是不可理解的。
解密算法:本质上是加密算法的逆运算。
输⼊密⽂和密钥,输出原始明⽂。
注:发送者和接收者必须在某种安全的形式下获得密钥并且必须保证密钥安全。
密码技术专题(二)——古典密码体制
密码技术专题(二)—古典密码体制∙1、密码体制的概念o明文信源o密文o密钥与加密运算o密码体制∙2、古典密码体制的发展o古典加密方法o代替密码o换位密码o转轮密码∙3、几种典型的古典密码体制o CAESAR体制o双字的Playfair体制o维吉尼亚体制o Hill体制我们已经知道,一个密码体制由明文信源、密文、密钥与加密运算这四个基本要素构成,下面我们将进一步给出它们的数学模型。
1、明文信源直观地讲,明文信源就是明文字母表或者明文字母。
比如所有的英文字母、全部的中文字符就是典型的明文字母表。
准确一点,明文信源还应当包含明文字母的概率分布。
如果用X表示明文字母表,则它的元素x∈X则就是明文字母。
在明文字母表中,不同的明文字母出现的频率往往是不同的,比如在26个英文字母中,一般来说字母“e”的频率最高;而在汉字中,可能是“的”字频率最高。
所以,一个明文信源记为S=[X,p(x)],其中X为明文字母表,p(x)为明文字母x∈X 出现的概率,而且p(x)满足如下条件:对任何x∈X,p(x)≥0,且∑p(x)=1。
2、密文密文由密文字母表Y和密文字母y∈Y组成,密文字母表一般是指密文可能使用的全部字母的集合,而y∈Y是它的元素。
密文字母表可以与明文字母表相同,也可以不同。
3、密钥与加密运算密钥用来从密码体制的一组加密运算中选择一个加密运算(或者称为加密步),密钥允许你按照以前制定的规则改变加密,比如每天,或每份报之后,或者每个字符之后。
通常,密钥的组织和编排须利于它们允许通过简单的规则产生单独的加密步。
加密方法的组合复杂度取决于在此方法下密钥的数量。
如果用K表示密钥空间,也就是选择加密步的参数集合,k∈K则称为一个密钥。
加密步就是明文字母表X到密文字母表Y的一个映射:E:X→Y,对每个x∈X。
由于加密步并不是单一的,而是一族运算,因此我们就可以记为Ek=Ek(x),其中x∈X,k∈K。
除特殊的编码方法外,如多名码或多音码,对于每个k∈K,Ek(x)都是X到Y的1-1映射。
第02章 密码学
4 hill密码(一种多表代换密码)
原理:矩阵中线性变换原理。优点完全隐藏了单字母频 率特性,采用矩阵形式,还隐藏了双字母的频率特性。 a,b,…z -0,1,…25。m个一组连续明文字母看成 是m维向量,跟一个m*m密钥矩阵相乘,结果模26. 密钥必须可逆。 c1 k11 k12 k13 k14 p1 m=4 c2 k 21 k 22 k 23 k 24 p 2 例题 p25 c3 k 31 k 32 k 33 k 34 p3 c 4 k 41 k 42 k 43 k 44 p 4
M
加密算法 K
密钥源
安全通道
明文M 加密算法 密钥 密文 解密算法
密文C: 完全随机杂乱的数据,意义不可理解。 密钥 K:密钥独立于明文。私密,保密。密钥越长,强度越高 解密算法是加密算法逆运算,需要足够强度。实际中加解密算 法是公开的。
2.3.1 对称密码体制概念
为保证通信安全,对称密码体制要满足:(2) 加密算法有足够强度,即破解难度足够高。 算法强度除了依赖本身外,主要密钥长度。 密钥越长强度越高。 发送者和接收者必须能够通过安全方法获得 密钥,并且密钥是安全的。一般加密算法和 解密算法都是公开的。只有密钥是私密的。
2.1.2 –密码系统安全性
无条件安全(理论) 计算上安全(实际应用):理论上可破译,但 是需要付出十分巨大的计算,不能在希望的时 间或可行的经济条件下求出准确的答案。满足 以下标准: 破译密码的代价超出密文信息价值 破译密码的时间超出密文信息的有效生命期
2.1.2 –密码攻击两种方法
密码分析(密码攻击):
密码学3 序列密码
2019/1/25
35
随机性公设说明:
1)说明:序列中0、1出现的概率基本相同 2)说明:0、1在序列中每一位置上出现 的概率相同; 3)说明通过对序列与其平移后的序列作比 较,不能给出其它任何信息。
2019/1/25 36
从密码系统的角度看,一个伪随机序列还 应满足下面的条件: ① {ai}的周期相当大。 ② {ai}的确定在计算上是容易的。 ③ 由密文及相应的明文的部分信息,不能 确定整个{ai}。
2019/1/25 31
该移存器的周期是最长周期。 称能产生m序列的移存器为本原移存器,该 移存器对应的反馈多项式为本原多项式。 本原多项式所产生的序列是最长周期序列, 即 2n-1 ,称为m序列。
m序列在密码学中有广泛的应用。
2019/1/25 32
2、m序列特性
(一)基本定义
定义1:游程 若干个信号连续出现的现象称游程。
2019/1/25
37
(三)m序列的特性
性质1:“0、1”信号频次
r级m序列的一个周期中,1出现 2 r 1 r 1 2 1 个。 0出现
本原多项式
f ( x) x 4 x 1
个,
序列的一个周期:011110101100100
2019/1/25 38
性质2:在r级m序列的一个周期中,没有大于r的游程
2019/1/25
1
2. 单表代换密码 凯撒密码
c E3 (m) m 3(mod26),0 m 25 m D3 (c) c 3(mod26),0 c 25
移位变换
c Ek (m) m k (mod26),0 m, k 25 m Dk (c) c k (mod26),0 c, k 25
密码学导论
计算机单机,专人操作
网络时代 • 需要自动工具来保护存储在计算机
中的文件及其它信息
• 需要可靠措施来保护网络和通信链
接中的数据传输
计算机安全:单机数据安全
网络安全:传输过程中的数据安全
密码学导论--中国互科联学技网术安大全学 :全网络上的数据安全
4
一个通信安全的例子
❖ Alice与Bob通信
Alice
密码编码学与网络安全:原理与实践(第六版 •William Stallings, 电子工业出版社,2006年
❖ 参考书:
)
应用密码学——协议、算法与C源程序
•Bruce Schneier, 机械工业出版社,2001
密码编码学和密码分析
•机械工业出版社,吴世忠等译,2001年
密码学与计算机网络安全
•卿斯汉,清华大学出版社,2001年
密码学导论中国科学技术大学绪论经典技术与理论经典密码密码学理论基础密码算法分组密码流密码公开密钥密码媒体内容安全基础安全技术消息认证及其算法数字签名与认证密码应用密钥管理与应用密码协议
本章目录
第一节 复杂的信息安全
• 信息安全的复杂性 • 安全框架与模型
第二节 密码学的历史
第三节 密码学基本概念
• 基本术语、基本模型、基本原则、基本参数 • 安全的种类、密码分析基本类型 • 密码体制分类
多方协议,……
密码学导论--中国科学技术大学
10
网络访问安全模型
用户
访问通道
看门 函数
❖ 使用网络访问安全模型需要:
选择合适的看门函数识别用户 实现安全控制,确保仅授权用户可以使用指定信息或资源
❖ 可信计算机系统有助于实现此模型
信息系统
代数中关于的密码的模型讲解
向量; • 用加密矩阵左乘每一列向量; • 将新向量的每个分量关于模m取余运算; • 将新向量的每个整数对应于一个字符。 解密过程相反。
定理1 a {0,...,25,}若 a1 {0,25}使得
到第二组中其他字母之后, 而h将降到第三组中,并 且th和he就不再是最众多的字母了。
以上对英语统计的讨论是在仅涉 及26个字母的假设条件 下进行的。实际上消息的构成还包括间隔、标点、数字 等字符。总之,破译密码并不是件很容易的事。
希尔密码
移位密码的一个致命弱点 是明文字符和密文字符有相同 的使用频率,破译者可从统计出来的字符频率中找到规律, 进而找出破译的突破口。要克服这一缺陷,提高保密程度 就必须改变字符间的一一对应。
I. t,a,o,i,n,s,h,r; II. e; III. d,l; IV. c,u,m,w,f,g,y,p,b; V. v,k,j,x,q,z;
不仅单个字母以相当稳定的频率出现,相邻字母对和三字母 对同样如此。
按频率大小 将双字母排列如下: th,he,in,er,an,re,ed,on,es,st,en,at,to,nt,ha,nd,ou,ea,ng,a s,or,ti,is,er,it,ar,te,se,hi,of 使用最多的三字母按频率大小排列如下: The,ing,and,her,ere,ent,tha,nth,was,eth,for,dth
是“猜测”的艺术。“q猜i 测 ”Ap的i 成(i=功1,与2,否…直, 接n)决定着破译的结
果破的。译字希母尔表密 是码怎的样对可关的应确键,的定是 更A明猜为,文测重并文要(i将=字的1密,被是2码,转要…破换设,译成法n。)是成获什几取么维 加向密,量矩即所阵、A对。应
密码的加密与解密模型
Hill密码的加密与解密过程类似于在n维向量空间中 进行线性变换及其逆变换。每个明文向量是一个 Zm上的n维向量,乘以加密矩阵并对m取余,仍为 Zm上的一个n维向量。由于加密矩阵A为模m的可逆 矩阵,所以如果知道了n个线性无关的n维明文向 量及其对应的密文向量,就可以求出它的加密矩 阵A及其模m的逆矩阵A-1(mod)
最后破译文为 ANAME RICAN SECRE TAGEN TWILL MEETA NAFGH ANIST ANMOL EINTH ECOFF EEBAR ATTHU RSDAY AFTER NOON 即AN AMERICAN SECRET AGENT WILL MEET AN AFGHANISTAN MOLE IN THE COFFEE BAR AT THURSDAY AFTERNOON 破译成功
置换密码
Caesar 密码 A B C D E F J H I J K
0 1 2 3 4 5 6 7 8 9 10 密码本 密文 明文 密文 ABCDEFGHIJKLMNOPQRSTUVWXYZ DEFGHIGKLMNOPQRSTUVWXYZABC
Caesar was a great soldier
定义1 设m为一正整数,记整数集合Z m {0, 1, 2, 的n阶方阵B,使得 AB BA I (mod m)
, m 1}.
对于一个元素属于Z m的n阶方阵A,若存在一个元素属于Z m
称A为模m可逆。B为A的模m逆矩阵,记为B A1 (mod m)
命题1 元素属于Z m的方阵A模m可逆的充要条件 是:m和 det( A)没有公共的素数因子。 推论1 若方阵A的每个元素属于Z m,而且 det A 1 则A是模m可逆的,且它的逆矩阵A 1 (mod m) 就是A的模m逆矩阵。
密码技术介绍
二元加法流密 码
双方的密钥由“密钥流生成器”产生,密钥 与明文无关。
单向杂凑(Hash)算法
• 杂凑算法(或者叫做信息摘要算法)是将一个较 长的数字串M映射成一个较短的定长输出数字串H 的函数,我们关心的通常是单向杂凑函数。
• 杂凑函数除了可用于数字签名方案之外,还可用 于其它方面,诸如消息的完整性检测、消息的起 源认证检测等。
DES变形---
三倍长密钥 三个DES密钥组成的192
bits长度密钥
KKEYEY1 1 KKEYEY2 2
KKEEYY11 KKEEYY22 KKEEYY33
DES变形---
3DES
3-DES 加/解密方式
加密过程
解密过程
64 bits明文
DES (Encryption)
DES (Decryption)
密码技术介绍
北京合众睿安科技有限公司
1
一、密码技术发展概述
2
二、密码体系介绍
3
三、常用密码算法简介
4
四、密钥管理
35
五、密码技术基本应用
6
六、密码分析技术简介
人类社会活动的三大要素
没有信息, 什么都没有意义
信息
物质
能量
密码与信息的关系
• 信息的特性: 可共享性、不灭性、廉价复制、价值属性
• 密码是为了隐蔽信息、保护通信的秘密为目 的。
加密技术发展史-里程碑
1976年 ~ 现在
1976年Diffie-Hellman提出了公开密钥(public key)理论,开创了密码技术的新理念。 1977年,美国标准局(NBS)公布了DES算法。 密码技术进入高速发展阶段。
1
一、密码技术发展概述
第02章密码学概论
传统密码学
四、传统密码学
3、凯撒(Caesar)密码 令 26 个字母分别对应于 0 ~ 25 , a=1,b=2……y=25,z=0。 凯撒加密变换实际上是c≡ (m + k) mod 26 其中m是明文对应的数据,c是与明文对应的密文数据,k是 加密用的参数,叫密钥。比如明文:data security 对应数据 序列:4,1,20,1,19,5,3,21,18,9,20,25 k=5时,得密文序列
9,6,25,6,24,10,8,0,23,14,25,4
密文:ifyxjhzwnyd 缺点:容易破解密码。
14
传统密码学
四、传统密码学
移位密码:如凯撒(Caesar)密码 。 仿射密码:如果选取k1,k2两个参数,其中 k1 与 26 互素, 令c≡(k1m + k2)mod 26。这种变换称为仿射变换。 置换密码: 1*. 置换π的表示: π=
17
传统密码学
四、传统密码学
5、维吉尼亚(Vigenere)密码
典型的多表密码,即一个明文字母可表示为多个密 文字母。:
例如:明文为System,密钥为dog,加密过程如下: 明文:S y s t e m 密钥:d o g d o g 密文:V m g w r s 在这个例子中,每三个字母中的第一、第二、第三 个字母分别移动(mod 26)3个,14个和6个位置。
COMPU
TERSY STEMS ECURI TY
密文:CTSETOETCYMREUPSMRUYSI
12
传统密码学
四、传统密码学
2、代替法 :代替密码就是明文中每一个字符被替换成密文 中的另外一个字符,代替后的各字母保持原来位置。对密文 进行逆替换就可恢复出明文。有四种类型的代替密码:(1) (1)单表(简单)代替密码:就是明文的一个字符用相应 的一个密文字符代替。加密过程中是从明文字母表到密文字 母表的一一映射。例:恺撒(Caesar)密码。 (2)同音代替密码:它与简单代替密码系统相似,唯一的 不同是单个字符明文可以映射成密文的几个字符之一同音代 替的密文并不唯一。 (3)多字母组代替密码:字符块被成组加密,例如“ABA” 可能对应“RTQ”,ABB可能对应“SLL”等。例:Playfair密码。 (4)多表代替密码:由多个单字母密码构成,每个密钥加 密对应位置的明文。 例:维吉尼亚密码。
密码和密码模型
但是对于解密方而言,前提是在知道采用何种加密形式加密的情况下,如果不知道密 钥,那么如何进行处理?这时一般情况有两种办法。一种是穷举法。也就是把s的值逐个带 入:1, 2, ..., 25,最后根据所得到的字义结果来进行判断。这种办法对于直接平移的有效,但 是对于没有特定次序的,而需要根据明码和密码对照表来确定的密码,就无能为力了。在这
实际上,是通过如下公式:a ∗ x − k ∗ 26 = 1,这里x就定义为a−1 .对于该值,可以通过辗转相 除法得到。在这种变换下,相继的明文字母对应着间隔为a的密文字母。 对应这种密文的解密,一般情况下可以根据密文中的字母的频率,假设密文中出现 的频率最高的字母对应于英文中最常见的字母。例如在一则消息中,Z 出现14次,B出 现12次,V11次,U10次,T10次,Y9次。我们假设Z-E,B-T,则有下面两个同余公式, 26 ≡ 5a + b(mod26), 2 ≡ 20a + b(mod26) (1.6)
两式相减,可得24 ≡ −15a(mod26) ,它相当于24 ≡ 11a(mod26) ,因为11关于26的逆是19, 则a ≡ 19 ∗ 24(mod26) ≡ 14(mod26),但是14不满足与26互素的条件。所以在这种情况下求得 的结果不是我们希望的结果。
3
再做另外的尝试,V-T,B-E,则有下面两个同余公式 22 ≡ 20a + b(mod26), 2 ≡ 5a + b(mod26) (1.7)
这样明文ADD对应的是密文TPI.这样就说明了在多重图加密系统中,相同的明文也许对应 着不同的密文。加密的过程很简单,只需要找到一合适的加密矩阵。这一矩阵要每个元素求 必须是整数。这样如果需要对该系统进行解密,也就是如何根据密文计算出明文。关键在于 需要计算出该矩阵的逆。 欲求的矩阵若是3阶矩阵,则未知的量有9个,这样就需要9个已知的信息。下面以一个二 阶矩阵的逆的计算来说明一下如何计算: 假设已给的信息,即对应的明文和密文的信息为:(go qb) ↔ (de ar), 对应的数字应该是 4 5 1 18 7 17 15 2 (1.9) ⇔
1-密码学基本概念
根据加密机制的不 同,此操作不一定 可实现
23
密码体制的分类
从加密钥与解密钥是否相等划分:
⑴ 传统密码:
Ke = Kd
⑵ 公开密钥密码:
Ke ≠ Kd ,且由Ke 不能计算出 Kd ;
传统密码 体制
传统密码 体制
传统密码 体制(单钥、对称密码)
单钥体制中,加密密钥和解密密钥是相同的 (可互推算),系统的保密性取决于密钥的 安全性。有两大课题: 如何产生满足保密要求的密钥? 如何将密钥安全可靠地分配给通信对方? 包括密钥产生、分配、存储、销毁等多方面 的问题,统称密钥管理。
密码体制(Cryptosystem)的构成
攻击者 M 加 密 算 法 Ke 加密钥 C C 解 密 算 法 Kd 解密钥 M
明 文
信 道
明 文
安全信道
密钥 K=<Ke , Kd>
ke = kd
?
ke = kd 对称密码 加密密钥=解密密钥=K 加密函数:EK(M) = C 解密函数:DK(C) = M DK(EK(M) ) = M EK(DK(M) ) = M
10
Example 3
问题:有4个外表完全相同的硬币,其中3 个重量完全一样,有一个重量不相同的伪 币,用无砝码的天平,试问要做多少次的 比较,可以找到这枚伪币并鉴别伪币轻重?
11
Example 3
解:事件V为找出伪币,可能有8个结论,他们是等概率, 故 H(V)= log28 事件Ui为每次天平称的结果 H(Ui)= log23 令Ak=U1U2U3…Uk为连续用k次天平的事件, ∴ k最少为2次 只用2次比较可以解决 Example 3中的问题吗?
37
第二章 密码技术基础
a, b Z
2.4 密码学的基本数学知识
同余 设a,b∈Z,n≠0,如果n|(a-b),则称为a和b模 n同余,记为a ≡ b (mod n),整数n称为模数。 若0≤b<n,我们称b是a对模n的最小非负剩余, 也称b为a对模n的余数。两个数同余的基本性 质如下:
单套字母替代法统计分析
字母 a b c d e f g h i j k l m 百分比 8.2 1.5 2.8 4.2 12.7 2.2 2.0 6.1 7.0 0.1 0.8 4.0 2.4 字母 n o p q r s t u v w x y z 百分比 6.8 7.5 1.9 0.1 6.0 6.3 9.0 2.8 1.0 2.4 2.0 0.1 0.1
密码分析的方法
穷举攻击(Exhaustive attack),是指密码分析者 采用遍历(ergodic)全部密钥空间的方式对所获密 文进行解密,直到获得正确的明文; 统计分析攻击(Statistical analysis attack),是指 密码分析者通过分析密文和明文的统计规律来破译密 码; 数学分析攻击(Mathematical analysis attack), 是指密码分析者针对加解密算法的数学基础和某些密 码学特性,通过数学求解的方法来破译密码
模逆元(乘法逆元)的求解
假设M为模数,U为小于M的本元元素,且与M互
素,R为余数,它们满足U*V mod M=R,当R=1时, 我们称V为U的模逆元,当R≠1时,称V为U的模 系数.模逆元和模系数是公开密钥加密算法和 数字签名算法中最常用的参数之一 。
数学模型中HILl密码加解密
HILL2密码的加密与解密
★ 假设要加密的明文是由26个字母所构成 ★ 将每个明文字母与 0 – 25 的一个数字建立
1–1对应关系,称为明文字母的表值
字母 A B C D E F G H I J K L M 表值 1 2 3 4 5 6 7 8 9 10 11 12 13 字母 N O P Q R S T U V W X Y Z 表值 14 15 16 17 18 19 20 21 22 23 24 25 0
b3
b4
A
a3 a4
b1
b2
b3 b4
A
a1 a2
a3
a4
A
b1 b2
b3 a1
b4
a2
a3 1
a4
一个破译例子
甲方截获了一段密文:OJWPISWAZUXAU UISEABAUCRSIPLBHAAMMLPJJOTENH
经分析这段密文是用HILL2密码编译的,且这段 密文的字母 UCRS 依次代表了字母 TACO,若 明文字母的表值如前,试破译这密文的内容?
设a Zm,若存在 b Zm 使得
ab 1(mod m),称 a 有模 m 的逆 记作 b a1(mod m)
整数 a有模 m 逆元的充要条件为 a 与 m 无公共素因子
模 26 倒数表----如何得出?
a
1 3 5 7 9 11 15 17 19 21 23 25
a –1(mod26) 1 9 21 15 3 19 7 23 11 5 17 25
20
加 密: 左乘加密矩阵 A 1 2
0 3
直接结果
57 4437 35 25 25 57 38 60
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
但是对于解密方而言,前提是在知道采用何种加密形式加密的情况下,如果不知道密 钥,那么如何进行处理?这时一般情况有两种办法。一种是穷举法。也就是把s的值逐个带 入:1, 2, ..., 25,最后根据所得到的字义结果来进行判断。这种办法对于直接平移的有效,但 是对于没有特定次序的,而需要根据明码和密码对照表来确定的密码,就无能为力了。在这
密码和密码模型
Abstract: 介绍初等的密码知识、加密解密过程及相关的数学原理 Keywords: 密钥、加密、解密
1
Introduction
密码作为军事和政治斗争中的一门技术,已经有了上千年的历史,但是,密码学作为一
门科学,还不过是近几十年的事情。特别是在计算机科学蓬勃发展促进下,数据安全作为一 个新的分支活跃在计算机领域。 据史料记载,密码最早产生于希腊.古希腊北路军司令莱山得在征服雅典之后,信使赶到,献 上了一条皮带,上面有文字,通报敌军欲断其归路的企图.4 世纪希腊出现了隐蔽书信内容的初 级密码. 1200年罗马政府和意大利政府开始有系统地使用密码.19世纪随著资本主义的发展和 资产阶级相互斗争的需要,出现了无线电密码通信. 对于密码学的研究需要加密和解密两个过程,密码的传输方不希望密码被破译,而解密 方则向竭力去破解,这就好比是矛和盾。特别是在二次世界大战中,密码的传输和破译起了 非常重要的作用。1942年,美国从破译日本海军密报中,获悉日军对中途岛地区的作战意图 和兵力部署,从而能以劣势兵力击破日本海军的主力,扭转了太平洋地区的战局。在保卫英 伦三岛和其他许多著名军事事件中,密码破译的成功都起到了极其重要的作用,这些事例也 从反面说明了密码保密的重要地位和意义。 我们生活在一个资讯发达的社会里,利用互联网互通消息已经不是一件罕见的事.大家有没 有想过,在互联网上传送的信息有机会被人截取呢?其实这是经常发生的事,那么我们还有什 么秘密可言,于是在信息传输过程中的信息密码学便应运而生,保护我们的信息不被窃取. 在信息的传递过程中,如果A方要把信息通过公共信道向另外一方B传送信息m,但是由 于公共通道缺乏安全保护,信息很容易被第三者窃取。甚至被篡改,所以在信息的传递过程 前,需要把这样的信息变成秘密的形式。那么这条可以直接识别或使用的代码(如文字等)我 们称之为明码;而密码就是将明码经过了一定处理,转换成一种外人无法直接识别或使用的信 息.把明文变成密文的过程称为加密。如果有人知道了密码而把密文变为明文的过程称为解 密。而在密码中的关键信息称之为密钥。因此密钥在保密通讯中占有极其重要的地位,通常
两式相减,可得24 ≡ −15a(mod26) ,它相当于24 ≡ 11a(mod26) ,因为11关于26的逆是19, 则a ≡ 19 ∗ 24(mod26) ≡ 14(mod26),但是14不满足与26互素的条件。所以在这种情况下求得 的结果不是我们希望的结果。
3
再做另外的尝试,V-T,B-E,则有下面两个同余公式 22 ≡ 20a + b(mod26), 2 ≡ 5a + b(mod26) (1.7)
两式相减,可得23 ≡ 15a(mod26) ,因为15关于26的逆是7,则a ≡ 7 ∗ 23 ≡ 5(mod26), 这里5满足与26互素的条件,近一步可得b ≡ 2 − 5 ∗ 5 ≡ 3(mod26).在这种情况下求得的结果 是可能的一种结果,把这个结果带入到其他的密文中去,即可以求得其他的对应的明文。无 论如何,应用频率方法是一种有效的针对上述密码的求解方法。其关键点在于对于同一个明 文对应的密文保持不变。 三重图密码 对于我们刚才所讲过的两种加密系统,无论是什么情况,都可以根据密文中字母的频 率,重复模式以及字与字之间的组合的方式来进行计算解密。关键在于明文的一个字母在密 文中总用相同的密文字母来表示。 防止使用频率解密的加密方式之一就是每次加密一组字母而不是加密单个字母。这样使 得原来的同样的字母在密文中就会以不同的方式来表达。为了避免出现像上面讨论的素数的 限制,我们模的数就取一个素数29(加上逗号、空格、问号)。下面我们通过一个具体的 实例对该加密方式进行表达:我们考虑三重图系统:例如对明文ADD加密,这几个数等价 于1,4,4,则矩阵左乘以矩阵 M = 1 4 7 2 3 6 0 2 3 1 20 20 (1.8) 4 = 45 ≡ 16 (mod29) 9 4 38
1
情况下密钥由通讯双方秘密商定。 置换密码是一个最容易实现且最为人们熟悉的密码,也称凯撒密码,它只需要把每个字 母由其它的字母来替换而形成密文。替换的规则是随机的或者是系统的。将讯息(明码)中的 字母,用不同的字母代替.其一做法是系统地将字母向后推几个位置,不妨设三个位置,因此加 密时a用D取代,b是E,依此类推.最后的x,y,z 三字则转过头来,分别是A,B,C.我们可用下表,将明 码字母与密码字母有效地变换.对照表(1) a→D h→K o→R u→X b→E i→L p→S v→Y c→F j→M q→T w→Z d→G k→N r→U x→A e→H l→O s→V y→B f→I m→P t→W z→C g→J n→Q 例子: 1. this message is top secret →WKLVPHVVDJHLVWRSVHFUHW 2. we are the champion →ZHDUHWKHFKDPSLRQ 3. hello how are you →KHOORKRZDUBRX 凯撒密码是一种可以单独应用的密码系统,它可以用对照表或轮盘来进行,也可以用电脑来 进行而不必用到任何数字,但是密码系统的基本结构若能使用数字是最理想的. 原因如下: 1. 电脑十分适合以很快的速度来处理数字,即使很大的数字都没有问题. 2. 有很多数学函 数可用来把一个数,以很复杂的方法变成另外一个数. 3. 这样可以设计出很有效率,但十分安 全的密码系统. 用00-25这26个数字来取代26个英文字母,如下表: a→00 h→07 o→14 v→21 b→01 i→08 p→15 w→22 c→02 j→09 q→16 x→23 d→03 k→10 r→17 y→24 e→04 l→11 s→18 z→25 f→05 m→12 t→19 g→06 n→13 u→20 加密公式 C ≡ P + s( mod 26) 这里P 是明码,C 是加密后的密文,s是密钥.对应上例是s = 3. 而实际上用数字来取代英文字母,并不一定要顺着次序,对照表也可无规率和自定的.但是 只要知道明码和密码的对照表,也即明码和密码的转换方法,那么能破解密码所包含的讯息 了.那么如何根据所得到的密文进行解密呢?如果我们知道了s(移位因子),那么逆推就可 以了。这里的s就是凯撒密码的密钥。逆推公式为: C − s ≡ P ( mod 26) (1.2) (1.1)
⇔
0 −287 −135 −373
⇔(25−1 ≡ 25(mod26))
1 17 8 23 0 625 525 425
(mod 26) ⇔
1 0 −77 −130 0 1 5 9
1 0 1 0 0 1 5 9
(mod26) (1.12)
(mod26) ⇔
这样就可以计算出方程的逆矩阵,上述矩阵的右侧。这样就可以对原来的密文直接破 译。对于以上的密码设计,只要公开密钥,就可以对以上的密码进行解密。 公开密钥机制 在1976年,W.Diffie,M.Hellman提出了一个双密钥系统的设想。在信息传递过程中设置 两个密钥,一个是加密的,一个是解密的。虽然这两个密钥是互逆的。但是很难从加密 的密钥计算出解密密钥的方法,从而即使将加密的密钥公开也不会对解密的密钥产生威 胁。RSA加密系统是世界上第一套符合公开钥匙加密条件的密码系统,于1977年由瑞维斯 特(R. Rivest),薛米尔(A. Shamir) 及艾多曼(L. Adleman)三人所研发出来,故称为RSA。它的 安全性基于下面这样一个假设:一个包含有两个足够大的素数因子所组成的合数的因子分解 在当前的计算机技术下,其计算机机时的消耗是相当可观的。 加密一个明文,公开钥匙n是由两个质数p与q 相乘而得.而p和q 只有持有人才得知.若想强 行破解,则须先将n进行质因数分解才行,但因为当p 和q 的值越大时,则质因数分解所耗用的时 间会成指数增长;和另外一个数e,它与数r = (p − 1)(q − 1) 互素且满足2e > n . 加密时,须先将文字讯息转换为十进制的值。将M 的编码数字e 次幂并且求出它的关于n的 模,其加密公式如下M e ≡ C (modn). 如果要想对该密码进行解密,关键首先要计算一个d 值,使得ed ≡ 1(modr),接着可以 利用下面的公式C d ≡ M (modn),通过这个公式就可以达到对原来的密码进行解密的目的。 这样对于RSA加密体系而言,公开密钥是n, e, 解密密钥是r, d. 例如:利用RSA系统为“phone”进行加密. 首先,利用对照表把它转化为数字 1608151405 然后选取p和q的值,为简化计算,才用较小的数值. 设公开钥匙为(n, e) = (247, 31),则n = 13 ∗ 19 = 247, r = 12 ∗ 18 = 216.我们便能把假 (1.13)
计算密文资料中每个字母出现的频率,在截获信息足够多的情况下,因为密钥只有一 个,则可以根据出现频繁的多少来确定其对应的明文字母. 仿射变换密码 c ≡ ap + b(mod26) (1.3)
这里要求自然数a与26必须互素,也就是与a的最大公约数必须为1,那么a的取值共有12种可 能的取法,而b共有26 种取法,这样由明文到密文的变换共有312种。对于这种变换,可以通 过 c − b ≡ ap(mod26) ⇒ a−1 (c − b) ≡ p(mod26) 进行解密。只需要两边同时乘以a关于26的逆。这里其逆可以定义为如下形式: a−1 a ≡ 1(mod26) (1.5) (1.4)
பைடு நூலகம்
这样明文ADD对应的是密文TPI.这样就说明了在多重图加密系统中,相同的明文也许对应 着不同的密文。加密的过程很简单,只需要找到一合适的加密矩阵。这一矩阵要每个元素求 必须是整数。这样如果需要对该系统进行解密,也就是如何根据密文计算出明文。关键在于 需要计算出该矩阵的逆。 欲求的矩阵若是3阶矩阵,则未知的量有9个,这样就需要9个已知的信息。下面以一个二 阶矩阵的逆的计算来说明一下如何计算: 假设已给的信息,即对应的明文和密文的信息为:(go qb) ↔ (de ar), 对应的数字应该是 4 5 1 18 7 17 15 2 (1.9) ⇔