いくつかの古典的な暗号学のアルゴリズム

1994 ワード

古典的な暗号学は代替暗号(シフト暗号とも呼ばれる)と置換暗号(シフト暗号とも呼ばれる)の2種類に分けられ,その中で代替暗号は典型的にCaesar暗号,シミュレーション変換などがあり,置換暗号には単表置換や多表置換などがある.
以下に、一般的な古典的な暗号アルゴリズムの実装をいくつか示します.
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