本项目使用C语言实现了经典的维吉尼亚密码加密与解密算法,适用于对古典密码学感兴趣的编程学习者和安全研究人员。
1. 实现维吉尼亚密码算法。通过键盘输入明文和密钥,在屏幕上显示加密后的密文以及解密得到的原始明文。(必做)
2. 实现单表替换密码算法。同样地,从键盘接收明文和密钥,并在屏幕上输出对应的替换表格及生成的密文。(选做)
3(选作):基于第1项实现内容,在此基础上利用维吉尼亚密码完成对英文文本段落件的加密与解密操作。具体命令格式如下:
cipher -e/-d key inputfile outputfile
说明中提到,对于加密任务而言,“inputfile”代表明文所在的文件名;而对于解密过程来说,则是“inputfile”指向了待处理的密文所在位置,并且任何非字母字符都将保持不变。
4. 在完成第3项的基础上进一步扩展功能范围至对所有类型文件(包括但不限于中英文文本、符号乃至任意格式文档)执行加解密操作,遵循与之前相同的命令行规范。需要注意的是,在进行此类处理时应当考虑到不同文件的存在形式以及如何有效读取它们,并且要确保能够正确地识别并结束输入流的传输过程。
控制台编程实现:
```c
int main(int argc, char *argv[])
```
以上为具体任务描述,要求根据给定条件完成相关算法的设计与编码工作。