added abstract classes PseudoRandomFunction, PseudoRandomPermutation, and BlockCipher