Using Quasigroups for Generating Pseudorandom Numbers

Similar documents
Recursive Information Hiding in Visual Cryptography

Visual Secret Sharing Scheme using Grayscale Images

A Quasigroup Based Random Number Generator for Resource Constrained Environments

An Application of Graph Theory in Cryptography

NetEnt Product Services Ltd. Random Number Generator Certification Report

Analysis of Cryptography and Pseudorandom Numbers

A Block Cipher Basing Upon a Revisit to the Feistel Approach and the Modular Arithmetic Inverse of a Key Matrix

Permutation Matrices. Permutation Matrices. Permutation Matrices. Permutation Matrices. Isomorphisms of Graphs. 19 Nov 2015

Pseudo-random Bit Generation Algorithm Based on Chebyshev Polynomial and Tinkerbell Map

Breaking Another Quasigroup-Based Cryptographic Scheme

Enhanced 3-D PLAYFAIR Cipher

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Ensuring information security through 123-bit recursive substitution of bits through prime-nonprime detection of sub-stream (RSBP)

NetEnt Product Services Ltd. Platform 10.2 and RNG Certification Report. for UK Gambling Commission

CS 179: GPU Computing. Lecture 16: Simulations and Randomness

MODIFIED RECURSIVE MODULO 2 N AND KEY ROTATION TECHNIQUE (MRMKRT) Rajdeep Chakraborty* 1, Avishek Datta 2, J.K. Mandal 3

A Deterministic Approach of Merging of Blocks in Transversal Design based Key Predistribution

Cost Optimized Design Technique for Pseudo-Random Numbers in Cellular Automata

DESIGNING OF STREAM CIPHER ARCHITECTURE USING THE CELLULAR AUTOMATA

Issuing Laboratory: Evaluating Laboratory: Jurisdiction: Technical Standard for Testing: Software Supplier: Submitting Party: Product Tested:

IMPROVED ALGORITHM FOR VISUAL CRYPTOGRAPHY USING REGION INCREMENTATION

True Random Number Generator using Solar Output Characteristics

Chaos-based Modified EzStego Algorithm for Improving Security of Message Hiding in GIF Image

A Parallel, In-Place, Rectangular Matrix Transpose Algorithm

Vertex Magic Total Labeling of Complete Graphs and their application for Public-Key Cryptosystem

Parallel Implementation of the NIST Statistical Test Suite

Hill Cipher with Parallel Processing Involving Column, Row Shuffling, Permutation and Iteration on Plaintext and Key

Vortex: A New Family of One-way Hash Functions Based on AES Rounds and Carry-less Multiplication

Package CryptRndTest

Research Article International Journals of Advanced Research in Computer Science and Software Engineering ISSN: X (Volume-7, Issue-6)

Chapter 3 Traditional Symmetric-Key Ciphers 3.1

Raj Boppana, Ph.D. Professor and Interim Chair. University of Texas at San Antonio

Proposed Pseudorandom Number Generator

The Design and Analysis of a True Random Number Generator in a Field Programmable Gate Array. By Paul Kohlbrenner November 20, 2003

A New Symmetric Key Algorithm for Modern Cryptography Rupesh Kumar 1 Sanjay Patel 2 Purushottam Patel 3 Rakesh Patel 4

An Efficient Stream Cipher Using Variable Sizes of Key-Streams

MTAT Research Seminar in Cryptography Building a secure aggregation database

Cryptompress: A Symmetric Cryptography algorithm to deny Bruteforce Attack

Light Weight Cellular Automata Computations and Symmetric Key for Achieving Efficient Cryptography

NEURO GENETIC KEY BASED RECURSIVE MODULO-2 SUBSTITUTION USING MUTATED CHARACTER FOR ONLINE WIRELESS COMMUNICATION (NGKRMSMC)

Information Security CS526

Text Steganography Using Compression and Random Number Generators

Chapter 4: Implicit Error Detection

MATH 423 Linear Algebra II Lecture 17: Reduced row echelon form (continued). Determinant of a matrix.

Random Number Generators. Summer Internship Project Report submitted to Institute for Development and. Research in Banking Technology (IDRBT)

An Approach to ensure Information Security through 252-Bit Integrated Encryption System (IES)

K Anup Kumar et al,int.j.comp.tech.appl,vol 3 (1), 32-39

Implementation of Modified Chaos- based Random Number Generator for Text Encryption

Cryptography. Summer Term 2010

ENHANCED AES ALGORITHM FOR STRONG ENCRYPTION

N N Sudoku Solver. Sequential and Parallel Computing

NEW CLASS OF PSEUDORANDOM D-SEQUENCES TO GENERATE CRYPTOGRAPHIC KEYS B. Prashanth Reddy Oklahoma State University, Stillwater

Constraint Satisfaction Problems (CSPs)

Applications of Matrices

U-II BLOCK CIPHER ALGORITHMS

Vertex Magic Total Labelings of Complete Graphs 1

Pseudorandom Number Generation Based on Controllable Cellular Automata

FPGA Implementation of High Speed AES Algorithm for Improving The System Computing Speed

Design of a New Cryptography Algorithm using Reseeding-Mixing Pseudo Random Number Generator

ANALYSIS OF AES ENCRYPTION WITH ECC

A Block Cipher Involving a Key Matrix and a Key bunch Matrix, Supplemented with Mix

An Efficient Elliptic Curve Cryptography Arithmetic Using Nikhilam Multiplication

DESIGN AND IMPLEMENTATION OF PSEUDO RANDOM NUMBER GENERATOR USED IN AES ALGORITHM

A Combined Encryption Compression Scheme Using Chaotic Maps

Monte Carlo Integration and Random Numbers

FPGA BASED RANDOM NUMBER GENERATION ACCESSED THROUGH ARDUINO

SMP Based Solver For Large Binary Linear Systems

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET)

Chapter 6: Contemporary Symmetric Ciphers

Design and Implementation of Low-Complexity Redundant Multiplier Architecture for Finite Field

I. INTRODUCTION II. EXISTING SYSTEM

arxiv: v1 [cs.ds] 12 Oct 2018

New Strategies for Filtering the Number Field Sieve Matrix

Using Error Detection Codes to detect fault attacks on Symmetric Key Ciphers

COZMO - A New Lightweight Stream Cipher

CLIP - A Crytographic Language with Irritating Parentheses

Basic principles of pseudo-random number generators

arxiv: v2 [cs.cr] 10 Sep 2015

A New Attack with Side Channel Leakage during Exponent Recoding Computations

An Efficient Pipelined Multiplicative Inverse Architecture for the AES Cryptosystem

Cryptography and Network Security 2. Symmetric Ciphers. Lectured by Nguyễn Đức Thái

A Universal Session Based Bit Level Symmetric Key Cryptographic Technique to Enhance the Information Security

Some Stuff About Crypto

The Comparative Study on Visual Cryptography and Random Grid Cryptography

A Survey of Mathematics with Applications 8 th Edition, 2009

INTERNATIONAL JOURNAL FOR ADVANCE RESEARCH IN ENGINEERING AND TECHNOLOGY WINGS TO YOUR THOUGHTS.. Design of a Cryptosystem Using Two-Level Hill Cipher

Cryptography. Dr. Michael Schneider Chapter 10: Pseudorandom Bit Generators and Stream Ciphers

A Generalized Key Scheme in a Block Cipher Algorithm and its Cryptanalysis

SSJ User s Guide. Package rng Random Number Generators. Version: December 17, 2014

International Journal of Advance Engineering and Research Development CRYPTOGRAPHY AND ENCRYPTION ALGORITHMS FOR INFORMATION SECURITY

Random Number Generator Andy Chen

Threshold Visual Cryptography Scheme for Color Images with No Pixel Expansion

Design and evaluation of random number generators

Delineation of Trivial PGP Security

Thumb based Biometric Authentication Scheme in WLAN using Gauss Iterated Map and One Time Password

Analysis, demands, and properties of pseudorandom number generators

Classical Encryption Techniques

Secret Sharing With Trusted Third Parties Using Piggy Bank Protocol

Hiding of Random Permutated Encrypted Text using LSB Steganography with Random Pixels Generator

Secret Key Algorithms (DES)

Transcription:

Using Quasigroups for Generating Pseudorandom Numbers Vinod Kumar Godavarty Email: vgodavarty@unomaha.edu Abstract - This paper presents an algorithm for generating pseudorandom numbers using quasigroups. Random numbers have several applications in the area of secure communication. The proposed algorithm uses a matrix of size n x n which is pre-generated and stored. The quality of random numbers generated is compared with other pseudorandom number generator using Marsaglia s Diehard battery of tests. Keywords: Quasigroup; pseudorandom number generator; resource efficient; diehard battery of test. I. INTRODUCTION Random numbers have applications in lottery games, shuffling cards, online gambling and secure communication. They may be used in generating random element for information dispersal [1] [2] and secret sharing algorithms [3]. Another application may be found in generation of shared secret keys between sensors in a sensor network [4] using factors of randomly generated matrices. In general, pseudorandom number generators use initial set of seeds to produce number sequences which have features close to random numbers i.e. without prior information about the seeds used the number sequence looks close to random numbers statistically [5]. A random number generator, with good statistical properties, based on a recursive algorithm is proposed in [6]. Several factors are involved in choosing a pseudorandom number generator i.e. memory constraints, computational power available etc. This paper presents pseudo random number generator based on Quasigroups which uses few resources. Quasigroups or Latin Squares are n x n matrices similar to Sudoku. The computational cost of the scheme is very low, because it needs only table look up operations to create sequence of numbers and storage requirement for two n x n matrices. The final algorithm is tested for quality of randomness with Marsaglia s Diehard battery of statistical tests and test results are compared with other pseudorandom number generators. II. QUASIGROUPS A Quasigroup is an n x n matrix consisting of permutation of elements of an finite field Z p such that no element repeats in any row or column and all elements appear in every row and column. Quasigroup satisfies the following laws, u, v Q, x, y Q, such that, u x=v and y u=v x y=x z y = z and y x = z x y = z Quasigroups also support adjoint operations denoted by / and \, and defined by, x y = z y = x\z x = z/y Quasigroup operation denoted by x y =z is a table lookup operation, where z is the element in row x and column y in Quasigroup. 1

. 1 2 3 4 5 1 2 1 5 3 4 2 5 4 2 1 3 3 3 5 1 4 2 4 4 2 3 5 1 5 1 3 4 2 5 Table 1: A quasigroup of order 5 Further the properties of Quasigroups or Latin Squares are described in [7]. Example: Consider Quasigroup shown in table 1. Let u=2 and v=3, then there exists x and y such that u x=v and y u=v. Consequently, here x=5 and y=5.. 1 2 3 4 5 1 2 1 5 3 4 2 5 4 2 1 3 3 3 5 1 4 2 4 4 2 3 5 1 5 1 3 4 2 5 Table 2: Property of quasigroup III. PROPOSED ALGORITHM FOR GENERATING PSEUDORANDOM NUMBERS Let us consider Quasigroup qgroup which is an n x n matrix which is predetermined using randomly choosing the numbers from 1 to n and having it as matrix elements. The proposed generation is done in three phases. Phase1: A generator matrix, genmatrix is created from the previous generator matrix. In the first iteration, the generator matrix is created from the original quasigroup qgroup. Phase2: The elements of the genmatrix are read starting from first row and first column and moving through the columns till the end of the row and repeating the same for other rows. These read elements are sent out as pseudorandom numbers. Phase3: genmatrix is transposed and elements are shifted by a constant number shiftconstant or a variableshift. The variableshift can be defined as an element in genmatrix in specific row x and column y which are predefined. Algorithms for each phase are described below. Algorithm for Phase 1: 1. if initialization=true 2. tempmatrix = qgroup 3. else 4. tempmatrix = genmatrix 5. end if 6. for i=1 to order 7. if i<order 8. for j=1 to order 9. if j <order 10. genmatrix [i][j]= tempmatrix [i][j] tempmatrix [i][j+1] 11. else if j =order 12. genmatrix [i][j]= tempmatrix [i][j] tempmatrix [i+1][1] 2

13. end if 14. end for 15. end if 16. else if i = order 17. for j=1 to order 18. if j <order 19. genmatrix[i][j]= tempmatrix [i][j] tempmatrix [i][j+1] 20. else if j =order 21. genmatrix[i][j]= tempmatrix [i][j] tempmatrix [1][1] 22. end if 23. end for 24. end if 25. end for 26. initialization =false. Operation is look up operation on the Quasigroup matrix. Algorithm for Phase 2: Reading the elements for pseudorandom numbers 1. for i=1 to order 2. for j=1 to order 3. read genmatrix[i][j] 4. end for 5. end for Algorithm for Phase 3: 1. Set genmatrix= transpose of genmatrix 2. List the rows of the matrix as elements of a single stream. 3. variableshift = genmatrix[x][y]; x, y are pre-defined 4. Rotate the stream by shiftconstant or variableshift of elements to right, based on choice. 5. Refill the elements from left in the genmatrix row-wise Algorithm for PRNG: 1. initialization =true; 2. Execute Phase 1; 3. set initialization= false; 4. Execute phase 2 5. Execute phase 3 6. Repeat step 2, 3 and 4 until required length of random numbers are generated. The idea behind this algorithm is to generate random numbers using quasigroup, until required length is reached. One of the advantages of this algorithm is that phase 2 is interlaced with phase 1, so we do not have to wait for complete generation of genmatrix and numbers can be read on fly as and when new elements of genmatrix are generated. 3

Example for Proposed Algorithm: Let us consider the quasigroup Q as the quasigroup in table 1. And consider the shiftconstant as 2. Iteration 0: Phase 1: tempmatrix is same as original quasigroup qgroup and quasi operations are performed between adjacent elements to generate genmatrix i.e. genmatrix = Step1: To find element in first row and first column of genmatrix, perform look up of element in first row and first column of tempmatrix and its adjacent element i.e. look up 2. 1 in original quasigroup matrix Step2: To find element in first row and second column of genmatrix, perform look up of element in first row and second column of tempmatrix and its adjacent element i.e. look up 1. 5 in original quasigroup matrix Further Steps: Perform similar operation as above for all other elements in genmatrix. Iteration 0: Phase 2: Read the elements of genmatrix starting from the element in first row and column and move across the row. The number sequence generated serves as pseudorandom number sequence i.e. random numbers = 4

Iteration 0: Phase 3: Transpose the genmatrix and rotate the stream by shiftconstant= 2 i.e. genmatrix = Iteration 1: Phase 1: tempmatrix is assigned with genmatrix. And rest of the process is same as iteration 0. IV. COMPARISON OF RANDOMNESS WITH WELL-KNOWN RNG To compare the results of proposed pseudorandom number generator for 8 bit quasigroup (i.e. order of the quasigroup is 256 x 256), KISS random number generator is chosen. KISS (Keep It Simple Stupid) is originally proposed by G. Marsaglia and A. Zaman in 1993 and is an effective pseudo random number generator based on three separate generators, of different sorts, and requires 4 seeds [8]. The diehard battery of test results for both KISS Generator and Random number generator in Proposed Encryption Algorithm are tabulated below. Test Name KISS (P-values) Proposed RNG (P-Values) Overlapping 5-Permutation 0.916.999764 Test 1 Chi-square for 99 degrees freedom Chi-square for 99 degrees freedom Overlapping 5-Permutation Test 2 Binary Rank Test for 31 x 31 Matrices Binary Rank Test for 32 x 32 Matrices = 118.974.339149 Chi-square for 99 degrees freedom = 92.638.431276.866206.649050.806213 = 155.881.443277 Chi-square for 99 degrees freedom = 96.350 Proposed RNG is having higher p-values when compared to the p-values of KISS generator which indicates that the proposed RNG algorithm is having high quality. V. DISCUSSION ON PROPOSED ALGORITHM 5

The above algorithm uses only look up operations, and hence the algorithm is computationally inexpensive. Also the only storage requirement that is required for the algorithm is to store original matrix and temporary matrix for producing pseudorandom numbers; the memory requirement complexity is described as follows. Consider that n x n be the order of the matrix where each element is of byte size. The storage requirement is given by 2n 2 bytes. If n is 256 then the total storage requirement is 2(256) 2 = 128 Kbytes. Hence the proposed algorithm is inexpensive in terms of memory requirements. The computational power required is to perform few table look up operations and few shift operations. Hence we can see that computational power required is very low. So in conclusion, we can say that the above algorithm can be used in resource constraint environments for generating pseudorandom numbers. Also, the proposed algorithm is having very good random number generator properties as mentioned in the previous section. VI. CONCLUSION In this paper, we have proposed a new pseudorandom number generator algorithm which utilizes few resources like computational power and memory. Initial set of seeds i.e. original quasigroup and shift constant determines the upcoming sequence of the random numbers. Statistical results are presented to support the quality of the proposed pseudorandom number generator algorithm. Also this algorithm can be used to support secure communication or cryptography which necessitates high quality pseudorandom number generators. VII. ACKNOWLEDGEMENT I thank Abhishek Tripathi for comments on initial draft of the paper. REFERENCES [1] A. Parakh and S. Kak, "Online data storage using implicit security," Information Sciences, vol. 179, no. 19, pp. 3323-3331, 2009. [2] A. Parakh and S. Kak, "Space efficient secret sharing for implicit data security," Information Sciences, vol. 181, no. 2, pp. 335-341, 2011. [3] A. Parakh and S. Kak, "A tree based recursive information hiding scheme," in IEEE ICC 2010 - Communication and Information System Security Symposium ('ICC'10 CISS'), Cape Town, South Africa, 2010. [4] A. Parakh and S. Kak, "Matrix based key agreement algorithms for sensor networks," in IEEE ANTS 2011-5th International Conference on Advanced Networks and Telecommunication Systems, Bangalore, India, 2011. [5] V. Gonzalez-Diaz, G. Setti, P. Fabio and M. Franco, "A Pseudorandom Number Generator Based on Time-Variant Recursion of Accumulators," IEEE Transactions On Circuits And Systems, vol. 58, no. 9, pp. 580-584, September 2011. [6] A. Parakh, "A d-sequence based Recursive Random Number Generator," in International Symposium 6

on System and Information Security; Cryptology eprint Archive, Report 2006/310, 2006. [7] C. Koscienly, "Generating quasigroups for cryptographic applications," International Journal of Applied Mathematics and Computer Science, vol. 12, no. 4, pp. 559-569, 2002. [8] M. George and Z. A, "The KISS generator," Technical Report, Department of Statistics, University of Florida, 1993. 7