The following pages provide information about typical security risks when dealing with emails.
Fuzzing, aka fuzz testing, has revolutionized the automated search for programming flaws. Nowadays, you simply use corrupt data to cause programs to crash and detect flaws even without access to the source code.
Wifi encryption with WPA is not yet cracked but the approach shows that brute force is not the final word.