密码学编程实践:SageMath与Java BigInteger探索

需积分: 0 1 下载量 185 浏览量 更新于2024-08-05 收藏 258KB PDF 举报
"这份上机实践报告主要介绍了刘鹏同学在2018年进行的一次密码学实验,其中涉及到了Sage数学软件的使用以及对Java中BigInteger和BigDecimal类的了解。实验目的是熟悉密码学编程平台和资源,实验内容包括SageMath的在线使用或安装,以及对Java大整数类的分析。报告中还提到了实验所使用的操作系统环境和相关软件版本。在实验记录部分,详细描述了SageMath在Ubuntu系统上的安装过程。" 在本次实验中,刘鹏同学首先接触的是SageMath,这是一个强大的数学软件,集成了多个数学和科学计算工具。SageMath不仅支持在线使用,也可以通过下载安装在本地系统上。对于Windows用户,由于SageMath原生不支持,通常建议使用虚拟机或者通过SSH远程访问安装在Linux系统上的SageMath。在实验中,刘鹏选择了在Ubuntu 17.10上安装,通过下载二进制包并配置SSH服务器来实现远程访问。 实验的第二部分是选做任务,要求阅读Java的BigInteger和BigDecimal文档。这两个类位于`java.math`包中,分别用于处理任意精度的大整数和大浮点数。BigInteger提供了大量的算术运算方法,适用于需要进行大整数计算的场景,而BigDecimal则用于高精度的浮点数运算,适合金融等对精度要求高的领域。通过阅读文档和构造实例,刘鹏同学应该理解了这两个类的基本使用方法和功能。 此外,实验的第三部分要求查找和介绍其他与密码学相关的编程资源,这可能包括开源库、教程、论坛或者在线课程。这部分旨在拓宽学生的视野,让他们了解更多的密码学编程工具和技术。 实验平台方面,刘鹏使用了Microsoft Windows 10 Pro Workstation 1803作为主机操作系统,同时利用SageMath version 8.1 (发布于2017年12月7日)和Ubuntu 17.10 x86-64进行实验,还使用了Xshell 5 Build 1339作为SSH客户端工具。 这次实验涵盖了开源数学软件的应用、Java大整数处理的理论与实践,以及密码学编程资源的探索,是一次全面的密码学编程实践学习。通过这样的实验,学生不仅能提升编程技能,还能深入理解密码学中的计算需求和数据处理方式。