Lightweight block ciphers - popis algoritama

Projekt iz programske potpore a.g. 2018./2019.

Present

Present je jedan od temeljnih kriptografskih blok simetričnih algoritama prilagođenih ugrađenim sustavima i Internetu stvari. U presentu se koristi SP-mreža (Substitution–permutation network) prikazana na slici. Algoritam disperzira ključ u 31 seriji, veličina bloka podataka je 64 bita, a veličina ključa može biti 80 ili 128 bita. Present odlikuje izrazito učinkovita hardware implementacija.

Algoritamski prikaz Present algoritma
Izvor: Knudsen et al., PRESENT: An Ultra-Lightweight Block Cipher

Literatura

Prince

Prince je rod lakih blokovskih kriptoalgoritama. Njegov je razvoj započeo 2012. u danskom tehničkom fakultetu. Glavno mu je obilježje “alfa-refleksivnost”; dekriptiranje je kriptiranje s drugačijim ključem (izveden je iz ključa kojim se kriptiralo) kojeg je veoma lako izračunati. Veličina ključa je 128 bitova, a veličina bloka 64 bita. Ovdje se također koristi jednostavan 4-bitni S-box u 12 slojeva. Zainteresiranog čitatelja se upućuje na izvorni rad Borghoff J., Canteaut A., PRINCE – A Low-latency Block Cipher for Pervasive Computing Applications


Literatura

Simon

Simon je laki bloksimetrični kriptoalgoritam nastao skupa s algoritmom Speck. Oboje su, naime, objavljeni u istom znanstvenom radu, ali dok je Speck više namijenjen programskim, Simon je više za sklopovsku implementaciju. Simon temelji se na uzastopnoj uporabi bitovnih operatora u enkripciji i dekripciji: isključivog ILI (engl. xor, exclusive or), I (engl. and, &) i lijevi kružni pomak (engl. left circular shift). Osnovni princip rada prikazan je na slici ispod. Dujina ključa i broj serija disperzije ovise o veličini bloka s kojim algoritam radi.

Načelni prikaz rada Simon algoritma
Izvor: Beaulieu et al., The SIMON and SPECK lightweight block ciphers

Literatura

Speck

Speck je rod lakih blokovskih kriptoalgoritama čiji je razvoj 2011. započela National Security Agency (NSA) kako bi koristeći slabu procesorsku moć IoT (engl. Internet of Things) uređaja, ponudila zadovoljavajuću razinu sigurnosti. Dovršen je 2013. Optimiziran je za programske implementacije. Dujina ključa i broj serija disperzije ovise o veličini bloka s kojim algoritam radi. Osnovni princip rada prikazan je na slici ispod. Za više detalja preporučuje se rad Beaulieu et al., The SIMON and SPECK lightweight block ciphers. Čitatelja se dodatno upućuje na niz radova o algoritmima Simon i Speck objavljenih na NSA GitHub profilu. Valja još napomenuti kako su algoritmi Simon i Speck tijekom vremena skupili nemali broj kritičara zbog čega ih je ISO odbio standardizirati - više detalja o ovome može se naći u popisu literature

Načelni prikaz rada Speck algoritma

Literatura

Twine

Twine je laki simetrični blokovski kriptoalgoritam (engl. Lightweight symmetric block cipher) s primarnim svojstvom brzog izvođenja i u softverskim i u hardverskim implementacijama. Algoritam je nastao 2012. u Japanu, a objavljen je u članku Kobayashi et al., TWINE: A Lightweight Block Cipher for Multiple Platforms. Duljina bloka je 64 bita, a ključa 80 ili 128 bita. Ključ se disperzira u 36 serija.


Literatura