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