buuctf crypto writeup

变异凯撒

你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
打开附件
加密密文:afZ_r9VYfScOeO_UL^RWUc
格式:flag{ }

先解密凯撒密码
在这里插入图ff述
没有发现flag,也没有长得像flag的;

观察密文:afZ_r9VYfScOeO_UL^RWUc,考虑变异,对照ASCII码,
afZ_ 对应的数字分别是:97,102,90, 95;
而flag对应的数字分别是:102,108,97,103;
每一个字母分别相差5,6,7,8个位置,后面以此类推,写一个python脚本解密

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

a = 'afZ_r9VYfScOeO_UL^RWUc'
i = 0
flag = ''
while i < len(a):
    num = ord(a[i]) + (i+5)
    flag = flag + chr(num)
    i = i+1
print(flag)

得到
flag{Caesar_variation}

篱笆墙的影子

密文felhaagv{ewtehtehfilnakgw}
解密找不到flag,再试一下加密,偏移2位,得到
flag{wethinkwehavetheflag}
在线工具:https://www.qqxiuzi.cn/bianma/zhalanmima.php

rsa

在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17
求解出d作为flga提交。
打开RSA Tool
1.Number Base 设置为十进制;
2.注意:Public Exponent这里要使用16进制的数,如果公钥e=17的话,就应该填入十六进制的11;
3.给出p,q,e的话直接填入,再点击Calc.D,获得d;
4.给出的是n和e的话,输入n和e,点击Factor N(分解),得到p,q,再重复第3步就能得到d了;
n = p*q
在这里插入图片描述
得到flag{125631357777427553}

老文盲了

在这里插入图片描述

密文:罼雧締眔擴灝淛匶襫黼瀬鎶軄鶛驕鳓哵眔鞹鰝
在线转换拼音:http://www.aies.cn/pinyin2.htm
在这里插入图片描述读拼音得到
BJD{淛匶襫黼瀬鎶軄鶛驕鳓哵},
题目中提示的flag包裹多余。

Alice与Bob

在这里插入图片描述大整数:98554799767
在线分解质因数
在这里插入图片描述http://ctf.ssleye.com/ 中选哈希计算,
在这里插入图片描述得到flag{d450209323a847c8d01c6be47c81811a}

rsarsa

p =  9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q =  11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
e =  65537
c =  83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034

n = p*q
#利用rsa tool得到d
d = 56632047571190660567520341028861194862411428416862507034762587229995138605649836960220619903456392752115943299335385163216233744624623848874235303309636393446736347238627793022725260986466957974753004129210680401432377444984195145009801967391196615524488853620232925992387563270746297909112117451398527453977

m = pow(c,d,n)  #求c的d次方,再%n取模(与取余不同)
print(m)

flag{5577446633554466577768879988}

大帝的密码武器

在这里插入图片描述下载附件,要用foremost做文件分离才看到题目,解压出来的是乱码。
题目:公元前一百年,在罗马出生了一位对世界影响巨大的人物,他生前是罗马三巨头之一。他率先使用了一种简单的加密函,因此这种加密方法以他的名字命名。
以下密文被解开后可以获得一个有意义的单词:FRPHEVGL
你可以用这个相同的加密向量加密附件中的密文,作为答案进行提交。
密文:ComeChina
先解密密文,没有发现flag,考虑加密,题目FRPHEVGL偏移13位得到有意义的单词
在这里插入图片描述加密密文,得到flag{PbzrPuvan},注意大写C对应的是大写P
在这里插入图片描述

Windows系统密码

打开哈希文件,仔细观察有CTF提示,熟悉这种题的就知道选后面那一段,直接md5解密得flag{good-luck}
在这里插入图片描述
在这里插入图片描述

[BJDCTF 2nd]cat_flag

在这里插入图片描述
看图考虑二进制,饭团是0,鸡腿是1,得到
01000010
01001010
01000100
01111011
01001101
00100001
01100001
00110000
01111110
01111101
用convert转成字符,二进制合在一起,不要有空格,得到BJD{M!a0~}
在这里插入图片描述

[BJDCTF 2nd]燕言燕语-y1ng

题目:79616E7A69205A4A517B78696C7A765F6971737375686F635F73757A6A677D20,
仔细观察格式为:数字+a/e/f,是十六进制,转字符得yanzi ZJQ{xilzv_iqssuhoc_suzjg} 。
在这里插入图片描述

再仔细观察字符串,前面yanzi应该是秘钥,空格后面是flag格式,利用秘钥来替换字符,是维吉尼亚密码,分别加、解密得BJD{yanzi_jiushige_shabi} ,出题人当时很暴躁。
在这里插入图片描述

原理:
维吉尼亚密码,是凯撒密码的变体,用26个字母组成一个张26*26的字母表,
明文(横坐标):ZJQ{xilzv_iqssuhoc_suzjg}
秘钥(纵坐标):yanzi
密文第1个字母=(Z,y)=X
密文第2个字母=(J,a)=J
密文第2个字母=(Q,n)=D
题目是BJDCTF,flag格式应是BJD,所以ZJQ{xilzv_iqssuhoc_suzjg} 不是明文,而是密文,flag是明文

明文(横坐标):?????
秘钥(纵坐标):yanzi
密文(值):ZJQ{xilzv_iqssuhoc_suzjg}
Z =(?,y) =(B,y)
J =(?,a) =(J,a)
Q =(?,z) =(D,n)
以此类推

在这里插入图片描述

[GKCTF2020]小学生的密码学

信息化时代的步伐

在这里插入图片描述
题目:606046152623600817831216121621196386,中文电码解密得flag{计算机要从娃娃抓起}
在这里插入图片描述

凯撒?替换?呵呵!

在这里插入图片描述

题目:
MTHJ{CUBCGXGUGXWREXIPOYAOEYFIGXWRXCHTKHFCOHCFDUCGTXZOHIXOEOWMEHZO} 转小写
mthj{cubcgxgugxwrexipoyaoeyfigxwrxchtkhfcohcfducgtxzohixoeowmehzo}
将 mthj 替换成 flag,分别移动7,8,7,5位,比较复杂,使用工具quipquip

得到 flag{substitutioncipherdecryptionisalwayseasyjustlikeapieceofcake}

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值