Source: http://www.mbrassard.com/informations/calcul.pdf