私钥加密实验
Completion requirements
实验里用的密文是通过以下的步骤生成的,老师可以使用相同的方法对自己选择的文章进行加密,而不必要求学生使用实验里提供的密文。
第 1 步: 生成加密密钥,即替换表
我们用 Python 程序对字母 a - z 进行置换,并使用置换后的字母作为密钥。请参考以下程序。
#!/bin/env python3
import random
s = "abcdefghijklmnopqrstuvwxyz"
list = random.sample(s, len(s))
key = ''.join(list)
print(key)
第 2 步:预处理
我们对原始文章做了一些简化,将所有大写字母转换为小写字母,然后删除了所有标点符号和数字。单词之间的空格被保留了下来,所以你可以在密文中看到单词的边界。在真正的使用单表替换密码时,空格会被删除,我们保留空格以简化任务。我们使用以下命令执行此操作:
$ tr [:upper:] [:lower:] < article.txt > lowercase.txt
$ tr -cd '[a-z][\n][:space:]' < lowercase.txt > plaintext.txt
第 3 步: 加密
使用 tr 命令实现加密。我们只需要加密字母,不需要改动空格和换行符。
$ tr 'abcdefghijklmnopqrstuvwxyz' 'sxtrwinqbedpvgkfmalhyuojzc' < plaintext.txt > ciphertext.txt
Last modified: Monday, 12 May 2025, 4:09 PM