いくつかの古典的な暗号学のアルゴリズム
1994 ワード
古典的な暗号学は代替暗号(シフト暗号とも呼ばれる)と置換暗号(シフト暗号とも呼ばれる)の2種類に分けられ,その中で代替暗号は典型的にCaesar暗号,シミュレーション変換などがあり,置換暗号には単表置換や多表置換などがある.
以下に、一般的な古典的な暗号アルゴリズムの実装をいくつか示します.
1.Caesarパスワード
2.単表置換
4.バージニアパスワード
以下に、一般的な古典的な暗号アルゴリズムの実装をいくつか示します.
1.Caesarパスワード
void encrypt(char* text,int k,char cipher[1024]){
int a[26];int A[26];
int m;
for(int i=97;i<123;i++){
a[i-97]=i;
A[i-97]=i-32;
}
int len=strlen(text);
for(int j=0;j
2.単表置換
//#include "Ceasar.h"
#include "stdafx.h"
void transkey(char* key,char table[27]){
char tem[100]={0};
char table1[30]={0};
for(int i=97;i<123;i++)
table1[i-97]=i;
int len1=strlen(key);
strcpy(tem,key);
strcpy(tem+len1,table1);
int len=strlen(tem);
int k=1;int flag;
if(isupper(tem[0]))
tem[0]+=32;
table[0]=tem[0];
for(int i=1;i
3.シミュレーションへんかん//#include "Ceasar.h"
#include "stdafx.h"
void encrypt(char* text,int k1,int k2,char cipher[1024]){
int len=strlen(text);
int e=0;
for(int j=0;j
4.バージニアパスワード
//#include "Ceasar.h"
#include "stdafx.h"
void encrypt(char* text,char* key,char cipher[1024]){
int len=strlen(text);
int lenkey=strlen(key);
for(int j=0;j