簡述Ascon加密算法
輕量級密碼算法是用于保護(hù)計算資源有限的物聯(lián)網(wǎng)和微型設(shè)備的資料創(chuàng)建和傳輸?shù)膶S妹艽a算法。而Ascon作為是輕量級密碼學(xué)標(biāo)準(zhǔn)算法,則更是輕量級密碼算法中的佼佼者。下面我們就來了解一下Ascon加密算法。
Ascon算法簡介
2018年8月,NIST開始征集輕量級密碼算法標(biāo)準(zhǔn),共收到了57份提交方案,其中Ascon以其較高的安全性以及較低的實現(xiàn)成本脫穎而出,最終在2023年2月7日被選為輕量級密碼標(biāo)準(zhǔn)。
Ascon算法是一套密碼族,包含7種密碼算法,由奧地利Graz大學(xué)、德國Infineon公司,以及Intel實驗室等單位共同設(shè)計并維護(hù)。其中AEAD和Hash被 NIST 選為了輕量級密碼算法標(biāo)準(zhǔn)。AEAD是一種同時具備保密性、完整性和可認(rèn)證性的加密形式,可以同時在算法內(nèi)部實現(xiàn)了加密和認(rèn)證的算法。

Ascon算法的原理
Ascon算法既是一種輕量級的哈希算法,也是一種輕量級的加密算法。其原理是利用基于Sponge的操作模式的單個輕量級置換和SPN置換,進(jìn)行輕量級的哈希和加密。
Ascon算法對輸入的密鑰和明文進(jìn)行一系列的操作,從而得到加密后的密文;再通過反向操作,使用同樣的置換和密鑰,對密文進(jìn)行解密,得到原始的明文。
Ascon算法的加密過程
- 輸入:密鑰K、明文P、關(guān)聯(lián)信息A。
- 將明文P分為m個64位塊,每個塊用P表示。
- 初始化計數(shù)器,用C表示。
- 對每個P,進(jìn)行以下操作:
a.通過密鑰K和輪操作函數(shù)pa,計算出中間值S。
b.將S分為兩個部分,一個是外在部分Sr(r bits),一個是內(nèi)在部分Sc(c bits),其中r+c=64,且r代表rate,c代表capacity。
c.通過密鑰K和輪操作函數(shù)pb,對Sr和Sc進(jìn)行加密,得到密文Cr和Dc。
d.將Cr和Dc合并成一個新的塊P',作為P的加密結(jié)果。
e.如果還有下一個明文塊P,則將C加1,然后返回步驟4;如果沒有下一個明文塊P,則結(jié)束加密過程。

Ascon算法的解密過程
- 輸入:密鑰K、密文P'、關(guān)聯(lián)信息A。
- 將密文P'分為m個64位塊,每個塊用P'表示。
- 初始化計數(shù)器,用C表示。
- 對每個P',進(jìn)行以下操作:
a.通過密鑰K和輪操作函數(shù)pb,對Cr和Dc進(jìn)行解密,得到Sr和Sc。
b.將Sr和Sc合并成一個新的塊P,作為P'的解密結(jié)果。
c.如果還有下一個密文塊P',則將C加1,然后返回步驟4;如果沒有下一個密文塊P',則結(jié)束解密過程。

Ascon算法的優(yōu)缺點(diǎn)
Ascon算法的速度非???,能耗非常低,在實際應(yīng)用中可以在硬件上長時間運(yùn)行。并且Ascon算法具有不錯的靈活性,可以滿足大多數(shù)需要輕量級密碼學(xué)的用例的需求。
但Ascon算法歸根結(jié)底還是輕量級加密算法,它的安全性是不能和AES等加密算法相比的,并且Ascon算法的應(yīng)用范圍也相對較窄,主要應(yīng)用于一些特定的領(lǐng)域和場景。
免責(zé)聲明:素材源于網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系刪稿。










