Plazmaz / go-home

Research into Go's default random.Source PRNG

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Go Home

Code for cracking the seed of Go's default random.Source. This is very messy, and likely won't be maintained much, but I will accept PRs and feedback.

Layout

Folder Description
lfg The main attraction. Utilities for state recovery of the lagged Fibonacci generator and reversing/cracking the seed of the multiplicative linear congruential generator
notes_and_research "scratch pad" notes and thought dumps, full of dead ends and learning experiences. Probably not very legible.
rng Contains a modified version of go's "rng" class for convenience methods and simplicity (⚠ not used to "cheat" and get state, only used so that I can put the recovered state into something with a nice API and the same defaults⚠)

Writeup here:
https://www.leviathansecurity.com/media/attacking-gos-lagged-fibonacci-generator

About

Research into Go's default random.Source PRNG


Languages

Language:Go 100.0%