BUUCTF Crypto 6

old-fashion

看题目是古典密码,凯撒栅栏暴力破解没发现成句子的,同时怀疑
在这里插入图片描述
这个是flag,感觉是替换密码,找到替换密码的网站,
BUUCTF Crypto 6_第1张图片
打上条件dsln=flag,solve
得到
在这里插入图片描述

RSA2

依旧是rsa,这次已知e,n,dp,c
也是依旧不会写
直接找的脚本

import gmpy2 as gp

e = 65537
n = gp.mpz(248254007851526241177721526698901802985832766176221609612258877371620580060433101538328030305219918697643619814200930679612109885533801335348445023751670478437073055544724280684733298051599167660303645183146161497485358633681492129668802402065797789905550489547645118787266601929429724133167768465309665906113)
dp = gp.mpz(905074498052346904643025132879518330691925174573054004621877253318682675055421970943552016695528560364834446303196939207056642927148093290374440210503657)

c = gp.mpz(140423670976252696807533673586209400575664282100684119784203527124521188996403826597436883766041879067494280957410201958935737360380801845453829293997433414188838725751796261702622028587211560353362847191060306578510511380965162133472698713063592621028959167072781482562673683090590521214218071160287665180751)

for x in range(1, e):
    if(e*dp%x==1):
        p=(e*dp-1)//x+1
        if(n%p!=0):
            continue
        q=n//p
        phin=(p-1)*(q-1)
        d=gp.invert(e, phin)
        m=gp.powmod(c, d, n)
        if(len(hex(m)[2:])%2==1):
            continue
        print('--------------')
        print(m)
        print(hex(m)[2:])
        print(bytes.fromhex(hex(m)[2:]))

在这里插入图片描述

robomunication

听到MP3的时候我人都傻了,看了一下波形,没法分辨是“.”还是“-”,只能边听边写,最后摩斯电码翻译过来是
BUUCTF Crypto 6_第2张图片
答案就是BOOPBEEP喽。

世上无难事

打开附件,看到
在这里插入图片描述
再加上
在这里插入图片描述
这几个关键提示,猜测是替换密码,
BUUCTF Crypto 6_第3张图片
我放的条件是KQ=is,当然也可以PIO=key
在这里插入图片描述
得到flag。

萌萌哒的八戒

BUUCTF Crypto 6_第4张图片
看到图片结合题目,明显想到猪圈密码
BUUCTF Crypto 6_第5张图片
对照翻译
WHENTHEPIGWANTTOEAT
whenthepigwanttoeat
大小写都试试
发现小写为flag。

异性相吸

题目提示异或,将key和密文转ascii后异或,

key=open('Key.txt').read()
se=open('密文.txt').read()
flag=''
for i in range(0,len(key)):
    res=ord(list(se)[i]) ^ ord(list(key)[i])
    flag=flag+chr(res)
print (flag)

运行即得结果

你可能感兴趣的:(BUUCTF Crypto 6)