



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
练习数字签名的作业说明 1 设计同课件 如下图 消息 Hash函数 消息摘要 发方A 相等 收方B 或第三方 加密算法 A的私钥 签名 消息 加密的 消息摘要 签名 消息 Hash函数 消息摘要 解密算法 A的公钥 签名有效 y 签名无效 n 2 编程实现 鉴于前面作业的 RSA 签名认证源代码及消息摘要产生的 HASH 值 可将两个程序结合 使用即可 如上次作业 利用测试文档产生 HASH 值 并用 RSA 算法进行签名认证的结 果如下 源程序 File TestHashsign cpp Author LIU Created on 2011 3 26 TestHash cpp 定义控制台应用程序的入口点 include stdafx h include Des h include char fileIn 8 char fileOut 8 最后输出位hash值 char Key 8 unsigned int GetOutNum unsigned int b unsigned int e unsigned int d unsigned int i unsigned int outNum 1 for i 0 i d outNum d if outNum return outNum return outNum d int tmain int argc TCHAR argv FILE fpIn char fileNameIn 260 C 2 txt 要打开的文件名 可修改 static bool K 64 unsigned char xstr 16 double temp 0 UINT n UINT PublicKey mod int c 16 UINT PrivateKey p q UINT m 16 if fpIn fopen fileNameIn rb NULL 打开文件句柄 return false int err fseek fpIn 0L SEEK END 将文件的当前位置移到文件的末尾 if err 0 return false long fileSize ftell fpIn 获得当前位置相对于文件首的位移 即为文件长度 err fseek fpIn 0L SEEK SET 将文件的当前位置移到文件的开头 if err 0 return false DWORD nNumberOfBytesToRead 8 DWORD NumberOfBytesRead 0 DWORD num 0 memset fileOut 0 8 memset fileIn 0 8 初始化输入开始都为 while num fileSize memset Key 0 8 NumberOfBytesRead fread Key sizeof char nNumberOfBytesToRead fpIn 每次读 取个字节 即位 Des SetKey Key 把读出来的字节作为密钥 Des Run fileOut fileIn ENCRYPT des加密 memcpy fileIn fileOut 8 把输出的作为下一次的输入 num NumberOfBytesRead fclose fpIn for int i 0 i i 8 for int i 0 j 0 i 64 j xstr j K i 8 K i 1 4 K i 2 2 K i 3 i i 4 printf 文件的HASH值 消息摘要 二进制表示为 n for int i 0 i 64 i printf d K i printf n十六进制表示为 n for int i 0 i 16 i printf x xstr i printf n十进制表示为 n for int i 0 i 16 i printf d xstr i printf n printf n n利用上述HASH值进行用RSA算法进行签名的简单示例 签名与认证过程一次性完成 同 学们写程序时可分开进行 一人做签名 一人做认证 n printf n请输入公钥e n n scanf d d printf 加密的消息摘要为 n for int i 0 i 16 i temp xstr i c i GetOutNum temp PublicKey mod printf d c i printf n n请输入私钥d p q n scanf d d d mod p q printf 解密得到消息摘要为 n for int i 0 i 16 i temp c i m i GetOutNum temp PrivateKey mod printf d m i f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3个月女婴护理知识题库及答案解析
- 2025年建筑安全文化培训试题及答案
- 2025年心理健康知识竞赛题目及参考答案
- 2025年级建造师《法规》考试试题解析答案
- 2025年四川省继续教育公需科目试题及答案
- 语文模拟地震考试题及答案
- 都匀高三模拟试题及答案
- 2025年会计大学考试试题及答案
- 2025年劳动仲裁考试试题及答案
- 全国护士考试试题及答案
- 机械制图选择题试题库及答案
- 医院安全警示教育
- 2025届名校名师模拟卷(九)语文试题(PDF版含答案)
- 技术部工作汇报与未来规划
- 学员游泳培训合同协议
- 虚拟电厂综合管理制度
- 2025年周年热点大事件复习课件-【知识精讲精研】高三历史统编版(2019)二轮复习
- 【道法】做自强不息的中国人课件+-2024-2025学年统编版道德与法治七年级下册
- 老年人高血压健康知识
- 庆祝国庆节爱国班会内容完整课件
- 中国国际大学生创新大赛与“挑战杯”大学生创业计划竞赛(第十一章)大学生创新创业教程
评论
0/150
提交评论