欢迎来到天天文库
浏览记录
ID:8467180
大小:569.00 KB
页数:19页
时间:2018-03-28
《《应用密码学》课程设计-rsa加解密的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、上海电力学院《应用密码学》课程设计题 目: RSA加解密的设计与实现 院 系: 计算机与信息工程学院 专业年级: 信息安全专业班 学生姓名: 学号: 指导教师: 温蜜 2011年1月6日目录一、设计要求................................................................................................3二、开发环境与工具.........................................
2、...........................................3三、设计原理................................................................................................3四、系统功能描述与软件模块划分............................................................4五、设计核心代码.................................................................
3、......................6六、设计结果及验证...................................................................................16七、软件使用说明.......................................................................................17八、参考资料............................................................................
4、...................18九、设计体会...............................................................................................18一、设计要求1、随机搜索大素数,随机生成公钥和私钥;2、用公钥对任意长度的明文加密;3、用私钥对密文解密;4、界面简洁、交互操作性强。5、(可选)实现对汉字的加解密,把加密结果存放在文本文档二、开发环境与工具开发环境:win764位操作系统开发工具:VC++6.0三、设计原理(算法工作原理)首先设计一个能存放足够大数的类CBigInt,这个类
5、是把很大的数分解成一个个int类型的数来i存储的。输入你要求的密钥位数,然后用rand()函数生成一个个32位数,拼接成大数,进行素性检测,是素数就返回,就这样就产生了公钥(e,n)和私钥(d,n),然后利用公式c=m^emodn,得到密文,保存得到的密文到文本文档,再用公式m=c^dmodn,得到明文。算法路程图如下:开始输入明文输入需要生成的密钥长度产生随机大数进行拉宾-米勒素性检测通过?NY加密结束解密验证四、系统功能描述与软件模块划分CBigInt类的功能:classCBigInt{public:unsignedm_nLength;unsignedlongm_ulValue[B
6、I_MAXLEN];CBigInt();~CBigInt();voidMov(unsigned__int64A);voidMov(CBigInt&A);CBigIntAdd(CBigInt&A);//加法CBigIntSub(CBigInt&A);//减法CBigIntMul(CBigInt&A);//乘法CBigIntDiv(CBigInt&A);//除法CBigIntMod(CBigInt&A);//模CBigIntAdd(unsignedlongA);CBigIntSub(unsignedlongA);CBigIntMul(unsignedlongA);CBigIntDiv(un
7、signedlongA);voidFromString(char*,intlen);intToString(char*);unsignedlongMod(unsignedlongA);intCmp(CBigInt&A);CBigIntModExp(CBigInt&A,CBigInt&B);CBigIntRsaTrans(CBigInt&A,CBigInt&B);intRabinMiller();CBigIntEuc(CBigInt&A);voi
此文档下载收益归作者所有