Projekt iz programske potpore, ak. godina 2019./2020.
Voditelj:
prof. dr. sc.
Marin Golub
Detaljni opis algoritma dostupan je u tehnickoj dokumentaciji
Algoritam ACE dobio je ime po najjačoj karti u špilu, asu. ACE familija algoritama obuhvaća AEAD algoritam (primarni algoritam je ACE-AE-128) i algoritam HASH (primarni algoritam je ACE-H-256). Temelj je algoritama ACE permutacija s 320-bitnim stanjem koja između ostalog koristi i blokovski kripto algoritam Simeck-64. Oba algoritma koriste isto sklopovlje što ACE čini jednostavnijim za implementaciju u sustavima koji moraju koristiti oba algoritma. U AEAD algoritmimu duljina ključa je 128 bitova, a duljina nonce-a 128 bitova. U algoritmu HASH duljina inicijalizacijskog vektora je 24 bita, a duljina sažetka je 256 bitova.
Algoritam koristi kriptografsku permutaciju maskiranu pomoću LFSR(eng. Linear-feedback shift register). Shema Elephant algoritama sastoji se od tri instance: Dumbo, Jumbo i Delirium. Algoritam je jednostavan za implementaciju zbog korištenja LFSR za maskiranje. Koristi se modificirana spužvasta funkcija. Veličina ključa je 128 bitova, veličina bloka 160 bitova, a veličina nonce-a 96 bitova.
GIFT-COFB koristi blokovski kriptografski algoritam COFB (Combined FeedBack) baziran na AEAD algoritmu (Authenticated Encryption with Associated Data) sa optimiziranim blokovskim kriptografskim algoritmom GIFT-128. Potreban je samo jedan poziv blokovskog kriptografskog algoritma za jedan ulazni blok. Nije potrebno raditi inverz u postupku dekriptiranja. Veličina bloka je 128 bitova, veličina ključa je 128 bitova, a veličina nonce-a 128 bitova.
GIMLI familija algoritama obuhvaća i AEAD i HASH algoritme. Primarni algoritmi dijele isto ime, Gimli24v1. Naziv algoritma povezan je s brojem obavljanja GIMLI permutacije koja je temelj algoritma. Permutacija, ovisno o broju runde može obavljati jednu od 3 vrste operacija: operacija s SP kutijom, linearno miješanje slojeva (svake druge runde) i dodavanje konstante (svake četvrte runde). Glavni fokus GIMLI algoritma dobre su performanse u različitim okruženjima. Autori ne garantiraju unaprjeđenje performansi postojećih algoritama na svim platformama, već široko iskoristiv algoritam koji zadovoljava sigurnosne zahtjeve a čija bi univerzalna priroda olakšala standardizaciju lakih kriptografskih algoritama. U AEAD algoritmimu duljina ključa je 256 bitova, a duljina nonce-a 128 bitova. U algoritmu HASH duljina sažetka je 256 bitova.
GRAIN-128AEAD je AEAD (Authenticated Encryption with Associated Data) baziran na GRAIN-128a algoritmu. Ne sprema ključ u postojanu podatkovnu memoriju što omogućuje ažuriranje ključa na uređaju (iskoristiv na većem rasponu uređaja). Veličina bloka je 64 bitova, veličina ključa je 128 bitova, a veličina nonce-a 96 bitova. Može se konstruirati pomoću primitivnih hardverskih blokova, poput NAND-a, XOR-a i takozvanog flip-flop sklopovlja.
HyENA (engl. Hybrid feedback-based ENcryption with Authentication) implementira AEAD. Neka od zanimljivih svojstava HyENA-e su single-pass, inverse-free te iznimno mala veličina stanja, otprilike 1.5n + k za kriptirani blok sa n-bitnim blokom i k-bitnim ključem. HyENA se instancira sa kriptiranim blokom GIFT-128. Veličina ključa iznosi 128 bitova, valičina bloka 128 bitova, te veličina nonce-a 96 bitova. Hash algoritam nije implementiran.
LOTUS-AEAD i LOCUS-AEAD su AEAD algoritmi sa optimiziranim blokovskim kriptografskim algoritmom TweGIFT-64. Oba algoritma su potpuno paralelizirana i pružaju integritet sigurnosti čak i kada algoritam dekriptiranja vraća neverificirani plaintext. Veličina bloka 64 bita, ključ duljine 128 bitova, nonce duljine 128 bitova.
Authenticated Encryption with Associated Data algoritam (AEAD) baziran na AES’128/128 blokovskom kriptografskom algoritmu. Minimally Xored Feedback mode (mixFeed) koristi blokovski kriptografski algoritam u kombinaciji s key-scheduling algoritmom. Koristi kombinaciju Plaintext-a i Ciphertext-a. Još jedan od svojstava je da upotrebljava nonce-dependent key što povećava razinu sigurnosti. Veličina bloka 128 bita, ključ duljine 128 bitova, nonce duljine 120 bitova.
Ime ORANGE dolazi od „Optimum Rate spoNGE construction“. Implementirani su AEAD (Authenticated Encryption with Associated Data) algoritam ORANGEZest te Hash algoritam ORANGEISH. Hash algoritam ORANGEISH je vrlo blizak procesu AD u AE algoritmu ORANGE-Zest kako bi istovremena implementacija oba algoritma bila optimirana Veličina bloka je 128 bitova, veličina ključa 128 bitova, a veličina nonce-a 128 bitova.
PHOTON-Beetle kombinacija je Beetle spužvaste funkcije i PHOTON256 permutacije. Ta kombinacija dozvoljava jedan od najboljih AEAD dizajna po pitanju broja stanja i površini sklopovlja. Može se klasificirati kao Authenticated Encryption familija algoritama, naziva PHOTON-Beetle-AEAD, te kao funkcija sažimanja, naziva PHOTON-Beetle-HASH. Kod algoritma PHOTON-Beetle-AEAD veličina ključa je 128 bitova, veličina bloka 128 ili 32 bita, a veličina nonce-a 128 bitova.
Romulus je AEAD (Authenticated Encryption with Associated Data) baziran na TBC (Tweakable Block Cipher) Skinny. Shema algoritma Romulus je podijeljena u dvije familije:
Veličina bloka je 128 bitova, veličina ključa 128 bitova, a veličina nonce-a je 128 bitova kod predstavnika svake od familija, dok je kod ostalih implementacija 96 bitova. Primarni cilj Romulusa je pružiti lightweight, a istovremeno i AE visoke sigurnosti i učinkovitosti baziran na TBC-u. Hash algoritam nije implementiran, ali Romulus-N ima hardversku implementaciju napisanu u jeziku VHDL.
Spook je primarno dizajniran za pružanje sigurnosti protiv napada koji koriste sporedno svojstvo uređaja uz malu potrošnju energije. Kriptiranje je optimizirano za maskirajuće protumjere protiv takvih napada. Spook ima nekoliko istaknutih značajki:
Veličina ključa je 128 bitova, veličina bloka 256 bitova, a veličina nonce-a 128 bitova.
Subterranean 2.0 je kriptografski paket za funkciju izračuna sažetka poruke (Subterranean-XOF), MAC računanje i autentifikacijsko kriptiranje (Subterranean-SAE). Sadrži duplex objekt s 257-bitnim stanjem i lightweight jednokružnom permutacijom što ga čini dobro prilagođenim za implementacije s malom površinom i niskom energijom u namjenskom sklopovlju, čime nadoknađuje neprilagođenost programskog ostvarenja. Veličina ključa algoritma Subterranean-SAE je 128 bitova, a veličina bloka 32 bita.
Xoodyak je kriptografski primitiv koji se može koristiti za sažimanje, kriptiranje, MAC računanje i autentificirano kriptiranje. Xoodyak podržava dvostruko sažimanje i cijeđenje (engl. duplex object) sa sučeljem koji omogućava absorbiranje proizvoljne duljine, kriptiranje koristeći spužvastu funkciju s fazama upijanja i cijeđenja. Algoritam se zasniva na Xoodoo permutaciji. Veličina ključa je 128 bitova, veličina bloka je 128 bitova te veličina nonce-a 128 bitova. Hash funkcija je implementirana.