资源简介
密码学实验(全部题目+完整代码:Hash算法MD5,DES-CBC,基于口令的加密,CBC-MAC,数字信封, 数字签名,DH)
代码片段和文件信息
#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(“\n“);
}
//给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 \n“);
return 0;
}
else if (RE_NEED_RANDOM == ret){
printf(“randomStruct is not seeded \n“);
return 0;
}
else if (RE_DATA == ret){
printf(“prime bits out of range\n“);
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\n“ user);
return 0;
}
else if (RE_NEED_RANDOM == flag){
printf(“%s: randomStruct is not seeded\n“ 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 \n“ 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_实验题目\ConsoleApplication3\ConsoleApplication3.sdf
文件 1003 2019-05-31 10:51 01_实验题目\ConsoleApplication3\ConsoleApplication3.sln
目录 0 2019-05-31 10:51 01_实验题目\ConsoleApplication3\ConsoleApplication3\
文件 8045 2019-05-31 10:51 01_实验题目\ConsoleApplication3\ConsoleApplication3\7.cpp
文件 149597 2019-05-31 10:51 01_实验题目\ConsoleApplication3\ConsoleApplication3\7.exe
文件 115175 2019-05-31 10:51 01_实验题目\ConsoleApplication3\ConsoleApplication3\7.o
文件 4093 2019-05-31 10:51 01_实验题目\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.vcxproj
文件 942 2019-05-31 10:51 01_实验题目\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.vcxproj.filters
目录 0 2019-05-31 11:00 01_实验题目\实验1 - Hash算法MD5\
文件 1149 1994-03-21 10:20 01_实验题目\实验1 - Hash算法MD5\GLOBAL.H
目录 0 2019-05-31 10:52 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\
目录 0 2019-05-31 10:53 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\Debug\
文件 258146 2019-05-31 10:52 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\Debug\Hash_MD5.exe
文件 369332 2019-05-31 10:52 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\Debug\Hash_MD5.ilk
文件 1999512 2019-05-31 10:53 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\Debug\Hash_MD5.pch
文件 590848 2019-05-31 10:52 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\Debug\Hash_MD5.pdb
文件 23214 2019-05-31 10:52 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\Debug\MD5.obj
文件 74752 2019-05-31 10:52 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\Debug\vc60.idb
文件 102400 2019-05-31 10:52 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\Debug\vc60.pdb
文件 1454 2019-05-31 10:51 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\filename.txt
文件 4303 2019-05-31 10:51 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\Hash_MD5.dsp
文件 524 2019-05-31 10:51 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\Hash_MD5.dsw
文件 33792 2019-05-31 10:51 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\Hash_MD5.ncb
文件 48640 2019-05-31 10:51 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\Hash_MD5.opt
文件 893 2019-05-31 10:51 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\Hash_MD5.plg
文件 802 2019-05-31 10:51 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\MD5.CPP
文件 1928588 2019-05-31 10:52 01_实验题目\实验1 - Hash算法MD5\Hash_MD5\MD5.exe
文件 1698 1994-03-16 11:34 01_实验题目\实验1 - Hash算法MD5\MD5.H
文件 10631 2011-04-01 21:03 01_实验题目\实验1 - Hash算法MD5\MD5C.C
............此处省略243个文件信息
相关资源
- MD5暴力破解程序 用SSE2 CPU加速指令集
- SecureCRT 8.5.3 Build 1867(X64)原版 + ZW
- 暴力破解MD5解密工具
- MD5加密解密算法demo
- 转:excel中用的md5宏,可批量转字串为
- APK获取MD5工具
- win7 802.1X MD5验证补丁
- 易语言md5定向爆破源码
- MD5EditTools,MD5修改工具
- MD5源代码和教程
- MD5GPU.rar
- 批量修改视频MD5值绿色版
- 基于DES的数字签名系统
- springboot+shiro+md5
- MD5值修改器破解版
- SSM实现登录注册
- SFCipher加解密工具
- MD5算法加密文件网络安全课程设计
- md5加密算法源码
- 对文件进行加密并生成MD5值
- MD5离线破解工具
- meven+ssm+shiro实现前后端分离登录小案
- 弱口令及对应md5值字典
- 计算文件SM3MD5 SHA1SHA256摘要值工具
- 修改文件MD5值
- 好用的各种进制转换工具包括ASCII与
- md5sum.exe
- MD5校验工具
- 易语言MD5加解密工具源码
- 图片md5值修改工具!支持一键批量修
评论
共有 条评论