📄 hill_cipher_behzad.cpp
字号:
#include <iostream>
#include <stdio.h>
//prepared by Behzad Khiavchi ,std#:085050
int mod(int x)
{
while (x > 25)
x = x-26;
return (x);
}
void convert(char a, char b)
{
int aa, bb;
aa = a - 'a';
bb = b - 'a';
cout << endl;
cout << char(mod((aa*2 + bb*3))+ int('a'));
cout << char(mod((aa*4 + bb*5))+ int('a')) << endl;
cout << endl;
}
void decrypt(char a, char b)
{
int aa, bb;
aa = a - 'a';
bb = b - 'a';
cout << endl;
cout << char(mod((aa*(-5/2) + bb*(3/2)))+ int('a'));
cout << char(mod((aa*2 + bb*(-1)))+ int('a')) << endl;
cout << endl;
}
main()
{
int counter = 0;
int choice,skip;
char a, b, d;
cout<<endl;
cout<<"** HILL CIPHER **"<<endl;
cout<<"By Behzad Khiavchi std#:085050"<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<"To encrypt Enter(1):"<<endl;
cout<<"To decrypt Enter(2):"<<endl;
cin>>choice;
if(choice==1)
{
while(1){
if(skip==0)
break;
if(skip==1)
counter++;
cout << "Enter two letter group in lower case for encryption: [" << counter << "] > ";
cout << endl;
a = getchar();
b = getchar();
d = getchar();
convert(a, b);
cout<<"To proceed Enter(1):"<<endl;
cout<<"To exit Enter(0):"<<endl;
cin>>skip;
}
}
if(choice==2)
{
while(1){
if(skip==0)
break;
if(skip==1)
counter++;
cout << "Enter two letter group in lower case for decryption:[" << counter << "] > ";
cout << endl;
a = getchar();
b = getchar();
d = getchar();
decrypt(a, b);
cout<<"To proceed Enter(1):"<<endl;
cout<<"To exit Enter(0):"<<endl;
cin>>skip;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -