GCM (kryptografie): Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
{{pracuje se}}
 
{{překlad|en|Galois/Counter Mode|900584120|de|Galois/Counter Mode|180419040}}
Řádek 1: Řádek 1:
'''GCM''' (zkratka z [[angličtina|anglického]] {{cj|en|''Galois/Counter Mode''}}, doslova „''Galoisovský/čítačový režim''“) je [[provozní režim blokových šifer]], který při použití libovolné [[bloková šifra|blokové šifry]] (s [[délka bloku|délkou bloku]] 128 bitů) zároveň zajišťuje i [[autentizace|autentizaci]] a je tak jedním z příkladů [[autentizované šifrování|autentizovaného šifrování]]. Režim kombinuje myšlenku jednoduchého [[CTR (kryptografie)|čítačového režimu (CTR)]] s [[autentizace|autentizací]] násobením v [[konečné těleso|konečném (Galoisově) tělese]], od čehož je i odvozeno jeho jméno.
{{pracuje se}}

Myšlenku představili [[John Viega]] a [[David A. McGrew]] v roce 2004 na konferenci [[Indocrypt]].<ref>{{Citace sborníku
| příjmení = McGrew
| jméno = David
| příjmení2 = Viega
| jméno2 = John
| titul = The Security and Performance of the Galois/Counter Mode (GCM) of Operation
| příjmení sestavitele =
| jméno sestavitele =
| sestavitel =
| sborník = Proceedings of INDOCRYPT 2004
| odkaz na sborník =
| vydavatel = Springer-Verlag
| odkaz na vydavatele = Springer-Verlag
| místo =
| rok vydání = 2004
| isbn = 9783540241300
| url = https://eprint.iacr.org/2004/193.pdf
| kapitola =
| strany =
| jazyk = anglicky
}}</ref> Jedná se o pokračovatele [[režim CWC|režimu CWC]], který je rovněž nekrytý [[patent]]y, ale hůře efektivně implementovatelný v [[hardware|hardwaru]].

== Princip fungování ==
[[Soubor:GCM-Galois Counter Mode.svg|náhled|Schematické znázornění výpočtu GCM pro dvoublokový otevřený text]]
Režim GCM počítá s [[bloková šifra|blokovou šifrou]] – typickým příkladem je [[Advanced Encryption Standard|AES]] s délkou bloku 128, ale GCM je navržen tak, aby fungoval i s jinými délkami bloku o velikosti alespoň 64 bitů. Podobně jako [[režim CTR|čítačový režim]] fakticky využívá danou blokovou šifru po způsobu [[proudová šifra|proudových šifer]]: [[otevřený text]] je postupně [[xor]]ován s blokově šifrovanými hodnotami zvyšovaného čítače. Pro dosažení bezpečnosti je tedy zapotřebí volit čítač vždy jinak, aby nedošlo v rámci různých zpráv k odhadnutelnému překryvu bloků šifrovaných čítačů.

Zároveň a [[paralelní programování|paralelně]] k šifrování může probíhat i vytváření autentizačních dat. Ta mají (zhruba) podobu násobku všech jednotlivých šifrových bloků počítaného v [[konečné těleso|konečném tělese]] GF(2<sup>128</sup>) daném [[polynom|mnohočlenem]]
:<math>x^{128} + x^7 + x^2 + x + 1</math>
který je dále pronásoben autentizačními daty a nakonec proxorován šifrovým blokem vytvořeným z úvodní hodnoty čítače. Podrobnější specifikace autentizační funkce je ve skutečnosti ale složitější, protože režim GCM nevyžaduje data zarovnaná na velikost bloku nějakým dřívějším [[výplň (kryptografie)|výplňovým algoritmem]], ale přímo ve své specifikaci zahrnuje i řešení nezarovnaného vstupu.

== Standardizace, podpora a rozšíření ==
V roce 2007 byl režim GCM standardizován [[Národní institut standardů a technologie|Národním institutem standardů a technologie]].<ref>{{Citace elektronické monografie
| příjmení = Dworkin
| jméno = Morris
| titul = Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC
| url = http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf
| rok vydání = 2007
| měsíc vydání = 2007
| datum přístupu =
| vydavatel =
| jazyk = anglicky
}}</ref> Dále jej podporují například standardy [[IEEE 802.1AE]], [[IEEE 802.11ad]], [[IEEE P1619]], [[IPsec]]<ref>{{Citace elektronického periodika
| příjmení = Viega
| jméno = John
| příjmení2 = McGrew
| jméno2 = David A.
| titul = The Use of Galois/Counter Mode (GCM) in IPsec Encapsulating Security Payload (ESP)
| periodikum = Request for Comments
| odkaz na periodikum = Request for Comments
| rok vydání = 2005
| měsíc vydání = červen
| datum přístupu =
| url = https://tools.ietf.org/html/rfc4106
| issn = 2070-1721
| jazyk = anglicky
| číslo = 4106
}}</ref><ref>{{Citace elektronického periodika
| příjmení = Viega
| jméno = John
| příjmení2 = McGrew
| jméno2 = David A.
| titul = The Use of Galois Message Authentication Code (GMAC) in IPsec ESP and AH
| periodikum = Request for Comments
| odkaz na periodikum = Request for Comments
| rok vydání = 2006
| měsíc vydání = květen
| datum přístupu =
| url = https://tools.ietf.org/html/rfc4543
| issn = 2070-1721
| jazyk = anglicky
| číslo = 4543
}}</ref>, [[Secure Shell]]<ref>{{Citace elektronického periodika
| příjmení = Igoe
| jméno = Kevin M.
| příjmení2 = Solinas
| jméno2 = Jerome A.
| odkaz na autora =
| titul = AES Galois Counter Mode for the Secure Shell Transport Layer Protocol
| periodikum = Request for Comments
| odkaz na periodikum = Request for Comments
| rok vydání = 2009
| měsíc vydání = srpen
| datum přístupu =
| url = https://tools.ietf.org/html/rfc5647
| issn = 2070-1721
| jazyk = anglicky
| číslo = 5647
}}</ref> a [[Transport Layer Security|TLS]] (od verze 1.2).<ref>{{Citace elektronického periodika
| příjmení = Salowey
| jméno = Joseph
| příjmení2 = Choudhury
| jméno2 = Abhijit
| příjmení3 = McGrew
| jméno3 = David
| titul = AES Galois Counter Mode (GCM) Cipher Suites for TLS
| periodikum = Request for Comments
| odkaz na periodikum = Request for Comments
| rok vydání = 2008
| měsíc vydání = srpen
| datum přístupu =
| url = https://tools.ietf.org/html/rfc5288
| issn = 2070-1721
| jazyk = anglicky
| číslo = 5288
}}</ref>

Na některých počítačových platformách byly zahrnuty instrukce [[bezpřenosové násobení|bezpřenosového násobení]] pro rychlejší výpočet násobení v režimu GCM. Příkladem je [[instrukční sada CLMUL]] na architektuře [[x86]], která se poprvé objevuje v procesorech prodávaných v roce 2010, nebo instrukce XMULX a XMULXHI přidané v roce 2011 do platformy [[SPARC]].

== Odkazy ==
=== Reference ===
{{překlad|en|Galois/Counter Mode|900584120|de|Galois/Counter Mode|180419040}}
<references/>
=== Externí odkazy ===
* {{Citace elektronické monografie
| příjmení = Dworkin
| jméno = Morris
| titul = Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC
| url = http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf
| rok vydání = 2007
| měsíc vydání = 2007
| datum přístupu =
| vydavatel =
| jazyk = anglicky
}}

[[Kategorie:Kryptografické algoritmy]]

Verze z 23. 6. 2019, 07:27

GCM (zkratka z anglického Galois/Counter Mode, doslova „Galoisovský/čítačový režim“) je provozní režim blokových šifer, který při použití libovolné blokové šifry (s délkou bloku 128 bitů) zároveň zajišťuje i autentizaci a je tak jedním z příkladů autentizovaného šifrování. Režim kombinuje myšlenku jednoduchého čítačového režimu (CTR) s autentizací násobením v konečném (Galoisově) tělese, od čehož je i odvozeno jeho jméno.

Myšlenku představili John Viega a David A. McGrew v roce 2004 na konferenci Indocrypt.[1] Jedná se o pokračovatele režimu CWC, který je rovněž nekrytý patenty, ale hůře efektivně implementovatelný v hardwaru.

Princip fungování

Schematické znázornění výpočtu GCM pro dvoublokový otevřený text

Režim GCM počítá s blokovou šifrou – typickým příkladem je AES s délkou bloku 128, ale GCM je navržen tak, aby fungoval i s jinými délkami bloku o velikosti alespoň 64 bitů. Podobně jako čítačový režim fakticky využívá danou blokovou šifru po způsobu proudových šifer: otevřený text je postupně xorován s blokově šifrovanými hodnotami zvyšovaného čítače. Pro dosažení bezpečnosti je tedy zapotřebí volit čítač vždy jinak, aby nedošlo v rámci různých zpráv k odhadnutelnému překryvu bloků šifrovaných čítačů.

Zároveň a paralelně k šifrování může probíhat i vytváření autentizačních dat. Ta mají (zhruba) podobu násobku všech jednotlivých šifrových bloků počítaného v konečném tělese GF(2128) daném mnohočlenem

který je dále pronásoben autentizačními daty a nakonec proxorován šifrovým blokem vytvořeným z úvodní hodnoty čítače. Podrobnější specifikace autentizační funkce je ve skutečnosti ale složitější, protože režim GCM nevyžaduje data zarovnaná na velikost bloku nějakým dřívějším výplňovým algoritmem, ale přímo ve své specifikaci zahrnuje i řešení nezarovnaného vstupu.

Standardizace, podpora a rozšíření

V roce 2007 byl režim GCM standardizován Národním institutem standardů a technologie.[2] Dále jej podporují například standardy IEEE 802.1AE, IEEE 802.11ad, IEEE P1619, IPsec[3][4], Secure Shell[5] a TLS (od verze 1.2).[6]

Na některých počítačových platformách byly zahrnuty instrukce bezpřenosového násobení pro rychlejší výpočet násobení v režimu GCM. Příkladem je instrukční sada CLMUL na architektuře x86, která se poprvé objevuje v procesorech prodávaných v roce 2010, nebo instrukce XMULX a XMULXHI přidané v roce 2011 do platformy SPARC.

Odkazy

Reference

V tomto článku byly použity překlady textů z článků Galois/Counter Mode na anglické Wikipedii a Galois/Counter Mode na německé Wikipedii.

  1. MCGREW, David; VIEGA, John. The Security and Performance of the Galois/Counter Mode (GCM) of Operation. In: Proceedings of INDOCRYPT 2004. [s.l.]: Springer-Verlag, 2004. Dostupné online. ISBN 9783540241300. (anglicky)
  2. DWORKIN, Morris. Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC [online]. 2007. 2007. Dostupné online. (anglicky) 
  3. VIEGA, John; MCGREW, David A. The Use of Galois/Counter Mode (GCM) in IPsec Encapsulating Security Payload (ESP). Request for Comments [online]. Červen 2005. Čís. 4106. Dostupné online. ISSN 2070-1721. (anglicky) 
  4. VIEGA, John; MCGREW, David A. The Use of Galois Message Authentication Code (GMAC) in IPsec ESP and AH. Request for Comments [online]. Květen 2006. Čís. 4543. Dostupné online. ISSN 2070-1721. (anglicky) 
  5. IGOE, Kevin M.; SOLINAS, Jerome A. AES Galois Counter Mode for the Secure Shell Transport Layer Protocol. Request for Comments [online]. Srpen 2009. Čís. 5647. Dostupné online. ISSN 2070-1721. (anglicky) 
  6. SALOWEY, Joseph; CHOUDHURY, Abhijit; MCGREW, David. AES Galois Counter Mode (GCM) Cipher Suites for TLS. Request for Comments [online]. Srpen 2008. Čís. 5288. Dostupné online. ISSN 2070-1721. (anglicky) 

Externí odkazy

  • DWORKIN, Morris. Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC [online]. 2007. 2007. Dostupné online. (anglicky)