必赢网址-必赢437-www437com

热门关键词: 必赢网址,必赢437,www437com

传统密码学技术,密码学基础知识

重点

密码学发展每个阶段的特点

现代密码学的两次飞跃及里程碑事件

学习传统密码技术的意义

转轮密码成功的启示

重合指数法

密码(cryptography)是一种信息处理体系,涉及信息的机密性完整性认证性不可否认性等许多方面。

说完了前面那些,想起个事,本系列依据内容主要来自《现代密码学》马春光编著。我就是学这本书的。

01 密码学的发展历程

 大致分为三个阶段:

古典密码时期     传统密码

近代密码时期     传统密码

现代密码时期

密码学发展历程

自从人类社会有了战争,就有了保密通信,就需要信息处理体系。在1949年以前,密码的研究与应用仅仅是文字变换技术,简称为密码术。自1949年之后,Shannon做了相关的工作,发表了《保密系统的通信理论》一文,为密码学的发展奠定了坚实的理论基础。

密码学发展大致分为古典密码时期近代密码时期以及现代密码时期, 其中,古典密码时期与近代密码时期成为传统密码时期。

好了,古典密码就是古时候的密码,哈哈,逗你玩的,shannon的保密系统的通信理论发表前的都是古典密码,会在密码学简史中介绍这位牛人的。

     1.1 古典密码时期

起始时间:从古代到19世纪末,长达几千年

技术工具:手工

通信手段:信使

密码体制:纸、笔或者简单器械实现的代换置换,是一种艺术

典型密码:凯撒密码、维吉尼亚密码等

密码学的两次飞跃与两个里程碑事件

  • 1949年Shannon发表题为《保密系统的通信理论》,为密码系统建立了理论基础,从此密码学成为了一门科学。第一次飞跃
  • 1976年后,美国数据加密标准DES公布,使得密码学研究公开,并得到迅速发展里程碑事件
  • 1976年,Diffe和Hellman发表了《密码学的新方向》,提出了一种新的密码设计思想,从而开创了公钥密码学的新纪元。第二次飞跃
  • 1978年,Rivest、Shamire和Adleman首先提出第一个实用的公钥密码体制RSA。里程碑事件

学习古典密码学的意义:学习设计原理和分析方法

     1.2 近代时期密码

起始时间:从20世纪初到20世纪50年代,即一战及二战时期。

技术工具:机械设备

通信手段:电报

密码体制:手工或电动机械实现复杂的代换及置换,仍是一门艺术

典型密码:Vernam密码、转轮密码等。

传统密码技术

传统密码体制的技术、思想以及分析方法虽然很简单,但是反映了密码设计和分析的思想,是学习密码学的基本入口,对于理解、设计和分析现代密码学仍然具有借鉴意义。

古典密码也是,俩门派:置换和代换,顾名思义,一个是换了个原来有的,一个是换了个原来没有的。学术点讲就是前者明文和密文空间一样,后者 不一样。你要是问我啥是明文空间和密文空间啊,我就呵呵。是M 和 C。m明文的集合,c密文的集合。对了明文有时候用p表示哦,plaintext。

     1.3 现代密码时期

起始时间:从20世纪50年代至今

技术工具:计算机

通信手段:无线通信、有线通信、计算机网络等。

密码体制:分组密码、徐磊密码以及公钥密码,有坚实的数学理论基础,成为一门科学。

典型密码:DES,AES,RC4,RSA,ECC,SHA等。

置换密码

根据一定规则重新排列明文,以便打破明文的结构特性。置换密码的特点是保持明文的所有字符不变,只是利用置换打乱了明文字符位置和次序。

置换密码就是列置换和周期置换两兄弟,倒序那个算捡来的吧。

02 现代密码学的飞跃及重要事件

第一次飞跃:1949年Shannon发表《保密系统的通信理论》,为密码系统建立了理论基础,从此密码学成了一门科学,

第二次飞跃:1976年,Diffe和Hellman发表《密码学的新方向》,提出了一种新的密码设计思想,从而开创了公钥密码学的新纪元。

里程碑事件:

1976年,美国数据加密标准(DES)的公布使密码学的研究公开,密码学得到了迅速发展。

1978年,Rivest、Shamire和Adleman首先提出第一个实用的公钥密码体制RSA,使公约密码的研究进入了快速发展阶段。

列置换密码

其加密过程是,首先将明文以设定的固定分组宽度m按行写出,即每行有m个字符。若明文长度不是m的整数倍,则不足部分用双方约定的方式填充。按照(1,2,cdots,m) 的某一置换(sigma) 交换列的位置次序得到字符矩阵([M_P]_{mtimes n}) 。然后,将矩阵按([M_P]_{m times n}) 按照列(1,2,cdots,m) 的顺序依次读出得到密文序列C。

譬如将明文“Beijing 2008 Olympic Games”加密,则代表明文的矩阵为: [M = left[ begin{matrix} B & e & i & J & i & n \ g & 2 & 0 & 0 & 8 & O \ l & y & m & p & i & c & \G & a & m & e &s & end{matrix} right]]

其密钥可表示为 (1,4,3,5,6) 以矩阵形式表示为: [sigma = left[ begin{matrix} 0&0&0&1&0&0&0\ 0&1&0&0&0&0&0\ 0&0&0&0&0&1&0\ 0&0&1&0&0&0&1\ 1&0&0&0&0&0&0\ end{matrix} right]]

则加密过程就是(M times sigma)

解密过程就是将加密矩阵叉乘(sigma^{-1})

列置换:顾名思义,操作及输出都是以列为单位。将明文以密钥长度为列数形成矩阵,按照密钥的顺序进行列选出,然后一列一列的输出。

03 传统密码技术(字符间的置换和代换)

周期置换密码

周期置换密码是将明文串P按照固定的长度m分组,然后对每组中的子串按照(1,2,cdots,m) 的某个置换重排位置从而得到密文C。其中,密钥(sigma) 包含分组长度信息。解密时同样对密文C按长度m分组,并按照 (sigma) 的逆置换 (sigma^{-1}) 把每组子串重新排列为欸之从而得到明文P。

假设明文可以等长度划分为若干个分组,则每个分组的字母可以看作是一个m维向量。 倘若密钥为(1 5 6 2 3) 则对应的密钥为:[sigma = left[ begin{matrix} 0&0&0&0&1&0\ 0&0&1&0&0&0\ 1&0&0&0&0&0\ 0&0&0&1&0&0\ 0&0&0&0&0&1\ 0&1&0&0&0&0\ end{matrix} right]]

假设某明文段所表示的向量为 (p = (A, B, C, D, E, F))

则加密过程为:(p times sigma = (C, F, B, D, A, E)) 解密过程就是将密文叉乘 (sigma^{-1})

 

     3.1 定义

传统密码体制是指那些比较简单的、大多数采用手工或机械操作对明文进行加密、对密文进行解密的密码(对称)体制,其安全性大多数与加密解密算法保密性密切相关。

代换密码

所谓代换,就是将明文中的一个字母由其它字母、数字或符号替代的一种方法。

代换密码通常是指建立一个代换表,加密时需要将加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串就是密文。 这样的代换表称为密钥。

按照一个明文子母是否总是被一个固定的字符替代,可以划分为单表代换密码多表代换密码 两种。

列置换密码(距阵置换密码)

     3.2 置换密码

又叫换位密码。根据一定的规则重新排列明文,以便打破明文的结构特性。特点是保持明文的所有字符不变,只是利用置换打乱了明文字符的位置和次序。

         常见的置换密码:

列置换密码:明文遵照密钥的规程按列换位并且按列读出序列得到密文

周期置换密码:将明文P按固定长度m分组,然后对每组按1,2,3,。。。。m的某个置换重排位置从而得到密文C。

希尔密码

与上文所属周期置换密码神似, 只不过叉乘的右部的矩阵可以扩充为(n times n) 的非奇异矩阵,且满足 ((det(k), 26) = 1) 即满足结果与26互素。

明文:ming chen jiu dian fa dong fan gong

     3.3 代换密码

代换:将明文中的一个字母由其他字母、数字或符号替代的一种方法。

代换密码:建立一个代换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成物任何意义的字符串,即密文。这样的代换表,通常称为密钥。

分类:按照一个明文字母是否总是被一个固定的字符代换进行划分:

单表代换(凯撒):一个明文字母总是被一个固定的字符代换

多表代换(维吉利亚、转轮等):使用不同的字符代换

转轮密码的启示:

实用密码设备应必备四要素:

(1)安全

(2)性能

(3)成本

(4)方便

维尔姆密码

这种密码是序列密码的起源。 其原理是 (c_i = m_i xor k_i mod 2 i = 1,2,3,cdots)

密钥:yu lan hua

     3.4 体制分析

(1)单表代换---频率

(2)多表代换---重合指数

        密钥的长度

        交互重合指数的性质等同重合指数的性质

        原理:英语文本与随机文本的重合指数有很大的差别

        首先利用重合指数法分析出密钥的长度

        计算任两个密文子串的所有(26)可能的交互重合指数

        根据交互重合指数,确定两密钥字母的相对位移

        根据相对位移组,确定密钥。

(3)Hill密码---明文-密文对

传统密码体制分析

  • 单表代换密码分析 - 频率
  • 多表代换密码分析 - 重合指数
  • Hill密码分析 - 明文/密文对

去掉密钥重复字母:yulanh,得出距阵列数为6;将明文按行填充距阵。

频率分析法

统计密文中每个字母出现的频率,确定其对应的范围。 再辅助以字母组合、位置特殊性以及连续的同一字母等特性,容易确定明文字母与密文字母的对应关系。 然后根据上下文之间的关联和构词规则来进行密文分析。

得到密钥字母顺序: 653142;

重合指数法

假设某种语言由n个字母组成,每个字母i发生的概率为(p_i, 1 le i le n) , 则重合指数就是指两个随机字母相同的概率: [IC = sum^n_{i=1} p_i^2]

值得注意的是,在单表代换的情况下, 明文与密文的IC值是相同的。

由于在现实世界中密文的长度有限,一般采用IC的无偏估计值来近似计算IC。[IC' = sum^n_{i=1}frac{x_i(x_i - 1)}{L(L-1)}]

按列(依顺序)写出距阵中的字母。

交互重合指数

假设x和y是两个长度分别为n和n'的字符串,x和y的交互重合指数定义为x中的一个随机元素与y中的一个随机元素相同的概率,记为(MI_C(x,y)) 假设英文字母在x,y中出现次数分别为 (f_i f'_i) 那么交互重合指数就是[MI_C(x,y) = frac{sum^{25}_{i=0}f_if'_i}{nn'}]

交互重合指数的性质等同于重合指数的性质

密文:giffg hddn0 njngn cuaa0 inano meiog

交互重合指数的应用

假设已经确定密钥的长度m,密文子串(y_i) 中的各个密文字母都是由同一个加法密码得到的。[MI_C(y_i,y_j) = sum^{25}_{h=0}p_{h+k_i (mod 26)}p_{k_j} (0 le h le 25)]

任何两列的一组 (MI_C(y_i,y_j)) 中可能存在一个值在0.065左右,那么 (k_i - k_j equiv h mod 26)

解密:加密的逆过程;

 

周期置换:其实就是在列置换的基础上,进行行输出。

 

周期置换密码

  明文:mingchen jiu dian fa dong fan gong

本文由必赢网址发布于机械设备,转载请注明出处:传统密码学技术,密码学基础知识

您可能还会对下面的文章感兴趣: