Skip to content

Instantly share code, notes, and snippets.

View TomMD's full-sized avatar

Thomas M. DuBuisson TomMD

View GitHub Profile
@TomMD
TomMD / xcrush.md
Last active October 17, 2015 08:04
An implementation of XCrush's key expansion... and a break.

XCRUSH (ed?)

An amature cryptographer posted a new block cipher called xcrush. Usually I ignore these posts, but seeing as this guy knew it to be an educational exercise and made a somewhat digestable document I took the bait.

A common question to ask is if the key expansion function is injective. This is important because a non-injective key expansion function means two keys result in the same block cipher operation, and thus the security

### Keybase proof
I hereby claim:
* I am tommd on github.
* I am tommd (https://keybase.io/tommd) on keybase.
* I have a public key whose fingerprint is 8BC2 FE48 95E8 2B82 4E1D 9EB6 DA9F 2B24 F69F B294
To claim this, I am signing this object:
@TomMD
TomMD / LazyImageStream.hs
Created July 26, 2015 15:25
Shows how to use Friday, Friday-JuicyPixels and FFmpeg-light to get a lazy image list.
module LazyDemo where
import Vision.Image.JuicyPixels
import Vision.Image (RGBA)
import Codec.FFmpeg
import System.IO.Unsafe
lazyStream :: FilePath -> IO [RGBA]
lazyStream fp = do
initFFmpeg