Применение статистических тестов NIST для анализа выходных последовательностей блочных шифров
Modern iterative block ciphers are one of the most popular methods for providing a secure information exchange in internet networks. A widespread use of this technology and the development of computing power give rise to a whole list of threats to cryptanalysis of ciphers. Ensuring cryptographic security is in this case one of the key aspects of the cryptographic algorithm, but cryptographic security is impossible without providing satisfactory statistical properties since a number of attacks on block ciphers are based on statistical vulnerabilities of the output sequence. The designers of the cryptographic algorithms used today have established a certain margin when choosing the characteristics of the cipher, while the output sequence of many algorithms becomes indistinguishable from the random sequence for less than the total number of encryption rounds. Some reduction of such a parameter of the block cipher as the number of rounds will provide satisfactory statistical properties while increasing the speed of the algorithm. To check the statistical properties of the cipher statistical analysis is carried out using specialized tests, which, as a rule, involve a number of difficulties. This article describes the task of analyzing the output of block cipher sequences in order to find the optimal (minimum) number of encryption rounds, in which the cipher text is indistinguishable from the random one. The basic principles of the statistical tests are also described.
The technology of ensuring the interaction of implementations of statistical tests and cryptoalgorithms, which is proposed and implemented by the author by means of programming languages, is described. New, obtained as a result of experiments characteristics of work for algorithms from the CPPCRYPTO library are demonstrated.