Translated by Esa Lammi (KYBS2004 course assignment at JYU.FI)
rC3 Intromusiikki
Herald: Hyvää iltapäivää kaikille katsojille. Seuraavan esityksen pitää Ruben Gonzalez ja
Krijin Reijnders, he molemmat ovat Ph.D opiskelijoita Radbout yliopistosta ja Ruben
on myös Capture-The-Flag pelaaja nimeltä "Red Rocket" tai liittyy pelaajaan
"Red Rocket". Heidän esitys liittyy kvantin jälkeiseen kryptografiaan. Ja teemme
tavallaan tutustumishypyn Kyberiin. Tämä esitys myös live-käännetään
saksaksi, eli jos et puhu saksaa, älä vaivu epätoivoon. Dieser Vortrag wird also
übersetzt simultan in Deutsch, ja siinä oli myös koko saksan osaamiseni. Tämä
esitys on myös nauhoitettu ja kestää 30 minuuttia, mutta Q&A on livenä
tämän jälkeen. Joten nauttikaa.
Ruben Gonzalez: Hei, ja tervetuloa esitykseen Kyberistä ja kvantin jälkeisestä
kryptografiasta. Kuinka se toimii? Ensiksi nimeni on Ruben Gonzalez, olen tohtori
opiskelija Hollannista. Pidän tämän esityksen yhdessä kollegani Krijin
Reijndersin kanssa ja opetamme teille kaiken Kyberistä tänään. Eli, tärkeimmät
ensin, pieni huomio, koska en halua tuottaa pettymystä ihmisille: Me puhumme boomer
kryptosta, eli emme puhu lohkoketjuista, NFT:sta, shitcoineista... ollenkaan.
Sen sijaan kyllästytämme teidät matematiikalla, oudoilla avainpareilla ja
US valtionhallinnon organisaatioilla. Eli, esitys on jaettu neljään osaan. Ensin opetan
teille vähän, mitä kvantin jälkeinen kryptografia todellisuudessa on ja miksi
sinun pitäisi välittää siitä. Sitten puhumme Kyberistä, joka on kaava mihin
syvennymme tarkemmin, koska se järjestelmä on juuri valloittamassa
maailman. Ja sitten Kreijin puhuu teille hieman lisää turvallisuustakuista
miten järjestelmä itse asiassa toimii matemaattisesti ja sitten annamme
teille tiivistyksen Krypton tulevaisuudesta ja mihin tällä alueella
olemme suuntaamassa. Eli, kvantin jälkeinen crypto. Vähän perusteita tähän:
Tänään, kryptografia, ylätasolla, on jaettu kahteen osaan; tylsään osaan ja
jännään osaan. Tylsää osaa kutsutaan symmetriseksi cryptoksi ja symmetrinen
crypto tekee mitä yleensä odotat cryptolta. Eli voit salakirjoittaa asioita sillä ja
joskus tehdä sillä autentikoinnin. Mutta suurin juttu siinä
on se salakirjoittaminen. Eli sinulla on salainen avain, jota ei saa olla kenelläkään
ja jos sinulla on tämä salainen avain, voit salata asioita ja toinen henkilö
jolla on sama salaisuus voi purkaa sillä. Eli siksi se on symmetrinen - sinulla
on yksi avain salaamiseen ja purkamiseen. Ja mitä käytät implementaation kannalta
se on lähes ainoastaan AES salaamista tai tiiviste funktioita
jotka ovat SHA perheestä ja se on symmetrinen maailma. Se on asioiden
symmetrinen puoli. Nyt meillä on myös asymmetrinen crypto, koska jos katsot
symmetristä cryptoa, sinulla on tämä salainen avain, mutta sinulla ei ole keinoa saada
kahdelle osapuolelle tätä samaa salaista avainta. Ja siinä asymmetrinen salaus saapuu
peliin. Eli, voit käyttää asymmetristä cryptoa, muiden asioiden ohessa, tämän
salaisen avaimen vaihtamiseen. Eli asymmetrinen salaus käyttää avainparia:
julkinen avain joka voi olla kaikilla ja salainen avain joka on vain vastaanottajalla.
Yeah, eli pohjimmiltaan, julkisella avaimella salaat, esimerkiksi, symmetrisen avaimen,
ja yksityisellä avaimella voit purkaa, ja tässä se tuntuu hieman hankalammalta.
Siinä ei käytetä vain kahta algoritmia, vaan siinä käytetään kokonaista joukkoa
algoritmeja. Eli, katsotaan tätä eläin- tarhaa nopeasti. Todennäköisesti jotkut näistä
termeistä olet jo kuullut: Curve25519 on aika iso: Olet ehkä käyttänyt RSAta ennen,
Diffie-Helman, sellaisia. Eli siinä on suuri joukko erilaisia rakenteita
asymmetrisessa cryptossa, joita käytetään eri tarkoituksiin. Joskus siinä on eri
malleja, joita käytetään samaan tarkoitukseen, tai voit käyttää yhtä
juttua eri asioihin. Eli on aika monimut- kaista tehdä yhteenveto algoritmeista
Mutta, jos katsot tätä joukkoa, ihmiset tuntuvat olevan iloisia, eikö niin? He
katselevat ympärilleen, tutkivat, asiat näyttävät toimivan, onnellinen maailma.
Miksi he haluaisivat muuttaa sen? Ja kvantin jälkeisessä cryptossa, me todella haluamme
muuttaa asymmetrisen salauksen perusteetkin. No, tässä eläintarhassa on iso ongelma, ja se
ei ole eläintarhassa, mutta tulee sinne. Eli on tämä kaveri, Peter Shore, ja hän
uhkaa eläintarhaa. Hän aikoo tuhota sen ja kaikki siellä. Ja miksi näin on?
No meillä on tämä iso asymmetrisen crypton eläintarha, eikö niin? Mutta jos katsot
eri kaavoja tarkasti, näet että ne kaikki pohjautuvat vain kahteen
matemaattiseen ongelmaan. Ja ne ovat integer factorization ja discrete logarithm.
Meidän ei tarvitse, meillä ei ole aikaa mennä syvälle niiden yksityiskohtiin,
mutta sinun täytyy tietää, että koko asymmetrisen crypton tarha pohjautuu
kahteen ongelmaan. Ja sattumalta, Peter Shore, kehitti algoritmin, kvantti
algoritmin, joka murtaa nuo kaksi ongelmaa ja kaiken krypton joka niihin perustuu.
Eli kaikki tämän päivän crypto on oikeasti rikki, jos voimme käyttää Shoren algoritmia.
Shoren algoritmi on kvantti algoritmi. Se tarkoittaa, että meillä pitää olla
riittävän suuri kvanttitietokone että se toimii, mutta kun meillä on se, kaikki
asymmetrinen krypto on tuhottu. Ja miksi sinun pitäisi välittää? No, ehkä käytät
jotain niistä täällä? No, oikeasti käytät, halusit tai et. Katsot juuri nyt
tätä streamia TLS kautta. Ehkä käytät myös juttuja, kuten SSH tai sähköpostin
salausta tai IPSEC VPNaa tai Wireguardia. No, Shoren algoritmi rikkoisi kaikki
nuo protokollat. Kaikki. Ja sinun pitäisi välittää, koska modernina informaation
aikana, pohjimmillaan kaikki on digitaalista kommunikaatiota. Kaikki turvallisuus
käytännössä perustuu cryptoon, eli, jos, Shorezilla rikkoo kaiken, meillä on
suuri ongelma. Eli luonnollisesti kysymys herää: "koska meillä on isoja
kvantti tietokoneita?" Ja vastaus on: "Me emme tiedä". Eri asiantuntijat
sanovat eri asioita. Mielipiteet vaihtelevat viidestä vuodesta - ei koskaan. Mutta
todellisuudessa kukaan ei tiedä. Emme näe tulevaisuuteen. Meillä ei ole taika
kasipalloa. Mutta meidän pitäisi ehdottomasti olla valmiita suurelle kvantti koneelle
koska emme halua kaiken informaatio turvallisuutemme hajoavan kun, sanotaan
vaikka, iso US valtion laitos yhtäkkiä onnistuu rakentamaan kvantti tietokoneen.
Eli Kvantin jälkeinen krypto on juuri asymmetrisen kryptografian suunnittelua
siten, ettei siihen vaikuta kvantti tietokone. Tai sanotaan toivotaan näin. Mutta olemme
aika varmoja, että niiden pitäisi olla. Varmastikin, niihin ei vaikuta Shoren
algoritmi. Eli nyt tiedätte vähän mitä kvantin jälkeinen crypto on ja mihin
sitä tarvitsemme, haluan puhua Kyberistä. Kyber on kvantin jälkeinen järjestelmä,
joka todennäköisesti adoptoidaan lähitulevaisuudessa. Eli asymmetrisen
crypton eläintarha on uhattuna - Tehdään uusi, uusi eläintarha, johon ihmiset voivat
mennä, olla onnellisia ja elää heidän täyttä elämää. Standardointiorganisaatio
NIST julkaisi kutsun pari vuotta sitten uusista kryprografisista järjestelmistä
jotka kestävät kvantti tietokoneita. Ja ensimmäiset järjestelmät tullaankin
oikeasti standardoimaan hyvin pian, 2022 alkuvuonna. Eli, haluamme katsoa yhtä
järjestelmää joka tullaan standarsoimaan, ja sitä kutsutaan Kyberiksi. No miksi katsomme
juuri sitä järjestelmää? No se on erittäin nopea, ja julkisten ja yksityisten avainten
koot eivät ole liian isoja, tarkoittaen että voit käyttää niitä oikeissa projekteissa,
joka ei aina toteudu kaikissa post-quantum cryptoissa. Joten se on jo, vaikkei olekaan,
standardoitu, sitä on jo jonkin verran alettu ottamaan käyttöön alalla.
Ja se on hila-pohjainen rakenne. Ja juuri nyt näyttää vähän siltä, että hila tulee
olemaan tulevaisuus. Jos et tiedä mikä hila pohjainen järjestelmä on, se on OK;
Krijin kertoo teille siitä lopuksi. Eli, siinä oli hauska osa esitystämme,
helppo osa. Nyt meidän pitää kääriä hihat, meidän pitää saada kädet likaisiksi
ja tarvitsemme vähän matematiikkaa. Ja sitä varten, aion antaa
mikrofonin - kääntyä Krijnin puoleen. (kuinka sanotaan? Annan sen Krijinille?
En tiedä.) Moikka. Krijn Raijnders: Eli, nyt tarvitsemme matikkaa.
Aloitetaan. Mitä tarvitsemme Kyberissa ovat polynomiaalit, ja meidän pitää työskennellä
polynomiaaleilla. Mutta oikeastaan voit ajatella polynomiaaleja kuten numeroita.
Ja mitä tarkoitan sillä? Tarkoitan, että voit kertoa niitä ja voit
lisätä niitä toisiinsa kuten numeroita. Ja kuten teimme numeroiden kanssa
pre-quantum kryptografiassa, kun niistä tuli liian suuria, me pelkistimme niitä.
Teemme tämän modulo operaation. Teemme saman kertoimille polynomiaaleissa, mutta
myös kun, polynomiaalin aste kasvaa liikaa, pienennämme sitä toisella
polynomiaalilla. Eli meillä on modulo operaatio polynomiaaleilla, ja tällä tavoin
voit tehdä kaikenlaisia asioita polynomiaaleila. Ja siinä oikeastaan oli kaikki matematiikka
jota tarvitsemme pohjimmillaan työskentelyyn Kyberin kanssa. Mitä tällä
tarkoitan? No jos voit kertoa ja lisätä, sitten voit myös
tehdä näitä asioita joita teemme numeroilla matriisien ja vektorien kanssa, eli voimme
kertoa matriisin vektorilla ja lisätä toisen vektorin. Ja tämä toimii samoin
näillä polynomiaaleilla, eli sinulla voi olla matriisi täynnä polynomiaaleja ja
vektori täynnä polynomiaaleja ja voit vain kertoa ne keskenään, lisätä yhden
vektorin. Se on perus operaatioita kertomisessa ja lisäämisessä poly-
nomiaalien kanssa. Se näyttää vähän moni- mutkaisemmalta, mutta sitä se on. Ja sitten,
sanotaan, että meillä on matriisi ja me kerromme vektorilla ja lisäämme toisen
pienen vektorin. Nyt jos näytän teille tämän laskennan lopputuloksen, ja
annan teille tämän matriisin jolla aloitimme, se on oikeasti paljon vaikeampi palauttaa
vektori, jolla kerroimme matriisin. Ja tämä on perus-ongelma, jota
tarvitsemme Kybesissä. Ja sen nimi on module-learning-with-errors. Tiedän,
ettei nimessä ole paljon järkeä, mutta ilmeisesti matemaatikoiden mielestä se
kivasti kuvaa ongelmaa. Eli tämä matriisi, kutsumme sitä 'A':ksi, tämä salainen vektori
kutsumme sitä nimellä 's', sitten meidän pitää lisätä pieni virhe termi, jotta ei ole
liian helppoa ratkaista tätä ongelmaa, ja sitten otamme julkisen arvon taas, jota
kutsumme 't':ksi. Saadaan yhtälö A kertaa s plus e on yhtäkuin t. Ja sitten julkinen
avainpari on tämä Matriisi A ja tulos 't', ja yksityinen avain on salainen
vektori 's'. Ja se on kaikki, jota tarvitaan avainparin luomiseen Kyber:ssa. Meidän
pitää oikeasti varmistaa, että yksityisessä avainparissa on pieni koeffisientti ja se myös
tekee siitä pienen lähetettäväksi. ja myös, tässä virheessä on pieni
koeffisientti. Loppu esityksen kannalta: Nämä virhe jaksot, ne ovat tarpeellisia,
mutta mutkistavat myös vähän yhtälöitä, joten me vain kirjoitamme
ne emojeilla jolloin tiedät mitä virheet ovat ja mitkä ovat tärkeitä arvoja,
ja nyt Ruber kertoo jälleen: Kuinka salaamme ja puramme viestejä käyttäen
sellaisia julkisia ja yksityisiä avainpareja? R.G.:OK, boomeri on palannut ja hän
haluaa salata jotain. Eli, esimerkiksi hän haluaa salata kirjaimen C. Eli C ei ole
arvo, vaan se on kirjaimellisesti kirjain "C" jonkä hän haluaa salata. Ja kuten
opimme aiemmin, halutessamme salata jotain tarvitsemme julkisen avaimen. Eli meillä on
tämä julkinen avain, joka on matriisi A ja vektori t. Eli ensin, meidän täytyy muuntaa
kirjain "C" johonkin muotoon, jonka kanssa Kyber toimii, sillä haluamme salata sen
Kyberillä - Eli ensin puretaan se binääri muotoon, okei, tietokoneessa kaikki
on binäärinä muutenkin, eli sanotaan, että käytimme ASCIIta enkoodaukseen. Eli
muutamme kirjaimen "C" ykkösiksi ja nolliksi. Tässä tapauksessa se on
"1000011". Nyt meillä on binäärinen esitysmuoto, mutta Kyber käyttää niitä
polynomiaaleja, eikö? Eli meidän täytyy jotenkin kääntää tämä polynomiaaliksi,
joka onkin aika helppoa. Eli me vain teemme binäärisen polynominaalin, eli otamme
ykköset ja nollat ja käytämme niitä koefisientteinä polynominaaliin. Tässä
tapauksessa näet polynominaalin kalvoilla, aika helppoa. Eli, yksi bitti on yksi polynominaalin koefisientti.
Koska nolla kertaa jotain on vain nolla, joka jättää vain pois nolla tekijät ja
kutistaa polynominaaliamme vähän. Eli nyt meillä on selkoteksti ja voimme käyttää sitä
Kyberissä, eikö? Selkoteksti on polynominaali "x potenssiin 6 plus x plus yksi".
Se on meidän selkoteksti. Me emme ole salanneet vielä mitään, mutta meillä
on selkoteksti. Eli käytetään nyt Kyber:ia salaamaan selkoteksti polynominaali.
Ensin, me skaalaamme sen. Meidän täytyy tehdä polynominaalistamme iso. Ja teemme
sen vain kertomalla polynominaalin suurella tekijällä. Eli valitsen 1337, se on satunnainen,
riippuu Kyber instanssista, mutta me vain kerromme jokaisen polynominaalin
koeffisentin suurella luvulla 1337. eli meillä on sama polynominaali, mutta suurilla
koeffisienteillä. Eli skaalattu selkoteksti on 1337 x potenssiin, ja niin edelleen
ja niin edelleen. Eli nyt teemme itse salauksen, mikä Kyber:ssa on oikeastaan
aika helppoa. Me vain ripottelemme vähän virhetermejä. Kuten Krijin mainitsi aiemmin
esityksessämme, kuvaamme pieniä virheitä emojeilla. Koska ne eivät ole tärkeitä,
mutta sinun pitäisi silti tietää, että ne ovat siellä. Eli salatekstimme on oikeastaan
vain kaksi arvoa, v, joka on polynominaali ja u joka on polynominaalin vektori.
Eli, v on avain arvo julkisesta avaimesta, kerrottuna ja lisättynä virhetekijöillä,
ja sitten se oikea skaalattu selkoteksti on lisätty myös. u on matriisi julkisesta
avaimesta, kerrottuna virhe tekijällä ja virhetekijä lisättynä.
Näet, että porkkana virhe tekijä esiintyy molemmissa yhtälöissä. Ja siinä se on.
Se on meidän salaus. (v,u) on selkotekstimme salaus. Eli pelkkä
salaaminen olisi tavallaan tylsää. Me varmaan haluamme myös purkaa asioita. Eli, kuinka
teemme sen Kyberilla? No, me tarvitsemme yksityisen avaimen, eikös? julkinen avain
salaa, yksityinen purkaa. Eli meillä on salatekstimme, ne kaksi arvoa v ja u.
Ja purkaaksemme, me ensin puramme julkisen avaimen siitä. Ja me teemme sen ottamalla
v miinus yksityinen avain, kerrottuna u:lla. ja jos tavaan yhtälön,
niistä tulee aika pitkiä. Mutta kuten näette, jos ajattelette emojeja
virhe tekijöinä, suurin osa julkisesta avaimesta, tai oikeastaan koko julkinen
avain poistuu. Ja, d, täällä kalvoilla on lopputulos laskusta
v miinus salainen avain kertaa u. Ja niin meillä on viestimme d:ssa, joka
on selkoteksti, mutta meillä on myös nämä virhe tekijät lojumassa pitkin ja yksityinen
avain. Nyt yksi keskeinen huomio on tärkeä. mainitsin aiemmin, että virhe tekijät
ovat kaikki pieniä, eli ne ovat polynominaaleja pienillä koefisienteilla.
Ja yksityisessäkin avaimessa on polynominaaleja pienillä koefisienteilla. Eli täällä kalvoilla
kaikki oikealla puolella ovat aika pieniä, mutta selkotekstimme on iso, sillä
skaalasimme sen aiemmin. Kerroimme sen suurella numerolla 1337. Eli yksinkertaisesti
tavallaan pyöristämällä kaiken, saamme skaalatun selkotekstin takaisin, koska
tekijät ovat pieniä. Eli pyöristämällä saamme skaalatun selkotekstin. Ja silloin
olemme purkaneet. Ja mitä meidän täytyy nyt tehdä, on vain kääntää se alkuperäiseksi
tekstiksi, eli skaalaamme alas, jaamme kokaisen koefisentin 1337:lla. Tuomme
nolla tekijät, eli kaikilla koeffisienteilla jotka eivät ole polynominaalissa on nolla.
Kaikilla tekijöillä, jotka eivät ole polynominaalissa on nolla koefisientti. Eli tuomme takaisin
nollat ja sitten binääri polynominaalista, voimme vain lukea ykköset ja nollat.
koefisienteista. Me saamme takaisin binääri koodin ja voimme dekoodata
jälleen käyttäen ASCIIta, esimerkiksi, ja saamme selkotekstimme takaisin. Ja niin
Kyber purkaa. Ja sitten voimme dekoodata Kyber selkotekstin alkuperäiseksi viestiksi
joka oli "C". Eli miltä Kyber näyttää kotikäyttäjälle?
No, Kyber tulee kolmena versiona, kolmena eri turvallisuus tasona. Niitä on
Kyber512 aina Kyber1024 asti. Eli, usein kryptografiassa turvallisuutta mitataan
bitteinä. Joskus se vertautuu AES vahvuuteen. Eli alin hyväksyttävä
turvallisuus taso meille on 128 bittiä ja vahvin turvallisuus taso jota käytämme
käytännössä on 256 bittiä. Eli Kyber512 on noin 128 bittiä turvallinen ja Kyber1024 on
noin 256 bittiä turvallinen. Ja se on mitä loppukäyttäjän tulee tietää. Mutta haluan
myös näyttää mitä nämä turvallisuudet oikeasti tarkoittavat Kyberin tapauksessa
koska Kyber instanssit ovat pääosin määtitelty kolmella muuttujalla: n, k ja q.
Ja mitä ne tarkoittavat? No, n on vain Kyberin käyttämä polynominaalin kertaluku.
Eli 256 tarkoittaa, että meillä on exponentit x potenssiin maksimi 256. Eli polynominaalit
ovat aika suuria. 256 koefisinttia voimme tallettaa. k tarkoittaa vektorin kokoa. Eli
kuten näitte, Kyber ei käytä ainoastaan polynominaaleja, vaan myös polynominaalien
vektoreita. Eli pohjimmiltaan monien polyminaalien listoja. Ja Kyberissä myös,
k muuttuja sanoo, kuinka monta polynominaalia on sellaisessa vektorissa. q on modulus
numeroille. Tarkoitan, meillä on koefisientteja, eikö? Ja kuinka suuriksi tämä koefisientti voi tulla?
Eli suurin koefisientti, jota käytetään Kyberissä olisi 3328 otamme sen modulo
3329. Eli kuten näette, Kyberissä meidän ei tarvitse käsitellä suuria numeroita,
oikeastaan. Meidän täytyy käsitellä pre- quantum kruptografiassa, meidän täytyy
käsitellä paljon suuria lukuja. Tässä, luvut eivät ole niin suuria. Tärkeää on myös koon
ja nopeuden suhde. Tässä näette pylväs grafiikan julkisesta, yksityisestä avaimesta
ja salatekstin koosta elliptisen kurvin järjestelmässä, Curve25519, RSA ja Kyber
pienimmällä turvatasolla. Eli noilla kolmella turvallisuus systeemillä on sama turvallisuus
taso, mutta kuten näette, elliptic curve crypto on todella pieni, RSA on vähäsen
isompi, Kyber on vielä isompi. Mutta jos menemme suurimpaan turvatasoon, näette
että Kyber on hyvin vertailukelpoinen RSAhan. Kuitenkin ECC in vielä paljon pienempi.
Mutta, jos et välitä vain koosta ja välität myös nopeudesta, välität nopeudesta vielä
enemmän. Ja jos vertaamme samaa turvatasoa Kyberissä, elliptic curveen
ja RSAhan, näemme, että Kyber on liekeissä. Kyber on todella, todella nopea.
Eli, voimme heittää pois RSAn ja vertailla vain elliptic curvea Kyberiin, ja näemme
että Kyber on vielä nopeampi kuin elliptic crypto, mikä on aika vaikuttavaa
koska elliptic crypto on jo melko nopea. Ja, vielä lisää, voimme nähdä, että
korkeimmalla turvatasolla Kyber on nopeampi kuin alimman turvatason elliptic curve
crypto. Eli Kyber - on helkkarin nopea. Tiedän että testaaminen on hankalaa. Meillä
on erilaisia alustoja, mutta intuitiona: Kyber on todella nopea. Eli asia, jonka
haluan mainita on, että Kyberin lähdekoodi on saatavilla online. Voit ladata sen
GitHubista, esimerkiksi, PQClean projektista, jossa on AVX optimoituja
implementointeja desktop CPU:ille, pqm4 projektista, joka on optimoitu
ARM pohjaisille sulautetuille prosessoreille, tai siellä on myös referenssi
c implementointi pq-crystals projektissa. Ja viimeisenä, mutta ei vähäisimpänä,
spesifikaatio, dokumentaatio, koodi, kaikki on lisensoitu Creative Commons
nolla alle, tarkoittaen, että se on julkisessa jakelussa. Eli on nolla lisenssiä tai patentti
ongelmaa Kyberin kanssa, se on vai yhteistä omaisuutta. Voit kloonata ja tehdä mitä
vain tahdot sen kanssa. Se on aika kivaa. Eli se oli Kyberistä, nyt Krijn
kertoo teille enemmän mitä oikeastaan hilat ovat ja miksi Kyber on oikeasti
turvallinen kuten se on. Krijn: OK, se oli Kyber. Ja olemme
puhuneet paljon polynominaaleista, mutta emme ole puhuneet paljoa hiloista.
Mutta sanoimme, että Kyber on hila pohjainen malli. Eli mitä hiloilla on
tekemistä kaikkien näiden polynominaalien kanssa? Ja miksi meidän mielestä se on
turvallinen, koska se on hilapohjainen? No, palataan näihin numeroihin joita
käytimme hetken, vain koska ne tekevät näistä asioista ymmärrettävämpiä ja
intuitiivisiä. Meillä oli tämä matriisin kerronta. Me kerroimme matriisin
vektorilla. Nyt sanotaanpa, että teemme tämän numeroilla, okei? Meillä on tämä
matriisi 13,4,2,9 ja kerromme sen a,b. no, oikeastaan, mitä voisit myös nähdä tässä
on, että kerrot vektorin 13 yli 2 a kertaa ja sitten lisäät vektorin 4 yli
9 b kertaa. Ja kuten näette kuvassa, on, voit tehdä eri yhdistelmiä
siitä. Eli jos otat a = 1 ja b = 1, saat pisteen oikeasta yläkulmasta
ja sitten voi tehdä tämän a = 2 ja b = 3, sitten 3 ja 4 loputtomiin.
Ja sitten saisit nämä kaikki pisteet levitettyinä cartesian tason yli, ja se
jatkuisi ikuisesti näissä ulottuvuuksissa. Eli saisit loputtoman määrän pisteitä
vain antamalla nämä kaksi alkuperäistä vektoria 13, 2 ja 4, 9. Nyt, meidän
salainen avain oli oikeastaan vain keino valita yksi näistä pisteistä, koska sanoimme
no, matriisi, joka meillä oli julkisessa avaimessa, se kuvaa jonkinlaisen hilan.
Ja sitten salainen avain s kuvaa oikeastaan tietyn pisteen numero kertaa
ensimmäinen vektori, plus numero kertaa toinen vektori. Sitten mitä
virhe tekijä tekee? No, tiedäthän, se vain siirtää bitin tästä hila pisteestä
jossa olimme ja sitten saamme tuloksen t täällä. Ja nyt
on todella vaikeaa päästä takaisin t:sta vektoriin s. Me tiedämme, että se on
lähin vektori tähän annettuun pisteeseen t tässä hilassa, jota kuvaa a. Mutta tämä
ongelma löytää lähin vektori hilassa ja satunnaisissa kirjaimissa on oikeasti
todella vaikea. Ja siksi kutsumme sitä lähimmän vektorin ongelmaksi, joka on
tosi hyvä nimi, koska etsimme lähintä vektoria. Eli tässä kaksi ulotteisessa
esimerkissä, meillä oli matriisi e ja vektori t julkisessa avaimessa, ja
meillä oli vektori s yksityisessä avaimessa ja sen piilotti tämä pieni virhe tekijä.
Kertauksena: a antaa sinulle tämä alustavat vektorit joita voit käyttää hilan kuvaamiseen
s antaa sinulle salaisen pisteen hilassa. Virhe varmistaa, että olet lähellä
hila pistettä, mutta et liian kaukana. Ja kun pääsemme lopputulokseen t,
joka on julkinen piste ja sitten pääsemme takaisin tästä hilan informaatiosta ja
t -> s on lähimmän vektorin ongelma, tiivistettynä. Voit ajatella nyt, OK,
tämä on numeroille näen sen nyt. Se on vain näitä pisteitä tällä
tasolla. Ulottuvuuteen kaksi OK, tajuan. Ulottuvuuteen kolme voit ajatella kolmannessa
ulottuvuudessa. Vaikkakin puhumme ulottuvuudesta n joka on paljon suurempi kuin 3 ja
polyniminaaleista numeroiden sijaan. Ja kuinka visualisoimme tämän? ja todellisuudessa
emme oikeastaan, mutta tiedämme miten laskemme sen, joka on vaan tätä kertomista
ja lisäämistä polynominaaleilla. Eli me vain laskemme sen ja tavallaan
ajattelemme sitä hilana abstraktisti, mutta emme visuaalisesti. Nyt lopetellaan
lyhyellä katsauksella asymmetrisen crypton tulevaisuuteen, ja palataan kvantin
jälkeiseen krypto eläintarhaan joka meillä oli. Katsoimme jo Kyberiä, mutta siellä oli
muitakin kryptografian alkutekijöitä kuten Rainbow, Falcon ja SABER ja
Dilithium, NTRU, McEliece. Niiden joukossa on allekirjoitus järjestelmiä, mutta myös
näitä avaintenvaihto mekanismejä. Oikeastaan, tämä eläintarha on aika erilainen kuin
mikä meillä oli ennen kvantin aikaa, se mikä meillä oli pre-quantum, kuten selitimme,
pohjautui enimmäkseen integer factorointiin ja discrete logarithm ongelmiin. Mutta
kvantin jälkeisessä, meillä on vaihtelevat ongelmat. Meillä on hash pohjaista kryptografiaa
hila pohjaista cryptoa, koodi pohjaista kryptografiaa, monimuuttujaan pohjautuvaa
kryptografiaa, isogeny pohjaista kryptografiaa. ja kaikki nämä viisi aika erilaista
vivahdetta kryptografiaa, myös erilaisiin matemaattisiin ongelmiin pohjautuen.
Mutta post-quantum salaus on tulossa. Esimerkiksi, Amazon on jo implementoinut
joitain kierroksen kaksi kanditaatteja, kuten Kyberin post-quantum TLS:aan.
Ja myös BSI, joka on Saksan informaatio turvallisuuden ministeriö, on tehnyt
esityksen integroida post-quantum kryptografia Thunderbirdiin, joka on heidän sähköpostiohjelma.
Ja jopa NIST:lla on seuraava lainaus, jos et ole siirtynyt elliptic curve
kryptografiaan vielä, älä vaivaudu, vaan siirry suoraan
post-quantum cryptoon. Ja se päättää esityksemme post-quantum cryptosta
ja Kyberistä. Jos haluatte jatkolukemista, siellä on linkki blogiin joka
menee vähän syvemmälle miten Kyber toimii ja siinä on pieni esimerkki. Juuri
kuten näytimme tällä videolla. Kiitos mielenkiinnostanne ja vastaamme
kysymyksiin nyt.
Kysymys, miksi minun pitäisi välittää tästä nyt ?
Ruben: No, tuo on erinomainen kysymys. No, kuten tiedämme Snowdenin vuodoista
NSA tällä hetkellä tallentaa paljon Internet liikennettä, joka on salattua, ja
he tallentavat tämän salatun liikenteen siinä toivossa, että he voivat purkaa sen
myöhemmin. Esimerkiksi, käyttäen isoa kvantti tietokonetta. Eli ensinnäkin, meidän täytyy
välittää tästä nyt, koska jos Internet liikenteemme on jo tallennettu ja voidaan purkaa myöhemmin.
Ja toiseksi, meidän täytyy välittää tästä nyt koska transitio, erityisesti mitä tulee
kryptografiaan, on todella hidasta koska standardointi vie paljon aikaa.
Implementointi vie paljon aikaa ja käyttöön ottaminen vie paljon aikaa.
Eli siksi meidän täytyy välittää siitä nyt. Kysymys: Mutta onko mitään haittapuolia?
Krijn: Toinen oikein hyvä kysymys. Oikeastaan, kyllä, on joitain haittapuolia, mutta
ne eivät ole isoja. Yleensä, avaimet ovat vähän isompia kuin mihin olemme tottuneet.
Joissain tapauksissa paljon suurempia kuin mihin olemme tottuneet. Ja nopeus on huonompi
mitä aikaisemmin. Joissain malleissa paljon hitaampaa kuin olemme tottuneet. Ja vaikka
tätä jo otetaan käyttöön, se on silti houkutteleva alue tutkimukselle ja olemme
jatkuvasti koittaneet tehdä avaimista pienempia ja malleista tehokkaampia.
Siinä toivossa, että saamme lopulta todella tehokkaat järjestelmät jotka ratkaisevat
kaikki post-kvantum ongelmamme. Miksi et antanut minun syödä hilaa (salaattia)? --(em sanaleikki lettuce käännöksestä)--
Ruben: Se on minun hilani! Okei, syö se nyt kamerassa, voit syödä yhden. Mutta
sitä ei ole pesty. Herald: Okei, kiitoksia.Ensimmäinen
kysymys, jonka saimme Internetistä on: Miksi käytätte 7-bit ASCIIta unicoden
sijaan? Ruben: No sen kirjaimen C tapauksessa
siinä ei olisi ollut paljoa eroa kuitenkaan. Me vain halusimme käyttää ASCIIta, koska
me todella, todella, halusimme suututtaa Eurooppalaiset, koska kaikki nämä umlautit
ja sen sellaiset. Totta kai, ne ovat tarpeettomia. Eli ASCII ikuisesti.
Herald: Olen yllättynyt, että olemme molemmat eurooppalaisia myös, mutta ei
mennä nationalismiin ja jatketaan seuraavaan kysymykseen, joka on, muuten, kuinka
voitte vertailla turvallisuus tasoja vaihteleviin n ja vaihteleviin q
suhteutettuina? Ruben: Anteeksi, yhteys hieman katosi
siinä. Voisitko toistaa kysymyksen? Herald: Totta kai, voiko verrata
turvallisuus tasoja vaihtelevien n ja vaihtelevien q mukaisesti ?
Ruben: Kyllä, totta kai voi. En ole varma ymmärsinkö kysymyksen. Totta kai,
niin se tehdään, sillä tavoin verrataan ja voit tehdä sen. En ole varma tarkoittiko
kysymys että tekisin sen juuri nyt tällä paikalla, koska tätä en pystyisi tekemään,
mutta tarkoitan, se oli kalvoilla, kuten turvallisuus tasot, jotka ollaan
standardoimassa, ainakin. Mutta yksi hyvä asia Kyberissä, oikein hyvä asia, jonka
haluan mainita on, eli polynominaalit, koko pysyy samana, modulus
q pysyy samana. Ainoastaan vektorin koko muuttuu. Eli kuinka monta polynominaalia
sinulla on vektorissa. Ja se on aika kiva kirjoitettaessa optimoitua koodia, koska
useimmat osat koodista ovat kirjaimellisesti samoja. Jos katsot implementointia,
referenssi implementaatiota, voit nähdä että se on todellisuudessa
samaa koodia kaikilla turvallisuus tasoilla, vain yksi headeri muuttuu, joka
määrittää kuinka suuria vektorit ovat. Eli se on aika kivaa. Mutta voit, yeah, sinulla
on RSAssa, sinulla on eri avain koot. Eli kyllä, se on hankalampaa optimoida,
mutta tässä, sinä voit vain pitää samat koot ja vain vektorin koko muuttuu,
mikä on hyvä juttu. Herald: Miten mahdollisuus rauta-
pohjaiselle kiihdytykselle Kyberissä? Olisiko se mahdollista, tehtävissä?
Ruben: En ole varma vastaanko vain tähän vai haluaako Krijn myös sanoa jotain,
mutta hardware kiihdytys post-quantum järjestelmissä yleisesti, kuten sanomme, on
aktiivinen tutkimusalue. Eli nuo asiat ovat hyvin uusia. Oli joitain ihmisiä, jotka ovat
koittaneet sitä, on olemassa paperi siitä, oikeasti - voit etsiä sen Internetistä -
RSA bignum hardware kiihdytyksen käytöstä Kyberissä, joka on aika kiinnostava ajatus
koska työstentelet tässä täysin eri juttujen kanssa. Mutta se on
avoin kysymys ja se on erittäin aktiivinen tutkimuksen alue. Eli jos kukaan katsoja
on kiinnostunut tällaisesta jutusta, en tiedä, kokeilemaan Kyberiä, tai
FPGAita tai jotain. Yeah, kokeilkaa sitä. Eli siinä on paljon mahdollisuuksia, mutta
se, kuten sanoin, on myös hyvin aktiivisesti tutkittu, koska se on aika uusi ja se vasta
löytää käyttöä teollisuudessa. Herald: Ja tässä jatkokysymys, joka
tavallaan peilaa sitä, koska kysymys on: Mihin asti tämä on tehtävissä
sulautetuissa arkkitehtuureissa, joissa on hyvin rajallisesti rautaa Kyberin käyttöön?
Ruben: No, olen käyttänyt sitä Cortex M3:ssa joka on ARM pohjainen. Eli yleensä
referenssi alusta, me käytämme Cortex M4 koska haluamme. Kuten kaksi kokeilua,
jotka ovat toistettavissa, ja voit ostaa Cortex M4 lautoja aika edullisesti usealta
kauppiaalta. Eli on ehdottomasti mahdollista ajaa Kyberia Cortex M3:lla.
Tarkoitan, on myös projekti GitHubissa. sitä kutsutaan pqm3:ksi, jossa on Kyber suorituskykytesti
useille, yeah M3 alustoille, mutta se on ehdottomasti mahdollista. Minkä parissa
juuri nyt työskentelen, testaan sitä Cortex M3 ja M4 myös sovellustasolla, eli sisällytän
sen TLSaan tai KEMTLSaan. Tai on olemassa paperi WireGuardin käytöstä Kyberillä tai
Dilithiumilla esimerkiksi. Se on todellakin mahdollista. Kysymys, myös aktiivinen alue
tutkimuksessa on, kuinka alas pääset? Kuten kuinka paljon voit optimoida? Koska on useita
kompromisseja, kuten haluammeko paljon tilaa koodille, mutta käyttää vähemmän RAM:ia
ja sinulla voi olla näitä kompromisseja sulautetussa maailmassa. Ja se on jotain
mitä aktiivisesti tutkin juuri nyt, oikeastaan. Mutta on varmasti
mahdollista ajaa sitä sulautetuissa järjestelmissä. Voisimme mennä Cortex M0
joka on todella, todella alhainen taso, mutta Cortex M3 pyörii jo älykorteissa.
Eli se on, mitä nykyisin tutkin ja se todellakin on mahdollista.
Mutta kuten sanoin, sinun pitää katsoa kompromisseja, katsoa kuinka paljon
haluat haaskata ROMia, kuinka paljon haaskata RAMia ja paljonko sinulla on antaa aikaa
suoritukselle? Mutta suorituskykytestit meillä on siellä, kuten sanoin, mene GitHubiin
pqm3, on jo aika hyvä, eli se on varmasti käyttäkelpoinen riippuen käyttötapauksestasi.
Toivon, että se vastasi kysymykseen. Herald: Minä myös. Täällä on toinen kysymys
joltain, joka on oikeati jo implementoinut sen. Joten luen vain nopeasti kysymykset:
Implementoin raa'an virhe oppimis kaavan epäturvallisella "pidä oluttani"-tyylillä.
Se näyttää toimivan, mutta näen noin 1% bitti virheitä selkotekstissä, kuinka oikea
implementointi käsittelee laajennettuja bitti virheitä salauksen purkamisessa?
Ruben: Eli helppo vastaus on pyöristämällä. Eli heität vain pois joitain alimpia bittejä,
mutta se oikeasti riippuu järjestelmästä. Eli jos hän on tehnyt jotain oppimista
virheillä. Eli on erilaisia malleja oppimisessa virheillä. On vaikka
rengasoppiminen virheillä, modulo oppiminen virheillä, oppiminen virheillä,
ja se riippuu mitä hän on implementoinut. Mutta lopulta, juttu joka tuntuu toimivan
on, heität vain vähiten merkitykselliset bitit pois, esimerkiksi, riippuen siitä
kuinka montaa virhettä odotat. En tiedä, Krijn haluatko lisätä jotain?
Krijn: Ei, luulen että pärjään hyvin kysymyksen kanssa.
Ruben: Jos ei ole yhtään kysymystä, aion kysyä sinun kysymyksesi jälkikäteen. Hyvin
henkilökohtaisia historiasta. Tiedäthän? Herald: Siirryn seuraavaan kysymykseen,
mutta luulen maallikon näkökulmasta, että tämä voi liittyä viimeiseen kysymykseen.
Kysymys on: Nuo sekvensointi termit on asetettu olemaan pieniä suhteessa
mesh:in koefisientteihin. Kuinka varmistatte, etteivät ne vaaranna
salausta ja että ne ovat valittu sattumanvaraisesti?
Ruben: Taas, olen pahoillani. Minulla oli pari katkoa, joten en kuullut kysymystä
voisitko toistaa sen? Herald: Toki. Kysymys oli: salainen avain
ja virhe termit on asetettu olemaan pieniä suhteessa viestin koefisientteihin. Kuinka
varmistatte, etteivät ne riko salausta valittuona sattumanvaraisesti?
Ruben: Ok, minulla pätki taas, Krijn,
saitko sinä kysymyksen? Muuten vastaan mitä kuulin. Mitä luulen, että luulin
kuulleeni. Krijn: Eli miksi ovat... Miksi eivät
pienet... Tosiasia että virhe ja salainen avain ovet pieniä, miksi se ei vaaranna
turvallisuutta? Ja todella, no haluat pitää virheen melko pienenä voidaksesi
ratkaista tämän, tämän lähimmän vektorin ongelman jonka luonnostelimme. Jos virhe
on liian suuri, silloin toinen vektori voisi olla lähin vektori, sen sijasta jonka
haluat olevan. Nyt miksi salaisen avaimen täytyy olla pieni. On joitain tuloksia, joista
tiedämme ettei se tarkoita... Että se ei vaaranna turvallisuutta pohjimmiltaan
mallissa. En tiedä jos, Ruben, sinä voit tehdä kaksrivisen miksi näin on.
Ruben: Eli vastaan kysymykseen kuten aina tykkään. Me tuomme sisään ne kaikki virhe termit.
Kuinka varmistamme ettei purkaminen ole viallinen, eikö? Ja tosiaan, se on oikein
hyvä kysymys, koska siinä on todistettavasti, todennäköisestä mitättömän todennäköisestä
että siinä on purku virheitä. Kuitenkin, Kyber on tarpeeksi nopea. Me käsittelemme
ne KEM versiossa Kyberistä. Eli mitä me esittelimme täällä, on julkisen avaimen
salaus versio. Standardoitavana on KEM, joka käyttää sisäisesti julkisen avaimen salauksen
versiota ja KEM versiossa, voit olla varma että tätä ei tapahdu, koska
yeah. Vastatakseni tähän kysymykseen, on olemassa pieni, pieni, mutta merkityksetön
mahdollisuus, että sinulla on virhe purkamisessa, eli siinä tapauksessa oikein
hyvä kysymys. Mutta jos olet oikein kiinnostunut, blogi postaus, tarkoitan, voit ladata kalvot ja
siellä on blogiteksti. Esitystä ajatellen, sanotaan, voit mennä blogi postaukseen
ja siellä on Kyber spesifikaation referenssi. He voivat vain klikata
spesifikaatiota ja siellä nähdä, että se on parametrien virittelyä
jotta varmistetaan, että sirotellut virhe termit eivät mitätöi purkamista
tiettyyn, tietyn todennäköisyyden rajoissa. Ja teemme tämän todennäköisyyden
Kyberissä niin matalaksi, ettei sitä todellisuudessa tapahdu. Vaikka 2 potenssiin...
sanotaan vaikka suuruusluokassa jotain, atomit maapallolla tai jotain antaaksemme
käsityksen kuinka suuria numerot ovat. Eli on hyvin, hyvin pieni mahdollisuus että
se tapahtuisi. Mutta hyvä kysymys. Tai näin ainakin tulkitsin 50% kysymyksestä
jonka kuulin. Herald: Olen pahoillani, meillä vaikuttaa
olevan tekninen ongelma. Ruben: Luulen että se on vain huono
yhteys vanhempieni luona. Herald: Se voi pitää paikkansa, myös
minun päässäni on ongelmia. Kysymys sen jälkeen ja ehkä Krijn voi vain alkaa
vastaamaan siihen. Olisiko Kyber rikki jos joku vain löytäisi yksinkertaisen
ratkaisun lähimmän vektorin ongelmaan. Krijn: Kyllä, mutta me tämän on tapaus,
se on aina näin salauksessa. Jos onnistut ratkaisemaan perustavan ongelman,
silloin salausmekanismi hajoaa. Onneksi lähimmän vektorin ongelmassa
meillä on oikein hyvä, meillä on suuri luottamus tähän ongelmaan, eli osa
muista post-quantum järjestelmistä pohjautuu uudempiin ongelmiin, eli
lähimmän vektorin ongelma on näitä paljon vanhempi. Eli luotamme siihen, meillä on
aika hyvä luottamus että sitä ei helposti rikota tulevina vuosina.
Ruben: Eli vastaus on, se on aika hankala, koska lähimmän vektorin ongelma on NP
vaikea. Eli ajattelemme, että se on aika hyvä ongelma josta lähteä liikkeelle. Mutta
kysymys on myös kuinka nämä hilat ovat suhteessa tiettyihin ilmentymiin
lähimmän vektorin ongelmassa? Ja ovatko nämä tietyt lähimmän sektorin ongelmat
ehkä vähän helpompia tai jotain? Mutta kuten Krijn sanoi, me olemme lähimmän vektorin
ongelmassa me luotamme, että tämä ongelma post-quantum cryptossa on se josta olemme
hyvin varmoja. Mutta, yeah, jos ratkaisisit sen tai jos olet jo ratkaissut sen,
Kyber olisi rikki. Herald: Tuo kuulostaa mahdolliselta
kaiverrukselta kolikkoon. "Lähimmän vektorin ongelmaan luotamme." Ja puhuttaessa
luottamuksesta. Kysymys tämän jälkeen: Luottaisitko tähän Kyber, tähän Kyber
algoritmiin suojataksesi kommunikaatiosi juuri nyt?
Ruben: Pitäisikö minun vastata tai Krijin haluatko sinä, et ole sanonut paljoakaan?
Krijn: Minä oikeastaan, kyllä, minulla ei ole. Eli jos olet epäluuloinen siihen, voit
mennä myös. En usko että puhuimme siitä, mutta voit mennä myös hybridi moodiin
nykyisissä klassisissa pre-quantum cryptoissa ja post-quantum, jos siedät haitat
siitä. Mutta henkilökohtaisesti, kyllä luulen että luottaisin. Ruben, miten sinä?
Ruben: Minä luottaisin Kyberiin tällä hetkellä, mutta siinä... Jos et luota siihen, kuten Krijn
sanoi, voit mennä hybridi moodiin, eli idea, esimerkiksi, TLSaan, ensin tee
elliptic curve crypto ja post-quantum crypto yhdessä, tavallaan siten että
vastustaja, hyökkääjän pitäisi murtaa molemmat vaarantaakseen
kommunikaation. Sillä tavoin sinun ei tarvitse täysin luottaa Kyberiin vielä jos
haluat ajaa hybridiä. Mutta tietenkin, ideana on jossain vaiheessa päästä eroon tästä
overheadista ja ajaa vain post-quantum cryptoa ilman elliptic curve cryptoa lisänä.
Mutta, yeah, tarkoitan, minä henkilö- kohtaisesti käyttäisin sitä juuri nyt. Mutta
mitä haluan myös sanoa on, että jokaisen kryptojärjestelmän alussa, RSA elliptic
curve, ei merkitystä. Alussa kaikki ovat melko epäileviä, eikä kukaan halua
käyttää sitä vielä. Ja se on ihan ok. Niinkuin, se on miten yhteisö toimii.
Mutta ajan kuluessa, usein ihmiset saavat luottamusta.
Herald: OK, kiitos. Nyt ajaudumme spekulatiiviselle alueelle, ja yksi
kysymyksistä on, onko teillä mitään arvausta, mikä järjestelmistä tulee
todennäköisesti voittamaan NIST PQC kilpailun, post-quantum crypto
kilpailun? Ruben: NIST erityisesti sanoo, että se ei
ole kilpailu, erittäin tärkeää. Eli Kyber on yksi voittajista, joita sieltä tulee, mutta
se on aika selvää. Ja voit jo nyt nähdä adoptoinnin oikeassa maailmassa. Toimme
kaksi esimerkkiä Amazonille ja BSI:lle, joka esimerkiksi haluaa sisällyttää sen
Thunderbirdiin emailin samaamiseksi. Eli Kyber tulee olemaan yksi voittajista. Tämä
on minun... ei ainoa mielipide, mutta yeah, se on selvää. Ja muuten, luulen McEliece,
joka on koodi pohjainen jörjestelmä, joka on aika suuri kaikin mitoin, sanotaan näin.
Mutta ihmisillä tuntuu olevan enemmän luottamusta siihen, koska se on ollut täällä pidempään.
Yeah, ja sanoisin noin KEMeille ja kaikki ovat aika tyytymättömiä allekirjoituksiin.
Eli en usko, että tulee olemaan alle- kirjoituksia standardoituna tänä- tai
ensi vuoden alussa. Mutta Krijn, en tiedä ehkä sinulla on arvaus ?
Krijn: Ei, en ole kovin spekulatiivinen persoona, mutta mielestäni Rubenin
vastaus oli hyvä vastaus. Ruben: Nyt sinun tosiaan täytyy
spekuloida, tarkoitan come on, et voi vain ratsastaa vastauksellani.
Krijn: en, tietenkin voin. On kiinnostavaa huomata oikeastaan, että allekirjoituksille
ei ole niin kova kiire, sanotaanko. Se on erityisesti tämä avainten vaihto
jonka haluamme tehdä post-quantumiksi niin nopeasti kuin mahdollista, ehkä, tai
tai ainakin standardoida nopeasti ja sitten integroida sen mitä ikinä rakennammekin.
No allekirjoituksiin on hieman enemmä aikaa, joten meillä on myös aikaa keksiäksemme
parempia ratkaisuja siihen tai analysoida nykyisiä ratkaisuja vähän enemmän.
Ruben: Yeah, se on koska tarkoitan mainitsimmme hyökkäysmallin, iso
valtiollinen laitos, esimerkiksi. Ja avain vaihto pitää korjata heti, koska se
voidaan rikkoa myöhemmin ja sitten kommunikaatio voidaan purkaa. Mutta
allekirjoitukset, niillä on lyhyt elinikä, esimerkiksi, ja niitä käytetään
myös autentikointiin. Eli tarvitsisit aktiivisen vastustajan. Ja se, yeah. Et voi
tallentaa nyt ja sitten toteuttaa aktiivisen hyökkäyksen 10 vuoden päästä, niin kuin,
se ei toimi. Eli meillä on enemmän aikaa, yeah.
Herald: No se ei ole täysin totta. On monia valtioita, jotka käyttävät ja
puhun allekirjoituksista, ei hetkellisessä käytöstä, online käytössä, vaan enemmän
allekirjoitusten käyttämisestä, esimerkiksi dokumenttien allekirjoittamisessa. Ja siihen
hyökkäykset olisivat silti relevantteja tulevaisuudessa.
Ruben: Jos niillä on, no, jos niissä on pitkä elinkaari, yleensä allekirjoituksissa
tai avaimissa ainakin, allekirjoitusten, ne vanhenevat jossain vaiheessa. Mutta, tietenkin
jos sinulla on, sinulla on allekirjoituksia, joissa ei ole vanhenemispäivää tai jotain,
sitten ne olisivat uhan alla myöskin. Herald: Dokumenttien allekirjoituksessa
sinulla on allekirjoituksia, joissa on paljon pidempi elinikä, kuin mitä tyypillisillä
web transaktioilla, esimerkiksi. Mutta nyt olen täysin putoamassa roolista
Heraldina, joka on vain astia kysymyksille yleisöstä.
Ruben: Mutta totta kai, tämä kiinnostaa meitä myös.
Herald: Ja luulen, että viimeisessä versiossa ainakin, luulen, että tämä on viimeinen
kysymys, ellei siellä ole lisää IRC:ssa, eli ihmisten pitää olla nopeita jos he
haluavat vielä lisää kysymyksiä. Mutta viimeiset kysymykset ovat hyvin käytännöllisiä.
Ja periaatteessa, onko teillä mitään ajatuksia sudenkuopista Kyberin implementoinnissa vielä?
Onko teillä ehdotuksia sen varmistamiseen että se implementoidaan turvallisesti? Tai
onko se mahdollista vain implementoida naivisti? Ruben: Eli, tämä on aina suuri taistely
kryptografia yhteisössä, koska on ihmisiä, jotka sanovat, oh, on vain kourallinen
valittuja ihmisiä, jotka pystyvät implementoimaan sen turvallisesti. Ja sinun ei pitäisi koskaan
ikinä, ikinä, tehdä sitä itse. Olen tämän toisella puolella, mielestäni ihmisten
pitäisi leikkiä implementoinnilla. Kokeilla sitä. Eli, Kyber on järjestelmien joukossa
että se ehdottomasti, sanotaan, että helpompi implementoida oikealla tavalla. Kuitenkin, se
riippuu missä aiot käyttää sitä, koska sinun täytyy ottaa myös sivukanavat
huomioon, erityisesti jos työskentelet sulautetuilla alustoilla, kuten voima-analyysi
ja sen sellaiset. Eli tätä myös tarkastellaan paljon. Ja sitten jos menet sellaiseen
implementaatioon, sinulla pitäisi olla naamioitu implementaatio. Eli tämä
olisi kokonaan oma esityksensä. En oikein halua niinkuin antaa sivulle kahta verbiä
mitä sinun pitäisi tehdä ja sitten sanoa että se on turvallinen. Tarkoitan, se on
vähän monimutkaisempaa. Eli en voi oikeasti sanoa tee tämä ja tuo. Voin vain sanoa
spektrumissa helposta vaikeaan, Kyber on enemmän reunassa helpompi implementoida
turvallisesti. Mutta jos olet kiinnostunut siitä, katso implementointeja.
Siellä on referenssi implementaatio. Siellä on PQClean ja muuta.
Etsi implementointeja online ja tutki niitä ja katso spesifikaatiota, joka on
linkattu blog postaukseen, se on linkattu kalvoihin. Siellä on myös joitain asioita
jotka sanovat mitä sinun ehkä pitäisi, missä sinun pitäisi olla varovainen, sanotaan.
Herald: OK. Ja täällä oli juuri lisä kysymys myös, ja se on, mikä
on Kyberin status OpenSSL:ssa ja GnuTLS:sa
Ruben: Okei, me näemme adoption crypto kirjastoissa, mutta OpenSSL. OK, en halua
vihata, mutta OpenSSL koodipohja on, kuinka sanon sen? Katso, se on vähän monimutkainen
ja vähän vaikea ulkopuoliselle tajuta mitä OpenSSL tekee tietyissä nurkissa omassa
koodipohjassaan. Mutta on projekti nimeltään OpenOQS, ei LibOQS, se on haara
OpenSSL:sta, sisältäen post-quantum kaavat, mutta ei ainoastaan Kyberiä, mutta useat
järjestelmät. Se on LibOQS, se on OpenSSL haara. On myös muita kirjastoja, esimerkiksi
WolfSSL, jolla on pienempi koodipohja ja heillä on jo se heidän oikeassa julkaisussa
tai heidän pääoksassa, sanotaan, Gitissa, heillä on jo NTLS post-quantum kaavat,
ja Kyber on yksi niistä. Heillä on hila pohjaisia järjestelmiä, jos
muistan oikein: Kyber, Dilithium ja Falcon. Joten he ovat ne jo sisällyttäneet.
WolfSSL, OpenSSL, kuten sanoin siinä on haara joka on suorituskyky mittaukseen ja
asioiden testaamiseen, siinä toivossa että myöhemmin ne palaavat OpenSSLaan. Mutta
kuten sanoin, OpenSSL ei ole oikein ideaali kokeiluille, koska koodipohja on aika
suuri ja joissain nurkissa, aika monimutkainen ymmärtää ja niin edelleen. Muut kirjastot
ovat vähän nopeampia. En tiedä mitään pyrkimyksistä GnuTLSaan ollakseni rehellinen,
mutta en ole katsonut sinnepäin vielä. On mahdollista, että joku muu on tehnyt
jotain siellä. Tarkoitan, olen työskennellyt WolfSSL kanssa ennen ja OpenSSL kanssa.
Mutta GnuTLS en ole varma. On ollut puhetta sisällyttää se GnuPGhen, jota voit käyttää
email salaukseen, ja siellä on, siinä on jotain edistymistä. Mutta, yeah, GNUTLS
minä en tiedä. Herald: Okei, tämä tuo meidät meidän
oikeasti viimeiseen kysymykseen, joka on, kuinka lähellä ovat nykyiset pilvi kvantti
tarjonnat kyetäkseen mahdollistamaan käyttäjien rikkoa nykyiset julkisen avaimen kryptografiat?
Ruben: Jos ymmärsin oikein, Krijn voit myös sanoa jotain jos haluat, jos
ymmärsin oikein, se on yleinen kysymys. Jos voin käyttää pilvilaskentaa
murtaakseni julkisen avaimen salauksen? Herald: Ei, kysymys on tarkempi. on
olemassa kvantti palveluita julkisilla pilvitarjoajilla, kuten Amazon juuri nyt,
ilmeisesti. Ainakin näin oletan henkilön joka esitti kysymyksen pohjustavan sen.
Ja kysymys on, missä määrin nuo saatavilla olevat vaihtoehdot ovat käytettävissä
rikkomaan nykyiset julkisen avaimen kryptografian järjestelmät?
Ruben: Eli jos ymmärsin kysymyksen oikein, kuten, jo käyttöön otetut kvantti
tietokoneet, ovatko ne uhka pre-quantum järjestelmille? OK, toistaiseksi ne
eivät, kvantti tietokoneita on käytössä, mutta niissä ei ole lähellekään riittävästi
qbittejä murtaakseen mitään oikean maailman järjestelmää, eli se on monimutkaisempaa kuin
se, koska et tarvitse vain qbittejä, tarvitset myös kvantti rekistereitä, jotka ovat riittävän
suuria, koska sinun pitää sotkea kaikki qbitit. Tarkoitan, olemme menossa
kvanttimekaniikkaan, mutta meidän pitää sotkea bitit ja kaikkea sellaista kvantti
hulluutta. Ja sitten tarvtset myös virheen korjauksen, joka on riittävän hyvä. Eli on
vielä, vielä on monia teknisiä, kuten suunnittelu ongelmia, joita pitää
ratkaista, teoriassa kaikki on hienosti ja silleen, mutta siinä on suunnittelu
työtä, josta pitää päästä yli ja nyt asennetut kvantti tietokoneet eivät ole
tarpeeksi suuria ollakseen uhka kvantille, pre-quantum järjestelmille, ellei sinulla
ole leikki avainsummia. Mutta oikeissa asennuksissa, se ei ole uhka vielä, mutta
se voisi olla seuraavan parin vuoden aikana. On hyvin vaikeaa ennakoida kehitystä
siinä ja suurimmat kvantti tietokoneet ovat oikeastaan kvantti hehkuttajia, jotka
toimivat eri tavalla, niinkuin kvantti hehkutus on eri asia, erilainen
kvantti tietokone, josta emme ole liian huolissamme juuri nyt.
Kuten se D-Wave esimerkiksi. Mutta, yeah, Eli juuri nyt, ne eivät ole uhka, mutta
voivat olla parin vuoden päästä tulevaisuudessa. Krijn: Ja erityisesti niin suhteessa siihen miksi
vaihdat post-quantum cryptoon, on tämä ajatus myös, standardoida crypto
ja sitten integroida crypto ja kaikki tämä kestää vuosia kuten tiedämme
siitrymisestä elliptic curve cryptoon. Eli vaikka tämä kvantti tietokone
on 10, 15 vuoden päässä, silti tämä koko transitio tulee kestämään niin
pitkään, että sen jälkeen, kuinka kauan sinun alkuperäisen datan täytyy olla turvassa?
Se on jokaisen arvaus. Ruben: Yeah, tarkoitan, sinun täytyy
ymmärtää, asymmetrinen crypto on kaikkialla, kuten esimerkiksi, myös yksi esimerkki voi olla
passini, kuten matkadokumenttini. Ja on dokumentteja, esimerkiksi, tuolla jotka
ovat voimassa 10 vuotta, kuten, luulen kunnollinen passi ja sellaiset jutut.
Ja tietenkin, ja kestää todella kauan myös sen kaltaisten asioiden kanssa, kuten
dokumenttien, jotka on myöntänyt hallinto. Siinä vain kestää aikaa, siihen menee
paljon aikaa. Herald: OK, kiitos teille paljon. Minun
pitäisi myös mainita, että signal angelilta, on ollut useita hyvin innostuneita
vastauksia yleisöstä ja ei niin paljon kysymyksiä esityksestänne, se on myös
hyvin mielenkiintoista. Eli kiitos teille paljon kun teitte tämän ja ehkä
näemme teitä taas. Krijn: Kiitoksia
Ruben: Hei hei!
rC3 loppumusiikki
Translated by Esa Lammi (KYBS2004 course assignment at JYU.FI)