Cryptographic Hardening of d-Sequences
📝 Original Info
- Title: Cryptographic Hardening of d-Sequences
- ArXiv ID: 1106.3574
- Date: 2011-06-21
- Authors: Sandhya Rangineni
📝 Abstract
This paper shows how a one-way mapping using majority information on adjacent bits will improve the randomness of d-sequences. Supporting experimental results are presented. It is shown that the behavior of d-sequences is different from that of other RNG sequences.💡 Deep Analysis
📄 Full Content
Randomness is generally measured in terms of probability or of complexity. From the lens of probability, all binary sequences of length n are equivalent. From the point of view of complexity, randomness will depend on the algorithm that has been used to generate the sequence. Ritter provides a summary of several measures of algorithmic complexity [8] and, therefore, also of randomness.
In this article, we will investigate results of a method of cryptographic strengthening of RNGs. Basically, the idea is to apply a many-to-one mapping to the binary output of the RNG, increasing the complexity of reverse process. We show that by using a 3-to-1 mapping where each group of three 0s and 1s is replaced by whatever the majority improves the autocorrelation function of the resultant sequence in some cases. This will be tried both for the Windows based RNGs as well as d-sequences [9][10][11][12][13][14][15][16][17], that are “decimal sequences” in an arbitrary base, although binary (base-2) sequences are the ones considered here. D-sequences have found several applications in cryptography and they are of particular interest since any random sequence can be represented as a d-sequence (Figure 1).
For simplicity, we consider only the autocorrelation function as measure of randomness. The value of the autocorrelation is defined as in the equation below:
A good random sequence has an autocorrelation function that is roughly two-valued. The C(k) function for a maximum-length d-sequence is has a negative peak of -1 for half the period because of the anti-symmetry of the sequence. Non-maximum length d-sequences need not have such a structure.
The binary d-sequence is generated by means of the algorithm [11]:
where q is a prime number. The maximum length (with period q-1) sequences are generated when 2 is a primitive root of q. When the binary d-sequence is of maximum length, then bits in the second half of the period are the complements of those in the first half.
Any periodic sequence can be represented as a generalized d-sequence m/n, where m and n are suitable natural numbers, i.e., positive integers.
The PR(n) sequences emerges by mapping each group of adjacent n bits (n odd) of the PR sequence to 0 or 1 depending on whether it has a majority of 0s or 1s. We have done experiments on many d-sequences (see below for examples) and we find that PR(3) provides significant improvement and that there is no significant advantage in taking larger values of n.
The tables below provide the list of a few of the largest values of the autocorrelation function for the given sequence. The off -1 or -1 values are 0.33 and -0.33. We see that these values have reduced to 0.11 and -0.
PR(1) PR(3) PR( 5) PR( 7) PR( 9) PR(11) 1.0 1.0 1.0 1.0 1.0 1.0 -1.0 -0.50 -0.37 -0.46 -0.81 -0.38 0.33 0.11 0.11 0.18 0.19 0.26 -0.33 -0.13 -0.12 -0.13 -0.21 -0.17 0.20 0.08 0.10 0.12 0.18 0.18 -0.20 -0.10 -0.11 -0.12 -0.20 -0.16 0.14 0.07 0.09 0.10 0.17 0.17 -0.14 -0.07 -0.10 -0.10 -0.18 -0.13
PR(1) PR(3) PR( 5) PR( 7) PR( 9) PR( 11) 1.0 1.0 1.0 1.0 1.0 1.0 -1.0 -0.49 -0.38 -0.42 -0.39 -0.80 0.33 0.19 0.12 0.11 0.12 0.2 -0.33 -0.12 -0.09 -0.19 -0.21 -0.2 0.19 0.09 0.11 0.10 0.11 0.19 -0.19 -0.08 -0.07 -0.11 -0.20 -0.19 0.14 0.08 0.10 0.09 0.10 0.14 -0.14 -0.07 -0.06 -0.09 -0.19 -0.14
PR(1) PR(3) PR( 5) PR( 7) PR( 9) PR(11) 1.0 1.0 1.0 1.0 1.0 1.0 -1.0 -0.52 -0.40 -0.39 -0.35 -1.0 0.33 0.09 1.13 0.12 0.15 0.21 -0.33 -0.10 -0.11 -0.17 -0.21 -0.21 0.19 0.06 0.08 0.11 0.14 0.19 -0.19 -0.09 -0.09 -0.14 -0.18 -0.19 0.14 0.05 0.07 0.10 0.12 0.18 -0.14 -0.08 -0.08 -0.13 -0.15 -0.18
It is interesting that the performance of PR(n) for a larger value of n does not necessarily imply improved results as far as the autocorrelation function is concerned. For the sake of illustration, we now present the autocorrelation functions for PR(1), PR(3), PR (7), and PR(11) obtained using the d-sequence: 1/1571 . Note that the negative peak for half the period gets smaller and smaller as we increase n in PR(n). This shows that the improvement in randomness can be quite dramatic.
In a similar way shown above, I have taken binary random sequences generated by using random number generators in windows PC and done some experiments in order to determine how many-to-one mapping impacts the quality of the autocorrelation function.
-0. 3) PR3(PR3(3)) 1.0 1.0 1.0 1.0 -0.07 -0.12 -0.12 -0.21 0.06 0.10 0.15 0.18 -0.06 -0.10 -0.10 -0.18 0.05 0.09 0.14 0.16 -0.05 -0.09 -0.09 -0.13 0.04 0.08 0.13 0.13 -0.04 -0.08 -0.08 -0.10
This article shows that the many-to-one mapping impr