International Core Journal of Engineering 2020-26 | Page 188
then the remaining Z state is uniformly shifted from Z[0] to
z[n-2] by one bit, and then The result of the previous zAndC()
function is fed back to the first memory location of the
register, thereby resulting in a new Z state.
of the register, the initial state of the tap coefficient, and
finally select the output sequence length:
Coefficient state auto-increment function cIncrease()
Fig. 9. Running result
The output sequence is 10000 bits and written to the txt
file:
Fig. 7. Coefficient state auto-increment function
This function implements an automatic change in the state
of the tap coefficients. The tap coefficient state is taken as an
integer represented by a binary, and the integer value is added
by 2 for each bit sequence output, and then a new binary
integer, that is, a new tap coefficient state C is obtained.
Key stream generator main()
Fig. 10. The output sequence
Through the performance test of the output sequence, it is
found that the output sequence of the new tap variable shift
register still has good random characteristics equivalent to the
m-sequence, but it improves the linear complexity and
effectively resists attacks such as algebraic attacks.
VI. C ONCLUSION
This paper analyzes the important role of linear feedback
shift register in stream cipher generation application, and
then proposes its vulnerable security problem. The reason is
that the traditional register tap feedback coefficient is
constant, the complexity is not high, and it is vulnerable. To
the algorithmic attack, this leads us to the scheme: the study
of the variable linear feedback shift register of the tap. The
first is to start from the principle of algebraic attack, and
understand that the register defect for the register is
immutable, and the operation is simple and easy to be inferred.
Therefore, we adopt the method of automatically changing
the tap coefficient: one key per output, the state of the tap
coefficient It will change according to certain rules, so that
the security of the output sequence is improved. We first
study and prove the nature of this new type of register
theoretically. Finally, we also use software implementation
methods to verify. After the national and NIST tests, the
sequence generated by the new pseudo-random components
has good characteristics.
Fig. 8. Key stream generator
This function mainly determines the number of register
stages first, then calls the initialization function initZC() to
initialize the initial state of the register Z and the initial state
of the tap coefficients, and then confirms the sequence length
L that needs to be output, and performs L cycles: each cycle
is called separately. The shift function zMove(), which also
contains zAndC(), cIncrease(). This gives an L-long output
sequence.
B. Operation Result
The program runs as follows, manually input the number
of stages of the linear shift register, then input the initial state
R EFERENCES
[1]
166
Qibin Luo, Jian Zhang. The Status Quo and Development of Stream
Ciphers [J].Information & Electronic Engineering, 2006(01):75-80