EndCryptor, tekniset tiedot
Perusteellisemmat tiedot ovat sivulla cryptographical technical details.
Käytetyt julkiset avaimet ovat elliptisiin käyriin perustuvia, sillä niillä saadaan vahvempi suoja vaikka käytetään pienempiä avainkokoja. Varsinkin klassisten elliptisiin käyriin perustuvien avainten käsittely on hyvin nopeaa, tämä mahdollistaa niiden runsaan käytön ja hyökkäyksistä tapahtuvan nopean toipumisen.
Klassiset avaimet ovat Edwards avain Ed25519 ja vastaava avain Curve25519, jota käytetään mm. selaimissa. Edwards avainta käytetään digitaaliseen allekirjoitukseen ja Curve25519 avainta Diffie-Hellman laskentaan. Tuon Curve25519 avaimen klassinen turvataso on 128 bittiä.
Kvanttihyökkäyksen kestävät avaimet ovat 'supersingular isogeny SIDH' (p751) avaimet, jotka ovat Microsoftin suunnittelemia. Tammikuussa 2019 SIKE, jossa SIDH on ydinosana, hyväksyttiin kierrokselle 2 NIST'in Post-Quantum kryptologian standardointi prosessiin. NIST on National Institute of Standards and Technology (USA). Nykyisin arvioidaan SIDH p751 avaimen täyttävän NIST'in Quantum turvatason 5 (vahvin, paras) - sen arvioidaan olevan samaa luokaa kuin AES 256 symmetrisen avaimen. Vuoden 2020 heinäkuun 22 päivä SIKE hyväksyttiin kierrokselle 3 vaihtoehtoisena kandidaattina, katso https://doi.org/10.6028/NIST.IR.8309 ja NIST'in uutinen aiheesta.
HUOM!:
Uusi hyökkäys SIDH avaimia vastaan julkaistiin 30.7.2022 (katso An efficient key recovery attack on SIDH). Tämä ohjelma käyttää SIDH avaimia hybrid asetelmassa. Onnistunut salauksen murto edellyttää sekä klassisen Curve25519 että SIDH avaimen murtamista. Nykyiset tietokoneen eivät voi murtaa nykyisiä viestejä. Viestinnän alkaessa uuden kontaktin kanssa vain muutamat ensimmäiset Curve25519 ja SIDH avaimet lähetetään ilman salausta. Jos tulevaisuuden kvanttikoneella varustettu koodinmurtaja ei ole saanut kopioita näistä viesteistä, ei hän pysty murtamaan salausta. Jos tuo hyökkääjä haluaa olla varma, että hän saa tietyn viestin avattua, tulee hänellä olla kaikki noiden kahden viestittelijän keskenään aikaisemmat lähetetyt ja vastaanotetut viestit. Tämä johtuu siitä, että patentoitu protokollamme on tilapohjainen ja jokin aikaisempi viesti voi muuttaa tuota tilaa niin, ettei sitä voida päätellä käytettävissä olevista viesteistä. Seuraamme tilanteen kehittymistä ja pohdimme muiden kvanttihyökkäyksen kestävien avainten käyttöönottoa.
Vertaa klassisia turvatasoja:
Symmetric |
Elliptic |
DH or RSA |
80 |
163-223 |
1024 |
112 |
224-255 |
2048 |
128 |
256-383 |
3072 |
192 |
384-511 |
7680 |
256 |
512+ |
15360 |
Curve25519 turvataso on 128 bittiä ja se vastaa 3072 bitin pituista RSA/Diffie-Hellman julkista avainta. Kannattaa huomata, että 256 bitin symmetrinen turvataso vastaa 15360 bitin pituista RSA/Diffie-Hellman avainta. Yleensä kryptologisen rakenteen turvallisuus arvioidaan sen heikoimman lenkin perusteella - tämä on tavallisesti julkinen avain.
Ylläoleva taulukko on NIST'in julkaisussa Special Publication 800-57 ajalta heinäkuu 2012 nimeltään 'Recommendation for Key Management – Part 1: General(Revision 3)'.
Jos osapuolet viestivät vuorotellen, on ensimmäisen viestin turvataso 128 bittiä, sen jälkeen on klassinen turvataso 256 bittiä. Kvanttisuoja alkaa toisesta viestistä, se mukaanluettuna. Patentoitu protokolla alkaa, kun toinen viesti on vastaanotettu. Tämän jälkeen jokainen uusi viesti sisältää lähettäjän uudet klassiset avaimet. Kvanttihyökkäyksen kestävien avainten käsittely on laskennallisesti enemmän resursseja vievää, joten niitä vaihdetaan kerran viikossa, jos osapuolet viestivät säännöllisesti.
Symmetrinen salaus tehdään Chacha20'llä ja 256 bittisellä avaimella. Kryptotekstin digitaaliset allekirjoitukset käyttävät Keccak-256 tiivistettä, joka muodostetaan käyttäen kuvausta, joka voitti SHA3 kilpailun (bitrate on 1088 ja capacity on 512). Poly1305 tarkastussummaa käytetään selväkielisen osan tarkastukseen.
Ed25519, Curve25519, Chacha20 ja Poly1305 toteutus käyttää SUPERCOP'in ja NaCL kirjaston (European Network of Excellence in Cryptology II projecteja, rahoittajana European Commission) referenssitoteuksia. SIDH avainten toteusprojekti on GitHup'issa: PQCrypto-SIDH.
Curve25519 kuten muut klassiset DH tai RSA julkiset avaimet voidaan murtaa kvanttitietokoneella, jos sellaisia onnistutaan rakentamaan.
Kvanttihyökkäyksessä arvioidaan karkeasti, että symmetrinen salaus (AES, ChaCha20) menettää turvatasoaan seuraavasti: N bitin turvatasosta, joka saadaan N bitin avaimella, tulee N/2 bitin turvataso. EndCryptorin Chacha20 käyttää 256 bitin avainta ja niinpä kvanttihyökkäyksessä sen turvataso on 128 bittiä.
Otetaan nyt tavoitteeksi rikkoa Chacha20'n symmetrinen salaus kvanttikoneella. Tämä tarkoittaa, että tarvitaan noin 2^128 kvantti operaatiota salausavaimen löytämiseksi.
Kuinka kauan sitten yksi tällainen kvantti operaatio kestäisi - luultavasti se vaatii enemmän aikaa kuin yksi klassinen salausoperaatio.
Tarkastellaan asiaa bitcoin verkon avulla. Se tekee (3 heinäkuuta, 2018) alle 50x10^18 hajautus (tiivistys) operaatiota sekunnissa (katso https://www.blockchain.com/charts/hash-rate).
Oletetaan, että bitcoin verkko voisi tehdä salausoperaatiota 100 kertaa
nopeammin eli 50x10^20 operaatiota sekunnissa. Tällöin se pystyisi
murtamaan 128 bitin turvatason
2^128/50x10^20/31536000=107 902 830 708 vuodessa.
Voit tarkastaa laskelman Windowsin laskimella.
Tarkastellaan nyt bitcoinin energian kulutusta. Sen arvioidaan nyt
olevan 18TWh ja 71 TWh välillä (katso
https://digiconomist.net/bitcoin-energy-consumption).
Jos otamme alhaisimman arvon 18 TWh/vuosi ja kerromme sen tarvittavilla
vuosilla, saamme:
107902830708 x 18 Twh=1 942 250 952 744 TWh
mikä on 128 bitin turvatason murtamiseen tarvittava energiamäärä.
Vuonna 2015 maailman kokonaisenergian kulutus oli 20 201,31 TWh
(International Energy Agency'n mukaan).