Opis algoritama

Projekt iz programske potpore, ak. godina 2019./2020.
Voditelj: Marin Golub

Detaljni opis algoritma dostupan je u tehnickoj dokumentaciji

ACE

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 -a 128 bitova. U algoritmu HASH duljina inicijalizacijskog vektora je 24 bita, a duljina sažetka je 256 bitova.

Elephant

Algoritam koristi kriptografsku permutaciju maskiranu pomoću LFSR(eng. ). 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 -a 96 bitova.

GIFT-COFB

GIFT-COFB koristi blokovski kriptografski algoritam COFB () baziran na AEAD algoritmu () 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 -a 128 bitova.

Gimli

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 -a 128 bitova. U algoritmu HASH duljina sažetka je 256 bitova.

Grain-128

GRAIN-128AEAD je AEAD () 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 -a 96 bitova. Može se konstruirati pomoću primitivnih hardverskih blokova, poput NAND-a, XOR-a i takozvanog sklopovlja.

HYENA

HyENA (engl. Hybrid feedback-based ENcryption with Authentication) implementira AEAD. Neka od zanimljivih svojstava HyENA-e su , 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 -a 96 bitova. Hash algoritam nije implementiran.

LOTUS i LOCUS

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 . Veličina bloka 64 bita, ključ duljine 128 bitova, duljine 128 bitova.

Mixfeed

algoritam (AEAD) baziran na AES’128/128 blokovskom kriptografskom algoritmu. (mixFeed) koristi blokovski kriptografski algoritam u kombinaciji s algoritmom. Koristi kombinaciju -a i -a. Još jedan od svojstava je da upotrebljava key što povećava razinu sigurnosti. Veličina bloka 128 bita, ključ duljine 128 bitova, duljine 120 bitova.

ORANGE

Ime ORANGE dolazi od „“. Implementirani su AEAD () 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 -a 128 bitova.

PHOTON-Beetle

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 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 -a 128 bitova.

Romulus

Romulus je AEAD () baziran na TBC () Skinny. Shema algoritma Romulus je podijeljena u dvije familije:

  • Romulus-N › AE baziran na -u
  • Romulus-M › AE otporan na zloupotrebu -a

Veličina bloka je 128 bitova, veličina ključa 128 bitova, a veličina -a je 128 bitova kod predstavnika svake od familija, dok je kod ostalih implementacija 96 bitova. Primarni cilj Romulusa je pružiti , 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

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:

  • Otpornost na zloupotrebu -a
  • Sigurnost protiv rođendanskog napada
  • Sigurnost više korisnika uz minimalan trošak

Veličina ključa je 128 bitova, veličina bloka 256 bitova, a veličina -a 128 bitova.

Subterranean

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 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

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. ) 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 permutaciji. Veličina ključa je 128 bitova, veličina bloka je 128 bitova te veličina -a 128 bitova. Hash funkcija je implementirana.