Kerckhoffs' principle for cryptosystems