Cryptology ePrint Archive: Report 2008/320

Public Key Block Cipher Based on Multivariate Quadratic Quasigroups

Danilo Gligoroski and Smile Markovski and Svein J. Knapskog

Abstract: We have designed a new class of public key algorithms based on quasigroup string transformations using a specific class of quasigroups called \emph{multivariate quadratic quasigroups (MQQ)}. Our public key algorithm is a bijective mapping, it does not perform message expansions and can be used both for encryption and signatures. The public key consist of $n$ quadratic polynomials with $n$ variables where $n=140, 160, \ldots$. A particular characteristic of our public key algorithm is that it is very fast and highly parallelizable. More concretely, it has the speed of a typical modern symmetric block cipher -- the reason for the phrase \emph{"A Public Key Block Cipher"} in the title of this paper. Namely the reference C code for the 160--bit variant of the algorithm performs decryption in less than 11,000 cycles (on Intel Core 2 Duo -- using only one processor core), and around 6,000 cycles using two CPU cores and OpenMP 2.0 library. However, implemented in Xilinx Virtex-5 FPGA that is running on 249.4 MHz it achieves decryption throughput of 399 Mbps, and implemented on four Xilinx Virtex-5 chips that are running on 276.7 MHz it achieves encryption throughput of 44.27 Gbps. Compared to fastest RSA implementations on similar FPGA platforms, MQQ algorithm is more than 10,000 times faster.

Category / Keywords: Key Cryptosystems, Fast signature generation, Multivariate Quadratic Polynomials, Quasigroup String Transformations, Multivariate Quadratic Quasigroup

Publication Info: Updated and extended version of the paper presented at MATH'08 - Cambridge, Massachusetts, USA, March 24-26, 2008.

Date: received 24 Jul 2008, last revised 2 Aug 2008

Contact author: danilog at item ntnu no

Available format(s): PDF | BibTeX Citation

Version: 20080802:183716 (All versions of this report)

Short URL:

[ Cryptology ePrint archive ]