The paper contains three improvements of Shannon's theory of secrecy systems: 1. By a very simple construction we obtain ciphers which are with respect to natural security measures as good as Shannon's 'random ciphers'. 2. For this construction it is unnecessary to assume that the messages are essentially equally likely. Shannon made this assumption in order to the make his 'random cipher' approach work. 3. Furthermore we construct optimal ciphers under the rather robust assumption that only a bound on the entropy of the source is known to the communicators and that the cryptanalyst is still granted to know the message statistic exactly. Finally we construct worst codes for the binary symmetric channel and emphasize the importance of this 'dual coding problem' for cryptography.