The invention discloses a hardware implementation system of SM2 elliptic curve public key encryption algorithm in the prime domain Fp. The system in Fp domain, using modular method in high level, the system is divided reasonably, the system is divided into several modules, can use the hardware realization method of encrypted messages and decrypt the ciphertext, using the method of hardware module reuse, by setting the upper check module, the realization of random number generation operation module, control module, bit string multiplexing processing module, key derivation module, hash module, by setting the lower check module, the realization of point multiplication module, XOR operation module, bit string conversion module, bit string multiplexing module connected together, thus providing a with fewer hardware resources and system cost the lower, faster operation, simple structure, easy encryption algorithm SM2 implementation of elliptic curve public key hardware.
【技术实现步骤摘要】
一种素域Fp下的SM2椭圆曲线公钥加密算法的硬件实现系统
本专利技术涉及信息安全领域中的消息加密和解密技术,特别涉及一种素域Fp下的SM2椭圆曲线公钥加密算法的硬件实现系统。
技术介绍
随着网络技术的发展,人们对网络安全问题的关注越来越大。信息加密和解密技术在网络安全领域中应用广泛,可保证信息的安全,防止信息在传输过程中受到攻击,从而被不法分子截取或破坏。SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法,与传统的公钥密码体制(例如RSA密码体制)相比,椭圆曲线密码体制使用相对比较短的密钥就可以达到相同的安全程度。因此,更短的密钥使得椭圆曲线密码体制的应用范围更加广泛。虽然国家密码局早在2010年就公布了SM2椭圆曲线公钥加密算法,但是目前将其用硬件实现的方案还比较少,并且现有的硬件实现方案的硬件资源消耗较大。
技术实现思路
本专利技术所要解决的技术问题是提供一种素域Fp下的SM2椭圆曲线公钥加密算法的硬件实现系统,该系统在素域Fp下,采用高层次的模块化方法,对系统进行了合理的划分,将系统划分为多个模块,采用硬件模块复用的方法,通过设置上层复选模块,实现了对随机数生成模块、运算控制模块、比特串处理模块、密钥派生模块、杂凑模块的复用,通过设置下层复选模块,实现了对点乘运算模块、异或运算模块、比特串转换模块、比特串拼接模块的复用,从而提供了一种所用硬件资源更少,成本更低、运行速度更快、结构简单、易于实现的SM2椭圆曲线公钥加密算法的硬件实现系统。为解决上述技术问题,本专利技术提供一种素域Fp下的SM2椭圆曲线公钥加密算法的硬件实现系统,该系统 ...
【技术保护点】
一种素域Fp下的SM2椭圆曲线公钥加密算法的硬件实现系统,该系统可以对传输的消息进行加密和解密,该系统所用到的模块包括:SM2主控模块、SM2解析模块、加密控制模块、解密控制模块、上层复选模块、随机数生成模块、运算控制模块、比特串处理模块、密钥派生模块、杂凑模块、下层复选模块、点乘运算模块、异或运算模块、比特串转换模块、比特串拼接模块,其特征在于:所述SM2主控模块:用于与所述SM2解析模块进行通信,进而调用加密控制模块和解密控制模块对消息进行加密和解密;所述SM2解析模块:用于解析所述SM2主控模块发出的命令,确定系统当前时间要实现的是消息加密还是消息解密功能,并将进行消息加密的命令发送给所述加密控制模块,将进行消息解密的命令发送给解密控制模块;所述加密控制模块:用于在收到所述SM2解析模块发送的进行消息加密的命令后,与所述上层复选模块进行通信,通过所述上层复选模块调用所述随机数生成模块、所述运算控制模块、所述比特串处理模块、所述密钥派生模块、所述杂凑模块,通过所述下层复选模块调用所述点乘运算模块、所述异或运算模块、所述比特串转换模块、所述比特串拼接模块,对消息进行加密;所述解密控制 ...
【技术特征摘要】
1.一种素域Fp下的SM2椭圆曲线公钥加密算法的硬件实现系统,该系统可以对传输的消息进行加密和解密,该系统所用到的模块包括:SM2主控模块、SM2解析模块、加密控制模块、解密控制模块、上层复选模块、随机数生成模块、运算控制模块、比特串处理模块、密钥派生模块、杂凑模块、下层复选模块、点乘运算模块、异或运算模块、比特串转换模块、比特串拼接模块,其特征在于:所述SM2主控模块:用于与所述SM2解析模块进行通信,进而调用加密控制模块和解密控制模块对消息进行加密和解密;所述SM2解析模块:用于解析所述SM2主控模块发出的命令,确定系统当前时间要实现的是消息加密还是消息解密功能,并将进行消息加密的命令发送给所述加密控制模块,将进行消息解密的命令发送给解密控制模块;所述加密控制模块:用于在收到所述SM2解析模块发送的进行消息加密的命令后,与所述上层复选模块进行通信,通过所述上层复选模块调用所述随机数生成模块、所述运算控制模块、所述比特串处理模块、所述密钥派生模块、所述杂凑模块,通过所述下层复选模块调用所述点乘运算模块、所述异或运算模块、所述比特串转换模块、所述比特串拼接模块,对消息进行加密;所述解密控制模块:用于在收到所述SM2解析模块发送的进行消息解密的命令后,与所述上层复选模块进行通信,通过所述上层复选模块调用所述随机数生成模块、所述运算控制模块、所述比特串处理模块、所述密钥派生模块、所述杂凑模块,通过所述下层复选模块调用所述点乘运算模块、所述异或运算模块、所述比特串转换模块、所述比特串拼接模块,对消息进行解密;所述上层复选模块:用于当系统要进行消息加密时,所述加密控制模块与所述上层复选模块进行通信,通过所述上层复选模块调用所述随机数生成模块、所述运算控制模块、所述比特串处理模块、所述密钥派生模块、所述杂凑模块进行消息加密,当系统要进行消息解密时,所述解密控制模块与所述上层复选模块进行通信,通过所述上层复选模块调用所述随机数生成模块、所述运算控制模块、所述比特串处理模块、所述密钥派生模块、所述杂凑模块进行消息解密;所述随机数生成模块:用于生成随机数k∈[1,n-1];所述运算控制模块:用于通过所述下层复选模块来调用所述点乘运算模块和所述异或运算模块,完成点乘运算和异或运算;所述比特串处理模块:用于通过所述下层复选模块来调用所述比特串转换模块和所述比特串拼接模块,完成比特串转换和比特串拼接;所述密钥派生模块:用于进行密钥派生运算,生成密钥数据比特串;所述杂凑模块:用于采用SM3密码杂凑算法,进行密码杂凑运算,产生相应的杂凑值;所述下层复选模块:用于当系统要进行点乘运算和异或运算时,所述运算控制模块与所述下层复选模块通信,通过所述下层复选模块调用所述点乘运算模块和所述异或运算模块,完成点乘运算和异或运算;当系统要进行比特串转换和比特串拼接时,所述比特串处理模块与所述下层复选模块通信,通过所述下层复选模块调用所述比特串转换模块和所述比特串拼接模块,完成比特串转换和比特串拼接;所述点乘运算模块:用于完成消息加密和消息解密过程中所需的点乘运算;所述异或运算模块:用于完成消息加密和解密过程中所需的异或运算;所述比特串转换模块:用于将椭圆曲线上的点转换为与之相对应的比特串,将比特串转换为椭圆曲线上与之相对应的点;所述比特串拼接模块:用于将两个以上的比特串进行拼接,使之成为一个比特串。2.如权利要求1所述的系统,其特征在于:在系统的设计过程中,采用了高层次的模块化方法,按照硬件占用资源少、成本低、系统运行速度快,结构简单、易实现的原则,将系统进行了合理的划分,具体划分为所述SM2主控模块、所述SM2解析模块、所述加密控制模块、所述解密控制模块、所述上层复选模块、所述随机数生成模块、所述运算控制模块、所述比特串处理模块、所述密钥派生模块、所述杂凑模块、所述下层复选模块、所述点乘运算模块、所述异或运算模块、所述比特串转换模块、所述比特串拼接模块,每个模块可实现相应的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。