This is an implementation of AES-GCM and an attack on it that can be used to fully break the cipher on nonce reuse. I wanted to use it for a blog entry but it is about 10x faster to do in Web Assembly, so that's what I'm doing.
I'm putting it up here in case it's interesting to anybody and I'll add a link to the blog entry once it's finished.