CN112104449B - 一种用于哈希算法的sdk - Google Patents
一种用于哈希算法的sdk Download PDFInfo
- Publication number
- CN112104449B CN112104449B CN202010844375.1A CN202010844375A CN112104449B CN 112104449 B CN112104449 B CN 112104449B CN 202010844375 A CN202010844375 A CN 202010844375A CN 112104449 B CN112104449 B CN 112104449B
- Authority
- CN
- China
- Prior art keywords
- len
- data
- unprocessed data
- unprocessed
- length
- 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
Images
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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种用于哈希算法的SDK,包括:初始化接口,设置有初始化接口函数,用于初始化过程,以实现将数据总长度T和未处理数据长度L_LEN初始化为0,将向量IV初始化为初始向量IV0;主计算接口,设置有主计算接口函数,用于哈希算法主计算过程,以实现将输入的原始数据进行分组获得整分组输入数据、未处理数据L以及未处理数据长度L_LEN,再将整分组输入数据传输至硬件密码设备进行迭代计算输出中间向量IV,以及保存未处理数据L和未处理数据长度L_LEN;填充输出结果接口,设置有填充输出结果接口函数,用于填充输出结果过程,以实现将未处理数据L填充为整分组输入数据,再将该整分组输入数据传输至硬件密码设备进行迭代计算输出最终IV向量IVn。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种用于哈希算法的SDK。
背景技术
哈希算法是在加解密运算中非常重要的不可逆运算,受到各国密码管理机构的重视。这种算法的基本内涵是针对长度任意的message消息进行特定的运算,该运算最终将输出长度恒定的杂凑值。哈希算法的操作步骤是不需要保密。一旦输入有及其细微的变化,其输出的哈希值的改变也是非常彻底。哈希算法在密码学中具有重要的地位,被广泛应用在数字签名,消息认证,数据完整性检测等领域。
目前,常见的哈希算法包括有MD5、SHA、SM3;其中,SM3密码杂凑是中国商用密码杂凑标准(也称哈希,或者单向散列),其消息分组为512位,经过填充和迭代压缩,生成256位的杂凑值,国密SM3算法为国内商用密码应用中的数字签名和验证、消息验证码的生成和验证以及随机数的生成提供了强有力支撑;
哈希算法的实现通常需要经过填充、分组、扩展和压缩运算处理过程,然而,传统的硬件密码设备实现的哈希算法通常是通过调用SDK接口实现算法的整个过程,输入任意字节的数据明文,输出固定长度的HASH值,每次输入硬件密码设备的是全部的明文数据,必须等待所有的明文数据准备完成以后才能输入到硬件密码设备进行运算,导致哈希算法的运算速度降低,应用不灵活,以及在软件应用时通常将硬件实现封装为SDK接口以便用户来调用,因此如何设计一种用于哈希算法的SDK,使得用户可以调用封装的SDK接口便能实现相应的哈希算法,且在设计的计算过程中不需等待所有的明文数据准备完成就能输入硬件密码设备进行运算,提高哈希算法的运算速度,方便外部灵活调用SDK接口是目前急需解决的问题。
发明内容
本发明针对上述问题,有必要提供一种用于哈希算法的SDK,其设置有三个接口函数,通过调用不同的接口实现相应的工作流程,使得主计算过程不需等待所有的明文数据准备完成就能输入硬件密码设备进行运算,提高哈希算法的运算速度,方便外部灵活调用SDK接口。
本发明提出一种用于哈希算法的SDK,包括:
初始化接口,设置有初始化接口函数,用于初始化过程,以实现将数据总长度T和未处理数据长度L_LEN初始化为0,将向量IV初始化为初始向量IV0;
主计算接口,设置有主计算接口函数,用于哈希算法主计算过程,以实现将输入的原始数据进行分组获得整分组输入数据、未处理数据L以及未处理数据长度L_LEN,再将整分组输入数据传输至硬件密码设备进行迭代计算输出中间向量IV,以及保存未处理数据L和未处理数据长度L_LEN;
填充输出结果接口,设置有填充输出结果接口函数,用于填充输出结果过程,以实现将未处理数据L填充为整分组输入数据,再将该整分组输入数据传输至硬件密码设备进行迭代计算输出最终IV向量IVn。
基于上述,所述原始数据包括输入数据D[]和数据长度D_LEN;
将输入的原始数据进行分组获得整分组输入数据、未处理数据L以及未处理数据长度L_LEN的方法为:
通过数据长度D_LEN和数据总长度T计算数据总长度T的最新值:数据总长度T+=D_LEN;
在所述未处理数据长度L_LEN为0时,将输入的所述数据长度D_LEN与分组原始字节BLOCK进行比较;
若D_LEN>BLOCK,则计算整分组的数量N=D_LEN/BLOCK,并将N个整分组数据输入至硬件密码设备进行计算后输出中间向量IV,以及保存未处理数据;其中,所述未处理数据包括未处理数据长度L_LEN=D_LEN-N* BLOCK,未处理数据L= D[]-N* BLOCK;
若D_LEN<BLOCK,则保存未处理数据;其中,所述未处理数据包括未处理数据长度L_LEN+=D_LEN,未处理数据L+=D[]。
基于上述,在所述未处理数据长度L_LEN不为 0时,若L_LEN+ D_LEN>BLOCK,则计算追加长度A_LEN=BLOCK-L_LEN,拼装一个整分组为L||(D的前A_LEN)后,输入至硬件密码设备进行计算后输出中间向量IV;以及将未处理数据长度L_LEN清零,计算剩余的输入数据长度D_LEN-=A_LEN、剩余的输入数据D[]-=A_LEN后继续执行;
若L_LEN+ D_LEN<BLOCK,则保存未处理数据;其中,所述未处理数据包括未处理数据长度L_LEN+=D_LEN,未处理数据L+=D[]。
基于上述,将未处理数据L填充为整分组输入数据的方法为:
检测未处理数据长度L_LEN是否为0;
若不为0,则判断未处理数据长度L_LEN是否大于最小填充;若大于最小填充,则使用填充规则将未处理数据拼装成两个整分组S=L||填充||T;若小于最小填充,则使用填充规则将未处理数据拼装成一个整分组S=L||填充||T;
若为0,则使用填充规则将未处理数据拼装成一个整分组S=L||填充||T。
基于上述,所述硬件密码设备的数量至少为一个。
基于上述,所述硬件密码设备为密码卡或智能密码钥匙。
本发明具有突出的实质性特点和显著的进步,具体的说:
(1)本发明通过设置的初始化接口函数、主计算接口函数和填充输出结果接口函数,使得外部应用在进行哈希算法的实现时仅需要调用SDK封装的这三个接口函数,通过这三步便能简单灵活实现。且哈希主计算过程中,设置硬件密码设备的输入部分包括整分组数据和IV向量,输出数据只有IV,分组原始字节BLOCK必须是相应算法设定的固定长度,输出IV作为下一次哈希运算的输入IV,软件程序中保存硬件密码设备输出的IV向量,硬件密码设备不保存记录运算结果的状态值,从而保证输入的明文数据不需要全部准备好,多次调用相应的接口函数即可完成哈希算法的实现;
(2)本发明的哈希主计算过程中,通过设置的主计算接口函数可以让多个硬件密码设备同时调用工作,实现多路HASH,保证对多个待HASH计算的整分组明文数据能同时进行计算,不用排队等待上一个软件程序的整个哈希计算完成,提高哈希计算的速度,应用更加灵活。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出本发明用于哈希算法的SDK中初始化过程的工作流程图。
图2示出本发明用于哈希算法的SDK中哈希主计算过程的工作流程图。
图3示出本发明用于哈希算法的SDK中填充输出结果过程的工作流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本实施例提出一种用于哈希算法的SDK,包括:
初始化接口,设置有初始化接口函数,用于初始化过程,以实现将数据总长度T和未处理数据长度L_LEN初始化为0,将向量IV初始化为初始向量IV0;
主计算接口,设置有主计算接口函数,用于哈希算法主计算过程,以实现将输入的原始数据进行分组获得整分组输入数据、未处理数据L以及未处理数据长度L_LEN,再将整分组输入数据传输至硬件密码设备进行迭代计算输出中间向量IV,以及保存未处理数据L和未处理数据长度L_LEN;
填充输出结果接口,设置有填充输出结果接口函数,用于填充输出结果过程,以实现将未处理数据L填充为整分组输入数据,再将该整分组输入数据传输至硬件密码设备进行迭代计算输出最终IV向量IVn。
如图1所示,在具体的实现过程中,初始化过程具体通过init接口函数实现,具体的流程为:
1)将数据总长度T初始化:T=0;
2)将未处理数据长度初始化:L_LEN=0;
3)将向量IV初始化:IV=IV0。
哈希算法主计算过程具体的流程为:
输入原始数据,所述原始数据包括输入数据D[]和数据长度D_LEN;
通过数据长度D_LEN和数据总长度T计算数据总长度T的最新值:数据总长度T+=D_LEN;
在所述未处理数据长度L_LEN为0时,将输入的所述数据长度D_LEN与分组原始字节BLOCK进行比较;
若D_LEN>BLOCK,则计算整分组的数量N=D_LEN/BLOCK,并将N个整分组数据输入至硬件密码设备进行计算后输出中间向量IV,以及保存未处理数据;其中,所述未处理数据包括未处理数据长度L_LEN=D_LEN-N* BLOCK,未处理数据L= D[]-N* BLOCK;
若D_LEN<BLOCK,则保存未处理数据;其中,所述未处理数据包括未处理数据长度L_LEN+=D_LEN,未处理数据L+=D[]。
在哈希主计算过程中,通过设置主计算接口函数对输入的原始数据进行分组后获得整分组输入数据,再传输至硬件密码设备进行迭代计算输出中间向量IV和保存未处理数据L,还包括:
在所述未处理数据长度L_LEN不为0时,若L_LEN+ D_LEN>BLOCK时,则计算追加长度A_LEN=BLOCK-L_LEN,拼装一个整分组为L||(D的前A_LEN)后,将其输入至硬件密码设备进行计算输出中间向量IV;以及将未处理数据长度L_LEN清零,计算剩余的输入数据长度D_LEN-=A_LEN、剩余的输入数据D[]-=A_LEN后继续执行;
若L_LEN+D_LEN<BLOCK,则保存未处理数据;其中,所述未处理数据包括未处理数据长度L_LEN+=D_LEN,未处理数据L+=D[]。
如图2所示,在具体的实施例中,哈希主计算过程具体通过update接口函数实现,具体的工作流程为:
S201,通过数据长度D_LEN和数据总长度T计算数据总长度T的最新值为:数据总长度T+=D_LEN;
S202,判断是否有未处理的数据,在所述未处理数据长度L_LEN小于 0时,表明不存在未处理的数据,转入S204执行;
S203,在所述未处理数据长度L_LEN大于0时,表明存在有未处理的数据,若L_LEN+D_LEN>BLOCK时,则计算追加长度A_LEN=BLOCK-L_LEN,拼装一个整分组为L||(D的前A_LEN)后,将其输入至硬件密码设备进行计算输出中间向量IV;以及将未处理数据长度L_LEN清零,计算D_LEN-=A_LEN,D[]-=A_LEN,转入S204执行;若L_LEN+D_LEN<BLOCK时,则直接保存未处理数据;其中,未处理数据包括:计算未处理数据长度L_LEN+=D_LEN,未处理数据L+=D[];
S204,将输入的所述数据长度D_LEN与分组原始字节BLOCK进行比较,若D_LEN>BLOCK,则计算整分组的数量N=D_LEN/BLOCK,并将N个整分组数据输入至硬件密码设备进行计算输出中间向量IV,以及保存未处理数据;其中未处理数据包括:计算未处理数据长度L_LEN=D_LEN-N*BLOCK,未处理数据L=D[]-N*BLOCK;
S205,若D_LEN<BLOCK,则保存未处理数据;其中未处理数据包括:计算未处理数据长度L_LEN=D_LEN-N* BLOCK,未处理数据L+=D[],L_LEN+=D_LEN。
在所述填充输出结果过程中,通过设置填充输出结果接口函数对未处理数据L进行填充后获得整分组数据,再传输至硬件密码设备进行计算输出最终IV向量IVn,具体包括:
检测未处理数据长度L_LEN是否为0;
若未处理数据长度L_LEN>0,表明存在有未处理的数据,则判断未处理数据长度L_LEN是否大于最小填充;若大于最小填充,则使用填充规则将未处理的数据拼装成两个整分组S=L||填充||T;若小于最小填充,则使用填充规则将未处理的数据拼装成一个整分组S=L||填充||T;
若未处理数据长度L_LEN为0,表明不存在未处理的数据,则使用填充规则将未处理的数据拼装成一个整分组S=L||填充||T;
将拼装成的整分组数据输入至硬件密码设备进行计算输出最终IV向量IVn,并将IVn作为最终的HASH值进行输出。
如图3所示,在具体的实施例中,填充输出结果过程具体通过final接口函数实现,具体的工作流程为:
判断是否有未处理数据:L_LEN>0;
若是,则继续判断未处理数据是否大于最小填充;
若大于最小填充,则使用填充规则把未处理数据组装至两个整分组:S=L||填充||T;若小于最小填充,则使用填充规则把未处理数据组装至一个整分组:S=L||填充||T;
将组装的整分组数据传入硬件密码设备计算并输出IV;
使用IV作为最终摘要值M,并输出M。
本实施例中,所述硬件密码设备至少包括密码卡、智能密码钥匙;所述硬件密码设备的数量至少为一个,多个所述硬件密码设备可以同时工作,对多个待HASH计算的数据同时进行计算;所述哈希算法的实现方法至少应用于MD5、SHA、SM3密码算法;所述分组原始字节BLOCK和最终的HASH值IVn的输出长度均根据哈希算法的类型而不同。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种用于哈希算法的SDK,其特征在于,包括:
初始化接口,设置有初始化接口函数,用于初始化过程,以实现将数据总长度T和未处理数据长度L_LEN初始化为0,将向量IV初始化为初始向量IV0;
主计算接口,设置有主计算接口函数,用于哈希算法主计算过程,以实现将输入的原始数据进行分组获得整分组输入数据、未处理数据L以及未处理数据长度L_LEN,再将整分组输入数据传输至硬件密码设备进行迭代计算输出中间向量IV,以及保存未处理数据L和未处理数据长度L_LEN;
填充输出结果接口,设置有填充输出结果接口函数,用于填充输出结果过程,以实现将未处理数据L填充为整分组输入数据,再将该整分组输入数据传输至硬件密码设备进行迭代计算输出最终IV向量IVn。
2.根据权利要求1所述的用于哈希算法的SDK,其特征在于,所述原始数据包括输入数据D[]和数据长度D_LEN;
将输入的原始数据进行分组获得整分组输入数据、未处理数据L以及未处理数据长度L_LEN的方法为:
通过数据长度D_LEN和数据总长度T计算数据总长度T的最新值:数据总长度T+=D_LEN;
在所述未处理数据长度L_LEN为0时,将输入的所述数据长度D_LEN与分组原始字节BLOCK进行比较;
若D_LEN>BLOCK,则计算整分组的数量N=D_LEN/BLOCK,并将N个整分组数据输入至硬件密码设备进行计算后输出中间向量IV,以及保存未处理数据;其中,所述未处理数据包括未处理数据长度L_LEN=D_LEN-N* BLOCK,未处理数据L= D[]-N* BLOCK;
若D_LEN<BLOCK,则保存未处理数据;其中,所述未处理数据包括未处理数据长度L_LEN+=D_LEN,未处理数据L+=D[]。
3.根据权利要求2所述的用于哈希算法的SDK,其特征在于:
在所述未处理数据长度L_LEN不为 0时,若L_LEN+ D_LEN>BLOCK,则计算追加长度A_LEN=BLOCK-L_LEN,拼装一个整分组为L||(D的前A_LEN)后,输入至硬件密码设备进行计算后输出中间向量IV;以及将未处理数据长度L_LEN清零,计算剩余的输入数据长度D_LEN-=A_LEN、剩余的输入数据D[]-=A_LEN后继续执行;
若L_LEN+ D_LEN<BLOCK,则保存未处理数据;其中,所述未处理数据包括未处理数据长度L_LEN+=D_LEN,未处理数据L+=D[]。
4.根据权利要求1所述的用于哈希算法的SDK,其特征在于,将未处理数据L填充为整分组输入数据的方法为:
检测未处理数据长度L_LEN是否为0;
若不为0,则判断未处理数据长度L_LEN是否大于最小填充;若大于最小填充,则使用填充规则将未处理数据拼装成两个整分组S=L||填充||T;若小于最小填充,则使用填充规则将未处理数据拼装成一个整分组S=L||填充||T,其中T为数据总长度;
若为0,则使用填充规则将未处理数据拼装成一个整分组S=L||填充||T,其中T为数据总长度。
5.根据权利要求1所述的用于哈希算法的SDK,其特征在于:所述硬件密码设备的数量至少为一个。
6.根据权利要求5所述的用于哈希算法的SDK,其特征在于,所述硬件密码设备为密码卡或智能密码钥匙。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010844375.1A CN112104449B (zh) | 2020-08-20 | 2020-08-20 | 一种用于哈希算法的sdk |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010844375.1A CN112104449B (zh) | 2020-08-20 | 2020-08-20 | 一种用于哈希算法的sdk |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112104449A CN112104449A (zh) | 2020-12-18 |
CN112104449B true CN112104449B (zh) | 2022-02-11 |
Family
ID=73754092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010844375.1A Active CN112104449B (zh) | 2020-08-20 | 2020-08-20 | 一种用于哈希算法的sdk |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112104449B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117353926B (zh) * | 2023-12-01 | 2024-02-27 | 苏州元脑智能科技有限公司 | 一种基于芯片的sm2算法密码处理方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612682A (zh) * | 2017-09-25 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种基于sha512算法的数据处理方法、装置及系统 |
CN107666387A (zh) * | 2016-07-27 | 2018-02-06 | 北京计算机技术及应用研究所 | 低功耗并行哈希计算电路 |
CN108959128A (zh) * | 2018-06-04 | 2018-12-07 | 浙江大学 | Crypt-SHA512加密算法的加速装置与方法 |
CN110489370A (zh) * | 2019-07-15 | 2019-11-22 | 广东工业大学 | 一种哈希算法sha256消息预处理的硬件填充方法 |
CN111464308A (zh) * | 2020-03-12 | 2020-07-28 | 烽火通信科技股份有限公司 | 一种实现多种哈希算法可重构的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10198248B2 (en) * | 2012-07-11 | 2019-02-05 | Intel Corporation | Parallel processing of a single data buffer |
-
2020
- 2020-08-20 CN CN202010844375.1A patent/CN112104449B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107666387A (zh) * | 2016-07-27 | 2018-02-06 | 北京计算机技术及应用研究所 | 低功耗并行哈希计算电路 |
CN107612682A (zh) * | 2017-09-25 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种基于sha512算法的数据处理方法、装置及系统 |
CN108959128A (zh) * | 2018-06-04 | 2018-12-07 | 浙江大学 | Crypt-SHA512加密算法的加速装置与方法 |
CN110489370A (zh) * | 2019-07-15 | 2019-11-22 | 广东工业大学 | 一种哈希算法sha256消息预处理的硬件填充方法 |
CN111464308A (zh) * | 2020-03-12 | 2020-07-28 | 烽火通信科技股份有限公司 | 一种实现多种哈希算法可重构的方法和系统 |
Non-Patent Citations (1)
Title |
---|
基于SM3的Android文件完整性检测系统;杨中皇等;《西安邮电大学学报》;20191110(第06期);26-30 * |
Also Published As
Publication number | Publication date |
---|---|
CN112104449A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0482371B1 (en) | Method and apparatus for controlling the use of a public key, based on the level of integrity for the key | |
US5231666A (en) | Cryptographic method for updating financial records | |
CN113343305B (zh) | 隐私数据的交集计算方法、装置、设备及存储介质 | |
EP0534420A2 (en) | A method for generating public and private key pairs using a passphrase | |
Teh et al. | Unkeyed hash function based on chaotic sponge construction and fixed-point arithmetic | |
KR20020091059A (ko) | 중매인의 사기 가능성을 감소시키면서 익명의 사용자를인증하는 방법 | |
Barker et al. | Sp 800-90a. recommendation for random number generation using deterministic random bit generators | |
CN108462574A (zh) | 一种轻量级密码加密方法和系统 | |
CN110610105A (zh) | 一种云环境下基于秘密共享的三维模型文件的认证方法 | |
CN112084534A (zh) | 一种哈希算法的实现方法及装置 | |
US20170257212A1 (en) | Cryptographic Apparatuses And Methods For Encrypting And Decrypting Data Using Automata | |
CN112152782A (zh) | 用于可重配置电路装置的后量子公钥签名操作 | |
CN112104449B (zh) | 一种用于哈希算法的sdk | |
CN110336661B (zh) | Aes-gcm数据处理方法、装置、电子设备及存储介质 | |
CN114124359A (zh) | 保留格式加密数据的方法、装置、电子设备及存储介质 | |
Shi et al. | A light-weight white-box encryption scheme for securing distributed embedded devices | |
Gilbert et al. | Decorrelated Fast Cipher: an AES Candidate | |
US20020136400A1 (en) | R-conversion encryption method and system | |
CN116318660B (zh) | 一种消息扩展与压缩方法及相关装置 | |
Mihaljevic et al. | A family of fast dedicated one-way hash functions based on linear cellular automata over GF (q) | |
Daemen et al. | A hardware design model for cryptographic algorithms | |
WO2007129197A1 (en) | Cryptographic apparatus and process | |
CN115952517A (zh) | 一种杂凑值计算方法及系统 | |
CN115277064A (zh) | 数据加密、数据解密方法、装置、电子设备和介质 | |
CN114239073A (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 |