发明名称 |
Generating multiple secure hashes from a single data buffer |
摘要 |
One embodiment provides an apparatus. The apparatus includes a single instruction multiple data (SIMD) hash module configured to apportion at least a first portion of a message of length L to a number (S) of segments, the message including a plurality of sequences of data elements, each sequence including S data elements, a respective data element in each sequence apportioned to a respective segment, each segment including a number N of blocks of data elements and to hash the S segments in parallel, resulting in S segment digests, the S hash digests based, at least in part, on an initial value and to store the S hash digests; a padding module configured to pad a remainder, the remainder corresponding to a second portion of the message, the second portion related to the length L of the message, the number of segments and a block size; and a non-SIMD hash module configured to hash the padded remainder, resulting in an additional hash digest and to store the additional hash digest. |
申请公布号 |
US9425953(B2) |
申请公布日期 |
2016.08.23 |
申请号 |
US201314050326 |
申请日期 |
2013.10.09 |
申请人 |
Intel Corporation |
发明人 |
Gulley Sean M.;Gopal Vinodh;Feghali Wajdi K.;Guilford James D.;Wolrich Gilbert M.;Yap Kirk S. |
分类号 |
H04L9/06 |
主分类号 |
H04L9/06 |
代理机构 |
Grossman, Tucker, Perreault & Pfleger, PLLC |
代理人 |
Grossman, Tucker, Perreault & Pfleger, PLLC |
主权项 |
1. An apparatus, comprising:
a single instruction multiple data (SIMD) hash module configured to apportion at least a first portion of a message of length L to a number (S) of segments, the message comprising a plurality of sequences of data elements, each sequence comprising S data elements, a respective data element in each sequence apportioned to a respective segment, each segment comprising a number N of blocks of data elements and to hash the S segments in parallel, resulting in S segment digests, the S segment digests based, at least in part, on an initial value; the SIMD hash module is further configured to store the S segment digests; a padding module configured to pad a remainder, the remainder corresponding to a second portion of the message, the second portion related to the length L of the message, the number of segments and a block size; and a non-SIMD hash module configured to hash the padded remainder, resulting in an additional hash digest and to store the additional hash digest. |
地址 |
Santa Clara CA US |