Hi, I did alot of reasearch ( lots of google ) to understand how WPA-PSK works and I seems to be stuck, I know that its something like PMK = PBKDF2(passphrase, ssid, ssidLength, 4096, 256) and that PTK is something like HMAC-SHA1(PMK(2-MACS from 2 first handshake packets, 2-NONCES from 2 first handshake packets))...

I'm kinda confused as how does this works and I'd like some help to understand it better.

For example:

SSID: co-public

gives

Hex: 5B45A05E645C40311BC77F299F4B424C03C41A9094B90A2DD6 7473B9D4850511

as the WPA-PSK hash, how would someone go from the 4-way handshake to get to the WPA-PSK hash? I looked on google alot and can't find anything good ( they only refer to wpa-psk crackers and my google-fu sucks ). If you could explain what is taken from each packet and what algorithm is done on the essid, macs, nonces and mic it would greatly help. *Would gladly accept pseudo-code*

Thanks!