View dice_rejected.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from sage.all import * | |
from rejected import LFSR, taps | |
from binteger import Bin | |
from sock import Sock | |
n = 64 | |
N = 2**30 + 2**29 | |
f = Sock("mc.ax 31669") | |
f.send_line(str(N)) |
View dice_psych.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from sage.all import ZZ, GF, EllipticCurve, proof | |
from hashlib import scrypt | |
from sock import Sock | |
from psych import sidh, xor, G, H | |
proof.all(False) | |
def ser(*args): |
View 0raccoon.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View write.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View coll.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
''' | |
The idea is to reach a state consisting of 00 and FF bytes. | |
Because of the independence of shifts values, if the message block is the same 32-byte part repeated 2 times, | |
the state is preserved. We then can change the 32 byte part arbitrarily and keep the hash value unchanged. | |
To do this we first craft a 32x2 message block that lands on such state after 2nd round (1st round does nothing). | |
We have 32 bytes of freedom (-charset constraints), so this is reasonable and can be done with 1 byte guess and propagation. | |
One caveat is that the initial state is rather symmetric and and it's not always easy to land on a desired state, | |
so we prepend random block first to randomize the state. |
View Makefile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
prepare: | |
mkfifo p1 p2 | |
precomp: | |
./stage1_precomp | |
du -hs dump* | |
# 17G dump0 | |
# 17G dump1 | |
# 17G dump2 | |
# 17G dump3 |
View multicrc_solve.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from sage.all import * | |
from crccheck.crc import * | |
def tobin(v, n): | |
assert 0 <= v < 2**n | |
return tuple(ZZ(v).digits(2, padto=n))[::-1] | |
def frombin(v): | |
return sum(int(c)*2**i for i, c in enumerate(v[::-1])) |
View FibHash.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View gengol.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View 0writeup.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
NewerOlder