CN113572613A - 一种消息保护系统及消息保护方法 - Google Patents

一种消息保护系统及消息保护方法 Download PDF

Info

Publication number
CN113572613A
CN113572613A CN202110859403.1A CN202110859403A CN113572613A CN 113572613 A CN113572613 A CN 113572613A CN 202110859403 A CN202110859403 A CN 202110859403A CN 113572613 A CN113572613 A CN 113572613A
Authority
CN
China
Prior art keywords
algorithm
fpga chip
processor
chip
modules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110859403.1A
Other languages
English (en)
Inventor
李玮
廖强
夏博儒
张俊峰
楚梁
陈维
沈扬斯
吴魁
栾怀训
谢晓民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rock Jiahua Chongqing Technology Co ltd
Original Assignee
Rock Jiahua Chongqing Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rock Jiahua Chongqing Technology Co ltd filed Critical Rock Jiahua Chongqing Technology Co ltd
Priority to CN202110859403.1A priority Critical patent/CN113572613A/zh
Publication of CN113572613A publication Critical patent/CN113572613A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种消息保护系统及消息保护方法,处理器用于调用真随机数发生器产生随机数,并对待处理的数据根据SM2算法调用FPGA芯片的可并行处理的多个运算模块得到多个运算结果;根据多个运算结果,获取目标数据。采用消息保护系统实现SM2算法,如基于SM2的加密、解密、签名、验签、密钥协商、密钥生成等,SM2协议相关由处理器控制实现,对真随机数发生器、底层密码算法和椭圆曲线运算的调用也由处理器控制实现,SM2算法的SM3杂凑算法、密钥派生函数、点乘运算、点加运算、倍点运算等运算均由FPGA逻辑实现,利用了FPGA的并行计算能力,提高了运算效率,极大的减小了运算时间。

Description

一种消息保护系统及消息保护方法
技术领域
本申请涉及网络安全技术领域,具体而言,涉及一种消息保护系统及消息保护方法。
背景技术
SM2算法基于椭圆曲线计算,计算效率是椭圆曲线密码体制中最关心的问题之一,椭圆曲线上点运算(点加、倍点、点乘)占据了绝大部分的计算量。对于单一SM2算法需求而采用的专用密码算法芯片,芯片开发周期长,相对于技术的发展有滞后性,且容易造成资源浪费,对于SM2的性能提升也比较有限。
目前,SM2算法广泛应用在加密、解密、签名、验签、密钥协商、密钥生成等领域中,若采用纯软件方式实现SM2算法,实现方式比较灵活,但是数据安全性低,且软件不擅长大数据点运算,运算效率低,运算时间长。
发明内容
本申请实施例的目的在于提供一种消息保护系统及消息保护方法,用以解决现有技术在加密、解密、签名、验签、密钥协商、密钥生成等领域中实现SM2算法,存在运算效率低,运算时间长的问题。
本申请实施例提供的一种消息保护系统,该系统包括:
真随机数发生器,与处理器连接;
FPGA芯片,与处理器连接;
处理器,用于调用真随机数发生器产生随机数,并对待处理的数据根据SM2算法调用FPGA芯片的可并行处理的多个运算模块得到多个运算结果;根据多个运算结果,获取目标数据;运算模块用于实现点乘、倍点、点加、杂凑和密钥派生函数中至少一个。
上述技术方案中,采用消息保护系统实现SM2算法,如基于SM2的加密、解密、签名、验签、密钥协商、密钥生成等,消息保护系统包括真随机数发生器、FPGA芯片和处理器,SM2协议相关如加密、解密、签名、验签、密钥协商、密钥生成等协议流程由处理器控制实现,对真随机数发生器、底层密码算法和椭圆曲线运算的调用也由处理器控制实现,SM2算法的SM3杂凑算法、密钥派生函数、点乘运算、点加运算、倍点运算等运算均由FPGA逻辑实现,利用了FPGA的并行计算能力,提高了运算效率,极大的减小了运算时间。
在一些可选的实施方式中,多个运算模块通过FPGA芯片的配置模块根据采用的SM2算法进行相关配置;SM2算法包括SM2加密算法和SM2数字签名生成算法中至少一个;目标数据包括密文数据和数字签名中的至少一个。
上述技术方案中,FPGA逻辑中布置有配置模块,SOC(即片上系统)通过向配置模块中写入如运算所需数据(或其存储地址)、运算开始等信息通知运算模块进行相应的运算;运算模块通过向配置模块中写入运算状态、运算结果(或其存储地址)等信息通知SOC此时的运算状态以及结果信息。根据FPGA芯片的配置模块将多个运算模块配置为SM2算法的SM2加密算法或SM2数字签名生成算法,此时,待处理的数据为待加密的数据或待签名的数据,对应生成的目标数据为密文数据或数字签名。
在一些可选的实施方式中,处理器采用FPGA芯片的片上系统;
多个运算模块分别与片上系统的连接,均采用片内信号传输的方式通信连接。
上述技术方案中,SM2协议相关如加密、解密、签名、验签、密钥协商、密钥生成等协议流程由SOC控制实现,对底层密码算法(SM3杂凑算法、密钥派生函数)、椭圆曲线运算(点乘、点加、倍点运算)的调用也由SOC控制实现,充分利用SOC的灵活性,避免了由FPGA逻辑进行SM2算法协议处理、模块调度的复杂性。同时,FPGA逻辑与SOC之间的数据及控制信号通过片内AXI总线完成通信,通信速率高且稳定,不会因为两部分之间的数据及控制信号的延迟或者出错,导致SM2算法性能下降或者出错。
在一些可选的实施方式中,还包括存储器,存储器与FPGA芯片连接。
上述技术方案中,采用FPGA芯片片外资源的存储器,不占用FPGA芯片有限的片上存储空间,FPGA芯片的片上资源的存储模块可做其他用途。
在一些可选的实施方式中,还包括存储器,存储器采用FPGA芯片的片上资源;
多个运算模块分别与存储器的连接,均采用片内信号传输的方式通信连接。
上述技术方案中,存储器采用FPGA芯片的片上资源的存储模块实现,运算模块生成的数据通过片内传输至存储器,通信速率高且稳定。
本申请实施例提供的一种消息保护系统,包括:
FPGA芯片,与处理器连接;
处理器,用于对待处理的数据根据SM2算法调用FPGA芯片的可并行处理的多个运算模块得到多个运算结果;根据多个运算结果,获取目标数据;运算模块用于实现点乘、倍点、点加、杂凑和密钥派生函数中至少一个。
本发明实施例采用消息保护系统实现SM2算法,如基于SM2的解密、验签等,消息保护系统包括FPGA芯片和处理器,SM2协议相关如解密、验签等协议流程由处理器控制实现,对底层密码算法和椭圆曲线运算的调用也由处理器控制实现,SM2算法的SM3杂凑算法、密钥派生函数、点乘运算、点加运算、倍点运算等运算均由FPGA逻辑实现,利用了FPGA的并行计算能力,提高了运算效率,极大的减小了运算时间。
在一些可选的实施方式中,多个运算模块通过FPGA芯片的配置模块根据采用的SM2算法进行相关配置;SM2算法包括SM2解密算法和SM2数字签名的验证算法中至少一个;目标数据包括明文数据和验证结果中的至少一个。
本发明实施例中,FPGA逻辑中布置有配置模块,SOC(即片上系统)通过向配置模块中写入如运算所需数据(或其存储地址)、运算开始等信息通知运算模块进行相应的运算;运算模块通过向配置模块中写入运算状态、运算结果(或其存储地址)等信息通知SOC此时的运算状态以及结果信息。根据FPGA芯片的配置模块将多个运算模块配置为SM2算法的SM2解密算法或SM2数字签名的验证算法,此时,待处理的数据为待解密的数据或待签名验证的数据,对应生成的目标数据为明文数据或数字签名的验证结果。
本申请实施例提供的一种消息保护方法,应用于处理器,包括:
调用真随机数发生器产生随机数;
根据随机数,对待加密的消息根据SM2加密算法调用FPGA芯片的可并行处理的多个运算模块得到多个运算结果;
根据多个运算结果组成密文数据。
本申请实施例中,SM2算法中的运算包括点乘运算、密钥派生运算、杂凑运算,其中点乘运算中调用倍点运算和点加运算,通过处理器调用FPGA运算模块完成对点乘运算、密钥派生运算、杂凑运算的调用,完成对点乘运算、密钥派生运算、杂凑运算的并行处理,提高基于公钥、密钥派生值以及杂凑结果得到密文数据的运算效率。
本申请实施例提供的一种消息保护方法,应用于处理器,包括:
调用真随机数发生器产生随机数;
根据随机数,对待签名的消息根据SM2数字签名生成算法调用FPGA芯片的可并行处理的多个运算模块得到多个运算结果;
根据多个运算结果,得到数字签名。
本申请实施例提供的一种消息保护方法,包括:
对待解密的消息,根据SM2解密算法调用FPGA芯片的可并行处理的多个运算模块得到多个运算结果;
根据多个运算结果,得到明文数据。
本申请实施例提供的一种消息保护方法,应用于处理器,包括:
对待验证的消息及其数字签名,根据SM2数字签名的验证算法调用所FPGA芯片的可并行处理的多个运算模块得到多个运算结果;
对多个运算结果分别进行验证,若任一运算结果验证不通过,则数字签名验证不通过。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种消息保护系统的结构示意图;
图2为本申请实施例提供的FPGA芯片的功能模块示意图;
图3为本申请实施例提供的一种消息保护系统结构示意图;
图4为本申请实施例采用消息保护系统实现的一种消息保护方法步骤流程图。
图标:1-处理器,2-FPGA芯片,21-运算模块,22-配置模块,3-真随机数发生器。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请实施例提供的一种消息保护系统及消息保护方法,能够在加密、解密、签名、验签、密钥协商、密钥生成等领域中实现SM2算法,并且提高了运算效率,极大的减小了运算时间。
为了便于对本申请实施例的理解,首先对本发明实施例提供的一种消息保护系统进行详细阐述:
请参照图1,图1为本申请实施例提供的一种消息保护系统的结构示意图,具体包括真随机数发生器3、FPGA芯片2和处理器1。
其中,真随机数发生器3,与处理器1连接;FPGA芯片2,与处理器1连接;处理器1,用于调用真随机数发生器3产生随机数,并对待处理的数据根据SM2算法调用FPGA芯片2的可并行处理的多个运算模块21得到多个运算结果;根据多个运算结果,获取目标数据;运算模块21用于实现点乘、倍点、点加、杂凑和密钥派生函数中至少一个。
本发明实施例采用消息保护系统实现SM2算法,如基于SM2的加密、解密、签名、验签、密钥协商、密钥生成等,消息保护系统包括真随机数发生器3、FPGA芯片2和处理器1,SM2协议相关如加密、解密、签名、验签、密钥协商、密钥生成等协议流程由处理器1控制实现,对真随机数发生器3、底层密码算法和椭圆曲线运算的调用也由处理器1控制实现,SM2算法的SM3杂凑算法、密钥派生函数、点乘运算、点加运算、倍点运算等运算均由FPGA逻辑实现,利用了FPGA的并行计算能力,提高了运算效率,极大的减小了运算时间。
请参照图2,图2为本申请实施例提供的FPGA芯片2的功能模块示意图,FPGA芯片2具有多个运算模块21和至少一个配置模块22。多个运算模块21通过FPGA芯片2的配置模块22根据采用的SM2算法进行相关配置。SM2算法包括SM2加密算法和SM2数字签名生成算法中至少一个;目标数据包括密文数据和数字签名中的至少一个。
本发明实施例中,FPGA逻辑中布置有配置模块22,SOC(即片上系统)通过向配置模块22中写入如运算所需数据(或其存储地址)、运算开始等信息通知运算模块进行相应的运算;运算模块通过向配置模块22中写入运算状态、运算结果(或其存储地址)等信息通知SOC此时的运算状态以及结果信息。根据FPGA芯片2的配置模块22将多个运算模块21配置为SM2算法的SM2加密算法或SM2数字签名生成算法,此时,待处理的数据为待加密的数据或待签名的数据,对应生成的目标数据为密文数据或数字签名。本申请实施例的配置模块22进行配置时,包括但不限于下述的三种情形:
第一种情形,多个运算模块21全部可以被配置为执行一个SM2加密算法,也可以其中每预设个数的运算模块执行一个SM2加密算法(例如,假设一共12个运算模块,每3个运算模块执行一个SM2加密算法,可以同时对4个SM2加密算法并行处理,得到对应的4个密文数据)。
第二种情形,多个运算模块21全部可以被配置为执行一个SM2数字签名生成算法,也可以其中每预设个数的运算模块执行一个SM2数字签名生成算法(例如,假设一共12个运算模块,每3个运算模块执行一个SM2数字签名生成算法,可以同时对4个SM2数字签名生成算法并行处理,得到对应的4个数字签名)。
第三种情形,部分运算模块21被配置为执行一个或多个SM2加密算法,部分运算模块21被配置为执行一个或多个SM2数字签名生成算法,对应的目标数据可以是密文数据,也可以是数字签名,例如:假设一共12个运算模块,其中6个运算模块执行2个SM2加密算法(每3个运算模块执行一个SM2加密算法),其中6个运算模块执行2个SM2数字签名生成算法(每3个运算模块执行一个SM2数字签名生成算法),可以同时对SM2加密算法和SM2数字签名生成算法并行处理,得到对应的密文数据和数字签名。
需明确的是,上述实施方式中,处理器1可以采用单片机、DSP、片上系统核等方式实现。在接下来的描述中,对处理器1采用片上系统的实现方式进行详细阐述:
本申请实施例中消息保护系统的处理器1采用FPGA芯片2的片上系统。并且,多个运算模块21分别与片上系统的连接,均采用片内信号传输的方式通信连接。
本申请实施例中,SM2协议相关如加密、解密、签名、验签、密钥协商、密钥生成等协议流程由SOC控制实现,对底层密码算法(SM3杂凑算法、密钥派生函数)、椭圆曲线运算(点乘、点加、倍点运算)的调用也由SOC控制实现,充分利用SOC的灵活性,避免了由FPGA逻辑进行SM2算法协议处理、模块调度的复杂性。同时,FPGA逻辑与SOC之间的数据及控制信号通过片内AXI总线完成通信,通信速率高且稳定,不会因为两部分之间的数据及控制信号的延迟或者出错,导致SM2算法性能下降或者出错。
更多的,本申请实施例的消息保护系统还包括存储器,存储器与FPGA芯片2连接。本申请实施例采用FPGA芯片2片外资源的存储器,不占用FPGA芯片2有限的片上存储空间,FPGA芯片2的片上资源的存储模块可做其他用途。
更多的,本申请实施例的消息保护系统还包括存储器,存储器采用FPGA芯片2的片上资源;多个运算模块21分别与存储器的连接,均采用片内信号传输的方式通信连接。本申请实施例的存储器采用FPGA芯片2的片上资源的存储模块实现,运算模块21生成的数据通过片内传输至存储器,通信速率高且稳定。
请参照图3,图3为本申请实施例提供的一种消息保护系统结构示意图,包括:
FPGA芯片2,与处理器1连接;
处理器1,用于对待处理的数据根据SM2算法调用FPGA芯片2的可并行处理的多个运算模块21得到多个运算结果;根据多个运算结果,获取目标数据;运算模块21用于实现点乘、倍点、点加、杂凑和密钥派生函数中至少一个。
本发明实施例采用消息保护系统实现SM2算法,如基于SM2的解密、验签等,消息保护系统包括FPGA芯片2和处理器1,SM2协议相关如解密、验签等协议流程由处理器1控制实现,对底层密码算法和椭圆曲线运算的调用也由处理器1控制实现,SM2算法的SM3杂凑算法、密钥派生函数、点乘运算、点加运算、倍点运算等运算均由FPGA逻辑实现,利用了FPGA的并行计算能力,提高了运算效率,极大的减小了运算时间。
同样的,如图2,本申请实施例提供的FPGA芯片2具有多个运算模块21和至少一个配置模块22。多个运算模块21通过FPGA芯片2的配置模块22根据采用的SM2算法进行相关配置。该SM2算法包括SM2解密算法和SM2数字签名的验证算法中至少一个;目标数据包括明文数据和数字签名的验证结果中的至少一个。
本发明实施例中,FPGA逻辑中布置有配置模块22,SOC(即片上系统)通过向配置模块22中写入如运算所需数据(或其存储地址)、运算开始等信息通知运算模块进行相应的运算;运算模块通过向配置模块22中写入运算状态、运算结果(或其存储地址)等信息通知SOC此时的运算状态以及结果信息。根据FPGA芯片2的配置模块22将多个运算模块21配置为SM2算法的SM2解密算法或SM2数字签名的验证算法,此时,待处理的数据为待解密的数据或待签名验证的数据,对应生成的目标数据为明文数据或数字签名的验证结果。本申请实施例的配置模块22进行配置时,包括但不限于下述的三种情形:
第一种情形,多个运算模块21全部可以被配置为执行一个SM2解密算法,也可以其中每预设个数的运算模块执行一个SM2解密算法(例如,假设一共12个运算模块,每3个运算模块执行一个SM2解密算法,可以同时对4个SM2解密算法并行处理,得到对应的4个明文数据)。
第二种情形,多个运算模块21全部可以被配置为执行一个SM2数字签名的验证算法,也可以其中每预设个数的运算模块执行一个SM2数字签名的验证算法(例如,假设一共12个运算模块,每3个运算模块执行一个SM2数字签名的验证算法,可以同时对4个SM2数字签名的验证算法并行处理,得到对应的4个数字签名的验证结果)。
第三种情形,部分运算模块21被配置为执行一个或多个SM2解密算法,部分运算模块21被配置为执行一个或多个SM2数字签名的验证算法,对应的目标数据可以是明文数据,也可以是数字签名的验证结果,例如:假设一共12个运算模块,其中6个运算模块执行2个SM2解密算法(每3个运算模块执行一个SM2解密算法),其中6个运算模块执行2个SM2数字签名的验证算法(每3个运算模块执行一个SM2数字签名的验证算法),可以同时对SM2解密算法和SM2数字签名的验证算法并行处理,得到对应的明文数据和数字签名的验证结果。
需明确的是,上述实施方式中,处理器1可以采用单片机、DSP、片上系统核等方式实现。在接下来的描述中,对处理器1采用片上系统的实现方式进行详细阐述:
本申请实施例中消息保护系统的处理器1采用FPGA芯片2的片上系统。并且,多个运算模块21分别与片上系统的连接,均采用片内信号传输的方式通信连接。
本申请实施例中,SM2协议相关如解密、验签等协议流程由SOC控制实现,对底层密码算法(SM3杂凑算法、密钥派生函数)、椭圆曲线运算(点乘、点加、倍点运算)的调用也由SOC控制实现,充分利用SOC的灵活性,避免了由FPGA逻辑进行SM2算法协议处理、模块调度的复杂性。同时,FPGA逻辑与SOC之间的数据及控制信号通过片内AXI总线完成通信,通信速率高且稳定,不会因为两部分之间的数据及控制信号的延迟或者出错,导致SM2算法性能下降或者出错。
同样的,本申请实施例的消息保护系统还包括存储器。存储器与FPGA芯片2连接。本申请实施例可以采用FPGA芯片2片外资源的存储器,不占用FPGA芯片2有限的片上存储空间,FPGA芯片2的片上资源的存储模块可做其他用途。
本申请实施例的存储器也可以采用FPGA芯片2的片上资源;多个运算模块21分别与存储器的连接,均采用片内信号传输的方式通信连接。本申请实施例的存储器采用FPGA芯片2的片上资源的存储模块实现,运算模块21生成的数据通过片内传输至存储器,通信速率高且稳定。
请参照图4,图4为本申请实施例采用消息保护系统实现的一种消息保护方法步骤流程图,具体包括:
110、处理器1调用真随机数发生器3产生随机数;
120、处理器1根据随机数,对待加密的消息根据SM2加密算法调用FPGA芯片2的可并行处理的多个运算模块21得到多个运算结果;
其中,步骤120具体包括:
步骤121、处理器1调用第一FPGA运算模块,以在FPGA运算模块21上基于基点数据以及随机数生成公钥,并将公钥进行存储。
步骤122、处理器1调用第二FPGA运算模块,以在FPGA运算模块21上基于公钥、随机数、明文长度值、密钥派生函数以及明文生成密钥派生值,并将密钥派生值进行存储。
步骤123、处理器1调用第三FPGA运算模块以完成基于公钥点乘值以及明文生成杂凑结果的哈希运算,将杂凑结果存入进行存储。
130、处理器1根据多个运算结果组成密文数据。
具体包括:读取已存储的所述公钥、密钥派生值以及杂凑结果以输出明文对应的密文数据。
因此,步骤110-130中,SM2算法中的运算包括点乘运算、密钥派生运算、杂凑运算,其中点乘运算中调用倍点运算和点加运算,通过处理器1调用FPGA运算模块21完成对点乘运算、密钥派生运算、杂凑运算的调用,完成对点乘运算、密钥派生运算、杂凑运算的并行处理,提高基于公钥、密钥派生值以及杂凑结果得到密文数据的运算效率。
与上述采用SM2加密算法实现数据加密类似的,本申请实施例提供的一种消息保护方法,应用于处理器1,采用SM2数字签名的生成算法,该消息保护方法具体包括:调用真随机数发生器3产生随机数;根据随机数,对待签名的消息根据SM2数字签名生成算法调用FPGA芯片2的可并行处理的多个运算模块21得到多个运算结果;根据多个运算结果,得到数字签名。通过处理器1调用多个FPGA运算模块21完成多个运算的并行处理,提高了运算效率,减少了运算时间。
与上述采用SM2加密算法实现数据加密类似的,本申请实施例提供的一种消息保护方法,应用于处理器1,采用SM2解密算法,该消息保护方法具体包括:对待解密的消息,根据SM2解密算法调用FPGA芯片2的可并行处理的多个运算模块21得到多个运算结果;根据多个运算结果,得到明文数据。通过处理器1调用多个FPGA运算模块21完成多个运算的并行处理,提高了运算效率,减少了运算时间。
与上述采用SM2加密算法实现数据加密类似的,本申请实施例提供的一种消息保护方法,应用于处理器1,采用SM2数字签名的验证算法,该消息保护方法具体包括:对待验证的消息及其数字签名,根据SM2数字签名的验证算法调用所FPGA芯片2的可并行处理的多个运算模块21得到多个运算结果;对多个运算结果分别进行验证,若任一运算结果验证不通过,则数字签名验证不通过。通过处理器1调用多个FPGA运算模块21完成多个运算的并行处理,提高了运算效率,减少了运算时间。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (11)

1.一种消息保护系统,其特征在于,包括:
真随机数发生器,与处理器连接;
FPGA芯片,与所述处理器连接;
所述处理器,用于调用所述真随机数发生器产生随机数,并对待处理的数据根据SM2算法调用所述FPGA芯片的可并行处理的多个运算模块得到多个运算结果;根据所述多个运算结果,获取目标数据;所述运算模块用于实现点乘、倍点、点加、杂凑和密钥派生函数中至少一个。
2.如权利要求1所述的系统,其特征在于,所述多个运算模块通过所述FPGA芯片的配置模块根据采用的SM2算法进行相关配置;所述SM2算法包括SM2加密算法和SM2数字签名生成算法中至少一个;所述目标数据包括密文数据和数字签名中的至少一个。
3.如权利要求1所述的系统,其特征在于,所述处理器采用所述FPGA芯片的片上系统;
多个所述运算模块分别与所述片上系统的连接,均采用片内信号传输的方式通信连接。
4.如权利要求1-3任一所述的系统,其特征在于,还包括存储器,所述存储器与所述FPGA芯片连接。
5.如权利要求1-3任一所述的系统,其特征在于,还包括存储器,所述存储器采用所述FPGA芯片的片上资源;
多个所述运算模块分别与所述存储器的连接,均采用片内信号传输的方式通信连接。
6.一种消息保护系统,其特征在于,包括:
FPGA芯片,与处理器连接;
所述处理器,用于对待处理的数据根据SM2算法调用所述FPGA芯片的可并行处理的多个运算模块得到多个运算结果;根据所述多个运算结果,获取目标数据;所述运算模块用于实现点乘、倍点、点加、杂凑和密钥派生函数中至少一个。
7.如权利要求6所述的系统,其特征在于,所述多个运算模块通过所述FPGA芯片的配置模块根据采用的SM2算法进行相关配置;所述SM2算法包括SM2解密算法和SM2数字签名的验证算法中至少一个;所述目标数据包括明文数据和验证结果中的至少一个。
8.一种消息保护方法,其特征在于,应用于处理器,包括:
调用真随机数发生器产生随机数;
根据所述随机数,对待加密的消息根据SM2加密算法调用FPGA芯片的可并行处理的多个运算模块得到多个运算结果;
根据所述多个运算结果组成密文数据。
9.一种消息保护方法,其特征在于,应用于处理器,包括:
调用真随机数发生器产生随机数;
根据所述随机数,对待签名的消息根据SM2数字签名生成算法调用FPGA芯片的可并行处理的多个运算模块得到多个运算结果;
根据多个运算结果,得到数字签名。
10.一种消息保护方法,其特征在于,应用于处理器,包括:
对待解密的消息,根据SM2解密算法调用FPGA芯片的可并行处理的多个运算模块得到多个运算结果;
根据所述多个运算结果,得到明文数据。
11.一种消息保护方法,其特征在于,应用于处理器,包括:
对待验证的消息及其数字签名,根据SM2数字签名的验证算法调用所FPGA芯片的可并行处理的多个运算模块得到多个运算结果;
对所述多个运算结果分别进行验证,若任一运算结果验证不通过,则数字签名验证不通过。
CN202110859403.1A 2021-07-28 2021-07-28 一种消息保护系统及消息保护方法 Pending CN113572613A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110859403.1A CN113572613A (zh) 2021-07-28 2021-07-28 一种消息保护系统及消息保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110859403.1A CN113572613A (zh) 2021-07-28 2021-07-28 一种消息保护系统及消息保护方法

Publications (1)

Publication Number Publication Date
CN113572613A true CN113572613A (zh) 2021-10-29

Family

ID=78168652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110859403.1A Pending CN113572613A (zh) 2021-07-28 2021-07-28 一种消息保护系统及消息保护方法

Country Status (1)

Country Link
CN (1) CN113572613A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114491481A (zh) * 2021-12-31 2022-05-13 医渡云(北京)技术有限公司 一种基于fpga的安全计算方法及装置
CN115208615A (zh) * 2022-05-20 2022-10-18 北京科技大学 一种数控系统数据加密传输方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726598A (zh) * 2018-12-10 2019-05-07 佛山芯珠微电子有限公司 基于云服务器的嵌入式安全加密芯片
CN111416717A (zh) * 2019-01-07 2020-07-14 中安网脉(北京)技术股份有限公司 一种sm2算法并行多路硬件实现方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726598A (zh) * 2018-12-10 2019-05-07 佛山芯珠微电子有限公司 基于云服务器的嵌入式安全加密芯片
CN111416717A (zh) * 2019-01-07 2020-07-14 中安网脉(北京)技术股份有限公司 一种sm2算法并行多路硬件实现方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114491481A (zh) * 2021-12-31 2022-05-13 医渡云(北京)技术有限公司 一种基于fpga的安全计算方法及装置
CN115208615A (zh) * 2022-05-20 2022-10-18 北京科技大学 一种数控系统数据加密传输方法
CN115208615B (zh) * 2022-05-20 2023-12-19 北京科技大学 一种数控系统数据加密传输方法

Similar Documents

Publication Publication Date Title
Shim A survey of public-key cryptographic primitives in wireless sensor networks
CN110247757B (zh) 基于国密算法的区块链处理方法、装置及系统
US8429408B2 (en) Masking the output of random number generators in key generation protocols
CN109726598A (zh) 基于云服务器的嵌入式安全加密芯片
US9037623B2 (en) Proxy calculation system, proxy calculation method, proxy calculation requesting apparatus, and proxy calculation program and recording medium therefor
CN109450640B (zh) 基于sm2的两方签名方法及系统
CN113572613A (zh) 一种消息保护系统及消息保护方法
EP2686978B1 (en) Keyed pv signatures
US6549622B1 (en) System and method for a fast hardware implementation of RC4
CN113452527A (zh) 用于有状态的基于散列的签名的鲁棒状态同步
US20210135851A1 (en) Encryption processing system and encryption processing method
CN108880807A (zh) 私钥签名处理方法、装置、设备和介质
Biçer et al. Highly efficient and re-executable private function evaluation with linear complexity
CN108768634B (zh) 可验证加密签名生成方法和系统
CN113992432A (zh) 消息处理方法、消息总线系统、计算机设备及存储介质
CN114218594A (zh) 加解密初始化配置方法、边缘端、加解密平台及安全系统
CA2742530C (en) Masking the output of random number generators in key generation protocols
CN115412241B (zh) 实现后量子密码算法Kyber和Saber的融合密码安全处理器
CN110266478A (zh) 一种信息处理方法、电子设备
CN111712816A (zh) 使用密码蒙蔽以用于高效地使用蒙哥马利乘法
CN113034140B (zh) 实现智能合约加密的方法、系统、设备及存储介质
Pon et al. Dynamic reblocking RSA-based multisignatures scheme for computer and communication networks
CN114666035A (zh) 一种基于保密通信的区块链智能合约执行方法及运行系统
CN114238205A (zh) 一种抗功耗攻击的高性能ecc协处理器系统
Ramkumar Trustworthy computing under resource constraints with the DOWN policy

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination