2020JTWLB-个人CTF-CRYPTO-weakrsa


每天一题,只能多不能少

weakrsa

题目分析

其实是昨天做的,偷个懒,今天再补上一题。
确实很weak。但是这是相对于大神而言😂

  1. 高位相同的m
  2. 短填充攻击Coppersmith Shortpad Attack
  3. FranklinReiter
  4. epsilon调整

开始

1.题目

给出server.py

class Unbuffered(object):
    def __init__(self, stream):
        self.stream = stream

    def write(self, data):
        self.stream.write(data)
        self.stream.flush()

    def __getattr__(self, attr):
        return getattr(self.stream, attr)
import sys
sys.stdout = Unbuffered(sys.stdout)
import signal
signal.alarm(600)
import os
from Crypto.PublicKey import RSA
import random
n = 740765548979273098467598803958212385151570053921334237430171491357308450305938925395058048571558613364002948004291135518240329572789525487495147870779619379982865011328775565850048248526863374376024296921937798169737860584047065593928295857417452372744936947544816804233701992919611488140593397159150152160920639
e = 3
os.chdir("/home/ctf")
flag = open("flag", "rb").read().replace('\n', '')
flag_padding = "padding padding padding padding padding padding {} padding padding padding padding".format(
    flag)
c = pow(int(flag_padding.encode('hex')[
        2:], 16) + random.randint(1000, 999999), e, n)
print("c:" + str(c))
m = raw_input("> ")
if m == flag
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值