CN116132049B - 数据加密的方法、装置、设备及存储介质 - Google Patents
数据加密的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116132049B CN116132049B CN202310010826.5A CN202310010826A CN116132049B CN 116132049 B CN116132049 B CN 116132049B CN 202310010826 A CN202310010826 A CN 202310010826A CN 116132049 B CN116132049 B CN 116132049B
- Authority
- CN
- China
- Prior art keywords
- data
- segment
- fragments
- processing
- promise
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
Abstract
本申请提供了一种数据加密的方法、装置、设备及存储介质,方法包括:获取到终端的访问数据的请求,基于椭圆曲线对访问数据进行加密处理,其中,椭圆曲线包括至少n个承诺值以及与承诺值对应的n个椭圆曲线系数,椭圆曲线系数为二进制数据,且n为正整数,加密处理包括:将二进制数据划分成数据片段;对数据片段进行第一数据处理,第一数据处理包括合并处理相同的数据片段对应的承诺值;对经过第一数据处理后的数据片段进行第二数据处理,第二数据处理包括合并处理互补的数据片段对应的承诺值;基于第一数据处理和第二数据处理后的数据片段以及承诺值,对数据进行加密处理,获得加密证明结果。
Description
技术领域
本申请涉及通信领域,更具体地,涉及一种数据加密的方法、装置、设备及存储介质。
背景技术
随着通信技术的发展,信息安全问题也受到越来越多的关注,目前,零知识证明(Zero Knowledge Proof,简称ZKP)作为密码学协议在通信行业中的应用越来越广泛。多项式承诺(polynomial commitment)是构造零知识证明系统常用密码学工具,其构造模型中证明者和验证者为主要参与者,使用交互证明方式构造。在生成证明过程中,通过椭圆曲线的多标量点乘计算(Multi scalar multiplication,简称MSM)产生多项式承诺,但MSM运算计算量大,算力要求高,证明所述时间较长,不利于数据的传输与实现。
因此,如何减小零知识证明所需时长,提高证明效率是亟待解决的问题。
发明内容
本申请的一些实施方式提供了可至少部分解决现有技术中存在的上述问题的一种数据加密的方法、装置、设备及存储介质。
根据本申请的一个方面,提供一种数据加密的方法,获取到终端的访问数据的请求,基于椭圆曲线对所述访问数据进行加密处理,其中,椭圆曲线包括至少n个承诺值以及与所述承诺值对应的n个椭圆曲线系数,所述椭圆曲线系数为二进制数据,且n为正整数,所述加密处理可包括:将所述二进制数据划分成数据片段;对所述数据片段进行第一数据处理,所述第一数据处理包括合并处理相同的所述数据片段对应的所述承诺值;对经过所述第一数据处理后的所述数据片段进行第二数据处理,所述第二数据处理包括合并处理互补的所述数据片段对应的所述承诺值;基于所述第一数据处理和所述第二数据处理后的所述数据片段以及所述承诺值,对数据进行加密处理,获得加密证明结果。
在本申请一个实施方式中,所述将所述二进制数据划分成数据片段可包括:将所述二进制数据进行预处理,使所述二进制数据的宽度相同;将所述二进制数据划分为m个数据片段,且每一个所述数据片段的宽度相同,其中,m≥2,且m为整数;获取所述数据片段对应的基准系数,其中,所述二进制数据为所述数据片段与对应的所述基准系数的乘积之和,所述二进制数据中处于相同数据位置的所述数据片段的所述基准系数相同。
在本申请一个实施方式中,所述第一数据处理可包括:将所述基准系数相同的所述数据片段进行对比,确定相同的所述数据片段;对相同的所述数据片段对应的所述承诺值合并处理。
在本申请一个实施方式中,所述第二数据处理可包括:在所述基准系数相同的所述数据片段中确定互补的第一数据片段与第二数据片段,其中,所述第一数据片段与所述第二数据片段之和为预设值,所述预设值大于所述第一数据片段或所述第二数据片段对应的数值范围的最大值;将所述第二数据片段转换为第三数据片段与所述第一数据片段之差,其中,所述第二数据片段对应的数值大于所述第一数据片段对应的数值,且所述第三数据片段与所述第二数据片段的所述基准系数不同;对所述第一数据片段对应的所述承诺值合并处理。
本申请另一方面提供了一种数据加密的装置,所述数据加密为基于椭圆曲线进行加密处理,其中,椭圆曲线包括至少n个承诺值以及与所述承诺值对应的n个椭圆曲线系数,所述椭圆曲线系数为二进制数据,且n为正整数,所述装置可包括:请求获取模块,用于获取到终端的访问数据的请求;
加密模块,用于基于所述椭圆曲线对所述访问数据进行加密处理,其中,所述加密模块包括:预处理单元,用于将所述二进制数据划分成数据片段;第一数据处理单元,用于对所述数据片段进行第一数据处理,所述第一数据处理包括合并处理相同的所述数据片段对应的所述承诺值;第二数据处理单元,用于对经过所述第一数据处理后的所述数据片段进行第二数据处理,所述第二数据处理包括合并处理互补的所述数据片段对应的所述承诺值;数据加密单元,用于基于所述第一数据处理和所述第二数据处理后的所述数据片段以及所述承诺值,对数据进行加密处理,获得加密证明结果。
在本申请一个实施方式中,所述预处理模块还可用于:将所述二进制数据进行预处理,使所述二进制数据的宽度相同;将所述二进制数据划分为m个数据片段,且每一个所述数据片段的宽度相同,其中,m≥2,且m为整数;获取所述数据片段对应的基准系数,其中,所述二进制数据为所述数据片段与对应的所述基准系数的乘积之和,所述二进制数据中处于相同数据位置的所述数据片段的所述基准系数相同。
在本申请一个实施方式中,所述第一数据处理模块还可用于:将所述基准系数相同的所述数据片段进行对比,确定相同的所述数据片段;对相同的所述数据片段对应的所述承诺值合并处理。
在本申请一个实施方式中,所述第二数据处理模块还可用于:在所述基准系数相同的所述数据片段中确定互补的第一数据片段与第二数据片段,其中,所述第一数据片段与所述第二数据片段之和为预设值,所述预设值大于所述第一数据片段或所述第二数据片段对应的数值范围的最大值;将所述第二数据片段转换为第三数据片段与所述第一数据片段之差,其中,所述第二数据片段对应的数值大于所述第一数据片段对应的数值,且所述第三数据片段与所述第二数据片段的所述基准系数不同;对所述第一数据片段对应的所述承诺值合并处理。
本申请再一方面提供了一种电子设备,所述电子设备可包括:处理器,适于执行计算机程序;以及计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现上述任一项的数据加密的方法。
本申请又一方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序使得计算机执行上述任一项的数据加密的方法。
根据本申请示例性的实施方式,通过对椭圆曲线系数对应的数据片段进行第一数据处理和第二数据处理,合并基准系数相同且数据片段相同和/或数据片段互补的承诺值,可以在一定程度上减少椭圆曲线的倍乘次数和/或椭圆曲线的加法次数,降低椭圆曲线的计算量,减少数据加密所需要的时间,即减少证明时间。并且在基于硬件实现椭圆曲线多标量点乘计算的过程中,可以减少使用硬件内部加法器和乘法器的数量,降低硬件的功耗。
附图说明
通过阅读参照以下附图所作的对非限制性实施例的详细描述,本申请的其它特征、目的和优点将会变得更明显。其中:
图1为根据本申请实施方式的数据加密的方法的流程图;
图2为根据本申请示例性实施方式的数据片段划分示意图;
图3为根据本申请实施方式的第一数据处理流程图;
图4为根据本申请实施方式的第二数据处理流程图;
图5为根据本申请实施方式的数据加密的装置的示意图;
图6为根据本申请示例性实施方式的电子设备示意图。
具体实施方式
为了更好地理解本申请,将参考附图对本申请的各个方面做出更详细的说明。应理解,这些详细说明只是对本申请的示例性实施方式的描述,而非以任何方式限制本申请的范围。在说明书全文中,相同的附图标号指代相同的元件。表述“和/或”包括相关联的所列项目中的一个或多个的任何和全部组合。
在附图中,为了便于说明,已稍微调整了元素的大小、尺寸和形状。附图仅为示例而并非严格按比例绘制。如在本文中使用的,用语“大致”、“大约”以及类似的用语用作表近似的用语,而不用作表程度的用语,并且旨在说明将由本领域普通技术人员认识到的、测量值或计算值中的固有偏差。另外,在本申请中,各步骤处理描述的先后顺序并不必然表示这些处理在实际操作中出现的顺序,除非有明确其它限定或者能够从上下文推导出的除外。
还应理解的是,诸如“包括”、“包括有”、“具有”、“包含”和/或“包含有”等表述在本说明书中是开放性而非封闭性的表述,其表示存在所陈述的特征、元件和/或部件,但不排除一个或多个其它特征、元件、部件和/或它们的组合的存在。此外,当诸如“...中的至少一个”的表述出现在所列特征的列表之后时,其修饰整列特征,而非仅仅修饰列表中的单独元件。此外,当描述本申请的实施方式时,使用“可”表示“本申请的一个或多个实施方式”。并且,用语“示例性的”旨在指代示例或举例说明。
除非另外限定,否则本文中使用的所有措辞(包括工程术语和科技术语)均具有与本申请所属领域普通技术人员的通常理解相同的含义。还应理解的是,除非本申请中有明确的说明,否则在常用词典中定义的词语应被解释为具有与它们在相关技术的上下文中的含义一致的含义,而不应以理想化或过于形式化的意义解释。
需要说明的是,在不冲突的情况下,本申请中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本申请。
在利用多项式承诺算法进行数据加密过程中,证明者通过多项式计算承诺值,并且可以在多项式中的任意一项进行查看,该多项式承诺算法可以证明多项式在特定的位置的承诺值与指定的值一致。证明者可以通过椭圆曲线的多标量点乘计算产生多项式承诺,基于多项式承诺对数据进行加密,但是产生多项式承诺这一过程需要较大的计算量,导致数据加密所需时间长,因此,本申请对基于椭圆曲线多标量点乘进行加密的方法进行改进处理,以减少数据加密过程的算力,进一步减少数据加密过程的时间。
在本申请示例性的实施方式中,数据加密为基于椭圆曲线进行加密处理,椭圆曲线包括至少n个承诺值以及与承诺值对应的n个椭圆曲线系数,所述椭圆曲线系数为二进制数据,且n为正整数。图1为根据本申请实施方式的数据加密的方法1000的流程图。如图1所示,数据加密的方法1000可包括:
步骤S100:获取到终端的访问数据的请求;
步骤S200:基于椭圆曲线对访问数据进行加密处理,加密处理可以包括以下步骤:
步骤S210:将二进制数据划分成数据片段;
步骤S220:对数据片段进行第一数据处理,第一数据处理包括合并处理相同的数据片段对应的承诺值;
步骤S230:对经过第一数据处理后的数据片段进行第二数据处理,第二数据处理包括合并处理互补的数据片段对应的承诺值;
步骤S240:基于第一数据处理和第二数据处理后的数据片段以及承诺值,对数据进行加密处理,并获得加密证明结果。
下面将上述数据加密的方法1000的各个步骤进行详细说明。
在示例性的实施方式中,在获取到终端的访问数据的请求,基于椭圆曲线对访问数据进行加密处理。椭圆曲线可以为n个标量点乘,表达式可以为Q=k1P1+k2P2+k3P3+…+knPn,其中,Q为通过点乘计算之后的椭圆曲线上的点,也称作承诺值,P1、P2、P3…Pn是椭圆曲线上的点,也称作承诺值,k1、k2、k3…kn是与承诺值对应的椭圆曲线系数,椭圆曲线系数可以表示为长度为L的二进制数据,其中,n为大于等于1的整数。在计算Q的过程中,需要nL次椭圆曲线的倍乘计算、统计期望的nL/2次的椭圆曲线的加法计算以及n-1次椭圆曲线加法计算。示例性地,k1、k2、k3…kn可以为不同的数值,在转化成二进制之后的数据长度不同,因此可以对二进制数据进行预处理,使二进制数据的宽度相同。例如,对二进制的数据高位进行补0,在不改变二进制数据数值的基础上,可以使多个二进制数据的宽度保持相同,即可以使k1、k2、k3…kn转化成二进制数据之后宽度相同。
在本申请示例性的实施方式中,将椭圆曲线系数,即二进制数据划分为多个数据片段,每个数据片段的宽度相同。图2为根据本申请示例性实施方式的数据片段划分示意图。如图2所示,对于每一个椭圆曲线系数,即长度为L的二进制数据,可以划分为m个数据片段,即seg1、seg2…segm,数据片段的宽度为W,其中,m=L/W,每个数据片段中的数据范围是0-M,其中,M=2W-1。因此,椭圆曲线表达式可以转化为Q=(k11+k12+…k1m)P1+(k21+k22+…k2m)P2+(k31+k32+…k3m)P3+…+(kn1+kn2+…knm)Pn。然后可以确定每一个数据片段的基准系数。
示例性地,数据片段的宽度为8bit为例进行说明,以seg表示数据片段,二进制数据可以按照顺序划分为seg1(bit[0-7])、seg2(bit[8-15])…segm(bit[a-a+7]),每一个数据片段都为以0或1表示的8位二进制数据片段,因此,seg1的基准系数为20,seg2的基准系数为28,依次类推,二进制数据为数据片段与对应的基准系数的乘积之和,并且二进制数据中处于相同数据位置的数据片段的基准系数相同,示例性的,k11、k21、k31…kn1的基准系数相同,基准系数在椭圆曲线的表达式中未示出。本领域技术人员可知,数据片段的宽度可以根据实际情况进行调整,本申请对此不作限制。
在本申请示例性的实施方式中,对数据片段进行第一数据处理,其中,第一数据处理包括合并处理相同的数据片段对应的承诺值。图3为根据本申请实施方式的第一数据处理流程图。如图3所示,第一数据处理包括:
步骤S221:将基准系数相同的数据片段进行对比,确定相同的数据片段;
步骤S222:对相同的数据片段对应的承诺值合并处理。
示例性地,对于基准系数相同的数据片段可以视为一个数据片段集,则椭圆曲线中可以包括m个数据片段集,以数据片段集以k11、k21、k31…km1为例,找出k11、k21、k31…km1中相同的数据片段,数据片段集中可以包含两个相同的数据片段,例如,数据片段k11与数据片段k31相同,则对数据片段k11与数据片段k31对应的承诺值合并处理,即将k11P1+k31P3转化为k11(P1+P3)或者k31(P1+P3)。数据片段集中可以包含三个相同的数据片段,例如,数据片段k11、数据片段k31与、数据片段k81相同,则对数据片段k11、数据片段k31与、数据片段k81对应的承诺值合并处理,即将k11P1+k31P3+k81P8转化为k11(P1+P3+P8)或者k31(P1+P3+P8)或者k81(P1+P3+P8)。本领域技术人员可知,本申请数据片段集中还可以包含其他相同数量的数据片段,每个数据集中包含的相同的数据片段的数量可以根据实际情况进行确定。
根据本申请示例性的实施方式,通过对椭圆曲线系数对应的数据片段进行第一数据处理,合并基准系数相同且数据片段也相同的承诺值,可以在一定程度上减少椭圆曲线的倍乘次数和/或椭圆曲线的加法次数,降低椭圆曲线的计算量。并且在基于硬件实现椭圆曲线多标量点乘计算的过程中,可以减少使用硬件内部加法器和乘法器的数量,降低硬件的功耗。
在本申请示例性的实施方式中,对经过第一数据处理后的数据片段进行第二数据处理,第二数据处理包括合并处理互补的数据片段对应的承诺值。图4为根据本申请实施方式的第二数据处理流程图。如图4所示,第二数据处理包括:
步骤S231:在基准系数相同的数据片段中确定互补的第一数据片段与第二数据片段,其中,第一数据片段与第二数据片段之和为预设值,预设值大于第一数据片段或第二数据片段对应的数值范围的最大值;
步骤S232:将第二数据片段转换为第三数据片段与第一数据片段之差,其中,第二数据片段对应的数值大于第一数据片段对应的数值,且第三数据片段与第二数据片段的基准系数不同;
步骤S233:对第一数据片段对应的承诺值合并处理。
示例性地,对于基准系数相同的数据片段可以视为一个数据片段集,则椭圆曲线中可以包括m个数据片段集,以数据片段集以k11、k21、k31…km1(如图2所示的seg1)为例,确定k11、k21、k31…km1中互补的第一数据片段与第二数据片段,其中,第一数据片段与第二数据片段之和为预设值,预设值大于第一数据片段或第二数据片段对应的数值范围的最大值。示例性的,对于宽度为W的数据片段,每个数据片段中的数据范围是0-M,其中,M=2W-1,预设值大于M。然后将第二数据片段转换为第三数据片段与第一数据片段之差,其中,第二数据片段对应的数值大于第一数据片段对应的数值,且第三数据片段与第二数据片段的基准系数不同。示例性地,在m个数据片段中进行筛选,当两个数据片段的和为预设值,则筛选出对应的数据片段对,作为第一数据片段与第二数据片段。以第一数据片段为k21(如图2中椭圆系数k2对应的seg1),对应的承诺值为P2,第二数据片段为k41(如图2中椭圆系数k4对应的seg1),对应的承诺值为P4,预设值为2W为例,即k21+k41=2W,并且k41对应的数值大于k21对应的数值,其中,k21P2+k41P4可以表示为k21P2+(2W-k21)P4,2W已经超出了seg1对应的基准系数的表示范围,因此可以划分到seg2对应的数据片段,以seg2对应的基准系数以及数据片段(即第三数据段)进行表示。通过上述处理,可以将一个较大的数值片段与承诺值的点乘转化为基准系数、较小的数值片段与承诺值的点乘。然后将同一片段的承诺值进行合并处理,即k21(P2-P4)。
根据本申请示例性的实施方式,通过对椭圆曲线系数对应的数据片段进行第二数据处理,合并基准系数相同且数据片段互补的承诺值,可以在一定程度上减少椭圆曲线的倍乘次数和/或椭圆曲线的加法次数,降低椭圆曲线的计算量。并且在基于硬件实现椭圆曲线多标量点乘计算的过程中,可以减少使用硬件内部加法器和乘法器的数量,降低硬件的功耗。
在本申请示例性的实施方式中,基于第一数据处理和第二数据处理后的数据片段以及承诺值,对数据进行加密处理,获得加密证明结果。
根据本申请示例性的实施方式,通过对椭圆曲线系数对应的数据片段进行第一数据处理和第二数据处理,合并基准系数相同且数据片段相同和/或数据片段互补的承诺值,可以在一定程度上减少椭圆曲线的倍乘次数和/或椭圆曲线的加法次数,降低椭圆曲线的计算量,减少数据加密所需要的时间。并且在基于硬件实现椭圆曲线多标量点乘计算的过程中,可以减少使用硬件内部加法器和乘法器的数量,降低硬件的功耗。
本申请另一方面还提供了一种数据加密的装置2000。图5为根据本申请实施方式的数据加密的装置2000的示意图。如图5所示,数据加密的装置2000可包括:请求获取模块2100和加密模块2200,其中,加密模块2200还可以包括预处理单元2210、第一数据处理单元2220、第二数据处理单元2230、数据加密单元2240。
在本申请示例性的实施方式中,请求获取模块2100,用于获取到终端的访问数据的请求;加密模块2200,用于基于椭圆曲线对访问数据进行加密处理,其中,预处理单元2210用于将二进制数据划分成数据片段。将椭圆曲线系数,即二进制数据划分为多个数据片段,每个数据片段的宽度相同。图2为根据本申请示例性实施方式的数据片段划分示意图。如图2所示,对于每一个椭圆曲线系数,即长度为L的二进制数据,可以划分为m个数据片段,即seg1、seg2…segm,数据片段的宽度为W,其中,m=L/W,每个数据片段中的数据范围是0-M,其中,M=2W-1。因此,椭圆曲线表达式可以转化为Q=(k11+k12+…k1m)P1+(k21+k22+…k2m)P2+(k31+k32+…k3m)P3+…+(kn1+kn2+…knm)Pn。然后可以确定每一个数据片段的基准系数。
示例性地,数据片段的宽度为8bit为例进行说明,以seg表示数据片段,二进制数据可以按照顺序划分为seg1(bit[0-7])、seg2(bit[8-15])…segm(bit[a-a+7]),每一个数据片段都为以0或1表示的8位二进制数据片段,因此,seg1的基准系数为20,seg2的基准系数为28,依次类推,二进制数据为数据片段与对应的基准系数的乘积之和,并且二进制数据中处于相同数据位置的数据片段的基准系数相同,示例性的,k11、k21、k31…kn1的基准系数相同,基准系数在椭圆曲线的表达式中未示出。本领域技术人员可知,数据片段的宽度可以根据实际情况进行调整,本申请对此不作限制。
在本申请示例性的实施方式中,第一数据处理单元2220用于对数据片段进行第一数据处理,其中,第一数据处理包括合并处理相同的数据片段对应的承诺值。
示例性地,对于基准系数相同的数据片段可以视为一个数据片段集,则椭圆曲线中可以包括m个数据片段集,以数据片段集以k11、k21、k31…km1为例,找出k11、k21、k31…km1中相同的数据片段,数据片段集中可以包含两个相同的数据片段,例如,数据片段k11与数据片段k31相同,则对数据片段k11与数据片段k31对应的承诺值合并处理,即将k11P1+k31P3转化为k11(P1+P3)或者k31(P1+P3)。数据片段集中可以包含三个相同的数据片段,例如,数据片段k11、数据片段k31与、数据片段k81相同,则对数据片段k11、数据片段k31与、数据片段k81对应的承诺值合并处理,即将k11P1+k31P3+k81P8转化为k11(P1+P3+P8)或者k31(P1+P3+P8)或者k81(P1+P3+P8)。本领域技术人员可知,本申请数据片段集中还可以包含其他相同数量的数据片段,每个数据集中包含的相同的数据片段的数量可以根据实际情况进行确定。
根据本申请示例性的实施方式,通过对椭圆曲线系数对应的数据片段进行第一数据处理,合并基准系数相同且数据片段也相同的承诺值,可以在一定程度上减少椭圆曲线的倍乘次数和/或椭圆曲线的加法次数,降低椭圆曲线的计算量。并且在基于硬件实现椭圆曲线多标量点乘计算的过程中,可以减少使用硬件内部加法器和乘法器的数量,降低硬件的功耗。
在本申请示例性的实施方式中,第二数据处理单元2230用于对经过第一数据处理后的数据片段进行第二数据处理,第二数据处理包括合并处理互补的数据片段对应的承诺值。
示例性地,对于基准系数相同的数据片段可以视为一个数据片段集,则椭圆曲线中可以包括m个数据片段集,以数据片段集以k11、k21、k31…km1(如图2所示的seg1)为例,确定k11、k21、k31…km1中互补的第一数据片段与第二数据片段,其中,第一数据片段与第二数据片段之和为预设值,预设值大于第一数据片段或第二数据片段对应的数值范围的最大值。示例性的,对于宽度为W的数据片段,每个数据片段中的数据范围是0-M,其中,M=2W-1,预设值大于M。然后将第二数据片段转换为第三数据片段与第一数据片段之差,其中,第二数据片段对应的数值大于第一数据片段对应的数值,且第三数据片段与第二数据片段的基准系数不同。示例性地,在m个数据片段中进行筛选,当两个数据片段的和为预设值,则筛选出对应的数据片段对,作为第一数据片段与第二数据片段。以第一数据片段为k21(如图2中椭圆系数k2对应的seg1),对应的承诺值为P2,第二数据片段为k41(如图2中椭圆系数k4对应的seg1),对应的承诺值为P4,预设值为2W为例,即k21+k41=2W,并且k41对应的数值大于k21对应的数值,其中,k21P2+k41P4可以表示为k21P2+(2W-k21)P4,2W已经超出以seg1对应的基准系数的表示范围,因此可以划分到seg2对应的数据片段,以seg2对应的基准系数以及数据片段(即第三数据段)进行表示。通过上述处理,可以将一个较大的数值片段与承诺值的点乘转化为基准系数、较小的数值片段与承诺值的点乘。然后将同一片段的承诺值进行合并处理,即k21(P2-P4)。
根据本申请示例性的实施方式,通过对椭圆曲线系数对应的数据片段进行第二数据处理,合并基准系数相同且数据片段互补的承诺值,可以在一定程度上减少椭圆曲线的倍乘次数和/或椭圆曲线的加法次数,降低椭圆曲线的计算量。并且在基于硬件实现椭圆曲线多标量点乘计算的过程中,可以减少使用硬件内部加法器和乘法器的数量,降低硬件的功耗。
在本申请示例性的实施方式中,数据加密单元2240用于基于第一数据处理和第二数据处理后的数据片段以及承诺值,对数据进行加密处理,获得加密证明结果。
根据本申请示例性的实施方式,通过对椭圆曲线系数对应的数据片段进行第一数据处理和第二数据处理,合并基准系数相同且数据片段相同和/或数据片段互补的承诺值,可以在一定程度上减少椭圆曲线的倍乘次数和/或椭圆曲线的加法次数,降低椭圆曲线的计算量,减少数据加密所需要的时间。并且在基于硬件实现椭圆曲线多标量点乘计算的过程中,可以减少使用硬件内部加法器和乘法器的数量,降低硬件的功耗。
本申请还提供了一种电子设备和计算机可读存储介质。图6为根据本申请示例性实施方式的电子设备示意图。如图6所示,该设备旨在表示设置在数据加密设备中的硬件装置,例如设置在数字计算机中的硬件装置。该数据加密的设备可表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。数据加密的设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该数据加密的电子设备包括:一个或多个处理器610、存储器620,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器610可以对在电子设备内执行的指令进行处理,包括存储在存储器620中或者存储器620上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面(Graphical User Interface,简称GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器610和/或多条总线与多个存储器620和多个存储器620一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器610为例。
存储器620即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器620存储有可由至少一个处理器610执行的指令,以使至少一个处理器610执行本申请所提供的用于数据加密的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的用于数据加密的方法。
存储器620作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块。处理器610通过运行存储在存储器620中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的用于数据加密的方法。
存储器620可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序。此外,存储器620可包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器620可包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
用于数据加密的电子设备还可以包括:输入装置630和输出装置640。处理器610、存储器620、输入装置630和输出装置640可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置630可接收输入的数字或字符信息,以及产生与二进制的数据处理的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置640可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。
如上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明。应理解的是,以上所述仅为本发明的具体实施方式,并不用于限制本发明。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据加密的方法,其特征在于,获取到终端的访问数据的请求,基于椭圆曲线对所述访问数据进行加密处理,其中,椭圆曲线包括至少n个承诺值以及与所述承诺值对应的n个椭圆曲线系数,所述椭圆曲线系数为二进制数据,且n为正整数,所述加密处理包括:
将每一个所述二进制数据划分成m个数据片段,其中,m=L/W,L为所述二进制数据的长度,W为所述数据片段的宽度;
对所述数据片段进行第一数据处理,所述第一数据处理包括合并处理相同的所述数据片段对应的所述承诺值;
对经过所述第一数据处理后的所述数据片段进行第二数据处理,所述第二数据处理包括合并处理互补的所述数据片段对应的所述承诺值,其中,所述数据片段包括互补的第一数据片段和第二数据片段,所述第一数据片段和所述第二数据片段之和为预设值;
基于所述第一数据处理和所述第二数据处理后的所述数据片段以及所述承诺值,对数据进行加密处理,获得加密证明结果。
2.根据权利要求1所述的数据加密的方法,其特征在于,所述将每一个所述二进制数据划分成m个数据片段包括:
将所述二进制数据进行预处理,使所述二进制数据的宽度相同;
将所述二进制数据划分为m个数据片段,且每一个所述数据片段的宽度相同,其中,m≥2,且m为整数;
获取所述数据片段对应的基准系数,其中,所述二进制数据为所述数据片段与对应的所述基准系数的乘积之和,所述二进制数据中处于相同数据位置的所述数据片段的所述基准系数相同。
3.根据权利要求2所述的数据加密的方法,其特征在于,所述第一数据处理包括:
将所述基准系数相同的所述数据片段进行对比,确定相同的所述数据片段;
对相同的所述数据片段对应的所述承诺值合并处理。
4.根据权利要求2所述的数据加密的方法,其特征在于,所述第二数据处理包括:
在所述基准系数相同的所述数据片段中确定互补的所述第一数据片段与第二数据片段,其中,所述预设值大于所述第一数据片段或所述第二数据片段对应的数值范围的最大值;
将所述第二数据片段转换为第三数据片段与所述第一数据片段之差,其中,所述第二数据片段对应的数值大于所述第一数据片段对应的数值,且所述第三数据片段与所述第二数据片段的所述基准系数不同;
对所述第一数据片段对应的所述承诺值合并处理。
5.一种数据加密的装置,其特征在于,所述数据加密为基于椭圆曲线进行加密处理,其中,椭圆曲线包括至少n个承诺值以及与所述承诺值对应的n个椭圆曲线系数,所述椭圆曲线系数为二进制数据,且n为正整数,所述装置包括:
请求获取模块,用于获取到终端的访问数据的请求;
加密模块,用于基于所述椭圆曲线对所述访问数据进行加密处理,其中,所述加密模块包括:
预处理单元,用于将所述二进制数据划分成m个数据片段,其中,m=L/W,L为所述二进制数据的长度,W为所述数据片段的宽度;
第一数据处理单元,用于对所述数据片段进行第一数据处理,所述第一数据处理包括合并处理相同的所述数据片段对应的所述承诺值;
第二数据处理单元,用于对经过所述第一数据处理后的所述数据片段进行第二数据处理,所述第二数据处理包括合并处理互补的所述数据片段对应的所述承诺值,其中,所述数据片段包括互补的第一数据片段和第二数据片段,所述第一数据片段和所述第二数据片段之和为预设值;
数据加密单元,用于基于所述第一数据处理和所述第二数据处理后的所述数据片段以及所述承诺值,对数据进行加密处理,获得加密证明结果。
6.根据权利要求5所述的数据加密的装置,其特征在于,所述预处理单元还用于:
将所述二进制数据进行预处理,使所述二进制数据的宽度相同;
将所述二进制数据划分为m个数据片段,且每一个所述数据片段的宽度相同,其中,m≥2,且m为整数;
获取所述数据片段对应的基准系数,其中,所述二进制数据为所述数据片段与对应的所述基准系数的乘积之和,所述二进制数据中处于相同数据位置的所述数据片段的所述基准系数相同。
7.根据权利要求6所述的数据加密的装置,其特征在于,所述第一数据处理单元还用于:
将所述基准系数相同的所述数据片段进行对比,确定相同的所述数据片段;
对相同的所述数据片段对应的所述承诺值合并处理。
8.根据权利要求6所述的数据加密的装置,其特征在于,所述第二数据处理单元还用于:
在所述基准系数相同的所述数据片段中确定互补的所述第一数据片段与所述第二数据片段,其中,所述预设值大于所述第一数据片段或所述第二数据片段对应的数值范围的最大值;
将所述第二数据片段转换为第三数据片段与所述第一数据片段之差,其中,所述第二数据片段对应的数值大于所述第一数据片段对应的数值,且所述第三数据片段与所述第二数据片段的所述基准系数不同;
对所述第一数据片段对应的所述承诺值合并处理。
9.一种电子设备,其特征在于,包括:
处理器,适于执行计算机程序;以及
计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至4中任一项所述的数据加密的方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至4中任一项所述的数据加密的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310010826.5A CN116132049B (zh) | 2023-01-04 | 2023-01-04 | 数据加密的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310010826.5A CN116132049B (zh) | 2023-01-04 | 2023-01-04 | 数据加密的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116132049A CN116132049A (zh) | 2023-05-16 |
CN116132049B true CN116132049B (zh) | 2023-09-08 |
Family
ID=86295092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310010826.5A Active CN116132049B (zh) | 2023-01-04 | 2023-01-04 | 数据加密的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116132049B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102074381B1 (ko) * | 2019-04-15 | 2020-02-06 | 팀블랙버드 주식회사 | 블록체인 기반의 익명 거래 수행 방법, 장치 및 기록 매체 |
CN112287040A (zh) * | 2020-10-30 | 2021-01-29 | 深圳前海微众银行股份有限公司 | 一种基于区块链的权益合并方法及装置 |
CN113486407A (zh) * | 2021-07-05 | 2021-10-08 | 建信金融科技有限责任公司 | 基于区块链的存单管理系统和方法 |
CN113507374A (zh) * | 2021-07-02 | 2021-10-15 | 恒生电子股份有限公司 | 门限签名方法、装置、设备以及存储介质 |
CN114337994A (zh) * | 2020-09-30 | 2022-04-12 | 华为技术有限公司 | 数据处理方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7940927B2 (en) * | 2005-04-27 | 2011-05-10 | Panasonic Corporation | Information security device and elliptic curve operating device |
-
2023
- 2023-01-04 CN CN202310010826.5A patent/CN116132049B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102074381B1 (ko) * | 2019-04-15 | 2020-02-06 | 팀블랙버드 주식회사 | 블록체인 기반의 익명 거래 수행 방법, 장치 및 기록 매체 |
CN114337994A (zh) * | 2020-09-30 | 2022-04-12 | 华为技术有限公司 | 数据处理方法、装置及系统 |
CN112287040A (zh) * | 2020-10-30 | 2021-01-29 | 深圳前海微众银行股份有限公司 | 一种基于区块链的权益合并方法及装置 |
CN113507374A (zh) * | 2021-07-02 | 2021-10-15 | 恒生电子股份有限公司 | 门限签名方法、装置、设备以及存储介质 |
CN113486407A (zh) * | 2021-07-05 | 2021-10-08 | 建信金融科技有限责任公司 | 基于区块链的存单管理系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116132049A (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11509474B2 (en) | Method and apparatus for obtaining privacy set intersection, device and storage medium | |
US11223483B2 (en) | Odd index precomputation for authentication path computation | |
US11516008B2 (en) | Efficient post-quantum secure software updates tailored to resource-constrained devices | |
US11750403B2 (en) | Robust state synchronization for stateful hash-based signatures | |
US20150172044A1 (en) | Order-preserving encryption system, encryption device, decryption device, encryption method, decryption method, and programs thereof | |
KR20230044318A (ko) | 모델 파라미터 조정 방법, 기기, 저장매체 및 프로그램 제품 | |
Chen et al. | SecRec: A privacy-preserving method for the context-aware recommendation system | |
AU2022203199A1 (en) | Digital signature method, signature information authentication method, and relevant electronic devices | |
US10078492B2 (en) | Generating pseudo-random numbers using cellular automata | |
CN116132049B (zh) | 数据加密的方法、装置、设备及存储介质 | |
CN113079010B (zh) | 基于保留格式算法的安全增强方法及装置 | |
WO2023107775A1 (en) | Computation of xmss signature with limited runtime storage | |
US20220006630A1 (en) | Low overhead side channel protection for number theoretic transform | |
CN115834020A (zh) | 同态加密自举方法和装置、处理器、片上系统以及计算设备 | |
US20220123949A1 (en) | Side channel protection for xmss signature function | |
CN111444535B (zh) | 用于生成聚合数据标签的方法、设备及计算机存储介质 | |
EP3758288A1 (en) | Digital signature verification engine for reconfigurable circuit devices | |
CN114466012A (zh) | 内容初始化方法、装置、电子设备和存储介质 | |
JP2023529690A (ja) | 同型暗号文に対する統計演算を行う装置及び方法 | |
CN114124360B (zh) | 加密装置及方法、设备和介质 | |
US10678511B1 (en) | Generating pseudo-random numbers using cellular automata | |
CN116089991B (zh) | 数据对齐方法、装置、设备及存储介质 | |
US11882216B1 (en) | End-to-end hardware acceleration for ZKP from witness generation to proof generation | |
CN115333868A (zh) | 基于奇偶轮循的对称加密方法、解密方法、装置、设备 | |
CN116074008A (zh) | 数据处理方法、装置、电子设备和计算机可读介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |