Unique's Blog

密码学简介

2023-04-25 · 1649字 · 8 min read
🏷️  Article

简介

基础

密码分析学

密码分析者攻击密码体制的方法:

  • 穷举攻击:通过试遍所有的密钥进行破译
    • 对抗:增大密钥的数量
  • 统计分析攻击:通过分析密文和明文的统计规律破译
    • 对抗:设法使明文和密文的统计规律不一样
  • 解密变换攻击:针对加密变换的数学基础,通过数学求解设法找到解密变换
    • 对抗:选用具有坚实的数学基础和足够复杂的加密算法

根据攻击强度,可以分为:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,强度越来越强。

安全性:

  • 无条件安全:无论截获多少密文,都没有足够信息来唯一确定明文,即对算法的破译不比猜测有优势;
  • 计算上安全:使用有效资源对一个密码系统进行分析而未能破译;

古典密码算法

置换密码
对明文字符进行位置移动的密码

单表代替密码
用密码字母表中字母代替明文字母

多表代换密码

在模数 NN 下的矩阵乘法中,矩阵 AA 只有在满足 gcd(Adet,N)=1gcd(A_{det}, N) = 1 的情况下才有逆矩阵。这是因为在模数 NN 下,只有与 NN 互质的数才有模 NN 下的乘法逆元。如果 gcd(Adet,N)1gcd(A_{det}, N) \neq 1,则 AA 的行列式 AdetA_{det} 和模数 NN 不互质,因此 AA 没有模 NN 下的乘法逆元,也就没有逆矩阵。


有限域

例如,Zn={0,1,2,,n1}mod nZ_{n}= \{ 0,1,2,\cdots,n-1 \}_{mod\ n} 并且加法和乘法都是模 nn 的运算ZnZ_n 的数什么时候有乘法逆元呢?

整数 a 在模 n 乘法下有逆元,当且仅当 a 与 n 互素。

  • 所有与 n 互素的元素在模 n 乘法下构成乘法交换群(交换律)
  • 1...n-1 都与 n 互素,则 n 为素数
  • 所以,对于任何一个素数 p,ZpZ_p 为域,其元素的个数为 p 个。

定义有限域上的多项式 F[x]F[x] 和 n 次多项式 f(x)f(x)F[x]/f(x)={r(x)=rn1xn1+rn1xn2++r1x+r0  riF,0in1}F[x]/f(x)=\{ r(x) = r_{n-1}x^{n-1} + r_{n-1}x^{n-2}+\cdots+r_1x+r_{0}\ |\ r_{i}\in F, 0\le i \le n-1 \}加法和乘法都是模 f(x)f(x) 的运算,运算是封闭的。那么 F[x]/f(x)F[x]/f(x) 中的多项式什么时候有乘法逆元呢?

r(x)r(x) 在模 f(x)f(x) 的乘法下有逆元,当且仅当 r(x)r(x)f(x)f(x) 互素。

  • 所有与 f(x)f(x) 互素的元素在模 f(x)f(x) 的乘法下构成乘法交换群
  • 次数比 f(x)f(x) 次数低的多项式都与 f(x)f(x) 互素,则 f(x)f(x)不可约多项式
  • 对于任意一个首项系数为 1 的不可约多项式,F[x]/f(x)F[x]/f(x) 为域
  • F=ZpF=Z_p,则 F[x]/f(x)F[x]/f(x) 中元素的个数为 pnp^n
  • 说明:pnp^n 域的构造方法,首先选取 ZpZ_p 中的一个 n 次不可约多项式,然后构造集合 F[x]/f(x)={r(x)=rn1xn1+rn1xn2++r1x+r0  riF,0in1}F[x]/f(x)=\{ r(x) = r_{n-1}x^{n-1} + r_{n-1}x^{n-2}+\cdots+r_1x+r_{0}\ |\ r_{i}\in F, 0\le i \le n-1 \}集合中的加法和乘法运算都为模多项式 f(x)f(x) 的运算

资料

附录

群和域

群和域都是抽象代数中的基本概念,它们都是一种代数结构。

群是一个集合 GG 和一个二元运算 \cdot 的组合 (G,)(G, \cdot),满足以下四个条件:

  1. 封闭性:对于任意 a,bGa, b \in GabGa \cdot b \in G
  2. 结合律:对于任意 a,b,cGa, b, c \in G(ab)c=a(bc)(a \cdot b) \cdot c = a \cdot (b \cdot c)
  3. 单位元:存在一个元素 eGe \in G,使得对于任意 aGa \in Gae=ea=aa \cdot e = e \cdot a = a
  4. 逆元:对于任意 aGa \in G,存在一个元素 a1Ga^{-1} \in G,使得 aa1=a1a=ea \cdot a^{-1} = a^{-1} \cdot a = e

换句话说,群是一个满足封闭性、结合律、单位元和逆元的代数结构。群中的元素可以是任何东西,例如数字、矩阵、函数等等。群的一个重要性质是它的元素可以进行交换(即满足交换律)或者不可以进行交换(即不满足交换律),分别称为交换群和非交换群。

域是一个集合 FF 和两个二元运算 ++\cdot 的组合 (F,+,)(F, +, \cdot),满足以下条件:

  1. (F,+)(F, +) 是一个交换群,其中 00 是加法的单位元,对于任意 aFa \in F,存在一个元素 aF-a \in F,使得 a+(a)=(a)+a=0a + (-a) = (-a) + a = 0
  2. (F{0},)(F \setminus \{0\}, \cdot) 是一个交换群,其中 11 是乘法的单位元,对于任意 aF{0}a \in F \setminus \{0\},存在一个元素 a1F{0}a^{-1} \in F \setminus \{0\},使得 aa1=a1a=1a \cdot a^{-1} = a^{-1} \cdot a = 1
  3. 分配律:对于任意 a,b,cFa, b, c \in Fa(b+c)=ab+aca \cdot (b + c) = a \cdot b + a \cdot c(a+b)c=ac+bc(a + b) \cdot c = a \cdot c + b \cdot c

换句话说,域是一个满足加法和乘法都是交换群,并且满足分配律的代数结构。

本文链接: 密码学简介

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

发布日期: 2023-04-25

最新构建: 2024-12-26

本文已被阅读 0 次,该数据仅供参考

欢迎任何与文章内容相关并保持尊重的评论😊 !

Nickname
Email
Website
0/500
0 comments
共 43 篇文章 | Powered by Gridea | RSS
©2020-2024 Nuo. All rights reserved.