IP Library › Granted Patent US 10,623,175
Granted Patent B2
US 10,623,175 · App. 15/973,015 · Granted Apr 14, 2020

SM3 hash algorithm acceleration processors, methods, systems, and instructions

Inventors: Shay Gueron (Haifa, IL); Vlad Krasnov (Nesher, IL)
Assignee: Intel Corporation
H04L9/0643G06F9/3001G06F9/30007G06F9/3016G06F9/30018G06F9/30036G06F9/3895G06F21/72G09C1/00H04L2209/125
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,623,175
App. No.
15/973,015
Granted
Apr 14, 2020
Kind
B2
Abstract

A processor includes a decode unit to decode an SM3 two round state word update instruction. The instruction is to indicate one or more source packed data operands. The source packed data operand(s) are to have eight 32-bit state words A j , B j , C j , D j , E j , F j , G j , and H j that are to correspond to a round (j) of an SM3 hash algorithm. The source packed data operand(s) are also to have a set of messages sufficient to evaluate two rounds of the SM3 hash algorithm. An execution unit coupled with the decode unit is operable, in response to the instruction, to store one or more result packed data operands, in one or more destination storage locations. The result packed data operand(s) are to have at least four two-round updated 32-bit state words A j+2 , B j+2 , E j+2 , and F j+2 , which are to correspond to a round (j+2) of the SM3 hash algorithm.

Claims (4)

1. A processor comprising:

a decode unit to decode an SM3 two round state word update instruction, and an SM3 four message expansion initiation instruction, the SM3 two round state word update instruction to indicate one or more source packed data operands, the one or more source packed data operands to have eight 32-bit state words A j , B j , C j , D j , E j , F j , G j , and H j that are to correspond to a round (j) of an SM3 hash algorithm, and the one or more source packed data operands to have a set of messages that are sufficient to evaluate two rounds of the SM3 hash algorithm, the SM3 four message expansion initiation instruction to indicate one or more source packed data operands that are to have a first subset of a set of message information sufficient to generate four new 32-bit messages for four sequential and consecutive rounds of an SM3 hash algorithm, and the SM3 four message expansion initiation instruction to indicate one or more destination storage locations;

a first execution unit coupled with the decode unit, the first execution unit configured, in response to the SM3 two round state word update instruction, to store one or more result packed data operands, in one or more destination storage locations that are to be indicated by the SM3 two round state word update instruction, the one or more result packed data operands to have at least four two-round updated 32-bit state words A j+2 , B j+2 , E j+2 , and F j+2 that are to correspond to a round (j+2) of the SM3 hash algorithm; and

a second execution unit coupled with the decode unit, the second execution unit configured, in response to the SM3 four message expansion initiation instruction, to store one or more result packed data operands in the one or more destination storage locations indicated by the SM3 four message expansion initiation instruction, the one or more result packed data operands for the SM3 four message expansion initiation instruction to include four intermediate results, each intermediate result representing a partial generation of a corresponding one of the four new 32-bit messages.

Continuity (3)
Continuation 15132208 · Apr 18, 2016
Continuation 14477552 · Sep 4, 2014
Related Publication 20180359083A1 · Dec 13, 2018