大家好 我正在試圖構建一個代碼來演示如何在彙編中進行AES加密。 Intel最新手冊有AES在彙編中的實現
AESENC xmm1中,XMM2/m128中-Perform AES加密流的一個圓輪密鑰 從第二源操作數,從第一 源操作數上的128位數據(狀態)下操作,並將結果存儲在目標操作數中。
AESENCLAST xmm1中,XMM2/AES加密流 的循環密鑰 從第二源操作數,從第一 源操作數上的128位數據(狀態)下操作,m128中的最後-Perform回合和存儲結果在目標操作數中。
AESKEYGENASSIST xmm1中,XMM2/m128中,imm8指定 協助擴展AES加密密鑰,通過計算向生成用於加密的 回合密鑰步驟,使用圓在源操作數指定的128位數據和 8位常數指定爲立即數,將結果存儲在目標操作數 中。
要做到這一點,我會嘗試內聯彙編,我會建立它來比較在C中完成的正常AES的速度!我第一次頭腦風暴帶我思考如何在聯彙編 使用XMM任何幫助/集思廣益/共享的思想有關,一般我probs或想法,歡迎 乾杯=)
我寧願在程序集中編寫COBOL編譯器,也不願意使用程序集中的任何加密。 – 2011-01-05 22:07:30
@SanJacint:密碼學是少數幾個使用手工製作裝配真的是個好主意的例子之一。它是短小的,定義明確的代碼,需要高性能。而在AES的情況下,甚至還有特別的說明。 – CodesInChaos 2011-01-05 22:09:41
FWIW VIA處理器上的PadLock(xcrypt *)指令也支持AES算法,並且已經比英特爾的擴展功能延長了許多時間,這裏有更多的基準測試材料。 – ephemient 2011-01-05 22:19:42