L001001031-密码学数学基础之大数运算
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程编写
内容
名称密码学数学基础之大数运算
与要求掌握密码学相关的数学基础知识理解大数运算的过程
(虚拟PC)Windows XP操作系统
环境描述Visual C++ 6.0 实验代码
识
大多数运算器只支持小于64位的整数运算,无法进行加密算法的运算。
为满足加密算法的需要数运算库来解决这一问题。
通常通过以下两种方式进行处理:
(1)将大整数当作字符串处理,即将大整数用10进制字符数组表示;这种方式便于理解,但效率较
(2)将大整数当作二进制流进行处理;计算速度快。
容分别实现大数运算的加、减、乘、除程序
骤
1、打开控制台,进入虚拟环境。
2、使用默认用户名:administrator,密码:123456登录到目标主机windows xp。
3.桌面找到Visual C++ 6.0双击。
选择“文件”“新建”。
4.创建一个win32控制台工程,工程名称和位置自定(此处工程名称以“BUPT1042B”为例)。
5.左侧工作区,选择“FileView”选项卡。
6.右键工程文件名称,选择“添加文件到工程”。
可到C:\代码\BUPT1042B中找到相关代码。
7.根据原理编写程序,并编译运行。
8.输入两个大数,中间以空格分开,回车得到结果,大数加法程序运行如下:
9.重复2~7步,分别运行大数减法、乘法、除法,得到如下结果:大数减法:
大数乘法:
大数除法:
10.实验完毕,关闭实验场景。