Si assume che lo studente conosca le basi di teoria della probabilità, algoritmi, teoria della complessità e qualche cenno di teoria dei numeri. Una qualche familiarità con primitive crittografiche può essere molto utile, ma tutti gli argomenti di crittografia necessari al corso saranno affrontati durante il corso stesso.