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