密码学实验全部题目+完整代码:Hash算法MD5,DES-CBC,基于口令的加密,CBC-MAC,数字信封, 数字签名,DH.zip
密码学实验(全部题目+完整代码:Hash算法MD5,DES-CBC,基于口令的加密,CBC-MAC,数字信封, 数字签名,DH)
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-05-31 11:01 01_实验题目
目录 0 2019-05-31 10:51 01_实验题目ConsoleApplication3
文件 2621440 2019-05-31 10:51 01_实验题目ConsoleApplication3ConsoleApplication3.sdf
文件 1003 2019-05-31 10:51 01_实验题目ConsoleApplication3ConsoleApplication3.sln
目录 0 2019-05-31 10:51 01_实验题目ConsoleApplication3ConsoleApplication3
文件 8045 2019-05-31 10:51 01_实验题目ConsoleApplication3ConsoleApplication37.cpp
文件 149597 2019-05-31 10:51 01_实验题目ConsoleApplication3ConsoleApplication37.exe
文件 115175 2019-05-31 10:51 01_实验题目ConsoleApplication3ConsoleApplication37.o
文件 4093 2019-05-31 10:51 01_实验题目ConsoleApplication3ConsoleApplication3ConsoleApplication3.vcxproj
文件 942 2019-05-31 10:51 01_实验题目ConsoleApplication3ConsoleApplication3ConsoleApplication3.vcxproj.filters
目录 0 2019-05-31 11:00 01_实验题目实验1 - Hash算法MD5
文件 1149 1994-03-21 10:20 01_实验题目实验1 - Hash算法MD5GLOBAL.H
目录 0 2019-05-31 10:52 01_实验题目实验1 - Hash算法MD5Hash_MD5
目录 0 2019-05-31 10:53 01_实验题目实验1 - Hash算法MD5Hash_MD5Debug
文件 258146 2019-05-31 10:52 01_实验题目实验1 - Hash算法MD5Hash_MD5DebugHash_MD5.exe
文件 369332 2019-05-31 10:52 01_实验题目实验1 - Hash算法MD5Hash_MD5DebugHash_MD5.ilk
文件 1999512 2019-05-31 10:53 01_实验题目实验1 - Hash算法MD5Hash_MD5DebugHash_MD5.pch
文件 590848 2019-05-31 10:52 01_实验题目实验1 - Hash算法MD5Hash_MD5DebugHash_MD5.pdb
文件 23214 2019-05-31 10:52 01_实验题目实验1 - Hash算法MD5Hash_MD5DebugMD5.obj
文件 74752 2019-05-31 10:52 01_实验题目实验1 - Hash算法MD5Hash_MD5Debugvc60.idb
文件 102400 2019-05-31 10:52 01_实验题目实验1 - Hash算法MD5Hash_MD5Debugvc60.pdb
文件 1454 2019-05-31 10:51 01_实验题目实验1 - Hash算法MD5Hash_MD5filename.txt
文件 4303 2019-05-31 10:51 01_实验题目实验1 - Hash算法MD5Hash_MD5Hash_MD5.dsp
文件 524 2019-05-31 10:51 01_实验题目实验1 - Hash算法MD5Hash_MD5Hash_MD5.dsw
文件 33792 2019-05-31 10:51 01_实验题目实验1 - Hash算法MD5Hash_MD5Hash_MD5.ncb
文件 48640 2019-05-31 10:51 01_实验题目实验1 - Hash算法MD5Hash_MD5Hash_MD5.opt
文件 893 2019-05-31 10:51 01_实验题目实验1 - Hash算法MD5Hash_MD5Hash_MD5.plg
文件 802 2019-05-31 10:51 01_实验题目实验1 - Hash算法MD5Hash_MD5MD5.CPP
文件 1928588 2019-05-31 10:52 01_实验题目实验1 - Hash算法MD5Hash_MD5MD5.exe
文件 1698 1994-03-16 11:34 01_实验题目实验1 - Hash算法MD5MD5.H
文件 10631 2011-04-01 21:03 01_实验题目实验1 - Hash算法MD5MD5C.C
............此处省略243个文件信息
#include
#include
#include
#include “NN.C“
#include “RSA.C“
#include “DIGIT.C“
#include “MD2C.C“
#include “MD5C.C“
#include “DESC.C“
#include “PRIME.C“
#include “R_STDLIB.C“
#include “R_RANDOM.C“
#include “R_KEYGEN.C“
#include “R_ENHANC.C“
#include “R_ENCODE.C“
#include “R_DH.C“
// 以十六进制形式显示output中的内容
void shows(char *text unsigned char *output unsigned int len){
printf(“%s: “ text);
for (unsigned int i = 0; i printf(“%x“ output[i]);
printf(“
“);
}
//给R_DH_PARAMS的成员分配内存空间
void Init_DH_Params(R_DH_PARAMS *params unsigned int bits){
params->prime = new unsigned char[DH_PRIME_LEN(bits)];
params->generator = new unsigned char[DH_PRIME_LEN(bits)];
}
//销毁分配给R_DH_PARAMS的成员的内存空间
void Destory_DH_Params(R_DH_PARAMS *params){
delete[]params->prime;
delete[]params->generator;
}
// 产生DH系统参数
int create_DH_params(R_DH_PARAMS *params int prime_len int subprime_len R_RANDOM_STRUCT *randomStruct){
// 为DH系统参数成员分配空间
Init_DH_Params(params prime_len);
// 产生DH系统参数
int ret = R_GenerateDHParams(params prime_len subprime_len randomStruct);
if (RE_MODULUS_LEN == ret){
printf(“prime length invalid
“);
return 0;
}
else if (RE_NEED_RANDOM == ret){
printf(“randomStruct is not seeded
“);
return 0;
}
else if (RE_DATA == ret){
printf(“prime bits out of range
“);
return 0;
}
return 1;
}
// 产生RSA密钥
int create_RSAkey(char *user R_RSA_PUBLIC_KEY *publicKey R_RSA_PRIVATE_KEY *privateKey unsigned int modul_bitsint useFermat4 R_RANDOM_STRUCT *randomStruct){
R_RSA_PROTO_KEY protoKey;
int flag;
protoKey.bits = modul_bits; //设定模数长度
protoKey.useFermat4 = useFermat4; //设定e
flag = R_GeneratePEMKeys(publicKey privateKey &protoKey randomStruct); // 产生RSA密钥
if (RE_MODULUS_LEN == flag){
printf(“%s: modulus length invalid
“ user);
return 0;
}
else if (RE_NEED_RANDOM == flag){
printf(“%s: randomStruct is not seeded
“ user);
return 0;
}
return 1;
}
// 产生用户的公开值、秘密值
int setup_DH_agreement(char *user unsigned char *publicValue unsigned char *privateValueint privateValueLEN R_DH_PARAMS *paramsR_RANDOM_STRUCT *randomStruct){
if (RE_NEED_RANDOM == R_SetupDHAgreement(publicValue privateValue privateValueLEN params randomStruct)){
printf(“%s: randomStruct is not seeded
“ user);
return 0;
}
return 1;
}
// 产生共享密钥
int create_agreementkey(unsigned char *Key unsigned char *otherspublicValue unsigned char *privateValue int publicValueLenR_DH_PARAMS *params){
if (RE_DATA == R_ComputeDHAgreedKey(Key otherspublicValue privateValue publicValueLen params))
return 0;
return 1;
}
// 对公开值计算签名
int sign(char *user unsigned char *publicValue int publicValueLenunsigned char *signature unsigned int *signatureLenR_RSA_PRIVATE_KEY *privateKey){
R_SIGNATURE_CTX context;
if (RE_DIGEST_ALGORITHM == R_SignInit(&context DA_MD5)){
printf(“%s: digestA
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-05-31 11:01 01_实验题目
目录 0 2019-05-31 10:51 01_实验题目ConsoleApplication3
文件 2621440 2019-05-31 10:51 01_实验题目ConsoleApplication3ConsoleApplication3.sdf
文件 1003 2019-05-31 10:51 01_实验题目ConsoleApplication3ConsoleApplication3.sln
目录 0 2019-05-31 10:51 01_实验题目ConsoleApplication3ConsoleApplication3
文件 8045 2019-05-31 10:51 01_实验题目ConsoleApplication3ConsoleApplication37.cpp
文件 149597 2019-05-31 10:51 01_实验题目ConsoleApplication3ConsoleApplication37.exe
文件 115175 2019-05-31 10:51 01_实验题目ConsoleApplication3ConsoleApplication37.o
文件 4093 2019-05-31 10:51 01_实验题目ConsoleApplication3ConsoleApplication3ConsoleApplication3.vcxproj
文件 942 2019-05-31 10:51 01_实验题目ConsoleApplication3ConsoleApplication3ConsoleApplication3.vcxproj.filters
目录 0 2019-05-31 11:00 01_实验题目实验1 - Hash算法MD5
文件 1149 1994-03-21 10:20 01_实验题目实验1 - Hash算法MD5GLOBAL.H
目录 0 2019-05-31 10:52 01_实验题目实验1 - Hash算法MD5Hash_MD5
目录 0 2019-05-31 10:53 01_实验题目实验1 - Hash算法MD5Hash_MD5Debug
文件 258146 2019-05-31 10:52 01_实验题目实验1 - Hash算法MD5Hash_MD5DebugHash_MD5.exe
文件 369332 2019-05-31 10:52 01_实验题目实验1 - Hash算法MD5Hash_MD5DebugHash_MD5.ilk
文件 1999512 2019-05-31 10:53 01_实验题目实验1 - Hash算法MD5Hash_MD5DebugHash_MD5.pch
文件 590848 2019-05-31 10:52 01_实验题目实验1 - Hash算法MD5Hash_MD5DebugHash_MD5.pdb
文件 23214 2019-05-31 10:52 01_实验题目实验1 - Hash算法MD5Hash_MD5DebugMD5.obj
文件 74752 2019-05-31 10:52 01_实验题目实验1 - Hash算法MD5Hash_MD5Debugvc60.idb
文件 102400 2019-05-31 10:52 01_实验题目实验1 - Hash算法MD5Hash_MD5Debugvc60.pdb
文件 1454 2019-05-31 10:51 01_实验题目实验1 - Hash算法MD5Hash_MD5filename.txt
文件 4303 2019-05-31 10:51 01_实验题目实验1 - Hash算法MD5Hash_MD5Hash_MD5.dsp
文件 524 2019-05-31 10:51 01_实验题目实验1 - Hash算法MD5Hash_MD5Hash_MD5.dsw
文件 33792 2019-05-31 10:51 01_实验题目实验1 - Hash算法MD5Hash_MD5Hash_MD5.ncb
文件 48640 2019-05-31 10:51 01_实验题目实验1 - Hash算法MD5Hash_MD5Hash_MD5.opt
文件 893 2019-05-31 10:51 01_实验题目实验1 - Hash算法MD5Hash_MD5Hash_MD5.plg
文件 802 2019-05-31 10:51 01_实验题目实验1 - Hash算法MD5Hash_MD5MD5.CPP
文件 1928588 2019-05-31 10:52 01_实验题目实验1 - Hash算法MD5Hash_MD5MD5.exe
文件 1698 1994-03-16 11:34 01_实验题目实验1 - Hash算法MD5MD5.H
文件 10631 2011-04-01 21:03 01_实验题目实验1 - Hash算法MD5MD5C.C
............此处省略243个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)