现代密码学-传统密码技术(置换、代换密码)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 现代密码学-传统密码技术(置换、代换密码)

置换密码/换位密码

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

   最常见的置换密码有两种:

  • 列置换密码(明文P遵照密钥的规程按列换位并且按列读出序列得到密文C);
  • 周期置换密码(将明文P按固定长度m分组,然后对每组按1,2…,m的某个置换重排位置从而得到密文C)。

列置换

加密过程

  1. 将明文P以设定的固定分组宽度m按行写出,即每行有m个字符。若明文长度不是m的整数倍,则不足部分用双方约定的方式填充,如双方约定用空格代替空缺处字符,不妨设最后得字符矩阵20201204182323419.gif
  2. 按1,2…,m的某一置换20201204182323419.gif交换列的位置次序得字符矩阵20201204182323419.gif
  3. 把矩阵20201204182323419.gif1,2…,n的顺序依次读出得密文序列C。

举例

2022年北京冬季奥运会,英文为"The XXIV Olympic Winter Games",假定m为5,发送时没有空格,20201204182323419.gif

20201204182323419.gif

1列内容换到4,4列内容换到3,3列内容换到1,2、5列互换。

明文:TheXXIVOlympicWinterGames

密文:eOitmXyWrsXlceeTImiGhVpna

加密密钥20201204182323419.gif

解密过程

  1.  将密文C按与加密过程相同的分组宽度m按列写得到字符矩阵20201204182323419.gif
  2.  按加密过程用的置换20201204182323419.gif的逆置换20201204182323419.gif交换列的位置次序得字符矩阵20201204182323419.gif
  3.  把矩阵20201204182323419.gif按1,2,…,m的顺序依次读出得明文P。

20201204182323419.gif

解密密钥:20201204182323419.gif

周期置换

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


举例


加密“State Key Laboratory of Networking and Switching",不含空格,m为7。加密密钥=(15623)


明文分7组:

   (StateK)(eyLabo)(ratory)(ofNetw)(orking)(andSwi)(tching)


加密变换:

   (akttSe)(Loyaeb)(tyaorr)(Nwfeot)(kgrion)(dinSaw)(hgcitn)


最终密文:

   akttSeLoyaebtyaorrNwfeotkgriondinSawhgcitn


由加密密钥易知解密密钥:=(13265),解密易实现,请读者自行尝试。

代换密码

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

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

单表代换密码

凯撒、仿射等。


举例


凯撒密码


明文中的所有字母都在字母表上向后(或向前)按照一个固定数目(密钥n)进行偏移后被替换成密文。


加解密方法如下:


20201204182323419.gif


当密钥n是3时:


明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ。


密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC。


加密过程如下:


明文:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG ;


密文:WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ。


解密逆过程即可,可以自己写个小程序,输入明文/密文、密钥,得到结果,当然,也有在线工具箱。

2020062310470442.png

找的在线加解密工具箱,网址在参考部分

多表代换密码

明文消息中出现的同一个字母,在加密时不是完全被同一固定的字母代换,而是根据其出现的位置次序,用不同的字母代换。多表代换密码是利用多个单表代替密码构成的密码体制,它在对明文进行加密的过程中依照密钥轮流使用多个单表代替密码。如维吉利亚、Playfair、转轮等。


举例


维吉尼亚密码


是使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式。

2020062310470442.png

假设明文为:


ATTACKATDAWN


选择某一关键词并重复而得到密钥,如关键词为LEMON时,密钥为:


LEMONLEMONLE


对于明文的第一个字母A,对应密钥的第一个字母L,于是使用表格中L行字母表进行加密,得到密文第一个字母L。类似地,明文第二个字母T,在表格中使用对应的E行进行加密,得到密文第二个字母X。以此类推,即:


明文:ATTACKATDAWN


密钥:LEMONLEMONLE


密文:LXFOPVEFRNHR


解密过程相反

2020062310470442.png

参考

加解密在线工具-一个工具箱

千千秀字-维吉尼亚加解密

更多内容查看:网络安全-自学笔记

喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。

相关文章
|
7月前
|
机器学习/深度学习 算法 安全
密码学系列之六:公钥密码体制
密码学系列之六:公钥密码体制
|
7月前
|
存储 安全 算法
探索未来数据保护的钥匙:安全加密算法
在数字化时代,数据安全成为了一个重要的议题。本文将深入探讨安全加密算法的作用和意义,以及其在数据保护中的应用。通过对不同类型的加密算法进行介绍和比较,我们将揭示它们在保护个人隐私和商业机密方面的重要性。同时,我们还将探讨未来发展趋势,展望安全加密算法在数据保护领域的潜力。
204 1
|
4月前
|
存储 安全 算法
加盐哈希的科学原理及其重要性
【8月更文挑战第31天】
116 0
|
5月前
|
存储 安全 算法
信息安全基础:密码学与哈希函数
【7月更文挑战第11天】密码学和哈希函数作为信息安全领域的核心技术,在保护数据机密性、完整性和可鉴别性方面发挥着重要作用。通过深入研究密码学的基本概念和哈希函数的特性,我们可以更好地理解和应用这些技术,确保信息在传输和存储过程中的安全性。随着技术的不断发展,密码学和哈希函数的应用也将更加广泛和深入。
|
7月前
|
机器学习/深度学习 安全 算法
安全多方计算之三:同态加密
安全多方计算之三:同态加密
1110 42
|
人工智能 数据安全/隐私保护
密码学小传——凯撒密码的解密起源
密码学小传——凯撒密码的解密起源
224 0
|
存储 算法 安全
同态随机基加密的量子多方密码-数学公式
同态随机基加密的量子多方密码-数学公式
103 0
|
算法 Java
密码学 | 蓄势待发!说说什么是散列算法?
密码学 | 蓄势待发!说说什么是散列算法?
209 0
密码学 | 蓄势待发!说说什么是散列算法?
|
算法
三重数据加解密算法【项目】
三重数据加解密算法【项目】
209 0
|
并行计算 搜索推荐 算法
【密码学】分组密码模式
分组密码只能处理固定长度的分组,但是对于如何把每个分组组合起来,这里面也会有多种方案,一个非常简单的做法便是每个分组单独处理,然后把每个分组的结果拼接起来,这种方式其实也就是「ECB」模式,这个模式实际上是非常不安全的,各位读者在生产环境千万不要使用,本文在加下将描述几种模式。
【密码学】分组密码模式