密码学基本原理和发展——古典密码学

这篇具有很好参考价值的文章主要介绍了密码学基本原理和发展——古典密码学。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 

目录

1 滚筒密码

2 棋盘密码

3 凯撒密码

4 单表代换与多表代换

4.1 单表代换

4.2 多表代换


        密码技术最早起源于公元前404年的希腊,此后密码大致经历了古典密码、近代密码和现代密码三个阶段。

        古典密码(公元前五世纪~19世纪末)代表性的是滚桶密码、棋盘密码凯撒密码。

1 滚筒密码

        滚筒密码原理为信息发送者在特定直径的木棒(斯巴达棒)上螺旋缠绕一条羊皮纸,然后在纸上横着写上信息,信息接收者需要将羊皮纸重新缠绕在相同直径的模板上才能读到初始信息,否者字母顺序错位,斯巴达棒利用置换(换位)的方法达到加密的目的。

密码学基本原理和发展——古典密码学
 图1 滚筒密码示意图

       因为如果解密木棒直径与加密木棒直径不一致,那么读到的字母组合肯定是不具备特定行业的,所以针对这种情况的加密方法,可以通过不断尝试模板直径,直到出现的字母具有特定含义来破解。

2 棋盘密码

       棋盘密码原理为通过一个5*5的网格矩阵,将每个字母转换成两个数字,第一个数字是该字母的行数,第二个数字是该字母的列数。

\

1

2

3

4

5

1

M

W

C

X

E

2

F

A

Z

I/J

K

3

L

G

S

O

P

4

R

Q

N

T

U

5

V

B

Y

D

H

表1 Polybius矩阵

       

       基于Polybius矩阵的棋盘加密方法,应该是最早的对称加密算法的应用,在那个时代接收方不知道网格矩阵的前提下,想要破解密文还是非常困难的。这种加密方法需要加解密双方事先约定好网格矩阵,后面双方加解密都是基于这个网格矩阵的,如何保证网格矩阵不被泄露存在很大困难。

3 凯撒密码

        凯撒密码是一种替换加密的技术,其原理是将字母按字母表的顺序构成一个字母序列链,然后将最后一个字母与第一个字母相连成环,接着将明文中的每个字母对照序列链正向或者逆向偏移k个单位后,形成密文。这里的字母链可以是按照所有人都知道的adcdefg……xyz的方式构成字母序列链

        假设信息发送方以adcdefg……xyz序列链,k=+3进行信息加密,加密演示如下:

        明文:Intern,cancel the operation

        变换表及偏移量:abcdefg……xyz,K=+3

        密文:Lqwhuq,fdqfho wkh rthudwlrq

密码学基本原理和发展——古典密码学
图2 字母序列链加密示意图

        序列链也可以按照加解密双方事先约定好的不具备特定规律的字母排序构成序列链,如sgidqpm……wzu等。

       凯撒密码其实也是利用对称加密原理进行信息加密的,这种加密方法同样存在着序列链易泄漏的问题,若窃听者拿到序列链通过枚举密钥k值(1-26)就十分容易破解。 

4 单表代换与多表代换

4.1 单表代换

       单表代换是加解密使用同一个固定的代换表进行代换,明文和密文的字母存在惟一对应关系,容易受到频率统计分析攻击。例如恺撒密码和棋盘密码等都属于单表代换。下表为单表代换的字母表,加解密双方持有共同的代换表即可对信息进行加解密。

密码学基本原理和发展——古典密码学
表2 单表代换

4.2 多表代换

       多表代换是加解密使用两个及两个以上的代换表进行代换,例如经典的维吉尼亚密码就属于多表代换,直至二战时期,维吉尼亚密码在整个欧洲依旧有着广泛的应用,下图为维吉尼亚密码表,实际上维吉尼亚密码是由一系列凯撒密码(26个)组成的字母表(当密钥仅为一个字母时,则就是凯撒密码),属于多表密码的一种简单形式。

密码学基本原理和发展——古典密码学
表3 维吉尼亚密码表

       若维吉尼亚密码表中我们使用第一行作为明文,则第一列作为密钥,加密情况如下所下所示。

       明文:intern

       密钥:khgvsk 

       密文:suykjx,

       明文中n出现2次,而根据密文无法推断出明文中某个字母出现的频次,因此维吉尼亚密码可以抗字频统计破译密码。

密码学基本原理和发展——古典密码学
图3 字母频次分布图

       以凯撒密码为例的单表代换破解:在英语中,每个字母/相邻双字母/相邻三字母出现还可以通过相邻双字母、三字母概率来增加破译概率),例如字母:E>T>A>O>I,如此在文本信息量较大的情况下,若密文中H出现的频次最多,那么大概率密文中的H对应的是明文中的E,这样下来很大概率能计算到偏移量k=3,若字母序列链为adcdefg……xyz,则可直接根据k=3得到如下字母表。

密码学基本原理和发展——古典密码学

       若字母序列链为sgidqpm……wzu等无规律链时,通过密文中字母出现频次同样可以逆向推出对应明文字母,由此求得k值,对字频接近的字母还可以利用k值反馈校验,提高破译的准确度。

       以维吉尼亚为例的多表替换破解其实原理也是以字频分析,主要有以下三步。

       第一步:确定密钥的长度

       求密钥长度我们以Kasiski 实验的方法来求现实加密过程中,密钥长度明文长度,我们假定密钥长度为K,假定明文长度文l,那么根据维吉尼亚密码表我们知道,第X i,X i+k,X i+2k ······X i+nk (i=1,2,3,···,l)个字母加密方式其实用的同一个凯撒密码加密的,理解了这个后我们接下来看一个实例。

       根据维吉尼亚密码表要加密 “The Great Wall in Beijing, the Huangpu River in Shanghai, the Fifth Avenue in Tianjin, and the Presidential Palace in Nanjing.”这样一段信息,为了厘清加密过程中的对应关系,笔者画了下表帮助读者理解。

密码学基本原理和发展——古典密码学

       如上表所示,明文的词组The一共出现了三次,分别对应密文中的dlc、dlc、xfo,这难道是巧合吗?我们分析得到这种对应关系与密钥的长度K以及两两相同词组之间的间距S有关。如明文中第1个The与第2个The间距S(1,The)=21=nK,第2个The与第3个The间距S(2,The)=25 ≠ n K。

       也就是说如果两个相同词组之间的间隔(S)正好等于密钥长度的整数倍(nK)时,那么这两个相同词组加密得到对应的密文也是一样的。

       以上例来讲,密文中第1个dlc与第2个dlc的间距为n K=21,得到K是21的约数(1或3或7或21),同理若发现密文中另外两个相同词组的间距为n K=6,则得到K是6的约数(1或2或3或6)……,最后取所有约数集合的交集即可求得K值。

       第二步:确定密钥的内容

       在第一步中假设求的的K=3,也就是说每逢3个字母就会用到同一套密码加密,所以只要知道钥匙的长度K,再分别对3套密码用频率分析法,维吉尼亚加密法就破解了。

       接下来就讲下如何利用K=3确定密钥内容,我们知道第X i,X i+k,X i+2k ······X i+nk 个字母加密方式是用的同一套凯撒密码加密的,在本文中第1、4、7、10、13······个字母用的同一套凯撒密码M1加密的,第2、5、8、11、14······个字母用的同一套凯撒密码M2加密的,第3、6、9、12、15······个字母用的同一套凯撒密码M3加密的,将密文中所有字母按照加密方式的不同进行分组,分组情况如下所示。

密码学基本原理和发展——古典密码学

       这样我们就将原始密文拆解成K组密文,如下。

       M1组:dokksoskdrxefsrqsno

       M2组:lvxprmrrlykvirelex

       M3组:ccujzhebcyngpqlylf

       每组密文使用同一凯撒密码加密,因此针对每组采取前文讲的字频分析方法破解即可得到密文字母表,将密文字母表与维吉尼亚密码表的行进行对比,便可以得到每组的密钥。上例中分别对M1组、M2组、M3组进行破解得到三组密钥分别为:k、e、y,组合得到完整密钥为:key。

       第三步:根据密钥恢复明文

       知道密钥后,对照维吉尼亚密码本就可以知道明文了。

       小结分析:单表代换密码加密后的密文具有明文的字频特征,易通过字频统计破解,而多表代还后密文不具备字频特征,但是遇到二阶式频率分析时就显得无能为力了(周期分析根据密钥的重复使用情况进行频率分析),但是增加密钥长度可以大幅提升破解难度。文章来源地址https://www.toymoban.com/news/detail-454874.html

到了这里,关于密码学基本原理和发展——古典密码学的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络安全】【密码学】【北京航空航天大学】实验五、古典密码(中)【C语言实现】

    实验目的 和 原理简介 参见博客:古典密码(上) 1、弗纳姆密码(Vernam Cipher) (1)、算法原理 加密 原理: 加密过程可以用方程 ci = pi (+) ki 表示,其中 pi 是明文第 i 个二进制位, ki 是密钥第 i 个二进制位, ci 是密文第 i 个二进制位, (+) 是 异或 运算符。密文是通过对明

    2024年01月21日
    浏览(38)
  • 【11.10】现代密码学1——密码学发展史:密码学概述、安全服务、香农理论、现代密码学

    参考:密码学发展简史 骆婷老师的《现代密码学(32H)》课程,笔记+查找的资料补充 期末为闭卷考试的形式 密码学早在公元前400多年就已经产生,人类使用密码的历史几乎与使用文字的时间一样长,密码学的发展大致可以分为 3 个阶段: 1949年之前的古典密码学阶段; 1949 年

    2024年02月04日
    浏览(35)
  • 密码学发展历史介绍

      稍微介绍一下密码学,密码学是研究编制密码和破译密码的学科,就是研究防与攻。密码学的发展历程可分三个阶段:古典密码、近代密码、现代密码。   古典密码阶段:从密码的产生到发展成为近代密码之间的这段时期密码的发展历史。主要特点是手工加解密,叫手

    2023年04月17日
    浏览(32)
  • 区块链密码学:基础知识、应用与未来发展

    区块链技术,作为一种分布式、去中心化的数据管理方式,密码学在其安全性和可靠性方面发挥着至关重要的作用。本文将详细介绍区块链密码学的基础知识、应用以及未来发展趋势。 区块链密码学是区块链技术的核心组成部分,用于确保交易的安全性、隐私性和可验证性。

    2024年02月05日
    浏览(33)
  • 【密码学】量子安全的密码学算法以及原理介绍

    (1)“代数格密码套件”(CRYSTALS)包含两个密码原语Kyber和Dilithium。Kyber是一种抗适应性选择密文攻击(IND-CCA2)安全密钥封装机制,Dilithium是一种高度不可伪造性(EUF-CMA)安全数字签名算法。两种密码都是为了应对量子计算机的攻击,并且在操作过程中只需更改几个参数即

    2024年02月11日
    浏览(37)
  • 密码学基本概念

    密码学的安全目标至少包含三个方面: (1)保密性(Confidentiality):信息仅被合法用户访问(浏览、阅读、打印等),不被泄露给非授权的用户、实体或过程。 提高保密性的手段有:防侦察、防辐射、数据加密、物理保密等。 (2)完整性(Integrity):资源只有授权方或以授

    2024年02月22日
    浏览(31)
  • 密码学 | 多重签名:基本概念

    目录 摘要 1  什么是多重签名? 2  多重签名的作用 2.1  联名账户 2.2  提高安全性 2.3  秘钥备份 3  比特币的多重签名 3.1  对比一 3.2  对比二 3.2.1  线性性 3.2.2  不可延展性 3.2.3  安全性证明 3.2.4  效率高、占用空间少 ⚠️ 原文: 多重签名:Schnorr 协议与 ECDSA 协议 - 知乎

    2024年04月25日
    浏览(23)
  • 网络安全:密码学基本理论.

    密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学. 目录 网络安全:密码学基本理论. 密码学基本概念: 密码安全性分析: 密码体系分析:

    2024年02月16日
    浏览(24)
  • 密码学的100个基本概念

    密码学作为信息安全的基础,极为重要,本文分为上下两部分,总计10个章节,回顾了密码学的100个基本概念,供小伙伴们学习参考。本文将先介绍前五个章节的内容。 一、密码学历史 二、密码学基础 三、分组密码 四、序列密码 五、哈希函数 1.密码学 密码学(cryptography)源

    2024年01月24日
    浏览(24)
  • 区块链学习二———密码学原理

    比特币中使用到了密码学的知识,主要是哈希函数与数字签名 哈希碰撞的含义:不同的输入,哈希值是相同的 x≠y,H(x) = H(y) 输入空间较大 输出空间较小,出现哈希碰撞的情况很常见。碰撞是客观存在的。 实际中,靠一个个数试,去找到两个不同的数的哈希值是相同的,几

    2024年02月08日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包