Skip to Main Content
Block ciphers based on key-dependent cipher structures have been investigated for years, however, their overall performance in terms of security and speed has not been sufficiently addressed. In this paper, we propose a 128-bit Feistel block cipher, which simultaneously engages key-dependent S-box and key-dependent P-box. With these two key-dependent transformations, the internal structure of this cipher algorithm is secured, so as to resist the linear and differential cryptanalysis in a few round encryptions. Hence, the encryption and decryption functions are quite efficiency. We named this key-dependent structure the DSDP structure, and the cipher DSDP. A fast permutation algorithm is used to generate both the key-dependent S-box and key-dependent P-boxes. This greatly compensates the performance penalty of complex key schedule. The basic operations used in DSDP are all efficient bytewise operations, so the algorithm will have a reasonable fast speed on recent processors, 16-bit processors and smart cards as well as 8-bit processors. We implement the algorithm with C and Java respectively on several PCs with different processors, and estimate the optimized assembly performance on Pentium. The experimental results and the estimation show that DSDP has a very fast encryption/decryption speed and a reasonable fast key scheduling implementation.