Skip to content

Instantly share code, notes, and snippets.

View Edward-L's full-sized avatar
🍉

Edward-L Edward-L

🍉
View GitHub Profile
dc466-d3582
4a2a8-9a66a
5a6e2-2d907
3bd32-2f9d9
e77f8-8f8be
a9f48-834ee
e18a5-2afdc
dbabe-53492
da292-8d00b
c0d3d-78db2
@Edward-L
Edward-L / book.md
Last active January 2, 2025 02:21
读书目录

书评豆瓣@Edward_L

序号 作者 时间
132 陆犯焉识 中/严歌苓 2024/12/27
131 你的夏天还好吗? 韩/金爱烂 2024/12/16
130 世上最美的溺水者 哥伦比亚/加西亚.马尔克斯 2024/12/10
129 小城与不确定性的墙 日/村上春树 2024/12/04
128 植物妻子 韩/韩江 2024/11/15
127 克林索尔的最后夏天 德/赫尔曼.黑塞 2024/11/4
@Edward-L
Edward-L / AES_square_attack.md
Created November 6, 2020 17:59
AES square attack

AES square attack

这次的题是一个标准的AES,但是只有四轮。可以多次加密获得明文,密钥不变。求key的一个题目。

题目代码如下:

miniAES.py

# -*- coding: utf-8 -*-
@Edward-L
Edward-L / RESCAC.md
Last active October 26, 2020 01:45
RESCAC.md

第一次做椭圆曲线的题目。

from Crypto.Util.number import getStrongPrime, bytes_to_long, long_to_bytes
from hashlib import sha256

flag = open("flag.txt","r").read().strip()
assert flag[:5] == "flag{"
assert flag[-1] == '}'
flag = flag[5:-1]

题就是一下一段代码:

from Crypto.Util.number import *
from flag import flag


state = bytes_to_long(flag.encode())

p = getPrime(128)
q = getPrime(128)

这两天做了一个crypto的题,涉及到挺多的数学知识,还是非常的有意思,记录下解题的过程。 这个题,应该是2018 0ctf的PSN crypto的变种题。 和他们不一样的地方主要有一个,就是这题的4个sbox是不一样的。 解题中主要参看了以下文章: https://gist.github.com/ngg/f534e51c14a832d69c41289837078773 https://introspelliam.github.io/2018/04/03/crypto/%E7%BA%BF%E6%80%A7%E5%88%86%E6%9E%90%E6%B3%95/ https://www.engr.mun.ca/~howard/PAPERS/ldc_tutorial.pdf

和0ctf不同的是,我们需要计算3个sbox的线性关系。 并且需要三轮ps执行后得到,p,c的的对应关系,进行最后一轮的key爆破,每次爆破两个字节。