西安电子科技大学现代密码学实验四报告

实验题目(中文):

RSA大礼包(密码挑战赛赛题三)

实验摘要(中文):

本实验针对一个RSA加解密软件的加密数据进行了分析和破解。实验包括了对加密数据的截获以及尝试恢复RSA体制的相关信息。加密过程中使用了分片方法,每次加密最多8个明文字符,并对分片明文进行了512比特的填充,其中包括了64比特的标志位和32比特的通信序号。实验过程分为五个步骤:预处理、共模攻击、低指数攻击、费马分解法和Pollard p-1分解法,通过这些方法尝试破解加密信息。每个步骤都使用了Python代码来实现相应的算法,并最终得到了破解结果。

题目描述(清楚描述题目中文,写出自己的理解,请勿复制原题目)

  1. 有人制作了一个 RSA 加解密软件,发送了一些加密数据,我们对此进行了截获,并据此尽可能恢复出相关RSA体制信息。
  2. 对文本加密:每次加密最多 8 个明文字符;明文超过 8 个字符时,对明文分片,每个分片不超过 8 个字符。
  3. 分片明文填充为 512 比特消息后再进行加密,填充规则为高位添加 64 比特标志位,随后加上 32 比特通信序号,再添加若干个 0,最后 64 比特为明文分片字符对应的 ASCII 码。
  4. 数据帧格式:其中数据都是 16 进制表示,
  5. Alice 初次使用该软件,可能会重复发送某一明文分片。
    过程(包括背景,原理:必要的公式,图表;步骤,如有必要画出流程图,给出主要实现步骤代码)
    第一步: 预处理
    第二步:共模攻击
    第三步:低指数攻击
    第四步:费马分解法
    步骤五:Pollard p-1 分解

总结(完成心得与其它,主要自己碰到的问题和解决问题的方法)

实验心得

通过本次实验,我深刻体会到了密码学理论与实践的紧密结合。RSA加密作为一种广泛使用的非对称加密算法,其安全性依赖于大数分解问题的计算难度。然而,本实验让我认识到,即使是RSA这样成熟的加密体系,也可能因为实现上的疏忽或参数选择不当而变得脆弱。

实验中的每一步都是对理论知识的实践检验。共模攻击让我了解到,不同用户应使用不同的模数N来避免潜在的安全风险。低指数攻击则揭示了公钥指数e的选择需要谨慎,过低的e值会使得加密系统容易受到特定类型攻击的威胁。费马分解法和Pollard p-1分解法的应用则让我认识到了选择合适的大素数对于RSA安全性的重要性。

编写和运行Python代码实现这些攻击算法,不仅加强了我的编程技能,也提高了我对于算法有效性的直观理解。这次实验体现了理论知识与实践能力的结合,强化了我对密码学原理的理解,同时也提醒了我在设计安全系统时需要考虑的各种潜在风险。此外,实验也激发了我对于密码学更深层次问题的好奇心,比如如何设计更加安全的加密算法,以及如何评估一个加密体系的安全性。

总之,这次实验不仅是对加密技术的学习,也是对安全思维的一次锻炼。它让我更加明白,安全性是一个动态的目标,需要不断的学习和适应新的威胁,以保护信息不受未授权访问的侵害。。

在实验过程中,我还尝试了使用编程实现RSA加密算法。我学习了如何生成随机素数,如何计算欧拉函数,以及如何进行模运算。我还尝试了将字符串转换为十六进制数进行加密,这是一个非常实用的技巧。

总的来说,这次实验让我对RSA加密有了更深的理解。

相关推荐
abments7 小时前
JavaScript逆向爬虫教程-------基础篇之JavaScript密码学以及CryptoJS各种常用算法的实现
javascript·爬虫·密码学
cliff,2 天前
【密码学】密钥管理
学习·安全·密码学
网安CILLE2 天前
2024下半年自学黑客(网络安全)
linux·网络·安全·web安全·网络安全·职场和发展·密码学
向上的车轮4 天前
密码学知识点整理二:常见的加密算法
密码学·加密算法
白帽黑客26595 天前
入门网络安全工程师要学习哪些内容(详细教程)
linux·学习·安全·web安全·网络安全·系统安全·密码学
wdxylb5 天前
用户登录密码存储加密策略(附Python 和 bcrypt 库进行安全密码验证)
密码学
孪生质数-5 天前
加密通信的“军备竞赛”:科技的“猫鼠游戏”与永无止境的密码对抗
科技·网络安全·密码学
102112345678906 天前
怎么对 PDF 添加权限密码或者修改密码-免费软件分享
人工智能·网络安全·adobe·pdf·密码学·wps·福昕阅读器
芯盾时代6 天前
数字身份发展趋势前瞻:身份韧性与安全
运维·安全·网络安全·密码学·信息与通信