CTF-CRYPTO-RSA-diffwiener


停更好几天了。。其实没闲着,只是题目都太难了,实在是没脸上来丢人。

diffwiener

题目分析

  1. variant of Wiener’s Attack
  2. Wiener’s Attack

开始

1.题目

diffwiener.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from Crypto.Util.number import *

flag = "flag{******}"
m = bytes_to_long(flag)

p = getPrime(1024)
q = getPrime(1024)
r = getPrime(1024)
n = p * q * r
phi = (p-1) * (q-1) * (r-1)

d = getPrime(512)
e = inverse(d, phi)
c = pow(m, e, n)

print "n = %s" % str(n)
print "e = %s" % str(e)
print "c = %s" % str(c)

# n = 2420032244255823430799613231503823429156647451932332254003177516595271064810355143795006377477538115397786819513233233891992714238478285183494458404967155706588646444836564539258000370429434888887831091362276690532389518351716668405074951416650691996346457882871012741505855672175031267996836140429117247901618472098627174674619459491073877754300692461183141777176105310935358528609962481916059331592343613062058334384669667845732086070583888325609113265414717089737013875577060097649176234431736731854096695220295890371264786203975647918297017058442163010931480554159510746792036867746413839514071315084088948305967248700873126093394885306733122542614038920025862312507108048527776627348887131293478723429849472944219265666525704066742299427527563130913317104615272869655097979271784837069973776297037765897347226852354921556918673813185503066023386090831686691775666120647160826368008908826286659115883848996611139008551819
# e = 329632346738707041004455173467264979719829934977665098992242026623123976697563003491644991145591752182532291866933116153254272327116387613835002585849188301852779126127108989870390281674037464828815341505961583635267614474672372980594580627637289341132000752252014568269968811463813427794100671074103275017220120363892693241847121289563622646395762668425076722455637817120950630633722390280553804748481650506569764104758495533066897148648068433439314172813135867244179442206693452197214769180922577946465069758375265852019036202053919138402582739099802407448573680334129179985606745882205312798267391953346431037063811188771507140828415585457581891245668688293566787080896071754120378329235576974724409288797172524231737127529149489036118180171573115049098326837778732182598825755160207810717657637681820674167365426229249953995543151775262660369142688265261832489847114304888540404741676457144823317330986415870439721198187
# c = 779468570647507809995135510231894122648627678801233820135388365934571791687095821118301832574449527618946809429658867675873389666629106536898513875481892599316688821793102337974138846921976337466514793184436673528457840238044675796556347284828051285048818066791716477459503434166916085211414565992
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
# ContinuedFraction #### 项目介绍 连分数计算器 支持连分数和小数输入,高精度小数转连分数,无精度损失,用于获取小数在一定范围内最接近的分数 例如π的高精度转连分数 str=> 3.14159265358979 num=> 3.14159265358979000000000000000000000 ctf=> [3;7,15,1,292,1,1,1,2,1,3,1,12,2,4,1,1,3,2,2,1,18,1,2,2,1,7,2,2] 1=> 3.00000000000000000000000000000000000 3 3/1 2=> 3.14285714285714285714285714285714286 7 22/7 3=> 3.14150943396226415094339622641509434 15 333/106 4=> 3.14159292035398230088495575221238938 1 355/113 5=> 3.14159265301190260407226149477372968 292 103993/33102 6=> 3.14159265392142104470871594159265392 1 104348/33215 7=> 3.14159265346743670552045478534915632 1 208341/66317 8=> 3.14159265361893662339750030141060162 1 312689/99532 9=> 3.14159265358107777120441930658185778 2 833719/265381 10=> 3.14159265359140397848254241421927966 1 1146408/364913 11=> 3.14159265358938917154368732170690821 3 4272943/1360120 12=> 3.14159265358981538324194377730744861 1 5419351/1725033 13=> 3.14159265358978910556761228975786423 12 69305155/22060516 14=> 3.14159265358979009430798477470203822 2 144029661/45846065 15=> 3.14159265358978998813773682909318658 4 645423799/205444776 16=> 3.14159265358979000750767514045607416 1 789453460/251290841 17=> 3.14159265358978999879486079142367388 1 1434877259/456735617 18=> 3.14159265358979000014512509093352444 3 5094085237/1621497692 19=> 3.14159265358978999997843356720301190 2 11623047733/3699731001 20=> 3.14159265358979000000839600248412328 2 28340180703/9020959694 21=> 3.14159265358978999999968162106153623 1 39963228436/12720690695 22=> 3.14159265358979000000001193310441815 18 747678292551/237993392204 23=> 3.14159265358978999999999517378526962 1 787641520987/250714082899 24=> 3.14159265358979000000000056801156993 2 2322961334525/739421558002 25=> 3.14159265358978999999999978607241192 2 5433564190037/1729557198903 26=> 3.14159265358979000000000002025128805 1 7756525524562/2468978756905 27=> 3.14159265358978999999999999894805542 7 59729242861971/19012408497238 28=> 3.14159265358979000000000000024695141 2 127215011248504/40493795751381 29=> 3.14159265358979000000000000000000000 2 314159265358979/100000000000000

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值