| With the development of information technology in recent years,network security has played an important role in the development of modern information technology.However,with the continuous development of cryptography and cryptanalysis,it is obviously impossible to guarantee the security of data transmission only through a single cryptographic algorithm.The digital envelope algorithm is a hybrid encryption method which combines the symmetric cryptography algorithm with the public key algorithm.It encrypts the data to be transmitted through the symmetric encryption algorithm,and then encrypts the symmetric key required in the symmetric encryption algorithm using the public key encryption algorithm,effectively ensuring the security of data transmission.In this paper,a digital envelope encryption and decryption system based on FPGA has been designed by selecting SM4 block cipher algorithm with configurable S-box parameters as symmetric encryption algorithm and SM2 as public key encryption algorithm.The main work of this paper is as follows:In this paper,the randomness and sensitivity of chaotic system to initial conditions have been utilized to generate the initial key and initial vector iv required in the process of symmetric encryption through Logistic chaotic system.In order to solve the degradation problem of chaotic characteristics during the digital implementation of chaotic systems using FPGA,a period detection method was introduced to detect this degradation phenomenon,and disturbance method was used to resist the degradation phenomenon;the SM4 encryption and decryption algorithm with configurable S-box parameters is designed and implemented based on FPGA.The design enables users to select the parameters in S-box according to the actual needs,and improves the security of the encryption process;in the process of designing SM2 public key encryption and decryption algorithm based on FPGA,this paper made some improvements to the Montgomery point multiplication algorithm.Finally,the above parts has integrated,the initial parameters of chaotic system and data to be encrypted were sent through Ethernet protocol.The initial vector iv and initial key obtained by chaotic system were encrypted with SM2,and at the same time,they were used in the improved SM4 algorithm to encrypt data to obtain ciphertext.Then,SM2 decryption algorithm were used to decrypt the result of public key encryption,and iv and key were obtained.At this time,SM4 decryption algorithm can be used to decrypt ciphertext data to get plaintext.Finally,the whole encryption and decryption system has been realized,and the board verification has been completed. |