crypto
bunner_
这个作者很懒,什么都没留下…
展开
-
adworld-crypto-onetimepad
有限域GF,本原多项式PGF上的加法为异或运算GF上的减法为异或运算GF上的乘法为移位异或,且乘法群为循环群GF上的除法即为乘上逆元有限域上的运算实现拿到题目,给了三段密文和一段加密代码af3fcc28377e7e983355096fd4f635856df82bbab61d2c50892d9ee5d913a07f630eb4dce274d29a16f86940f2f35253477665949170ed9e8c9e828794b5543ce913db07cbe4f433c7cde.原创 2020-10-25 16:18:51 · 397 阅读 · 0 评论 -
adworld-crypto-Easy_Crypto
拿到文件是一段加密代码,吐槽一句,格式过于粗糙 ,所以我用python重写一下就是这样:s = []t = []key = 'hello world'falg = '???????'for i in range(256): s.append(i) t.append(ord(key[i % len(key)]))j = 0for i in range(256): j = (j + s[i] + t[i]) % 256 s[i], s[j] = s[j], s原创 2020-10-24 20:07:27 · 268 阅读 · 0 评论 -
adworld-crypto-说我作弊需要证据
参考:大佬的题解入手一个pcapng文件,拿到wireshark看一下初步想法:从所有文件里找data length不一样的,于是在所有的文件里面发现了42号包,其data length为113,拿出data内容用base64解码一下,得到如下结果:b'SEQ = 9; DATA = 0x26debd9510c16fbed4f6264e8b60L; SIG = 0x4ae0f894af2e414835513891bd55L;'发现了三个元素,seq为序号,data为数据,sig为签名那么原创 2020-10-21 22:43:21 · 339 阅读 · 0 评论 -
adworld-crypto-Easy-one
大致思路:根据加密代码和已知明文和密文,解出秘钥,进而解给定密文拿到题目,给了一份加密代码,一份测试明文和测试密文,以及一份密文加密代码在这里可以分析出来加密逻辑就是c = (p + (k[i % strlen(k)] ^ t) + i*i) & 0xff;其中k是秘钥,t是上一个字符(初始为0)#include <stdlib.h>#include <stdio.h>#include <string.h>int main(int ar.原创 2020-10-21 13:51:15 · 185 阅读 · 0 评论 -
adworld-crypto-RSA_gcd
给定两个不同的n的时候一定要看看n1,n2有没有最大公约数(素数),如果有,那么该最大公约数就是两者共同的p给定两个相同的n的时候,那就要考虑共模攻击了拿到题目,有两个文件,里面分别有n,e,c看了一下两份文件的e相同,n不同题目的名字是RSA_gcd,自然想到了求n1n_1n1,n2n_2n2的最大公约数求出的最大公约数若为素数的话,那么它就是p,题目自然就解出来了import gmpy2def get_p(n1, n2): p = gmpy2.gcd(n1, n2)..原创 2020-10-21 11:56:18 · 697 阅读 · 0 评论 -
adworld-crypto-enc
拿到题目用cat命令看一下,发现全是’ZERO’, ‘ONE’于是转成01串,再转成16进制串,再转成字符串,变成了这样:Li0gLi0uLiAuIC0uLi0gLS4tLiAtIC4uLS4gLSAuLi4uIC4tLS0tIC4uLi4uIC0tLSAuLS0tLSAuLi4gLS0tIC4uLi4uIC4uLSAuLS0uIC4uLi0tIC4tLiAtLS0gLi4uLi4gLiAtLi0uIC4tLiAuLi4tLSAtIC0tLSAtIC0uLi0gLQ==用 base64 解码一下原创 2020-10-21 11:33:38 · 214 阅读 · 0 评论 -
adworld-crypto-cr2-many-time-secrets
题目信息没给全,看了别人的博客才发现还有一段描述This time Fady learned from his old mistake and decided to use onetime pad as his encryption technique, but he never knew why people call it one time pad! Flag will start with ALEXCTF{.从上面这段描述来看,Fady 使用 OTP(一次性密码本) 来加密他的文件,但是他不原创 2020-10-21 11:02:04 · 362 阅读 · 0 评论 -
adworld-crypto-equation-2
参考:大佬的题解拿到了一张上半部分被遮掉的RSA的私钥照片,以及一份密文openssl私钥结构version | pad | n | pad | e | pad | d | pad | p | pad | q | pad | x1 | pad | x2 | pad | x3其中 pad 表示填充信息,用来表示接下来的大数所占字节数等信息pad 以 '\x02’开头,后接信息有两种情况‘\x81’或’\x82’ + length表示接下来的length所占字节数为1或2,length表示后面原创 2020-10-20 21:02:26 · 334 阅读 · 2 评论 -
adworld-crypto-banana_princess
拿到了一个打不开的pdf文件用hex_editor打开一下看看再看一下正常的pdf文件猜测是用了rot13映射了一下字母字符解密脚本:def load_data(filename): content = [] with open(filename, 'rb') as fp: for data in fp.read(): content.append(data) return contentdef rot13(data):原创 2020-10-19 20:08:36 · 203 阅读 · 0 评论 -
poem_encrypt(内含Decrypt-the-message的解密脚本)
poem_encrypt是一种非常有意思的加密方式 介绍今天学习了一下这种加密方式,所以在这里讲一下我的理解poem_encrypt举例说明1、一首诗for my purpose holds to sail beyond the sunset, and the baths of all the western stars until I die.2、从一首诗中选出k个单词(这里是6个),去掉特殊字符,组成一个字符串,给每个字符(该字符串字典序后的)序号选取:“for”, “sail”, “all原创 2020-10-18 23:56:23 · 759 阅读 · 0 评论