本文從AES的算法原理和基于ARM核嵌入式系統的開發著手,研究了AES算法的設計原則、數學知識、整體結構、算法描述以及AES存住的優點利局限性。 針對ARM核的體系結構及特點,對AES算法進行了優化設計,提出了從AES算法本身和其結構兩個方面進行優化的方法,在算法本身優化方面是把加密模塊中的字節替換運算、列混合運算和解密模塊中的逆列混合運算中原來的復雜的運算分別轉換為簡單的循環移位、乘和異或運算。在算法結構優化方面是在輸入輸山接口上采用了4個32位的寄存器對128bits數據進行了并行輸入并行輸出的優化設計;在密鑰擴展上的優化設計是采用內部擴展,即在進行每一輪的運算過程的同時算出下一輪的密鑰,并把下一輪的密鑰暫存在SRAM里,使得密鑰擴展與加/解密運算并行執行;加密和解密優化設計是將輪函數查表操作中的四個操作表查詢工作合并成一個操作表查詢工作,同時為了使加密代碼在解密代碼中可重用,節省硬件資源,在解密過程中采用了與加密相一致的過程順序。 根據上述的優化設計,基于ARM核嵌入式系統的ADS開發環境,提出了AES實現的軟硬件方案、AES加密模塊和解密模塊的實現方案以及測試方案,總結了基于ARM下的高效編程技巧及混合接口規則,在集成開發環境下對算法進行了實現,分別得出了初始密鑰為128bits、192bits和256bits下的加密與解密的結果,并得劍了正確驗證。在性能測試的過程中應用編譯器的優化選項和其它優化技巧優化了算法,使算法具有較高的加密速度。
標簽:
ARM
AES
嵌入式系統
算法優化
上傳時間:
2013-04-24
上傳用戶:liansi