Source: https://www.iro.umontreal.ca/~salvail/securite/notes2014/securite10-2014long.pdf