相关文章推荐

置换密码(Permutation Cipher)又叫换位密码(Transposition Cipher),其特点就是保持明文的所有字符不变,打乱明文字符的位置和次序。常见的置换密码有两种:列置换密码和周期置换密码。

一、列置换加密

将明文字符P以固定的分组宽度m按行写出,构成m x n的矩阵[M]mxn,不够的按双方约定的字符补充,比如空格字符。然后通过某一交换列的位置次序的到矩阵[Mp]mxn,最后输出举证 [Mp] mxn,即得到密文。

比如明文P="Sit down please!",密钥为: ,即将第一列放到第2列,第2列放到第4列,第4列放到第一列,第3列放到第5列,第5列放到第3列,得到的密文Pm="dSoitlwenp!a se"最终加密过程如下:

二、列置换解密

列置换的解密过程就是加密的逆过程,根据上面的例子,可以知道密钥的逆置换为:
,则机密的过程如下:

置换密码 /huanweim 置换密码 (Permutation Cipher)又叫换位密码(Transposi-tionCipher),它根据一定的规则重新排 明文,以便打破明文的结构特性。 置换密码 的特点是保持明文的所有字符不变,只是利用 置换 打乱了明文字符的位置和次序。 最常见的 置换密码 有二种: 置换密码 (明文遵照密钥的规程按 换位并且按 读出序 得到密文);周期 置换密码 (将明文P按固定长度m分组,然后对每组按1,2…,m的某个 置换 重排位置从而得到密文C)。 将明文p以设定的固定分组宽度m按行写出,即每行有m个字符;若明文长度不是m的整数倍,则不足部分用双方约定的方式填充,如双方约定用空格代替空缺处字符,不妨设最后得字符矩阵[Mp]n×m 按1,2…,m的某一 置换 σ交换 的位置次序得字符矩阵[Mp]n×m 把矩阵按[Mp]n×m 的顺序依次读出得密文序 c。 置换密码 又称换位密码,是根据一定的规则重新排 明文,以便打破明文的结构特性。 置换密码 的特点是保持明文的 所有字符不变,只是利用 置换 打乱了明文字符的位置和次序。也就是说,改变了明文的结构,不改变明文的内容。 例如:明文:asdfghjklmnbvc 密钥:31524 首先把弄清密钥长度,然后将密文分组即 明文矩阵:       a s d f g      h j k l m 1.要求使用4行*4 的双重 置换密码 ,使用行 置换 :(1,2,3,4)→(2,4,1,3)和 置换 :(1,2,3,4)→(3,1,2,4) 编写 置换密码 算法的实现程序,实现加密和解密操作。它将明文中的字母按照给定的顺序安排在一个矩阵中,然后用根据密钥提供的顺序重新组合矩阵中的字母,从而形成密文。其解密过程是根据密钥的字母数作为 数,将密文按照 、行的顺序写出,再根据由密钥给出的矩阵 置换 产生新的矩阵,从而恢复明文。 置换密码 通过改变明文消息各元素的相对位置,但明文消息元素本身的取值或内容形式不变; 重新排 明文字母,达到信息加密的目的。与替代密码不同的是,原来明文中的字母同样出现在密文中,只是顺序被打断。古典的 置换密码 的例子:Rail Fence密码、行 置换密码 、乘积密码、转子机、隐写术。 1.适用于想学习 密码学 和C++的人群 2.代码可以循环加密解密过程 3.特点:循环使用实现 密码学 中的古典密码的 转置密码(Column Permutation Cipher) 4.使用简单,上手容易 置换密码 算法的原理是不改变明文字符,而是按照某一规则重新排 消息中的比特或字符顺序,才而实现明文信息的加密。 置换密码 有时又称为换位密码。 矩阵换位法是实现 置换密码 的一种常用方法。它将明文中的字母按照给定的顺序安排在一个矩阵中,然后用根据密钥提供的顺序重新组合矩阵中的字母,从而形成密文。例如,明文为attack begins at five,密钥为cipher,将明文按照每行6个字母的形式排在矩阵中,形成如下形式: 根据密钥cipher中各个字母在字母表中出现的先后顺序,给定一个 置换 : 根据上面的 置换 ,将原有居住中的字母按照第1 、第4裂、第5裂、第3裂、第2 、第6 的顺序排 ,则有下面的形式: 从而得到密文:abatgftetcnvaiikse 其解密过程是根据密钥的字母数作为 数,将密文按照 、行的顺序写出,再根据由 密钥给出的矩阵 置换 产生新的矩阵,从而恢复明文。 1.1) 置换密码 : 明文遵照密钥规则按 换位,按 读出明文序 得到密文。 加密:明文分段,不足则填充,根据密钥以 为单位进行互换,按行从左到右写出,得到密文。 解密:密文分段,根据密钥逆 置换 为单位进行互换,按行从左到右写出,得到明文。
 
推荐文章