1 信息安全与加密技术课程报告 题 目:playfair 加密 * ***** 学 号:********** 班 级:信息081 班 指导教师:*** 完成日期:2011 年 10 月 12 日 2 一.实验目的 撑握playfair 加密的原理,以及加密思想。通边C、C++等编程语言实现 playfair 的加密与解密。 二.实验要求 2.1 用 C++等编程语言实现 playfair 的加密和解密 2.2 明文(密文)能及密钥的大小写输入对密文(明文)的输出不受影响 2.3 输出 playfair 的加密、解密矩阵 三.算法实现 3.1 程序设计 #include #include using namespace std; //加密算法 void encrypt() { const int N=100; char letters[26]="ABCDEFGHIKLMNOPQRSTUVWXYZ";//用于填充矩阵 int flag[25]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//字母是否已在矩阵中,与letters 数组对应 char ch[5][5];//5X5 矩阵 char ch1[N];//密钥 char ch2[N];//明文 char ch4;//无关字符 int len='a'-'A'; cout<<"输入密钥(a-z):"; cin>>ch1; int flg=1; while(flg==1) { for(int i=0;i'z'||ch1[i]<'a') { cout<<"请重新选择操作:"<>ch2; cout<<"输入一个无关字符:"; cin>>ch4; if(ch4>='a') 4 ch4=ch4-len; for(k=0;k='a') ch2[k]=ch2[k]-len; } for(k=0;k