O projektu Detalji Preuzimanja Reference
Classic McEliece CRYSTALS-KYBER NTRU SABER BIKE FrodoKEM HQC NTRU Prime SIKE

SABER

Općenito

Kriptografija zasnovana na algebarskim rešetkama jedna je od najperspektivnijih kriptografskih obitelji za koje se smatra da pružaju otpor kvantnim računalima. Saber je obitelj kriptografskih algoritama koji se oslanjaju na Module Learning With Rounding problem (Mod-LWR). SABER je jedan od pobjednika drugog kruga kandidata NIST-ovog natječaja za izbor novih asimetričnih algoritama za uspostavu tajnog ključa otpornih na napade kvantnim računalom.

Tim koji je razvio SABER čine članovi koji su bili dio istraživačke skupine COSIC na KU Leuven, Belgija: Jan-Pieter D'Anvers, Angshuman Karmakar, Sujoy Sinha Roy i Frederik Vercauteren. Kasnije su se timu pridružili: Jose Maria Bermudo Mera, Michiel Van Beirendonck i Andrea Basso.

Prvo je nastao Saber.PKE, IND-CPA siguran način šifriranja ključem koji se kasnije pretvara u Saber.KEM, IND-CCA način sigurne enkapsulacije ključem, koristeći Fujisaki-Okamoto transformacije.

Ciljevi SABER-a bili su jednostavnost, djelotvornost i fleksibilnost. Zbog toga svi cjelobrojni moduli su potencije od 2, upotrebom LWR prepolavlja se potrebna količina generiranja slučajnih varijabli u usporedbi s LWE shemama i smanjuje se propusnost te struktura modula pruža fleksibilnost ponovnom upotrebom jedne temeljne komponente za višestruku sigurnost razinama.

SABER nudi tri razine sigurnosti: LightSABER - postkvantna razina sigurnosti slična AES-128, SABER - postkvantna razina sigurnosti slična AES-192, FireSABER: postkvantna razina sigurnosti slična AES-256.


Parametri

Stupanj n = 256 polinomskog prstena Zq [X] = (Xn + 1) i rang l od modula koji određuje dimenziju osnovnog problema rešetke kao l*n. Povećanje dimenzije problema rešetke povećava sigurnost, ali smanjuje točnost.

Moduli koji su uključeni u shemu odabrani su kao potencijali od 2, posebno q = 2 q, p = 2 p i T = 2 T s q> p> T, pa imamo T j p j q. Veći izbor za parametre p i T rezultirat će manjom sigurnošću, ali većom točnošću. Skriptom u pythonu se izračunavaju optimalne vrijednosti za p i T.

Koeficijenti tajnih vektora s i s' određuju se prema centriranoj binomnoj raspodjeli s parametrom μ, gdje je μ < p. Veća vrijednost za μ rezultirat će većom sigurnošću, ali manjom točnošću.

Funkcije za izračunavanje sažetka koje se koriste u protokolu su F, G i H. Funkcije F i H su implementirane pomoću SHA3-256 (s određenom duljinom ulaza), dok je G implementirana pomoću SHA3-512.

Funkcija izlaza gen s mogućnošću proširivanja koja se koristi u protokolu za generiranje pseudoslučajne matrice A od seedA. Implemetirana je pomoću SHAKE-128.


Šifriranje javnim ključem

Saber.PKE (Saber Public Key Encryption) je način šifriranja javnim ključem koji se sastoji od 3 algoritma: Saber.PKE.KeyGen, Saber.PKE.Enc i Saber.PKE.Dec. Saber.PKE.KeyGen generira javni ključ, Saber.PKE.Enc šifrira javnim ključem pri čemu može koristiti zadani agrument r te Saber.PKE.Dec dekriptira javnim ključem.


Enkapsulacija ključa

Saber.KEM (Saber Key-Encapsulation Mechanism) je način enkapsulacije ključa koji se sastoji od 3 algoritma: Saber.KEM.KeyGen, Saber. KEM.Enc i Saber. KEM.Dec. Saber.KEM.KeyGen generira ključ, Saber.KEM.Enc enkapsulira ključ pri čemu koristi Sabre.PKE.Enc te Saber.KEM.Dec dekriptira ključ pri čemu koristi Sabre.PKE.Dec.


Veličina parametara

Saber.PKE:

kategorija sigurnosti vjerojatnost neuspjeha klasično računalo core-SVP kvantno računalo core-SVP javni ključ (B) kriptirani ključ (B) dekriptirani ključ (B)
LightSaber-PKE: l = 2, n = 256, q = 213, p = 210, T = 23, μ = 10
1 2-120 2118 2107 672 832 (256) 736
Saber-PKE: l = 3, n = 256, q = 213, p = 210, T = 24, μ = 8
3 2-136 2189 2172 992 1248 (288) 1088
FireSaber-PKE: l = 4, n = 256, q = 213, p = 210, T = 26, μ = 6
5 2-165 2260 2236 1312 1664 (384) 1472

Saber.KEM:

kategorija sigurnosti vjerojatnost neuspjeha klasično računalo core-SVP kvantno računalo core-SVP javni ključ (B) kriptirani ključ (B) dekriptirani ključ (B)
LightSaber-KEM: l = 2, n = 256, q = 213, p = 210, T = 23, μ = 10
1 2-120 2118 2107 672 1568 (992) 736
Saber-KEM: l = 3, n = 256, q = 213, p = 210, T = 24, μ = 8
3 2-136 2189 2172 992 2304 (1344) 1088
FireSaber-KEM: l = 4, n = 256, q = 213, p = 210, T = 26, μ = 6
5 2-165 2260 2236 1312 3040 (1760) 1472

Očekivana razina sigurnosti

Izračunavanje sažetka javnog ključa u vektor K osigurava da ključ ovisi o unosu obje strane i nudi višestruku zaštitu.

Najviše osigurava da napadač nije u mogućnosti koristiti unaprijed izračunate slabe vrijednosti na više ciljeva prilikom traženja grešaka u dešifriranju.

Budući da se izvršava u stalnom vremenu dobra je obrana protiv napada kojim se koriste podaci o vremenu određenih izračuna kako bi se dobili podaci o dugotrajnom tajnom ključu.

Još jedna obrana od napada je to što Saber ne koristi nijedan kod za ispravljanje pogrešaka, on izbjegava sve napade povezane s maskiranjem bloka za ispravljanje pogrešaka.

Napadi koji se rade množenjem polinoma ili matrice s tajnim ključem otežani su na način da slučajnim redoslijedom izvode operacija ili uvođenjem lažne operacije, koje se mogu primijeniti na maskirane implementacije.


Reference