Aes
與軟體中的 AES 相比,AES-NI 是否提供更好的邊通道保護?
與軟體中的 AES 相比,AES-NI 是否提供更好的邊通道保護?此外,如果您能在答案中提供相應的參考資料,那就太好了。
是的,AES-NI 專門設計為恆定時間,因此比(某些)軟體實現提供更好的邊通道保護。但是請注意,如今已經存在相當快速的 AES 抗側通道軟體實現,更好的加密庫正在使用這些軟體實現。AES-NI 主要比這些實現提供了速度優勢。
來自英特爾® 高級加密標準(英特爾® AES)指令集白皮書:
AES 指令旨在減輕敏感數據(來自 Ring 3 間諜程序)的所有已知時序和記憶體側通道洩漏。它們的延遲與數據無關,並且由於所有計算都由硬體在內部執行,因此不需要查找表。因此,如果正確使用 AES 指令(例如,在以下程式碼範例中),AES 加密/解密以及密鑰擴展將具有與數據無關的時序,並且僅涉及與數據無關的記憶體訪問。因此,AES 指令允許編寫高性能的 AES 軟體,同時防止目前已知的軟體側通道攻擊