CTF-CRYPTO-RSA-SupplementRabin


有时间就多更新一两题

SupplementRabin

题目分析

  1. supplement rabin
  2. lcm最小公倍数

开始

1.题目

task.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import gmpy2
from libnum import n2s,s2n
from Crypto.Util.number import getPrime

p = getPrime(1024)
q = getPrime(1024)
n = p * q
e = 62674

gift = gmpy2.lcm(p - 1 , q - 1)

flag = 'flag{******}'
m = s2n(flag)
c = pow(m, e, n)

print('n: ', n)
print('gift: ', gift)
print('c: ', c)

# n = 10955952193867109007049171223448361703270316163381595475808977909570592186241572786000524779399251175639632506214659739654167891613877009909733465445850342326411605633577886819119591988666107494251525119526649254044083570299541059529064752255209948208082218652104303247582539992747196312466088319880461301389139117606269407703870835019991154758699118376408730038824561166793173838184174470555371713764515850687815448410533112337309598350391951304786480700678337420633644297059882623208007530826126677786131600580363410319193803307063974046834458230446741602905632962163026760269893441525950972199909583357468982874081
# gift = 456498008077796208627048800977015070969596506807566478158707412898774674426732199416688532474968798984984687758944155818923662150578208746238894393577097596933816901399078617463316332861087812260480213313610385585170148762480877480377698010633747842003425777171012635315939166364466513019420346661685887557872065839736629132505802075822875396741377694500918089173843789526174839060321832022100268187243257213917173221983445662947146747809251663111881830886870180454979426716332773356700423545040000189379843309371468459260828296151157054634095231514373653361915789381498348538500889098973984825991010648504425961736
# c = 2390287440151859074977431224934228871908658589114219437055778330078017256080407294950854031769415044849530500106107973064442224774416776613372272028520897887714853438411971741352120204280926215575627696198467787476776488046304855144648477611586181055760370743447167004437637149018261023077103394738526455699389273400155393224849043765105308958801039850369697369041520212713853838096565717144295998444842703204720418647454216996934227195023472168304089615094827736108547722389920595345321889908810804579094914929760431468622186030462158492820207844856615479267999739548998939564881663449866169651403298987670586488132

2.分析

(1)关系

g i f t = l c m ( ( p − 1 ) , ( q − 1 ) ) g m p y 2. l c m 求 最 小 公 倍 数 n = p ∗ q c = m e m o d n gift=lcm((p−1),(q−1)) \quad gmpy2.lcm求最小公倍数\\ n=p∗q\\ c=m^e mod n gift=lcm((p1),(q1))gmpy2.lcmn=pqc=

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值