Wi-Fi Protected Access (WPA) Supplicant
WPA implements a new key handshake (4-Way Handshake and Group Key Handshake) for generating and exchanging data encryption keys between the Authenticator and Supplicant. This handshake is also used to verify that both Authenticator and Supplicant know the master session key. These handshakes are identical regardless of the selected key management mechanism (only the method for generating master session key changes).
http://w1.fi/wpa_supplicant/
wpa_supplicant is a userspace application which works as a WPA supplicant and SME (to handle initiating MLME commands).
http://wireless.kernel.org/en/users/Documentation/wpa_supplicant