Python密码学

换位密码

换位密码详细操作教程
Transplace Cipher是一种加密算法,其中明文中的字母顺序会重新排列以形成密文。在此过程中,不包括实际的纯文本字母。

示例

换位密码的简单示例是 列换位密码,其中,纯文本中的每个字符均以指定的字母宽度水平书写。密文是垂直写入的,这会创建完全不同的密文。
考虑纯文本 hello world ,然后让我们应用如下所示的简单列换位技术
列式换位
将纯文本字符水平放置,并将密文以垂直格式创建为 :holewdlo lr。现在,接收方必须使用同一张表将密文解密为纯文本。

代码

以下程序代码演示了列换位技术的基本实现-
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-28
def split_len(seq, length):
   return [seq[i:i + length] for i in range(0, len(seq), length)]
def encode(key, plaintext):
   order = {
      int(val): num for num, val in enumerate(key)
   }
ciphertext = ''
for index in sorted(order.keys()):
   for part in split_len(plaintext, len(key)):
      try:ciphertext += part[order[index]]
         except IndexError:
            continue
   return ciphertext
print(encode('3214', 'HELLO'))

说明

使用功能 split_len(),我们可以拆分纯文本字符,这些字符可以以列或行格式放置。 encode 方法有助于创建带有指定列数的密钥的密文,并通过读取每一列中的字符来打印密文。

输出

用于列换位技术的基本实现的程序代码给出以下输出-
列式换位技术
注意-密码学家在执行转置技术时观察到了加密安全性的显着改善。他们还指出,使用相同的转置密码重新加密密文可以提高安全性。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4