当前位置: 首页 > news >正文

RSA小总结(就目前所学)(一)

(ps:开学好几天了。。。是时候拾起知识了)

1.共模攻击

(同一个n,不同的e,但是e1,e2互质)

关键代码:

s,s1,s2=gmpy2.gcdext(e1,e2)

m=(pow(c1,s1,n)*pow(c2,s2,n)%n)

print(libum.n2s(int(m)))

2.Rabin算法

(e=2)

关键代码:

inv_p = gmpy2.invert(p, q)
inv_q = gmpy2.invert(q, p)
mp = pow(c, (p + 1) // 4, p)
mq = pow(c, (q + 1) // 4, q)
a = (inv_p * p * mq + inv_q * q * mp) % n
b = n - int(a)
c = (inv_p * p * mq - inv_q * q * mp) % n
d = n - int(c)
# 因为rabin 加密有四种结果,全部列出。
aa = [a, b, c, d]

for i in aa:
    print(i)

    print(libnum.n2s(int(i)))

3.共享素数

(n1,n2有公因数)

关键代码:

p=gmpy2.gcd(n1,n2)

q1=n1//p

q2=n2//p

4.低指数加密攻击

(e很小,n很大)

关键代码:

m=iroot(c,e)

5.winner攻击(低解密指数攻击)

(e过大或者e过小)

关键代码:(脚本)

from Cryptodome.Util.number import *
from gmpy2 import *
from RSAwienerHacker import *
import libnum

n= 639662333905190724963174274393118134850652056724765488685973275138948202602626008285649108873241886836533441901790252560580886492518792249844707754890068885294414947775869189660933854702732140888525369256213185908742658834741758334492843871934294115437721034834635565406377520933839418094457376057043593848401
e= 548564175098067125961375319851171259385596271876637657761522885808657855394647972481844447376596437557651275057610120865395646169671221375251081541213042646978655686531005856899936162320404991331623237305862913250487293880446994470841390688087392282045130633013139311548859962245908782253213294049851175315059
c= 266367266471585923035346980467315672043839080179258966276144775106482166900911004389808367589961536843898187180012055918063504477273067284037318171833017082239907978935274619109926579983150571298634653886980563681026116724117473808890951091279814434050754571460308728024448607359710055618866766919226511213734

d=hack_RSA(e,n)
flag=long_to_bytes(pow(c,d,n))
print(flag)

未完待续。
 

相关文章:

  • 排查生产sql查询缓慢
  • 【产品】“一句话需求”的指南
  • 基于STM32与BD623x的电机控制实战——从零搭建无人机/机器人驱动系统
  • Bootstrap Blazor UI 中 <Table> 组件 <TableColumn> 使用备忘01:EF Core 外码处理
  • 14天速成PAT-BASIC基础知识!
  • AI IDE 使用体验及 AI 感受
  • uvm中的激励是如何发送出去的
  • 电路笔记(信号):串联电容变小、并联电容增大的分析和计算
  • JUC并发—8.并发安全集合二
  • 为AI聊天工具添加一个知识系统 之113 详细设计之54 Chance:偶然和适配 之1
  • 支持批量导出的软件,效率拉满!
  • DeepSeek在企业中的有那些具体应用?
  • MapReduce 第二部:深入分析与实践
  • pyside6学习专栏(二):程序图像资源的加载方式
  • Python中常见库 PyTorch和Pydantic 讲解
  • Python Cookbook-2.2 写入文件
  • ollama run deepseek-r1:1.5b改变默认下载路径
  • 国产编辑器EverEdit - 文本编辑器的关键特性:文件变更实时监视,多头编辑不掉坑
  • LeetCode刷题---哈希表---648
  • 基于springboot校园健康系统的设计与实现(源码+文档)
  • 当代视角全新演绎,《风雪夜归人》重归首都剧场
  • 单位被裁定补缴12年社保,滞纳金该谁出?
  • 云南舞蹈大家跳暨2025年牟定“三月会”昨天开幕
  • 历史一刻,两个航天员乘组拍摄全家福
  • 猿辅导武汉公司一员工猝死,死者亲属:他原计划5月2日举行婚礼
  • 预订假期酒店却被告知无法入住,去哪儿:对违规酒店予以处罚