I'm trying to understand how Krack works on GCM. I thought that looking at GCM would be easier since it's a full break and the video shows a tool that is able to decrypt everything.
I see that the IV is resent, but how does that carry forward? Each packet is sent with an IV that is used to encrypt/decrypt that packet, correct? Am I wrong in thinking the IV is generated from the Anonce, Snonce, MACs and PMK?
If a key is known to be all zeros, that should make it easy to decrypt once the IV is known, but if the IV isn't sent with packet and is in fact generated, then how are so many packets decrypted?
Krack doesn't disclose the PMK so generating the IV on your own is out. Shouldn't you be limited to the number of packets that were sent between the nonce reuse? As in, if 5 packets were sent before the nonce was reused then you would only have enough information to try to decrypt the five packets sent after the first use of the nonce and the five packets sent after it was reused.