⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 des3rmain.cpp

📁 des preko c neznam hocel pomoci
💻 CPP
字号:
/* des3rmain.cpp *//* Implementacija linearne kriptoanalize DES-a od 3 runde *//* 2005. godina *//* Autor: Darko Poljak */#include <iostream>#include <cstdio>#include "DES3r.h"#include "des3rla.h"using namespace std;void usage(const char *s){	fprintf(stderr,"usage: %s [-n PLAINCNT] [-v]\n"		       "          -n PLAINCNT  =  number of plaintexts\n"		       "          -h           =  print this help\n"		       " Default number of plaintexts is 50.\n\n",s);}/* K1[22], K3[22] */extern bit k1_22;extern bit k3_22; main(int argc, char **argv){	string key; /* stvarni kkljuc */	int ptxtcnt=50; /* potreban broj poznatih otvorenih tekstova */	bit lexpr_rhs; /* desna strana linearnog izraza */	float p=0.70f; /* vjerojatnost da linearni izraz vrijedi */	int i,j;	for(i=1;i<argc;++i) {		if(strcmp(argv[i],"-n")==0) {			++i;			ptxtcnt=atoi(argv[i]);		} else if(strcmp(argv[i],"-h")==0) {			usage(argv[0]);			exit(0);		} else {			cerr<<"Unknown argument \""<<argv[i]<<"\"!"<<endl				<<"Type \'"<<argv[0]<<" -h\' for help."<<endl;			exit(1);		}	}	analysis_init(&key); /* generiranje slucajnog kljuca */	/* 3-round DES linearna analiza */	lexpr_rhs=lin_analysis_DES_1bit(gen_texts3r,ptxtcnt,key,p);	printf("Real Key:\n");		for(i=0;i<64;++i) {		printf("%3d",63-i);	}	printf("\n");	for(i=0;i<8;++i) {		for(j=7;j>=0;--j) {			printf("%3d",(key[i]>>j)&0x1);		}	}	printf("\n\nReal bits K1[22] = %d; K3[22] = %d\n",k1_22,k3_22);	printf("\n\n3-round DES linear analysis (1 key bit) result:\n"		     "Pl[15] xor Ph[7,18,24,29] xor Cl[15] xor Ch[7,18,24,29] = "		     "K1[22] xor K3[22] = %d\n",lexpr_rhs);	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -