CSCI 5654: Cryptanalysis and Randomized Algorithms