A comparison of SW/HW implementations of stream cipher encoders

Zbigniew Kokosiński,

Sławomir Wójcik


In this paper, a new method of stream encoding and decoding is presented. It is developed on the basis of a derangement generator. Stream cipher D has been compared with other stream ciphers – E0, W7 and Phelix. Encoding and decoding algorithms have been implemented in C++ and VHDL programming languages. FPGA synthesis data has been reported for Spartan 3E and Virtex 4 devices from Xilinx. The hardware solution has been tested on the Digilent Nexys 2 500K board. Subsequently, comparative studies have been conducted for software and hardware coders, taking into account average coding time and average throughput for 16 input data files of different sizes. Conclusions resulting from the research are derived.

Słowa kluczowe: stream cipher, coder, decoder, coder throughput, FPGA

Akl S.G., A new algorithm for generating derangements, BIT 20, 1980, 2-7

Akl S.G., Calvert J.M., Stojmenovič I., Systolic generation of derangements, Proc. Int. Workshop on Algorithms and Parallel VLSI Architectures II, Elsevier, 1992, 59-70.

Baril J.-L., Vajnovszki V., Gray code for derangements, Discrete Applied Mathematics, 140, 2004, 207-221.

Denning D.E.R., Cryptography and data security, Addison-Wesley, 1982.

Erickson M.J., Introduction to Combinatorics, Wiley Interscience, 83, 1996, 119-120.

Gajos T., A hardware implementation of VMPC stream cipher encoder and decoder in programmable logic, M.S. Thesis, Cracow University of Technology, Cracow 2009 (in Polish).

Gehrman C., Persson J., Smeets B., Bluetooth Security, Artech House, 2004.

Gupta P., Bhattacharjee G.P., A parallel derangement generation algorithm, BIT 29, 1989, 14-22.

Graham R.L., Knuth D.E., Patashnik O., Concrete Mathematics, 2nd ed., Addison- Wesley Publishing Company, 1994, 194-195.

Kokosiński Z., On generation of permutations through decomposition of symmetric groups into cosets, BIT 30, 1990, 583-591 (available at www.pk.edu.pl/~zk/pubs.html).

Kokosiński Z., Circuits generating combinatorial configurations for sequential and parallel computer systems, Cracow University of Technology, Cracow, Poland, Monograph, 160, 1993.

Kokosiński Z., On parallel generation of partial derangements, derangements and permutations, Proc. Int. Conf. Parallel Processing and Applied Mathematics PPAM’2007, Gdansk, Poland, Lecture Notes in Computer Science, Vol. 4967, 2008, 219-228 (available at www.pk.edu.pl/~zk/pubs.html).

Korsh J.F., LaFolette P., Constant time generation of derangements, Information Processing Letters, Vol. 90, 2004, 181-186.

Rogawski M., Stream ciphers in FPGA structures, IX Konferencja Zastosowań Kryptografii, Enigma’2005, Warszawa 2005 (in Polish).

Thomas S., Deven A., Berson T., Gong G., The W7 stream cipher Algorithm, Internet draft, April 2002.

Whiting D., Schneier B., Lucks S., Muller F., Phelix fast encryption and authentication in a single cryptographic primitive, ECRYPT Stream Cipher Project Report 2005/027, 2005.

Wójcik S., A hardware implementation of stream encoder and decoder of the data in programmable Spartan 3 FPGA devices, M.Sc. Thesis, Cracow University of Technology, Cracow 2010 (in Polish).

Żółtak B., VMPC one-way function and stream cipher, Proc. Int. Conf. Fast Software Encryption FSE’2004, Delhi, February 2004.

VMPCrypt: http://www.vmpcrypt.pl/