CN107276745B - 实施安全哈希算法的处理器以及数字信号处理方法 - Google Patents

实施安全哈希算法的处理器以及数字信号处理方法 Download PDF

Info

Publication number
CN107276745B
CN107276745B CN201710484848.XA CN201710484848A CN107276745B CN 107276745 B CN107276745 B CN 107276745B CN 201710484848 A CN201710484848 A CN 201710484848A CN 107276745 B CN107276745 B CN 107276745B
Authority
CN
China
Prior art keywords
hash algorithm
secure hash
processor
constant
group
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
Application number
CN201710484848.XA
Other languages
English (en)
Other versions
CN107276745A (zh
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.)
Shanghai Zhaoxin Semiconductor Co Ltd
Original Assignee
Shanghai Zhaoxin Integrated Circuit 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 Shanghai Zhaoxin Integrated Circuit Co Ltd filed Critical Shanghai Zhaoxin Integrated Circuit Co Ltd
Priority to CN201710484848.XA priority Critical patent/CN107276745B/zh
Priority to US15/665,543 priority patent/US10567163B2/en
Publication of CN107276745A publication Critical patent/CN107276745A/zh
Priority to EP17207664.8A priority patent/EP3419214B1/en
Priority to TW106144380A priority patent/TWI672633B/zh
Application granted granted Critical
Publication of CN107276745B publication Critical patent/CN107276745B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures

Abstract

一种处理器,以一内部存储器储存一安全哈希算法(SHA)所需的常数Kt,缩减自外部载入常数Kt所可能引起的延迟。所述处理器可还于指令集提供一条指令,以该条指令自该内部存储器取得上述常数Kt并完所取得的常数Kt的一特定处理,大大提升安全哈希算法(SHA)的施行效能。

Description

实施安全哈希算法的处理器以及数字信号处理方法
技术领域
本发明涉及实施安全哈希算法(Secure Hash Algorithm)的处理器。
背景技术
安全哈希算法(Secure Hash Algorithm,缩写为SHA)或称为安全杂凑算法包括一密码哈希函数家族,SHA-0、SHA-1、SHA-2、SHA-3。数字消息将经安全哈希算法SHA转换为消息摘要(message digest)。SHA-2包括SHA224、SHA 256、SHA 384与SHA 512。SHA 224与SHA256是基于32位字长(32bit word length)的类似算法,生成224位和256位的消息摘要。SHA384和SHA 512则是基于64位字长运算,产生384位和512位的消息摘要。
以下以SHA 256为例进行讨论。
SHA 256使用到的逻辑运算式是基于32位字长的运算,包括以下逻辑运算式:
Figure BDA0001330207390000011
Figure BDA0001330207390000012
Figure BDA0001330207390000013
Figure BDA0001330207390000014
Figure BDA0001330207390000015
Figure BDA0001330207390000016
以下讨论N循环的SHA 256计算。循环代号i由1递增至N。循环i的512字节的数字消息M(i)将被分割为各为32字节的数字消息块(chunks)
Figure BDA0001330207390000017
将延伸成为64个32字节的消息块Wt,t=0…63。此步骤称准备消息报表(message schedule)。消息块Wt运算式为:
Figure BDA0001330207390000021
将用于循环i的64次迭代运算。t又视为迭代代号。
迭代运算还有使用到32字节常数
Figure BDA0001330207390000022
t=0-63;将在循环i的64次迭代运算中分别提出使用。常数
Figure BDA0001330207390000023
是首64个素数(prime numbers)开立方根后,取小数部分的32字节。
迭代运算还使用到八个工作变量(working variables)a…h,于循环i之初,以先前一次循环(i-1)算出的哈希值(hash values)
Figure BDA0001330207390000024
初始化。
Figure BDA0001330207390000025
Figure BDA0001330207390000026
哈希值的初始值为
Figure BDA0001330207390000027
Figure BDA0001330207390000028
各迭带进行的运算包括:
Figure BDA0001330207390000029
Figure BDA00013302073900000210
h=g,g=f,f=e,e=d+T1,d=c,c=b,b=a,a=T1+T2。工作变量a…h在每次迭带中更新。
循环i的64次迭代运算完成后,获得的哈希值为:
Figure BDA00013302073900000211
Figure BDA00013302073900000212
哈希值将用于产生消息摘要。例如,第N次循环获得的哈希值
Figure BDA00013302073900000213
将用于产生256字节消息摘要,即
Figure BDA00013302073900000214
如以上所示,安全哈希算法(SHA)涉及庞大的常数使用以及复杂的运算。如何有效率地施行安全哈希算法为本技术领域一项重要课题。
发明内容
安全哈希算法(SHA)每次迭代运算(迭代代号t)需将消息块Wt与常数Kt进行相加,获得数值Wt+Kt。本发明提出一种处理器,具有一内部存储器储存常数Kt,缩减自处理器外部载入常数Kt所可能引起的延迟、且避免占据处理器与外部元件通信的总线。所述处理器可还于指令集提供一条指令,以该条指令自该内部存储器取得常数Kt并完成数值Wt+Kt运算,大大提升安全哈希算法(SHA)的施行效能。
根据本发明一种实施方式所实现的一处理器包括一内部存储器以及一执行单元集合。该内部存储器储存一安全哈希算法的一常数阵列,内含常数Kt。t为该安全哈希算法的迭代运算代号。t包括0至数字(L-1)的变化。该执行单元集合包括该安全哈希算法所需的执行单元群组。上述执行单元群组是自该内部存储器读取常数Kt实现该安全哈希算法的工作变量更新。一种实施方式中,上述执行单元群组接收一数值W+K取得指令。该数值W+K取得指令指示一读取地址,使上述执行单元群组据以自该内部存储器取得上述常数Kt。该数值W+K取得指令还使用一来源操作数。该来源操作数内容为消息块Wt。该数值W+K取得指令还储存消息块Wt以及常数Kt的加总Wt+Kt于一目标操作数,用于该安全哈希算法的工作变量更新。
根据本发明一种实施方式所实现的一种数字消息处理方法,包括:于一处理器内提供一内部存储器,储存一安全哈希算法的一常数阵列,内含常数Kt,t为该安全哈希算法的迭代运算的代号,t包括0至数字(L-1)的变化;以及,以该处理器的一执行单元集合中关于该安全哈希算法的执行单元群组自该内部存储器读取常数Kt,以实现该安全哈希算法的工作变量更新。
下文特举实施例,并配合附图,详细说明本发明内容。
附图说明
图1为方块图,根据本发明一种实施方式图解一处理器(processor)100;
图2为流程图,根据本发明一种实施方式说明处理器100对安全哈希算法(SHA)所做的部分运算;以及
图3对应图2流程条列程序码300,以SHA 256为例,且涉及四次迭代t+3、t+2、t+1以及t。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照权利要求界定。
图1为方块图,根据本发明一种实施方式图解一处理器(processor)100。处理器100可为各种形式的指令处理设备(instruction processing apparatus)。例如,处理器100可为通用处理器(general-purpose processor)。处理器100可为复杂指令集运算(CISC)处理器、精简指令集运算(RISC)处理器、超长指令字(VLIW)处理器任一或组合、或其他任何形式处理器。处理器100可实现多种处理器核心(processor core),包括,通用处理器的通用有序核心(general-purpose in-order core)或高效通用无序核心(high-performance general-purpose out-of-order core),图像或科学运算的特定功能运算核心。处理器100可实现具备通用功能的中央处理单元(central processing unit)、或特定功能的协处理器(coprocessor)。
如图所示,处理器100包括一指令解码器102、执行单元集合104、寄存器集合106以及一内部存储器108。
指令解码器102接收且解码一指令抓取器(instruction fetcher,未显示在图中)所送来的指令110。根据指令110,指令解码器102可产生一或多条微运算(microoperations)、微码(micro code)、微指令(micro instructions)、其他指令或其他控制信号、一或多个进入点(entry points)…等。指令解码器102将驱动执行单元集合104、寄存器集合106以及内部存储器108的运作或存取。
执行单元集合104可包括算数逻辑单元(arithmetic logic unit)、电路、或软硬件结合的执行逻辑,根据指令解码器102的指令解码结果动作。执行单元集合104提供安全哈希算法(SHA)所需的执行单元群组112。
寄存器集合106所提供的寄存器可用作执行单元所执行运算的来源操作数(source operands)和/或目标操作数(destination operands)。寄存器集合106提供安全哈希算法(SHA)所需的寄存器群组114。安全哈希算法(SHA)也可有部分利用处理器100外部的储存空间如系统存储器做操作数空间。
内部存储器108则提供空间116储存安全哈希算法(SHA)所使用的常数Kt,t包括0至数字(L-1)的变化,对应L次迭带运算。一种实施方式中,内部存储器108为处理器100的内部只读存储器(internal ROM),其中内容是出厂前烧录。以SHA 256为例,内部存储器108烧录有常数
Figure BDA0001330207390000041
t为0~63。此64个32位字长的常数
Figure BDA0001330207390000042
是首64个素数(prime numbers)开立方根后,取小数部分的32字节。由左至右、上而下列为:
Figure BDA0001330207390000051
内部存储器108的空间116可以t为索引进行查阅,提供常数
Figure BDA0001330207390000052
本发明还提供一种指令集(ISA)使该处理器100得以运作实现安全哈希算法(SHA)。特别是,所述指令集包括本分别新定义的一数值W+K取得指令。解码器102将以该数值W+K取得指令致动执行单元群组114中对应的执行单元。该些执行单元会自该内部存储器108空间116获得所需的常数Kt,且可以是自寄存器群组114实现的来源操作数取得所需的消息块Wt,并将两者相加得Wt+Kt。该数值W+K取得指令完全不操作执行单元集合104的载入(load)执行单元也不会自处理器100外部载入常数Kt,故不会占用处理器100对外的总线,也不会因为来不及自处理器100外部获得常数Kt,而延滞安全哈希算法(SHA)后续运算。
一种SHA 256实施方式中,该数值W+K取得指令为:
SHA256WKRNDS4xmm1,xmm2,Imm8;
Imm8[7:0]指示内部存储器108地址;一执行单元是据以读取内部存储器108获得常数
Figure BDA0001330207390000053
xmm2属于寄存器群组114之一,当作来源操作数使用,其中内容为Wt+3、Wt+2、Wt+1、Wt。xmm1为目标操作数,为该数值W+K取得指令运算结果的储存目标。
Figure BDA0001330207390000061
对应该数值W+K取得指令,该执行单元群组112包括内部存储器108存取用的执行单元以及负责加法运算的单指令多数据流扩展(SSE)执行单元。
图2为流程图,根据本发明一种实施方式说明处理器100对安全哈希算法(SHA)所做的部分运算。步骤S202准备消息块Wt。步骤S204于处理器100的内部存储器108取得常数Kt,并计算Wt+Kt。步骤S206将Wt+Kt用于工作变量(如SHA 256定义的八个工作变量a…h)更新。
图3对应图2流程条列程序码300,是以SHA 256为例,且涉及四次迭代t+3、t+2、t+1以及t。
指令SHA256MSG1、SHA256MSG2以及PADDW对应步骤S202,备妥消息块{Wt+3,Wt+2,Wt+1,Wt}于寄存器群组114内的一寄存器xmm0中。
指令SHA256WKRNDS4对应步骤S204且如前述动作,于处理器100的内部存储器108取得常数
Figure BDA0001330207390000062
并计算
Figure BDA0001330207390000063
Figure BDA0001330207390000064
存于寄存器群组114内的一寄存器XMM0中。
步骤S206则涉及两次指令SHA256RNDS2中间穿插指令PSRLDQ,将指令SHA256WKRNDS4所设定的寄存器XMM0内容
Figure BDA0001330207390000065
Figure BDA0001330207390000066
用于八个工作变量(a,b,c,d,e,f,g,h)四次迭带的更新。单一个指令SHA256RNDS2对应两次迭代的工作变量a…h更新。每次迭代进行的运算包括:
Figure BDA0001330207390000067
h=g,g=f,f=e,e=d+T_1,d=c,c=b,b=a,a=T1+T2。标号302所指的指令SHA256RNDS2是使用寄存器XMM0低位内容
Figure BDA0001330207390000068
Figure BDA0001330207390000069
实现八个工作变量(a,b,c,d,e,f,g,h)两次迭代(t与t+1)的更新。指令PSRLDQ负责移位寄存器XMM0内容。标号304所指的指令SHA256RNDS2是使用寄存器XMM0移位后的低位内容
Figure BDA0001330207390000071
Figure BDA0001330207390000072
实现八个工作变量(a,b,c,d,e,f,g,h)两次迭代(t+2与t+3)的更新。
图3程序码执行16次即完成SHA 256循环i的64次迭代(t=0至63)。循环i所得哈希值为:
Figure BDA0001330207390000073
Figure BDA0001330207390000074
Figure BDA0001330207390000075
哈希值将用于产生消息摘要。例如,第N次循环获得的哈希值
Figure BDA0001330207390000076
将用于产生256字节消息摘要,即
Figure BDA0001330207390000077
除以上讨论的SHA 256实施例,安全哈希算法(SHA)家族的SHA 384、SHA 512皆可如本发明利用处理器100内部存储器108储存常数Kt(t=0…(L-1)),并设计对应的数值W+K取得指令。
其他采用上述概念使处理器实现安全哈希算法(SHA)的技术都属于本发明所要保护的范围。基于以上技术内容,本发明还涉及基于安全哈希算法(SHA)的数字消息处理方法。
虽然本发明已以较佳实施例公开如上,然而其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,应当可以做些许更动与润饰,因此本发明的保护范围当视所附的权利要求所界定的为准。

Claims (18)

1.一种实施安全哈希算法将数字消息转换为消息摘要的处理器,包括:
一内部存储器,储存一安全哈希算法的一常数阵列,内含常数Kt,t为该安全哈希算法的迭代运算的代号,t包括0至数字L-1的变化;以及
一执行单元集合,包括该安全哈希算法所需的执行单元群组,
其中,上述执行单元群组是自该内部存储器读取常数Kt实现该安全哈希算法的工作变量更新;
上述执行单元群组接收一数值Wt+Kt取得指令;且
该数值Wt+Kt取得指令包含一读取地址,使上述执行单元群组据以自该内部存储器取得上述常数Kt。
2.如权利要求1所述的处理器,还包括:
一寄存器集合,包括该安全哈希算法使用的寄存器群组,
其中,上述执行单元群组是以上述寄存器群组暂存消息块Wt,使之与取自该内部存储器的常数Kt加总为Wt+Kt。
3.如权利要求2所述的处理器,其中:
上述执行单元群组是将上述Wt+Kt暂存于上述寄存器群组,用于该安全哈希算法的工作变量更新。
4.如权利要求1所述的处理器,还包括:
一寄存器集合,包括该安全哈希算法用的寄存器群组,
其中,该数值Wt+Kt取得指令还以上述寄存器群组实现一来源操作数,该来源操作数内容为消息块Wt。
5.如权利要求4所述的处理器,其中:
该数值Wt+Kt取得指令还以上述寄存器群组实现一目标操作数,储存消息块Wt以及常数Kt的加总Wt+Kt,用于该安全哈希算法的工作变量更新。
6.如权利要求1所述的处理器,其中:
该数值Wt+Kt取得指令包含该读取地址,使上述执行单元群组据以自该内部存储器取得常数{Kt+3,Kt+2,Kt+1,Kt}。
7.如权利要求6所述的处理器,还包括:
一寄存器集合,包括该安全哈希算法用的寄存器群组,
其中,该数值Wt+Kt取得指令还以上述寄存器群组实现一来源操作数,该来源操作数内容为消息块{Wt+3,Wt+2,Wt+1,Wt}。
8.如权利要求7所述的处理器,其中:
该数值Wt+Kt取得指令还以上述寄存器群组实现一目标操作数,储存消息块{Wt+3,Wt+2,Wt+1,Wt}以及常数{Kt+3,Kt+2,Kt+1,Kt}的加总{Wt+3,Wt+2,Wt+1,Wt}+{Kt+3,Kt+2,Kt+1,Kt},用于该安全哈希算法的工作变量更新。
9.如权利要求1所述的处理器,其中:
该安全哈希算法为SHA256,L为64;
常数Kt包括烧录于该内部存储器的64个常数。
10.如权利要求1所述的处理器,其中:上述工作变量包括a…h,更新运算如下:
Figure FDA0002448189510000021
Figure FDA0002448189510000022
h=g,g=f,f=e,e=d+T1,d=c,c=b,b=a,a=T1+T2。
11.一种实施安全哈希算法将数字消息转换为消息摘要的数字消息处理方法,包括:
于一处理器内提供一内部存储器,储存一安全哈希算法的一常数阵列,内含常数Kt,t为该安全哈希算法的迭代运算的代号,t包括0至数字(L-1)的变化;以及
以该处理器的一执行单元集合中关于该安全哈希算法的执行单元群组自该内部存储器读取常数Kt,以实现该安全哈希算法的工作变量更新,其中
上述执行单元群组接收一数值Wt+Kt取得指令;且
该数值Wt+Kt取得指令包含一读取地址,使上述执行单元群组据以自该内部存储器取得上述常数Kt。
12.如权利要求11所述的数字消息处理方法,还包括:
规划该处理器的一寄存器集合提供涉及该安全哈希算法的寄存器群组,
其中,上述执行单元群组是以上述寄存器群组暂存消息块Wt,使之与取自该内部存储器的常数Kt加总为Wt+Kt。
13.如权利要求12所述的数字消息处理方法,其中:
上述执行单元群组是将上述Wt+Kt暂存于上述寄存器群组,用于该安全哈希算法的工作变量更新。
14.如权利要求11所述的数字消息处理方法,还包括:
规划该处理器的一寄存器集合提供涉及该安全哈希算法的寄存器群组,
其中,该数值Wt+Kt取得指令还以上述寄存器群组实现一来源操作数,该来源操作数内容为消息块Wt。
15.如权利要求14所述的数字消息处理方法,其中:
该数值Wt+Kt取得指令还以上述寄存器群组实现一目标操作数,储存消息块Wt以及常数Kt的加总Wt+Kt,用于该安全哈希算法的工作变量更新。
16.如权利要求11所述的数字消息处理方法,其中:
该安全哈希算法为SHA 256,L为64;
常数Kt包括烧录于该内部存储器的64个常数。
17.如权利要求16所述的数字消息处理方法,其中:
常数Kt包括
Figure FDA0002448189510000031
其为首64个素数开立方根后,取小数部分的32字节;信号块Wt各为32字节,源于要以该SHA 256处理的512字节数字信号。
18.如权利要求11所述的数字消息处理方法,其中:
上述工作变量包括a…h,更新运算如下:
Figure FDA0002448189510000032
Figure FDA0002448189510000033
h=g,g=f,f=e,e=d+T1,d=c,c=b,b=a,a=T1+T2。
CN201710484848.XA 2017-06-23 2017-06-23 实施安全哈希算法的处理器以及数字信号处理方法 Active CN107276745B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710484848.XA CN107276745B (zh) 2017-06-23 2017-06-23 实施安全哈希算法的处理器以及数字信号处理方法
US15/665,543 US10567163B2 (en) 2017-06-23 2017-08-01 Processor with secure hash algorithm and digital signal processing method with secure hash algorithm
EP17207664.8A EP3419214B1 (en) 2017-06-23 2017-12-15 Processor with secure hash algorithm and digital signal processing method with secure hash algorithm
TW106144380A TWI672633B (zh) 2017-06-23 2017-12-18 實施安全雜湊演算法之處理器以及數位訊號處理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710484848.XA CN107276745B (zh) 2017-06-23 2017-06-23 实施安全哈希算法的处理器以及数字信号处理方法

Publications (2)

Publication Number Publication Date
CN107276745A CN107276745A (zh) 2017-10-20
CN107276745B true CN107276745B (zh) 2020-08-04

Family

ID=60068580

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710484848.XA Active CN107276745B (zh) 2017-06-23 2017-06-23 实施安全哈希算法的处理器以及数字信号处理方法

Country Status (4)

Country Link
US (1) US10567163B2 (zh)
EP (1) EP3419214B1 (zh)
CN (1) CN107276745B (zh)
TW (1) TWI672633B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI701554B (zh) * 2018-12-13 2020-08-11 英屬維京群島商鯨鏈先進股份有限公司 適用於雜湊演算法的電路系統
CN112988654A (zh) * 2019-12-12 2021-06-18 蜜蜂计算(香港)股份有限公司 适用于哈希算法的电路系统
CN111090397B (zh) * 2019-12-12 2021-10-22 苏州浪潮智能科技有限公司 一种数据重删方法、系统、设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181009B1 (en) * 2002-12-18 2007-02-20 Cisco Technology, Inc. Generating message digests according to multiple hashing procedures
US7346816B2 (en) * 2004-09-29 2008-03-18 Yen-Fu Liu Method and system for testing memory using hash algorithm
CN101907984A (zh) * 2009-08-07 2010-12-08 威盛电子股份有限公司 指令处理方法以及其所适用的超纯量管线微处理器
CN104509026A (zh) * 2012-03-30 2015-04-08 英特尔公司 用于处理sha-2安全散列算法的方法和设备
WO2017030622A2 (en) * 2015-06-27 2017-02-23 Intel Corporation Lightweight cryptographic engine

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620821B1 (en) * 2004-09-13 2009-11-17 Sun Microsystems, Inc. Processor including general-purpose and cryptographic functionality in which cryptographic operations are visible to user-specified software
EP2691906B1 (en) * 2011-03-31 2018-12-26 Irdeto B.V. Method and system for protecting execution of cryptographic hash functions
WO2013095521A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Instructions processors, methods, and systems to process blake secure hashing algorithm
US8838997B2 (en) * 2012-09-28 2014-09-16 Intel Corporation Instruction set for message scheduling of SHA256 algorithm
US10129018B2 (en) * 2015-11-12 2018-11-13 Intel Corporation Hybrid SM3 and SHA acceleration processors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181009B1 (en) * 2002-12-18 2007-02-20 Cisco Technology, Inc. Generating message digests according to multiple hashing procedures
US7346816B2 (en) * 2004-09-29 2008-03-18 Yen-Fu Liu Method and system for testing memory using hash algorithm
CN101907984A (zh) * 2009-08-07 2010-12-08 威盛电子股份有限公司 指令处理方法以及其所适用的超纯量管线微处理器
CN104509026A (zh) * 2012-03-30 2015-04-08 英特尔公司 用于处理sha-2安全散列算法的方法和设备
WO2017030622A2 (en) * 2015-06-27 2017-02-23 Intel Corporation Lightweight cryptographic engine

Also Published As

Publication number Publication date
EP3419214B1 (en) 2021-10-13
TW201905680A (zh) 2019-02-01
TWI672633B (zh) 2019-09-21
US20180375643A1 (en) 2018-12-27
EP3419214A1 (en) 2018-12-26
CN107276745A (zh) 2017-10-20
US10567163B2 (en) 2020-02-18

Similar Documents

Publication Publication Date Title
US20240126546A1 (en) Systems and methods for executing a fused multiply-add instruction for complex numbers
US10275216B2 (en) Floating point scaling processors, methods, systems, and instructions
JP6449349B2 (ja) 複数の128ビットデータパスにおけるsha1ラウンド処理のための命令セット
US9100184B2 (en) Instructions processors, methods, and systems to process BLAKE secure hashing algorithm
KR101893814B1 (ko) 3 소스 피연산자 부동 소수점 가산 프로세서, 방법, 시스템, 및 명령어
US10540177B2 (en) Efficient zero-based decompression
EP3001307B1 (en) Bit shuffle processors, methods, systems, and instructions
KR20150064197A (ko) 인접한 수집/분산 연산들의 통합
EP3398055A1 (en) Systems, apparatuses, and methods for aggregate gather and stride
EP2798476B1 (en) Vector frequency expand instruction
WO2013095535A1 (en) Floating point rounding processors, methods, systems, and instructions
EP2798480A1 (en) Vector frequency compress instruction
CN107276745B (zh) 实施安全哈希算法的处理器以及数字信号处理方法
US20170242697A1 (en) System and Method for Executing an Instruction to Permute a Mask
JP2021051727A (ja) グラフアプリケーション内の圧縮されたリストに効率的にアクセスするための間接参照のロード及びストアへのisaサポートのシステム及び方法
EP3607434B1 (en) Vector compress2 and expand2 instructions with two memory locations
US20210200549A1 (en) Systems, apparatuses, and methods for 512-bit operations
US20190138303A1 (en) Apparatus and method for vector horizontal logical instruction

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203

Patentee after: Shanghai Zhaoxin Semiconductor Co.,Ltd.

Address before: Room 301, 2537 Jinke Road, Zhangjiang hi tech park, Shanghai 201203

Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd.