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

实验题目(中文):

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加密有了更深的理解。

相关推荐
The_Killer.2 天前
格密码--从FFT到NTT(附源码)
学习·线性代数·密码学·格密码
deepdata_cn5 天前
量子-resistant密码学研究
密码学·量子计算
Evaporator Core9 天前
信息安全工程师软考进阶:第二章密码学与应用深度习题解析
密码学
長琹10 天前
AES加密算法详细加密步骤代码实现--身份证号码加解密系统
网络·数据库·人工智能·python·密码学
有点不太正常11 天前
《A Study of Probabilistic Password Models》(IEEE S&P 2014)——论文阅读
论文阅读·密码学·口令猜测·马尔可夫链
Blockchain Learning12 天前
椭圆曲线的数学基础
golang·密码学
yjx2333213 天前
《应用密码学》——基础知识及协议结构模块(笔记)
笔记·密码学
默辨14 天前
密码学基础
密码学·非对称加密·数字签名·对称加密·摘要加密
浩浩测试一下16 天前
Windows驱动开发与双机调试环境[驱动开发环境配置高阶]
安全·web安全·网络安全·密码学·网络攻击模型·安全架构
东皇太星18 天前
模运算(密码学/数论/算法)
数据结构·算法·密码学