Skip to content

Instantly share code, notes, and snippets.

Avatar

Mathias Hall-Andersen rot256

View GitHub Profile
@rot256
rot256 / deep-fri.sage
Created Apr 13, 2020
DEEP-FRI Algebraic Hash
View deep-fri.sage
e = 128
E.<X> = GF(2^e) # E = GF(2^e)
P.<Y> = PolynomialRing(E) # P = GF(2^e)[Y]
F = E.base_ring() # F = GF(2)
V = VectorSpace(F, e) # V = (GF(2))^e
# isomorphism \phi : E -> V
def to_vector(elem):
assert elem in E
coeff = map(F, '{:b}'.format(elem.integer_representation())[::-1])
@rot256
rot256 / victim.c
Created Feb 28, 2020
Glitching attack on Atmega328
View victim.c
#include <avr/io.h>
#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <util/delay.h>
#include "aes.h"
#define UART_BAUD 9600
@rot256
rot256 / doit.py
Created May 18, 2019
3DES-HMAC Exploit
View doit.py
#!/usr/bin/env python
import sys
from pwn import *
from base64 import urlsafe_b64decode, urlsafe_b64encode
from oracle import PaddingOracle
from hashpumpy import hashpump
import requests
@rot256
rot256 / oracle.py
Created May 14, 2019
Simple CBC Padding Oracle Library
View oracle.py
import sys
ASCII = set(
map(chr, range(0x20, 0x7f)) +
['\t', '\n']
)
def xor(*args):
if len(args) > 2:
xs, ys = args[0], xor(*args[1:])
@rot256
rot256 / cons.py
Last active Dec 13, 2018
Construct Random Relations For Flag Check
View cons.py
import sys
import random
EQ_CNT = 24
RN_CNT = 10
passwd = sys.argv[1]
rnd = lambda n: [random.randrange(0x1, 0x100) for _ in range(n)]
assert len(passwd) > 4
View present_sim_dpa.py
# setup & collect
from random import randrange
S = [
0xC, 0x5, 0x6, 0xB,
0x9, 0x0, 0xA, 0xD,
0x3, 0xE, 0xF, 0x8,
0x4, 0x7, 0x1, 0x2
]
@rot256
rot256 / wg_demo.go
Last active Dec 18, 2017
Quick, very dirty, wg ping demo
View wg_demo.go
/* Copyright 2017 rot256
*
* Permission is hereby granted, free of charge,
* to any person obtaining a copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
View topaper.py
#!/usr/bin/env python2
import os
import sys
import qrcode
'''
Converts a file to a pdf filled with QR codes.
Depends on:
- qrcode
View keybase.md

Keybase proof

I hereby claim:

  • I am rot256 on github.
  • I am rot256 (https://keybase.io/rot256) on keybase.
  • I have a public key ASDD002OULPZW4GpFo4akRDspdu391_Q3W7IQeVzW1FoHAo

To claim this, I am signing this object: