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)