-
r3C 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.
-
Yeas, 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ä
-
polynimiaaleilla. 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 vekrtorilla 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ä vieheitä
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 Kyber 1024 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 elliptoc 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 ongelmaan. 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
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-