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

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

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

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










