[發明專利]用于處理SHA-2安全散列算法的方法和設備有效
| 申請號: | 201280072066.0 | 申請日: | 2012-03-30 |
| 公開(公告)號: | CN104509026B | 公開(公告)日: | 2018-04-24 |
| 發明(設計)人: | K·S·雅普;G·M·沃爾里齊;J·D·吉爾福德;V·戈帕爾;E·奧茲圖科;S·M·格爾雷;W·K·費格哈利;M·G·迪克森 | 申請(專利權)人: | 英特爾公司 |
| 主分類號: | H04L9/28 | 分類號: | H04L9/28 |
| 代理公司: | 上海專利商標事務所有限公司31100 | 代理人: | 張東梅 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 處理 sha 安全 算法 方法 設備 | ||
1.一種處理器,包括:
指令解碼器,用于解碼第一指令以處理安全散列算法2(SHA-2),所述第一指令是單指令多數據SIMD指令,所述第一指令具有與存儲SHA-2狀態的第一存儲位置相關聯的第一操作數以及與存儲多個消息和輪常數的第二存儲位置相關聯的第二操作數;以及
執行單元,其耦合到所述指令解碼器,并用于響應于經解碼的第一指令,對所述第一操作數指定的SHA-2狀態和所述第二操作數指定的多個消息和輪常數執行SHA-2散列算法的一次或多次迭代,
所述指令解碼器還用于接收第二指令,且所述執行單元還用于響應于第二指令,基于由第二指令指定的多個第一先前消息,執行消息調度操作的第一部分并生成中間結果,其中所述第二指令包括第三操作數、第四操作數和第五操作數,其中對于SHA-2輪操作的當前迭代i,所述第三操作數指定用于存儲消息w(i-13)、w(i-14)、w(i-15)和w(i-16)的位置,其中所述第四操作數指定用于存儲消息w(i-9)、w(i-10)、w(i-11)和w(i-12)的位置,且其中中間結果被存儲在由所述第五操作數指定的位置中。
2.如權利要求1所述的處理器,其特征在于,所述第一操作數指定具有至少256位的第一寄存器,用以存儲用于執行SHA-256輪操作的SHA-2狀態變量。
3.如權利要求2所述的處理器,其特征在于,第二操作數指定具有至少64位的第二寄存器或存儲器位置,用以存儲用于SHA-256輪操作的至少兩個消息和輪常數。
4.如權利要求1所述的處理器,其特征在于,所述第一操作數指定具有至少512位的第一寄存器,用以存儲用于執行SHA-512輪操作的SHA-2狀態變量。
5.如權利要求1所述的處理器,其特征在于,所述中間結果包括w(i-13)+s0(w(i-12))、w(i-14)+s0(w(i-13))、w(i-15)+s0(w(i-14))、w(i-16)+s0(w(i-15)),且其中函數s0(x)由s0(x)=(x ROTR 7)XOR(x ROTR 18)XOR(x ROTR 3)來表示。
6.如權利要求1所述的處理器,其特征在于,所述指令解碼器還用于接收第三指令,且所述執行單元還用于響應于第三指令,對第三指令中指定的中間結果和第二先前消息執行消息調度操作的第二部分,并生成接下來的輸入消息,用于將在SHA-2算法的一輪或多輪的接下來的迭代期間執行的SHA-2算法的一輪或多輪操作。
7.如權利要求6所述的處理器,其特征在于,所述第三指令包括第六操作數、第七操作數和第八操作數,其中對于SHA-2輪操作的當前迭代i,第六操作數指定用于存儲消息w(i-5)、w(i-6)、w(i-7)和w(i-8)的寄存器,其中第七操作數指定用于存儲消息w(i-1)、w(i-2)、w(i-3)和w(i-4)的寄存器,且其中接下來的輸入消息包括將要存儲在由第八操作數指定的寄存器中的w(i)、w(i+1)、w(i+2)和w(i+3)。
8.一種指令執行方法,包括:
在指令解碼器處,解碼第一指令以處理安全散列算法2(SHA-2)散列算法,所述第一指令是單指令多數據SIMD指令,所述第一指令具有與存儲SHA-2狀態的第一存儲位置相關聯的第一操作數以及與存儲多個消息和輪常數的第二存儲位置相關聯的第二操作數;以及
由耦合到所述指令解碼器的執行單元執行經解碼的第一指令,從而對所述第一操作數指定的SHA-2狀態和所述第二操作數指定的多個消息和輪常數執行SHA-2散列算法的一次或多次迭代,
所述方法還包括:
所述指令解碼器解碼第二指令;以及
響應于經解碼的第二指令,所述執行單元基于由第二指令指定的多個第一先前消息,執行消息調度操作的第一部分,并生成中間結果,
其中所述第二指令包括第三操作數、第四操作數和第五操作數,其中對于SHA-2輪操作的當前迭代i,所述第三操作數指定用于存儲消息w(i-13)、w(i-14)、w(i-15)和w(i-16)的位置,其中所述第四操作數指定用于存儲消息w(i-9)、w(i-10)、w(i-11)和w(i-12)的位置,且其中中間結果被存儲在由所述第五操作數指定的位置中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于英特爾公司,未經英特爾公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201280072066.0/1.html,轉載請聲明來源鉆瓜專利網。





