Quasigroup operations are essential for a wide range of cryptographic procedures that includes cryptographic hash functions, electronic signatures, pseudorandom number generators, and stream and block ciphers. Quasigroup cryptography achieves high levels of security at low memory and computational costs by an iterative application of quasigroup operations to streams and blocks of data. The use of large quasigroups can further improve the strength of cryptographic operations. However, the order of used quasigroups is the main factor affecting the memory requirements of quasigroup cryptographic schemes. Alternative quasigroup representations that do not store their multiplication tables in computer memory yield increased computational costs.In any case, an efficient implementation of quasigroup operations is critical for practical applications of quasigroup cryptography. Residue number systems allow a fast, concurrent realization of addition and multiplication. In this work, residue arithmetic is used to accelerate quasigroup operations, and an efficient computational approach to their implementation, designed with respect to the extended instruction sets of modern processors, is proposed.
KEYWORDSacceleration, quasigroup operations, residue arithmetic, residue number systems, security
INTRODUCTIONQuasigroups are algebraic structures with a large number of applications in cryptography and computer security. 1-5 A quasigroup consists of a set of elements (carrier) and a binary operation (multiplication) that maps every 2 of its elements onto a third element. Mathematically, they are grupoids closely related to the combinatorial concept of latin squares 2,3,6,7 and the geometric notion of k−nets (3−nets). 2,8 Multiplication (Cayley) tables of finite quasigroups can be expressed as latin squares, and k−nets can be coordinatized by systems of orthogonal quasigroups.In general, quasigroups are noncommutative, nonassociative, nonidempotent, and noninvolutory and do not have neutral elements. 9 These properties make them suitable for applications in cryptography, and they have been used as fundamental elements of a wide range of cryptographic algorithms with success. Their applications in this area include novel high-performance stream 4-6,10-13 and block 4,5,14-22 ciphers, cryptographic hash 4,5,23-27 and trapdoor 4,14,23 functions, fast and secure electronic signatures (eg, message authentication codes), 4,14,23,28 pseudorandom number generators, 5,29-31 error-detecting 2 and error-correcting 2,9,32 codes, and simultaneous encryption and error-correction coding (cryptcoding). 4Quasigroups can be also used to model cryptosystems based on other cryptographic primitives. A quasigroup representation has been devised for block ciphers based on Feistel networks (ie, Feistel and generalized Feistel ciphers). 33The attractiveness of quasigroups for practical cryptographic applications consists in the combination of provably strong security and inexpensive realization of quasigroup-based cryptographic operations. They support la...