建议直接看离散数学及其应用第7版原文
文章目录
信息安全的需求
在通信中必须考虑信息的安全性,因此密码学应运而生
密码系统
一个密码系统是5元组
G = ( P , C , K , ϵ , D ) G=(P,C,K,\epsilon,D) G=(P,C,K,ϵ,D)
其中,P
表示明文集合,即原信息,C
表示密文集,即加密后的信息,K
表示密钥(key)集合,即所有可能的密钥,epsilon
表示加密函数,D
表示解密函数,所谓K
密钥,指的是加密或解密函数需要的参数,是加密或解密的关键,按照密钥的类型,可以分为私钥系统
和公钥系统
几个概念
字符密码
表示对信息的加密是一一对应的,字符密码的缺点是容易被分析字符频率而被破解
分组密码
表示对信息加密是以组为单位
私钥系统
私钥系统指的是加密密钥等同于解密密钥,因此为了信息的安全和传达,密钥必须由私人保存,即沟通者之间。
几种私钥系统
移位密码
例如凯撒密码
仿射密码
换位密码
想要提高私钥密码的安全性,需要提高私钥密码的设计标准(不理解),书中例举美国复杂的加密标准,但是私钥密码的性质决定了存在通信密钥的过程
公钥系统
为了解决通信密钥导致的安全问题,设计出了公钥系统,该系统中,加密密钥属于公钥,解密密钥属于私钥,原理是依靠目前计算机计算性能的限制,使解密计算变为不可能,最早的公钥系统是RSA
密码系统,同时公钥系统的设计可以实现安全的密钥交换
和数字签名
数论
由于RSA
的设计涉及数论,需要先了解一些数论知识(群、环)
群公理
群是二元组集合V
,二元运算·
构成
G = ( V , ⋅ ) G=(V,·) G=(V,⋅)
群满足群公理
1.集合V
上的计算是封闭的,即任意的运算结果仍在集合V
中
2.计算满足结合律
3.对于每个群,存在一个单位元e,并且满足
∀ a ∈ V , a ⋅ e = e ⋅ a = a \forall a \in V, \ a·e=e·a=a ∀a∈V, a⋅e=e⋅a=a
4.对于V
中的任意元素
∀ a ∈ V , ∃ b → a ⋅ b = e \forall a \in V, \ \exist b \rightarrow a·b=e ∀a∈V, ∃b→a⋅b=e
对于接下来讨论的整除和模运算都是整数集上一个群
整除和模运算
整除讨论的是没有余数的除法
KaTeX parse error: Undefined control sequence: \and at position 14: if\ a \neq0 \̲a̲n̲d̲ ̲b=ka,k\in Z \lo…
而模运算则是不关心商的除法
KaTeX parse error: Undefined control sequence: \and at position 18: …f \ a = pm+q \ \̲a̲n̲d̲ ̲q\neq0 \longrig…
在证明接下里讨论的整除和模运算的基本运算性质时,基本是将mod
或|
形式转化为等式的形式进行讨论
整除基本运算性质
KaTeX parse error: Undefined control sequence: \and at position 19: …)\ if\ a | b \ \̲a̲n̲d̲ ̲\ a | c \ \long…
模运算的一些基本性质
( a + b ) m o d = ( a m o d m ) + ( b m o d m ) a b m o d m = ( ( a m o d m ) ∗ ( b m o d m ) ) m o d m 观 察 以 上 两 式 猜 测 m o d 是 线 性 算 子 (a + b) \ mod = (a\ mod\ m) + (b\ mod\ m) \\ ab\ mod\ m = ((a\ mod\ m)*(b\ mod\ m))\ mod\ m \\ 观察以上两式猜测\ mod\ 是线性算子 \\ (a+b) mod=(a mod m)+(b mod m)ab mo