1 00:00:00,000 --> 00:00:12,875 Translated by Esa Lammi (KYBS2004 course assignment at JYU.FI) 2 00:00:12,875 --> 00:00:25,750 rC3 Intromusiikki 3 00:00:25,750 --> 00:00:32,969 Herald: Hyvää iltapäivää kaikille katsojille. Seuraavan esityksen pitää Ruben Gonzalez ja 4 00:00:32,969 --> 00:00:36,750 Krijin Reijnders, he molemmat ovat Ph.D opiskelijoita Radbout yliopistosta ja Ruben 5 00:00:36,750 --> 00:00:42,160 on myös Capture-The-Flag pelaaja nimeltä "Red Rocket" tai liittyy pelaajaan 6 00:00:42,160 --> 00:00:47,780 "Red Rocket". Heidän esitys liittyy kvantin jälkeiseen kryptografiaan. Ja teemme 7 00:00:47,780 --> 00:00:53,070 tavallaan tutustumishypyn Kyberiin. Tämä esitys myös live-käännetään 8 00:00:53,070 --> 00:00:58,980 saksaksi, eli jos et puhu saksaa, älä vaivu epätoivoon. Dieser Vortrag wird also 9 00:00:58,980 --> 00:01:05,910 übersetzt simultan in Deutsch, ja siinä oli myös koko saksan osaamiseni. Tämä 10 00:01:05,910 --> 00:01:10,959 esitys on myös nauhoitettu ja kestää 30 minuuttia, mutta Q&A on livenä 11 00:01:10,959 --> 00:01:13,349 tämän jälkeen. Joten nauttikaa. 12 00:01:13,349 --> 00:01:16,700 Ruben Gonzalez: Hei, ja tervetuloa esitykseen Kyberistä ja kvantin jälkeisestä 13 00:01:16,700 --> 00:01:24,110 kryptografiasta. Kuinka se toimii? Ensiksi nimeni on Ruben Gonzalez, olen tohtori 14 00:01:24,110 --> 00:01:27,420 opiskelija Hollannista. Pidän tämän esityksen yhdessä kollegani Krijin 15 00:01:27,420 --> 00:01:35,590 Reijndersin kanssa ja opetamme teille kaiken Kyberistä tänään. Eli, tärkeimmät 16 00:01:35,590 --> 00:01:40,179 ensin, pieni huomio, koska en halua tuottaa pettymystä ihmisille: Me puhumme boomer 17 00:01:40,179 --> 00:01:46,259 kryptosta, eli emme puhu lohkoketjuista, NFT:sta, shitcoineista... ollenkaan. 18 00:01:46,259 --> 00:01:52,631 Sen sijaan kyllästytämme teidät matematiikalla, oudoilla avainpareilla ja 19 00:01:52,631 --> 00:02:01,970 US valtionhallinnon organisaatioilla. Eli, esitys on jaettu neljään osaan. Ensin opetan 20 00:02:01,970 --> 00:02:06,530 teille vähän, mitä kvantin jälkeinen kryptografia todellisuudessa on ja miksi 21 00:02:06,530 --> 00:02:11,540 sinun pitäisi välittää siitä. Sitten puhumme Kyberistä, joka on kaava mihin 22 00:02:11,540 --> 00:02:15,860 syvennymme tarkemmin, koska se järjestelmä on juuri valloittamassa 23 00:02:15,860 --> 00:02:20,320 maailman. Ja sitten Kreijin puhuu teille hieman lisää turvallisuustakuista 24 00:02:20,320 --> 00:02:25,560 miten järjestelmä itse asiassa toimii matemaattisesti ja sitten annamme 25 00:02:25,560 --> 00:02:32,730 teille tiivistyksen Krypton tulevaisuudesta ja mihin tällä alueella 26 00:02:32,730 --> 00:02:44,349 olemme suuntaamassa. Eli, kvantin jälkeinen crypto. Vähän perusteita tähän: 27 00:02:44,349 --> 00:02:50,390 Tänään, kryptografia, ylätasolla, on jaettu kahteen osaan; tylsään osaan ja 28 00:02:50,390 --> 00:02:56,120 jännään osaan. Tylsää osaa kutsutaan symmetriseksi cryptoksi ja symmetrinen 29 00:02:56,120 --> 00:03:01,469 crypto tekee mitä yleensä odotat cryptolta. Eli voit salakirjoittaa asioita sillä ja 30 00:03:01,469 --> 00:03:06,209 joskus tehdä sillä autentikoinnin. Mutta suurin juttu siinä 31 00:03:06,209 --> 00:03:12,249 on se salakirjoittaminen. Eli sinulla on salainen avain, jota ei saa olla kenelläkään 32 00:03:12,249 --> 00:03:16,249 ja jos sinulla on tämä salainen avain, voit salata asioita ja toinen henkilö 33 00:03:16,249 --> 00:03:24,300 jolla on sama salaisuus voi purkaa sillä. Eli siksi se on symmetrinen - sinulla 34 00:03:24,300 --> 00:03:29,480 on yksi avain salaamiseen ja purkamiseen. Ja mitä käytät implementaation kannalta 35 00:03:29,480 --> 00:03:36,999 se on lähes ainoastaan AES salaamista tai tiiviste funktioita 36 00:03:36,999 --> 00:03:42,840 jotka ovat SHA perheestä ja se on symmetrinen maailma. Se on asioiden 37 00:03:42,840 --> 00:03:47,590 symmetrinen puoli. Nyt meillä on myös asymmetrinen crypto, koska jos katsot 38 00:03:47,590 --> 00:03:54,040 symmetristä cryptoa, sinulla on tämä salainen avain, mutta sinulla ei ole keinoa saada 39 00:03:54,040 --> 00:03:59,799 kahdelle osapuolelle tätä samaa salaista avainta. Ja siinä asymmetrinen salaus saapuu 40 00:03:59,799 --> 00:04:05,530 peliin. Eli, voit käyttää asymmetristä cryptoa, muiden asioiden ohessa, tämän 41 00:04:05,530 --> 00:04:14,540 salaisen avaimen vaihtamiseen. Eli asymmetrinen salaus käyttää avainparia: 42 00:04:14,540 --> 00:04:23,950 julkinen avain joka voi olla kaikilla ja salainen avain joka on vain vastaanottajalla. 43 00:04:23,950 --> 00:04:29,810 Yeah, eli pohjimmiltaan, julkisella avaimella salaat, esimerkiksi, symmetrisen avaimen, 44 00:04:29,810 --> 00:04:36,530 ja yksityisellä avaimella voit purkaa, ja tässä se tuntuu hieman hankalammalta. 45 00:04:36,530 --> 00:04:41,840 Siinä ei käytetä vain kahta algoritmia, vaan siinä käytetään kokonaista joukkoa 46 00:04:41,840 --> 00:04:51,180 algoritmeja. Eli, katsotaan tätä eläin- tarhaa nopeasti. Todennäköisesti jotkut näistä 47 00:04:51,180 --> 00:04:57,449 termeistä olet jo kuullut: Curve25519 on aika iso: Olet ehkä käyttänyt RSAta ennen, 48 00:04:57,449 --> 00:05:04,340 Diffie-Helman, sellaisia. Eli siinä on suuri joukko erilaisia rakenteita 49 00:05:04,340 --> 00:05:10,670 asymmetrisessa cryptossa, joita käytetään eri tarkoituksiin. Joskus siinä on eri 50 00:05:10,670 --> 00:05:13,770 malleja, joita käytetään samaan tarkoitukseen, tai voit käyttää yhtä 51 00:05:13,770 --> 00:05:19,190 juttua eri asioihin. Eli on aika monimut- kaista tehdä yhteenveto algoritmeista 52 00:05:19,190 --> 00:05:26,220 Mutta, jos katsot tätä joukkoa, ihmiset tuntuvat olevan iloisia, eikö niin? He 53 00:05:26,220 --> 00:05:30,510 katselevat ympärilleen, tutkivat, asiat näyttävät toimivan, onnellinen maailma. 54 00:05:30,510 --> 00:05:35,120 Miksi he haluaisivat muuttaa sen? Ja kvantin jälkeisessä cryptossa, me todella haluamme 55 00:05:35,120 --> 00:05:41,699 muuttaa asymmetrisen salauksen perusteetkin. No, tässä eläintarhassa on iso ongelma, ja se 56 00:05:41,699 --> 00:05:48,780 ei ole eläintarhassa, mutta tulee sinne. Eli on tämä kaveri, Peter Shore, ja hän 57 00:05:48,780 --> 00:05:58,059 uhkaa eläintarhaa. Hän aikoo tuhota sen ja kaikki siellä. Ja miksi näin on? 58 00:05:58,059 --> 00:06:04,700 No meillä on tämä iso asymmetrisen crypton eläintarha, eikö niin? Mutta jos katsot 59 00:06:04,700 --> 00:06:11,840 eri kaavoja tarkasti, näet että ne kaikki pohjautuvat vain kahteen 60 00:06:11,840 --> 00:06:17,409 matemaattiseen ongelmaan. Ja ne ovat integer factorization ja discrete logarithm. 61 00:06:17,409 --> 00:06:22,349 Meidän ei tarvitse, meillä ei ole aikaa mennä syvälle niiden yksityiskohtiin, 62 00:06:22,349 --> 00:06:27,780 mutta sinun täytyy tietää, että koko asymmetrisen crypton tarha pohjautuu 63 00:06:27,780 --> 00:06:35,679 kahteen ongelmaan. Ja sattumalta, Peter Shore, kehitti algoritmin, kvantti 64 00:06:35,679 --> 00:06:41,339 algoritmin, joka murtaa nuo kaksi ongelmaa ja kaiken krypton joka niihin perustuu. 65 00:06:41,339 --> 00:06:50,940 Eli kaikki tämän päivän crypto on oikeasti rikki, jos voimme käyttää Shoren algoritmia. 66 00:06:50,940 --> 00:06:55,880 Shoren algoritmi on kvantti algoritmi. Se tarkoittaa, että meillä pitää olla 67 00:06:55,880 --> 00:07:02,380 riittävän suuri kvanttitietokone että se toimii, mutta kun meillä on se, kaikki 68 00:07:02,380 --> 00:07:10,530 asymmetrinen krypto on tuhottu. Ja miksi sinun pitäisi välittää? No, ehkä käytät 69 00:07:10,530 --> 00:07:16,669 jotain niistä täällä? No, oikeasti käytät, halusit tai et. Katsot juuri nyt 70 00:07:16,669 --> 00:07:21,800 tätä streamia TLS kautta. Ehkä käytät myös juttuja, kuten SSH tai sähköpostin 71 00:07:21,800 --> 00:07:28,580 salausta tai IPSEC VPNaa tai Wireguardia. No, Shoren algoritmi rikkoisi kaikki 72 00:07:28,580 --> 00:07:35,719 nuo protokollat. Kaikki. Ja sinun pitäisi välittää, koska modernina informaation 73 00:07:35,719 --> 00:07:41,939 aikana, pohjimmillaan kaikki on digitaalista kommunikaatiota. Kaikki turvallisuus 74 00:07:41,939 --> 00:07:48,630 käytännössä perustuu cryptoon, eli, jos, Shorezilla rikkoo kaiken, meillä on 75 00:07:48,630 --> 00:07:55,099 suuri ongelma. Eli luonnollisesti kysymys herää: "koska meillä on isoja 76 00:07:55,099 --> 00:08:02,610 kvantti tietokoneita?" Ja vastaus on: "Me emme tiedä". Eri asiantuntijat 77 00:08:02,610 --> 00:08:12,360 sanovat eri asioita. Mielipiteet vaihtelevat viidestä vuodesta - ei koskaan. Mutta 78 00:08:12,360 --> 00:08:15,970 todellisuudessa kukaan ei tiedä. Emme näe tulevaisuuteen. Meillä ei ole taika 79 00:08:15,970 --> 00:08:21,401 kasipalloa. Mutta meidän pitäisi ehdottomasti olla valmiita suurelle kvantti koneelle 80 00:08:21,401 --> 00:08:26,680 koska emme halua kaiken informaatio turvallisuutemme hajoavan kun, sanotaan 81 00:08:26,680 --> 00:08:33,430 vaikka, iso US valtion laitos yhtäkkiä onnistuu rakentamaan kvantti tietokoneen. 82 00:08:33,430 --> 00:08:41,880 Eli Kvantin jälkeinen krypto on juuri asymmetrisen kryptografian suunnittelua 83 00:08:41,880 --> 00:08:48,250 siten, ettei siihen vaikuta kvantti tietokone. Tai sanotaan toivotaan näin. Mutta olemme 84 00:08:48,250 --> 00:08:52,950 aika varmoja, että niiden pitäisi olla. Varmastikin, niihin ei vaikuta Shoren 85 00:08:52,950 --> 00:08:59,230 algoritmi. Eli nyt tiedätte vähän mitä kvantin jälkeinen crypto on ja mihin 86 00:08:59,230 --> 00:09:07,450 sitä tarvitsemme, haluan puhua Kyberistä. Kyber on kvantin jälkeinen järjestelmä, 87 00:09:07,450 --> 00:09:15,700 joka todennäköisesti adoptoidaan lähitulevaisuudessa. Eli asymmetrisen 88 00:09:15,700 --> 00:09:23,120 crypton eläintarha on uhattuna - Tehdään uusi, uusi eläintarha, johon ihmiset voivat 89 00:09:23,120 --> 00:09:32,750 mennä, olla onnellisia ja elää heidän täyttä elämää. Standardointiorganisaatio 90 00:09:32,750 --> 00:09:38,310 NIST julkaisi kutsun pari vuotta sitten uusista kryprografisista järjestelmistä 91 00:09:38,310 --> 00:09:44,820 jotka kestävät kvantti tietokoneita. Ja ensimmäiset järjestelmät tullaankin 92 00:09:44,820 --> 00:09:53,270 oikeasti standardoimaan hyvin pian, 2022 alkuvuonna. Eli, haluamme katsoa yhtä 93 00:09:53,270 --> 00:10:00,829 järjestelmää joka tullaan standarsoimaan, ja sitä kutsutaan Kyberiksi. No miksi katsomme 94 00:10:00,829 --> 00:10:09,730 juuri sitä järjestelmää? No se on erittäin nopea, ja julkisten ja yksityisten avainten 95 00:10:09,730 --> 00:10:15,340 koot eivät ole liian isoja, tarkoittaen että voit käyttää niitä oikeissa projekteissa, 96 00:10:15,340 --> 00:10:21,200 joka ei aina toteudu kaikissa post-quantum cryptoissa. Joten se on jo, vaikkei olekaan, 97 00:10:21,200 --> 00:10:26,170 standardoitu, sitä on jo jonkin verran alettu ottamaan käyttöön alalla. 98 00:10:26,170 --> 00:10:31,730 Ja se on hila-pohjainen rakenne. Ja juuri nyt näyttää vähän siltä, että hila tulee 99 00:10:31,730 --> 00:10:36,149 olemaan tulevaisuus. Jos et tiedä mikä hila pohjainen järjestelmä on, se on OK; 100 00:10:36,149 --> 00:10:44,220 Krijin kertoo teille siitä lopuksi. Eli, siinä oli hauska osa esitystämme, 101 00:10:44,220 --> 00:10:48,610 helppo osa. Nyt meidän pitää kääriä hihat, meidän pitää saada kädet likaisiksi 102 00:10:48,610 --> 00:10:56,630 ja tarvitsemme vähän matematiikkaa. Ja sitä varten, aion antaa 103 00:10:56,630 --> 00:11:03,850 mikrofonin - kääntyä Krijnin puoleen. (kuinka sanotaan? Annan sen Krijinille? 104 00:11:03,850 --> 00:11:08,139 En tiedä.) Moikka. Krijn Raijnders: Eli, nyt tarvitsemme matikkaa. 105 00:11:08,139 --> 00:11:13,110 Aloitetaan. Mitä tarvitsemme Kyberissa ovat polynomiaalit, ja meidän pitää työskennellä 106 00:11:13,110 --> 00:11:17,959 polynomiaaleilla. Mutta oikeastaan voit ajatella polynomiaaleja kuten numeroita. 107 00:11:17,959 --> 00:11:23,510 Ja mitä tarkoitan sillä? Tarkoitan, että voit kertoa niitä ja voit 108 00:11:23,510 --> 00:11:29,970 lisätä niitä toisiinsa kuten numeroita. Ja kuten teimme numeroiden kanssa 109 00:11:29,970 --> 00:11:35,479 pre-quantum kryptografiassa, kun niistä tuli liian suuria, me pelkistimme niitä. 110 00:11:35,479 --> 00:11:40,970 Teemme tämän modulo operaation. Teemme saman kertoimille polynomiaaleissa, mutta 111 00:11:40,970 --> 00:11:45,360 myös kun, polynomiaalin aste kasvaa liikaa, pienennämme sitä toisella 112 00:11:45,360 --> 00:11:51,110 polynomiaalilla. Eli meillä on modulo operaatio polynomiaaleilla, ja tällä tavoin 113 00:11:51,110 --> 00:11:56,600 voit tehdä kaikenlaisia asioita polynomiaaleila. Ja siinä oikeastaan oli kaikki matematiikka 114 00:11:56,600 --> 00:12:01,720 jota tarvitsemme pohjimmillaan työskentelyyn Kyberin kanssa. Mitä tällä 115 00:12:01,720 --> 00:12:06,900 tarkoitan? No jos voit kertoa ja lisätä, sitten voit myös 116 00:12:06,900 --> 00:12:11,730 tehdä näitä asioita joita teemme numeroilla matriisien ja vektorien kanssa, eli voimme 117 00:12:11,730 --> 00:12:17,399 kertoa matriisin vektorilla ja lisätä toisen vektorin. Ja tämä toimii samoin 118 00:12:17,399 --> 00:12:21,490 näillä polynomiaaleilla, eli sinulla voi olla matriisi täynnä polynomiaaleja ja 119 00:12:21,490 --> 00:12:25,930 vektori täynnä polynomiaaleja ja voit vain kertoa ne keskenään, lisätä yhden 120 00:12:25,930 --> 00:12:30,380 vektorin. Se on perus operaatioita kertomisessa ja lisäämisessä poly- 121 00:12:30,380 --> 00:12:37,760 nomiaalien kanssa. Se näyttää vähän moni- mutkaisemmalta, mutta sitä se on. Ja sitten, 122 00:12:37,760 --> 00:12:42,209 sanotaan, että meillä on matriisi ja me kerromme vektorilla ja lisäämme toisen 123 00:12:42,209 --> 00:12:46,421 pienen vektorin. Nyt jos näytän teille tämän laskennan lopputuloksen, ja 124 00:12:46,421 --> 00:12:51,769 annan teille tämän matriisin jolla aloitimme, se on oikeasti paljon vaikeampi palauttaa 125 00:12:51,769 --> 00:12:56,140 vektori, jolla kerroimme matriisin. Ja tämä on perus-ongelma, jota 126 00:12:56,140 --> 00:13:02,199 tarvitsemme Kybesissä. Ja sen nimi on module-learning-with-errors. Tiedän, 127 00:13:02,199 --> 00:13:06,779 ettei nimessä ole paljon järkeä, mutta ilmeisesti matemaatikoiden mielestä se 128 00:13:06,779 --> 00:13:15,110 kivasti kuvaa ongelmaa. Eli tämä matriisi, kutsumme sitä 'A':ksi, tämä salainen vektori 129 00:13:15,110 --> 00:13:19,440 kutsumme sitä nimellä 's', sitten meidän pitää lisätä pieni virhe termi, jotta ei ole 130 00:13:19,440 --> 00:13:24,000 liian helppoa ratkaista tätä ongelmaa, ja sitten otamme julkisen arvon taas, jota 131 00:13:24,000 --> 00:13:32,699 kutsumme 't':ksi. Saadaan yhtälö A kertaa s plus e on yhtäkuin t. Ja sitten julkinen 132 00:13:32,699 --> 00:13:38,730 avainpari on tämä Matriisi A ja tulos 't', ja yksityinen avain on salainen 133 00:13:38,730 --> 00:13:45,629 vektori 's'. Ja se on kaikki, jota tarvitaan avainparin luomiseen Kyber:ssa. Meidän 134 00:13:45,629 --> 00:13:48,889 pitää oikeasti varmistaa, että yksityisessä avainparissa on pieni koeffisientti ja se myös 135 00:13:48,889 --> 00:13:55,570 tekee siitä pienen lähetettäväksi. ja myös, tässä virheessä on pieni 136 00:13:55,570 --> 00:14:01,570 koeffisientti. Loppu esityksen kannalta: Nämä virhe jaksot, ne ovat tarpeellisia, 137 00:14:01,570 --> 00:14:05,170 mutta mutkistavat myös vähän yhtälöitä, joten me vain kirjoitamme 138 00:14:05,170 --> 00:14:09,540 ne emojeilla jolloin tiedät mitä virheet ovat ja mitkä ovat tärkeitä arvoja, 139 00:14:09,540 --> 00:14:15,730 ja nyt Ruber kertoo jälleen: Kuinka salaamme ja puramme viestejä käyttäen 140 00:14:15,730 --> 00:14:21,680 sellaisia julkisia ja yksityisiä avainpareja? R.G.:OK, boomeri on palannut ja hän 141 00:14:21,680 --> 00:14:28,550 haluaa salata jotain. Eli, esimerkiksi hän haluaa salata kirjaimen C. Eli C ei ole 142 00:14:28,550 --> 00:14:33,720 arvo, vaan se on kirjaimellisesti kirjain "C" jonkä hän haluaa salata. Ja kuten 143 00:14:33,720 --> 00:14:38,580 opimme aiemmin, halutessamme salata jotain tarvitsemme julkisen avaimen. Eli meillä on 144 00:14:38,580 --> 00:14:48,079 tämä julkinen avain, joka on matriisi A ja vektori t. Eli ensin, meidän täytyy muuntaa 145 00:14:48,079 --> 00:14:52,839 kirjain "C" johonkin muotoon, jonka kanssa Kyber toimii, sillä haluamme salata sen 146 00:14:52,839 --> 00:14:58,709 Kyberillä - Eli ensin puretaan se binääri muotoon, okei, tietokoneessa kaikki 147 00:14:58,709 --> 00:15:04,790 on binäärinä muutenkin, eli sanotaan, että käytimme ASCIIta enkoodaukseen. Eli 148 00:15:04,790 --> 00:15:10,230 muutamme kirjaimen "C" ykkösiksi ja nolliksi. Tässä tapauksessa se on 149 00:15:10,230 --> 00:15:16,610 "1000011". Nyt meillä on binäärinen esitysmuoto, mutta Kyber käyttää niitä 150 00:15:16,610 --> 00:15:21,550 polynomiaaleja, eikö? Eli meidän täytyy jotenkin kääntää tämä polynomiaaliksi, 151 00:15:21,550 --> 00:15:28,620 joka onkin aika helppoa. Eli me vain teemme binäärisen polynominaalin, eli otamme 152 00:15:28,620 --> 00:15:34,970 ykköset ja nollat ja käytämme niitä koefisientteinä polynominaaliin. Tässä 153 00:15:34,970 --> 00:15:43,089 tapauksessa näet polynominaalin kalvoilla, aika helppoa. Eli, yksi bitti on yksi polynominaalin koefisientti. 154 00:15:43,089 --> 00:15:48,569 Koska nolla kertaa jotain on vain nolla, joka jättää vain pois nolla tekijät ja 155 00:15:48,569 --> 00:15:54,050 kutistaa polynominaaliamme vähän. Eli nyt meillä on selkoteksti ja voimme käyttää sitä 156 00:15:54,050 --> 00:15:58,770 Kyberissä, eikö? Selkoteksti on polynominaali "x potenssiin 6 plus x plus yksi". 157 00:15:58,770 --> 00:16:04,880 Se on meidän selkoteksti. Me emme ole salanneet vielä mitään, mutta meillä 158 00:16:04,880 --> 00:16:10,720 on selkoteksti. Eli käytetään nyt Kyber:ia salaamaan selkoteksti polynominaali. 159 00:16:10,720 --> 00:16:17,480 Ensin, me skaalaamme sen. Meidän täytyy tehdä polynominaalistamme iso. Ja teemme 160 00:16:17,480 --> 00:16:22,760 sen vain kertomalla polynominaalin suurella tekijällä. Eli valitsen 1337, se on satunnainen, 161 00:16:22,760 --> 00:16:29,839 riippuu Kyber instanssista, mutta me vain kerromme jokaisen polynominaalin 162 00:16:29,839 --> 00:16:37,470 koeffisentin suurella luvulla 1337. eli meillä on sama polynominaali, mutta suurilla 163 00:16:37,470 --> 00:16:44,850 koeffisienteillä. Eli skaalattu selkoteksti on 1337 x potenssiin, ja niin edelleen 164 00:16:44,850 --> 00:16:51,890 ja niin edelleen. Eli nyt teemme itse salauksen, mikä Kyber:ssa on oikeastaan 165 00:16:51,890 --> 00:16:57,730 aika helppoa. Me vain ripottelemme vähän virhetermejä. Kuten Krijin mainitsi aiemmin 166 00:16:57,730 --> 00:17:03,810 esityksessämme, kuvaamme pieniä virheitä emojeilla. Koska ne eivät ole tärkeitä, 167 00:17:03,810 --> 00:17:09,110 mutta sinun pitäisi silti tietää, että ne ovat siellä. Eli salatekstimme on oikeastaan 168 00:17:09,110 --> 00:17:16,440 vain kaksi arvoa, v, joka on polynominaali ja u joka on polynominaalin vektori. 169 00:17:16,440 --> 00:17:24,640 Eli, v on avain arvo julkisesta avaimesta, kerrottuna ja lisättynä virhetekijöillä, 170 00:17:24,640 --> 00:17:35,350 ja sitten se oikea skaalattu selkoteksti on lisätty myös. u on matriisi julkisesta 171 00:17:35,350 --> 00:17:40,190 avaimesta, kerrottuna virhe tekijällä ja virhetekijä lisättynä. 172 00:17:40,190 --> 00:17:46,870 Näet, että porkkana virhe tekijä esiintyy molemmissa yhtälöissä. Ja siinä se on. 173 00:17:46,870 --> 00:17:53,600 Se on meidän salaus. (v,u) on selkotekstimme salaus. Eli pelkkä 174 00:17:53,600 --> 00:17:58,049 salaaminen olisi tavallaan tylsää. Me varmaan haluamme myös purkaa asioita. Eli, kuinka 175 00:17:58,049 --> 00:18:03,950 teemme sen Kyberilla? No, me tarvitsemme yksityisen avaimen, eikös? julkinen avain 176 00:18:03,950 --> 00:18:10,590 salaa, yksityinen purkaa. Eli meillä on salatekstimme, ne kaksi arvoa v ja u. 177 00:18:10,590 --> 00:18:17,220 Ja purkaaksemme, me ensin puramme julkisen avaimen siitä. Ja me teemme sen ottamalla 178 00:18:17,220 --> 00:18:25,140 v miinus yksityinen avain, kerrottuna u:lla. ja jos tavaan yhtälön, 179 00:18:25,140 --> 00:18:34,100 niistä tulee aika pitkiä. Mutta kuten näette, jos ajattelette emojeja 180 00:18:34,100 --> 00:18:40,289 virhe tekijöinä, suurin osa julkisesta avaimesta, tai oikeastaan koko julkinen 181 00:18:40,289 --> 00:18:49,480 avain poistuu. Ja, d, täällä kalvoilla on lopputulos laskusta 182 00:18:49,480 --> 00:18:59,900 v miinus salainen avain kertaa u. Ja niin meillä on viestimme d:ssa, joka 183 00:18:59,900 --> 00:19:04,020 on selkoteksti, mutta meillä on myös nämä virhe tekijät lojumassa pitkin ja yksityinen 184 00:19:04,020 --> 00:19:12,380 avain. Nyt yksi keskeinen huomio on tärkeä. mainitsin aiemmin, että virhe tekijät 185 00:19:12,380 --> 00:19:19,309 ovat kaikki pieniä, eli ne ovat polynominaaleja pienillä koefisienteilla. 186 00:19:19,309 --> 00:19:25,580 Ja yksityisessäkin avaimessa on polynominaaleja pienillä koefisienteilla. Eli täällä kalvoilla 187 00:19:25,580 --> 00:19:32,140 kaikki oikealla puolella ovat aika pieniä, mutta selkotekstimme on iso, sillä 188 00:19:32,140 --> 00:19:39,110 skaalasimme sen aiemmin. Kerroimme sen suurella numerolla 1337. Eli yksinkertaisesti 189 00:19:39,110 --> 00:19:46,169 tavallaan pyöristämällä kaiken, saamme skaalatun selkotekstin takaisin, koska 190 00:19:46,169 --> 00:19:56,830 tekijät ovat pieniä. Eli pyöristämällä saamme skaalatun selkotekstin. Ja silloin 191 00:19:56,830 --> 00:20:02,990 olemme purkaneet. Ja mitä meidän täytyy nyt tehdä, on vain kääntää se alkuperäiseksi 192 00:20:02,990 --> 00:20:11,590 tekstiksi, eli skaalaamme alas, jaamme kokaisen koefisentin 1337:lla. Tuomme 193 00:20:11,590 --> 00:20:19,350 nolla tekijät, eli kaikilla koeffisienteilla jotka eivät ole polynominaalissa on nolla. 194 00:20:19,350 --> 00:20:23,450 Kaikilla tekijöillä, jotka eivät ole polynominaalissa on nolla koefisientti. Eli tuomme takaisin 195 00:20:23,450 --> 00:20:28,850 nollat ja sitten binääri polynominaalista, voimme vain lukea ykköset ja nollat. 196 00:20:28,850 --> 00:20:37,000 koefisienteista. Me saamme takaisin binääri koodin ja voimme dekoodata 197 00:20:37,000 --> 00:20:46,230 jälleen käyttäen ASCIIta, esimerkiksi, ja saamme selkotekstimme takaisin. Ja niin 198 00:20:46,230 --> 00:20:54,150 Kyber purkaa. Ja sitten voimme dekoodata Kyber selkotekstin alkuperäiseksi viestiksi 199 00:20:54,150 --> 00:21:01,169 joka oli "C". Eli miltä Kyber näyttää kotikäyttäjälle? 200 00:21:01,169 --> 00:21:06,690 No, Kyber tulee kolmena versiona, kolmena eri turvallisuus tasona. Niitä on 201 00:21:06,690 --> 00:21:15,620 Kyber512 aina Kyber1024 asti. Eli, usein kryptografiassa turvallisuutta mitataan 202 00:21:15,620 --> 00:21:22,700 bitteinä. Joskus se vertautuu AES vahvuuteen. Eli alin hyväksyttävä 203 00:21:22,700 --> 00:21:30,440 turvallisuus taso meille on 128 bittiä ja vahvin turvallisuus taso jota käytämme 204 00:21:30,440 --> 00:21:38,390 käytännössä on 256 bittiä. Eli Kyber512 on noin 128 bittiä turvallinen ja Kyber1024 on 205 00:21:38,390 --> 00:21:48,700 noin 256 bittiä turvallinen. Ja se on mitä loppukäyttäjän tulee tietää. Mutta haluan 206 00:21:48,700 --> 00:21:52,630 myös näyttää mitä nämä turvallisuudet oikeasti tarkoittavat Kyberin tapauksessa 207 00:21:52,630 --> 00:21:58,240 koska Kyber instanssit ovat pääosin määtitelty kolmella muuttujalla: n, k ja q. 208 00:21:58,240 --> 00:22:04,710 Ja mitä ne tarkoittavat? No, n on vain Kyberin käyttämä polynominaalin kertaluku. 209 00:22:04,710 --> 00:22:14,529 Eli 256 tarkoittaa, että meillä on exponentit x potenssiin maksimi 256. Eli polynominaalit 210 00:22:14,529 --> 00:22:25,230 ovat aika suuria. 256 koefisinttia voimme tallettaa. k tarkoittaa vektorin kokoa. Eli 211 00:22:25,230 --> 00:22:29,410 kuten näitte, Kyber ei käytä ainoastaan polynominaaleja, vaan myös polynominaalien 212 00:22:29,410 --> 00:22:38,350 vektoreita. Eli pohjimmiltaan monien polyminaalien listoja. Ja Kyberissä myös, 213 00:22:38,350 --> 00:22:46,200 k muuttuja sanoo, kuinka monta polynominaalia on sellaisessa vektorissa. q on modulus 214 00:22:46,200 --> 00:22:55,690 numeroille. Tarkoitan, meillä on koefisientteja, eikö? Ja kuinka suuriksi tämä koefisientti voi tulla? 215 00:22:55,690 --> 00:23:03,350 Eli suurin koefisientti, jota käytetään Kyberissä olisi 3328 otamme sen modulo 216 00:23:03,350 --> 00:23:10,780 3329. Eli kuten näette, Kyberissä meidän ei tarvitse käsitellä suuria numeroita, 217 00:23:10,780 --> 00:23:15,950 oikeastaan. Meidän täytyy käsitellä pre- quantum kruptografiassa, meidän täytyy 218 00:23:15,950 --> 00:23:25,480 käsitellä paljon suuria lukuja. Tässä, luvut eivät ole niin suuria. Tärkeää on myös koon 219 00:23:25,480 --> 00:23:33,360 ja nopeuden suhde. Tässä näette pylväs grafiikan julkisesta, yksityisestä avaimesta 220 00:23:33,360 --> 00:23:42,330 ja salatekstin koosta elliptisen kurvin järjestelmässä, Curve25519, RSA ja Kyber 221 00:23:42,330 --> 00:23:47,120 pienimmällä turvatasolla. Eli noilla kolmella turvallisuus systeemillä on sama turvallisuus 222 00:23:47,120 --> 00:23:52,450 taso, mutta kuten näette, elliptic curve crypto on todella pieni, RSA on vähäsen 223 00:23:52,450 --> 00:23:58,610 isompi, Kyber on vielä isompi. Mutta jos menemme suurimpaan turvatasoon, näette 224 00:23:58,610 --> 00:24:09,970 että Kyber on hyvin vertailukelpoinen RSAhan. Kuitenkin ECC in vielä paljon pienempi. 225 00:24:09,970 --> 00:24:15,460 Mutta, jos et välitä vain koosta ja välität myös nopeudesta, välität nopeudesta vielä 226 00:24:15,460 --> 00:24:24,070 enemmän. Ja jos vertaamme samaa turvatasoa Kyberissä, elliptic curveen 227 00:24:24,070 --> 00:24:30,330 ja RSAhan, näemme, että Kyber on liekeissä. Kyber on todella, todella nopea. 228 00:24:30,330 --> 00:24:37,899 Eli, voimme heittää pois RSAn ja vertailla vain elliptic curvea Kyberiin, ja näemme 229 00:24:37,899 --> 00:24:44,090 että Kyber on vielä nopeampi kuin elliptic crypto, mikä on aika vaikuttavaa 230 00:24:44,090 --> 00:24:49,649 koska elliptic crypto on jo melko nopea. Ja, vielä lisää, voimme nähdä, että 231 00:24:49,649 --> 00:24:55,730 korkeimmalla turvatasolla Kyber on nopeampi kuin alimman turvatason elliptic curve 232 00:24:55,730 --> 00:25:04,800 crypto. Eli Kyber - on helkkarin nopea. Tiedän että testaaminen on hankalaa. Meillä 233 00:25:04,800 --> 00:25:13,490 on erilaisia alustoja, mutta intuitiona: Kyber on todella nopea. Eli asia, jonka 234 00:25:13,490 --> 00:25:18,510 haluan mainita on, että Kyberin lähdekoodi on saatavilla online. Voit ladata sen 235 00:25:18,510 --> 00:25:24,700 GitHubista, esimerkiksi, PQClean projektista, jossa on AVX optimoituja 236 00:25:24,700 --> 00:25:34,679 implementointeja desktop CPU:ille, pqm4 projektista, joka on optimoitu 237 00:25:34,679 --> 00:25:40,160 ARM pohjaisille sulautetuille prosessoreille, tai siellä on myös referenssi 238 00:25:40,160 --> 00:25:48,100 c implementointi pq-crystals projektissa. Ja viimeisenä, mutta ei vähäisimpänä, 239 00:25:48,100 --> 00:25:52,830 spesifikaatio, dokumentaatio, koodi, kaikki on lisensoitu Creative Commons 240 00:25:52,830 --> 00:25:58,860 nolla alle, tarkoittaen, että se on julkisessa jakelussa. Eli on nolla lisenssiä tai patentti 241 00:25:58,860 --> 00:26:03,950 ongelmaa Kyberin kanssa, se on vai yhteistä omaisuutta. Voit kloonata ja tehdä mitä 242 00:26:03,950 --> 00:26:10,780 vain tahdot sen kanssa. Se on aika kivaa. Eli se oli Kyberistä, nyt Krijn 243 00:26:10,780 --> 00:26:16,870 kertoo teille enemmän mitä oikeastaan hilat ovat ja miksi Kyber on oikeasti 244 00:26:16,870 --> 00:26:27,110 turvallinen kuten se on. Krijn: OK, se oli Kyber. Ja olemme 245 00:26:27,110 --> 00:26:30,860 puhuneet paljon polynominaaleista, mutta emme ole puhuneet paljoa hiloista. 246 00:26:30,860 --> 00:26:35,880 Mutta sanoimme, että Kyber on hila pohjainen malli. Eli mitä hiloilla on 247 00:26:35,880 --> 00:26:39,539 tekemistä kaikkien näiden polynominaalien kanssa? Ja miksi meidän mielestä se on 248 00:26:39,539 --> 00:26:45,419 turvallinen, koska se on hilapohjainen? No, palataan näihin numeroihin joita 249 00:26:45,419 --> 00:26:49,659 käytimme hetken, vain koska ne tekevät näistä asioista ymmärrettävämpiä ja 250 00:26:49,659 --> 00:26:56,000 intuitiivisiä. Meillä oli tämä matriisin kerronta. Me kerroimme matriisin 251 00:26:56,000 --> 00:27:00,170 vektorilla. Nyt sanotaanpa, että teemme tämän numeroilla, okei? Meillä on tämä 252 00:27:00,170 --> 00:27:05,400 matriisi 13,4,2,9 ja kerromme sen a,b. no, oikeastaan, mitä voisit myös nähdä tässä 253 00:27:05,400 --> 00:27:13,250 on, että kerrot vektorin 13 yli 2 a kertaa ja sitten lisäät vektorin 4 yli 254 00:27:13,250 --> 00:27:17,789 9 b kertaa. Ja kuten näette kuvassa, on, voit tehdä eri yhdistelmiä 255 00:27:17,789 --> 00:27:22,549 siitä. Eli jos otat a = 1 ja b = 1, saat pisteen oikeasta yläkulmasta 256 00:27:22,549 --> 00:27:29,529 ja sitten voi tehdä tämän a = 2 ja b = 3, sitten 3 ja 4 loputtomiin. 257 00:27:29,529 --> 00:27:35,149 Ja sitten saisit nämä kaikki pisteet levitettyinä cartesian tason yli, ja se 258 00:27:35,149 --> 00:27:39,640 jatkuisi ikuisesti näissä ulottuvuuksissa. Eli saisit loputtoman määrän pisteitä 259 00:27:39,640 --> 00:27:49,740 vain antamalla nämä kaksi alkuperäistä vektoria 13, 2 ja 4, 9. Nyt, meidän 260 00:27:49,740 --> 00:27:54,929 salainen avain oli oikeastaan vain keino valita yksi näistä pisteistä, koska sanoimme 261 00:27:54,929 --> 00:27:58,990 no, matriisi, joka meillä oli julkisessa avaimessa, se kuvaa jonkinlaisen hilan. 262 00:27:58,990 --> 00:28:06,309 Ja sitten salainen avain s kuvaa oikeastaan tietyn pisteen numero kertaa 263 00:28:06,309 --> 00:28:11,240 ensimmäinen vektori, plus numero kertaa toinen vektori. Sitten mitä 264 00:28:11,240 --> 00:28:16,159 virhe tekijä tekee? No, tiedäthän, se vain siirtää bitin tästä hila pisteestä 265 00:28:16,159 --> 00:28:22,600 jossa olimme ja sitten saamme tuloksen t täällä. Ja nyt 266 00:28:22,600 --> 00:28:28,740 on todella vaikeaa päästä takaisin t:sta vektoriin s. Me tiedämme, että se on 267 00:28:28,740 --> 00:28:35,810 lähin vektori tähän annettuun pisteeseen t tässä hilassa, jota kuvaa a. Mutta tämä 268 00:28:35,810 --> 00:28:40,200 ongelma löytää lähin vektori hilassa ja satunnaisissa kirjaimissa on oikeasti 269 00:28:40,200 --> 00:28:44,840 todella vaikea. Ja siksi kutsumme sitä lähimmän vektorin ongelmaksi, joka on 270 00:28:44,840 --> 00:28:51,149 tosi hyvä nimi, koska etsimme lähintä vektoria. Eli tässä kaksi ulotteisessa 271 00:28:51,149 --> 00:28:56,220 esimerkissä, meillä oli matriisi e ja vektori t julkisessa avaimessa, ja 272 00:28:56,220 --> 00:29:01,519 meillä oli vektori s yksityisessä avaimessa ja sen piilotti tämä pieni virhe tekijä. 273 00:29:01,519 --> 00:29:07,850 Kertauksena: a antaa sinulle tämä alustavat vektorit joita voit käyttää hilan kuvaamiseen 274 00:29:07,850 --> 00:29:13,909 s antaa sinulle salaisen pisteen hilassa. Virhe varmistaa, että olet lähellä 275 00:29:13,909 --> 00:29:20,460 hila pistettä, mutta et liian kaukana. Ja kun pääsemme lopputulokseen t, 276 00:29:20,460 --> 00:29:24,890 joka on julkinen piste ja sitten pääsemme takaisin tästä hilan informaatiosta ja 277 00:29:24,890 --> 00:29:32,230 t -> s on lähimmän vektorin ongelma, tiivistettynä. Voit ajatella nyt, OK, 278 00:29:32,230 --> 00:29:37,870 tämä on numeroille näen sen nyt. Se on vain näitä pisteitä tällä 279 00:29:37,870 --> 00:29:44,200 tasolla. Ulottuvuuteen kaksi OK, tajuan. Ulottuvuuteen kolme voit ajatella kolmannessa 280 00:29:44,200 --> 00:29:50,840 ulottuvuudessa. Vaikkakin puhumme ulottuvuudesta n joka on paljon suurempi kuin 3 ja 281 00:29:50,840 --> 00:29:56,019 polyniminaaleista numeroiden sijaan. Ja kuinka visualisoimme tämän? ja todellisuudessa 282 00:29:56,019 --> 00:30:02,090 emme oikeastaan, mutta tiedämme miten laskemme sen, joka on vaan tätä kertomista 283 00:30:02,090 --> 00:30:06,840 ja lisäämistä polynominaaleilla. Eli me vain laskemme sen ja tavallaan 284 00:30:06,840 --> 00:30:11,820 ajattelemme sitä hilana abstraktisti, mutta emme visuaalisesti. Nyt lopetellaan 285 00:30:11,820 --> 00:30:15,840 lyhyellä katsauksella asymmetrisen crypton tulevaisuuteen, ja palataan kvantin 286 00:30:15,840 --> 00:30:20,610 jälkeiseen krypto eläintarhaan joka meillä oli. Katsoimme jo Kyberiä, mutta siellä oli 287 00:30:20,610 --> 00:30:25,740 muitakin kryptografian alkutekijöitä kuten Rainbow, Falcon ja SABER ja 288 00:30:25,740 --> 00:30:29,940 Dilithium, NTRU, McEliece. Niiden joukossa on allekirjoitus järjestelmiä, mutta myös 289 00:30:29,940 --> 00:30:33,871 näitä avaintenvaihto mekanismejä. Oikeastaan, tämä eläintarha on aika erilainen kuin 290 00:30:33,871 --> 00:30:37,690 mikä meillä oli ennen kvantin aikaa, se mikä meillä oli pre-quantum, kuten selitimme, 291 00:30:37,690 --> 00:30:42,899 pohjautui enimmäkseen integer factorointiin ja discrete logarithm ongelmiin. Mutta 292 00:30:42,899 --> 00:30:48,299 kvantin jälkeisessä, meillä on vaihtelevat ongelmat. Meillä on hash pohjaista kryptografiaa 293 00:30:48,299 --> 00:30:52,149 hila pohjaista cryptoa, koodi pohjaista kryptografiaa, monimuuttujaan pohjautuvaa 294 00:30:52,149 --> 00:30:54,840 kryptografiaa, isogeny pohjaista kryptografiaa. ja kaikki nämä viisi aika erilaista 295 00:30:54,840 --> 00:30:59,750 vivahdetta kryptografiaa, myös erilaisiin matemaattisiin ongelmiin pohjautuen. 296 00:30:59,750 --> 00:31:06,220 Mutta post-quantum salaus on tulossa. Esimerkiksi, Amazon on jo implementoinut 297 00:31:06,220 --> 00:31:11,500 joitain kierroksen kaksi kanditaatteja, kuten Kyberin post-quantum TLS:aan. 298 00:31:11,500 --> 00:31:17,960 Ja myös BSI, joka on Saksan informaatio turvallisuuden ministeriö, on tehnyt 299 00:31:17,960 --> 00:31:23,389 esityksen integroida post-quantum kryptografia Thunderbirdiin, joka on heidän sähköpostiohjelma. 300 00:31:23,389 --> 00:31:28,590 Ja jopa NIST:lla on seuraava lainaus, jos et ole siirtynyt elliptic curve 301 00:31:28,590 --> 00:31:33,519 kryptografiaan vielä, älä vaivaudu, vaan siirry suoraan 302 00:31:33,519 --> 00:31:40,159 post-quantum cryptoon. Ja se päättää esityksemme post-quantum cryptosta 303 00:31:40,159 --> 00:31:45,220 ja Kyberistä. Jos haluatte jatkolukemista, siellä on linkki blogiin joka 304 00:31:45,220 --> 00:31:50,920 menee vähän syvemmälle miten Kyber toimii ja siinä on pieni esimerkki. Juuri 305 00:31:50,920 --> 00:31:55,340 kuten näytimme tällä videolla. Kiitos mielenkiinnostanne ja vastaamme 306 00:31:55,340 --> 00:31:58,200 kysymyksiin nyt. 307 00:31:58,200 --> 00:32:00,590 Kysymys, miksi minun pitäisi välittää tästä nyt ? 308 00:32:00,590 --> 00:32:05,639 Ruben: No, tuo on erinomainen kysymys. No, kuten tiedämme Snowdenin vuodoista 309 00:32:05,639 --> 00:32:16,430 NSA tällä hetkellä tallentaa paljon Internet liikennettä, joka on salattua, ja 310 00:32:16,430 --> 00:32:20,510 he tallentavat tämän salatun liikenteen siinä toivossa, että he voivat purkaa sen 311 00:32:20,510 --> 00:32:25,750 myöhemmin. Esimerkiksi, käyttäen isoa kvantti tietokonetta. Eli ensinnäkin, meidän täytyy 312 00:32:25,750 --> 00:32:30,480 välittää tästä nyt, koska jos Internet liikenteemme on jo tallennettu ja voidaan purkaa myöhemmin. 313 00:32:30,480 --> 00:32:36,970 Ja toiseksi, meidän täytyy välittää tästä nyt koska transitio, erityisesti mitä tulee 314 00:32:36,970 --> 00:32:41,309 kryptografiaan, on todella hidasta koska standardointi vie paljon aikaa. 315 00:32:41,309 --> 00:32:47,019 Implementointi vie paljon aikaa ja käyttöön ottaminen vie paljon aikaa. 316 00:32:47,019 --> 00:32:52,050 Eli siksi meidän täytyy välittää siitä nyt. Kysymys: Mutta onko mitään haittapuolia? 317 00:32:52,050 --> 00:32:56,250 Krijn: Toinen oikein hyvä kysymys. Oikeastaan, kyllä, on joitain haittapuolia, mutta 318 00:32:56,250 --> 00:33:01,940 ne eivät ole isoja. Yleensä, avaimet ovat vähän isompia kuin mihin olemme tottuneet. 319 00:33:01,940 --> 00:33:06,690 Joissain tapauksissa paljon suurempia kuin mihin olemme tottuneet. Ja nopeus on huonompi 320 00:33:06,690 --> 00:33:14,769 mitä aikaisemmin. Joissain malleissa paljon hitaampaa kuin olemme tottuneet. Ja vaikka 321 00:33:14,769 --> 00:33:19,570 tätä jo otetaan käyttöön, se on silti houkutteleva alue tutkimukselle ja olemme 322 00:33:19,570 --> 00:33:24,970 jatkuvasti koittaneet tehdä avaimista pienempia ja malleista tehokkaampia. 323 00:33:24,970 --> 00:33:29,600 Siinä toivossa, että saamme lopulta todella tehokkaat järjestelmät jotka ratkaisevat 324 00:33:29,600 --> 00:33:33,380 kaikki post-kvantum ongelmamme. Miksi et antanut minun syödä hilaa (salaattia)? --(em sanaleikki lettuce käännöksestä)-- 325 00:33:33,380 --> 00:33:42,690 Ruben: Se on minun hilani! Okei, syö se nyt kamerassa, voit syödä yhden. Mutta 326 00:33:42,690 --> 00:33:49,980 sitä ei ole pesty. Herald: Okei, kiitoksia.Ensimmäinen 327 00:33:49,980 --> 00:33:54,649 kysymys, jonka saimme Internetistä on: Miksi käytätte 7-bit ASCIIta unicoden 328 00:33:54,649 --> 00:33:59,100 sijaan? Ruben: No sen kirjaimen C tapauksessa 329 00:33:59,100 --> 00:34:05,340 siinä ei olisi ollut paljoa eroa kuitenkaan. Me vain halusimme käyttää ASCIIta, koska 330 00:34:05,340 --> 00:34:10,340 me todella, todella, halusimme suututtaa Eurooppalaiset, koska kaikki nämä umlautit 331 00:34:10,340 --> 00:34:17,940 ja sen sellaiset. Totta kai, ne ovat tarpeettomia. Eli ASCII ikuisesti. 332 00:34:17,940 --> 00:34:24,810 Herald: Olen yllättynyt, että olemme molemmat eurooppalaisia myös, mutta ei 333 00:34:24,810 --> 00:34:34,460 mennä nationalismiin ja jatketaan seuraavaan kysymykseen, joka on, muuten, kuinka 334 00:34:34,460 --> 00:34:40,390 voitte vertailla turvallisuus tasoja vaihteleviin n ja vaihteleviin q 335 00:34:40,390 --> 00:34:45,880 suhteutettuina? Ruben: Anteeksi, yhteys hieman katosi 336 00:34:45,880 --> 00:34:53,240 siinä. Voisitko toistaa kysymyksen? Herald: Totta kai, voiko verrata 337 00:34:53,240 --> 00:34:58,190 turvallisuus tasoja vaihtelevien n ja vaihtelevien q mukaisesti ? 338 00:34:58,190 --> 00:35:06,270 Ruben: Kyllä, totta kai voi. En ole varma ymmärsinkö kysymyksen. Totta kai, 339 00:35:06,270 --> 00:35:13,360 niin se tehdään, sillä tavoin verrataan ja voit tehdä sen. En ole varma tarkoittiko 340 00:35:13,360 --> 00:35:17,680 kysymys että tekisin sen juuri nyt tällä paikalla, koska tätä en pystyisi tekemään, 341 00:35:17,680 --> 00:35:23,390 mutta tarkoitan, se oli kalvoilla, kuten turvallisuus tasot, jotka ollaan 342 00:35:23,390 --> 00:35:29,490 standardoimassa, ainakin. Mutta yksi hyvä asia Kyberissä, oikein hyvä asia, jonka 343 00:35:29,490 --> 00:35:37,050 haluan mainita on, eli polynominaalit, koko pysyy samana, modulus 344 00:35:37,050 --> 00:35:43,820 q pysyy samana. Ainoastaan vektorin koko muuttuu. Eli kuinka monta polynominaalia 345 00:35:43,820 --> 00:35:48,460 sinulla on vektorissa. Ja se on aika kiva kirjoitettaessa optimoitua koodia, koska 346 00:35:48,460 --> 00:35:54,410 useimmat osat koodista ovat kirjaimellisesti samoja. Jos katsot implementointia, 347 00:35:54,410 --> 00:36:00,730 referenssi implementaatiota, voit nähdä että se on todellisuudessa 348 00:36:00,730 --> 00:36:05,650 samaa koodia kaikilla turvallisuus tasoilla, vain yksi headeri muuttuu, joka 349 00:36:05,650 --> 00:36:14,940 määrittää kuinka suuria vektorit ovat. Eli se on aika kivaa. Mutta voit, yeah, sinulla 350 00:36:14,940 --> 00:36:19,820 on RSAssa, sinulla on eri avain koot. Eli kyllä, se on hankalampaa optimoida, 351 00:36:19,820 --> 00:36:25,760 mutta tässä, sinä voit vain pitää samat koot ja vain vektorin koko muuttuu, 352 00:36:25,760 --> 00:36:31,590 mikä on hyvä juttu. Herald: Miten mahdollisuus rauta- 353 00:36:31,590 --> 00:36:37,300 pohjaiselle kiihdytykselle Kyberissä? Olisiko se mahdollista, tehtävissä? 354 00:36:37,300 --> 00:36:42,720 Ruben: En ole varma vastaanko vain tähän vai haluaako Krijn myös sanoa jotain, 355 00:36:42,720 --> 00:36:49,200 mutta hardware kiihdytys post-quantum järjestelmissä yleisesti, kuten sanomme, on 356 00:36:49,200 --> 00:36:55,610 aktiivinen tutkimusalue. Eli nuo asiat ovat hyvin uusia. Oli joitain ihmisiä, jotka ovat 357 00:36:55,610 --> 00:37:03,120 koittaneet sitä, on olemassa paperi siitä, oikeasti - voit etsiä sen Internetistä - 358 00:37:03,120 --> 00:37:06,900 RSA bignum hardware kiihdytyksen käytöstä Kyberissä, joka on aika kiinnostava ajatus 359 00:37:06,900 --> 00:37:14,010 koska työstentelet tässä täysin eri juttujen kanssa. Mutta se on 360 00:37:14,010 --> 00:37:18,280 avoin kysymys ja se on erittäin aktiivinen tutkimuksen alue. Eli jos kukaan katsoja 361 00:37:18,280 --> 00:37:22,410 on kiinnostunut tällaisesta jutusta, en tiedä, kokeilemaan Kyberiä, tai 362 00:37:22,410 --> 00:37:29,470 FPGAita tai jotain. Yeah, kokeilkaa sitä. Eli siinä on paljon mahdollisuuksia, mutta 363 00:37:29,470 --> 00:37:35,490 se, kuten sanoin, on myös hyvin aktiivisesti tutkittu, koska se on aika uusi ja se vasta 364 00:37:35,490 --> 00:37:45,960 löytää käyttöä teollisuudessa. Herald: Ja tässä jatkokysymys, joka 365 00:37:45,960 --> 00:37:50,580 tavallaan peilaa sitä, koska kysymys on: Mihin asti tämä on tehtävissä 366 00:37:50,580 --> 00:37:56,390 sulautetuissa arkkitehtuureissa, joissa on hyvin rajallisesti rautaa Kyberin käyttöön? 367 00:37:56,390 --> 00:38:06,710 Ruben: No, olen käyttänyt sitä Cortex M3:ssa joka on ARM pohjainen. Eli yleensä 368 00:38:06,710 --> 00:38:14,350 referenssi alusta, me käytämme Cortex M4 koska haluamme. Kuten kaksi kokeilua, 369 00:38:14,350 --> 00:38:18,880 jotka ovat toistettavissa, ja voit ostaa Cortex M4 lautoja aika edullisesti usealta 370 00:38:18,880 --> 00:38:28,590 kauppiaalta. Eli on ehdottomasti mahdollista ajaa Kyberia Cortex M3:lla. 371 00:38:28,590 --> 00:38:33,240 Tarkoitan, on myös projekti GitHubissa. sitä kutsutaan pqm3:ksi, jossa on Kyber suorituskykytesti 372 00:38:33,240 --> 00:38:41,140 useille, yeah M3 alustoille, mutta se on ehdottomasti mahdollista. Minkä parissa 373 00:38:41,140 --> 00:38:51,520 juuri nyt työskentelen, testaan sitä Cortex M3 ja M4 myös sovellustasolla, eli sisällytän 374 00:38:51,520 --> 00:38:59,970 sen TLSaan tai KEMTLSaan. Tai on olemassa paperi WireGuardin käytöstä Kyberillä tai 375 00:38:59,970 --> 00:39:04,780 Dilithiumilla esimerkiksi. Se on todellakin mahdollista. Kysymys, myös aktiivinen alue 376 00:39:04,780 --> 00:39:10,480 tutkimuksessa on, kuinka alas pääset? Kuten kuinka paljon voit optimoida? Koska on useita 377 00:39:10,480 --> 00:39:16,870 kompromisseja, kuten haluammeko paljon tilaa koodille, mutta käyttää vähemmän RAM:ia 378 00:39:16,870 --> 00:39:20,960 ja sinulla voi olla näitä kompromisseja sulautetussa maailmassa. Ja se on jotain 379 00:39:20,960 --> 00:39:24,950 mitä aktiivisesti tutkin juuri nyt, oikeastaan. Mutta on varmasti 380 00:39:24,950 --> 00:39:33,180 mahdollista ajaa sitä sulautetuissa järjestelmissä. Voisimme mennä Cortex M0 381 00:39:33,180 --> 00:39:38,240 joka on todella, todella alhainen taso, mutta Cortex M3 pyörii jo älykorteissa. 382 00:39:38,240 --> 00:39:41,800 Eli se on, mitä nykyisin tutkin ja se todellakin on mahdollista. 383 00:39:41,800 --> 00:39:46,210 Mutta kuten sanoin, sinun pitää katsoa kompromisseja, katsoa kuinka paljon 384 00:39:46,210 --> 00:39:51,120 haluat haaskata ROMia, kuinka paljon haaskata RAMia ja paljonko sinulla on antaa aikaa 385 00:39:51,120 --> 00:39:55,850 suoritukselle? Mutta suorituskykytestit meillä on siellä, kuten sanoin, mene GitHubiin 386 00:39:55,850 --> 00:40:01,120 pqm3, on jo aika hyvä, eli se on varmasti käyttäkelpoinen riippuen käyttötapauksestasi. 387 00:40:01,120 --> 00:40:10,850 Toivon, että se vastasi kysymykseen. Herald: Minä myös. Täällä on toinen kysymys 388 00:40:10,850 --> 00:40:15,970 joltain, joka on oikeati jo implementoinut sen. Joten luen vain nopeasti kysymykset: 389 00:40:15,970 --> 00:40:21,030 Implementoin raa'an virhe oppimis kaavan epäturvallisella "pidä oluttani"-tyylillä. 390 00:40:21,030 --> 00:40:26,110 Se näyttää toimivan, mutta näen noin 1% bitti virheitä selkotekstissä, kuinka oikea 391 00:40:26,110 --> 00:40:32,520 implementointi käsittelee laajennettuja bitti virheitä salauksen purkamisessa? 392 00:40:32,520 --> 00:40:41,550 Ruben: Eli helppo vastaus on pyöristämällä. Eli heität vain pois joitain alimpia bittejä, 393 00:40:41,550 --> 00:40:47,430 mutta se oikeasti riippuu järjestelmästä. Eli jos hän on tehnyt jotain oppimista 394 00:40:47,430 --> 00:40:51,740 virheillä. Eli on erilaisia malleja oppimisessa virheillä. On vaikka 395 00:40:51,740 --> 00:40:54,390 rengasoppiminen virheillä, modulo oppiminen virheillä, oppiminen virheillä, 396 00:40:54,390 --> 00:41:00,770 ja se riippuu mitä hän on implementoinut. Mutta lopulta, juttu joka tuntuu toimivan 397 00:41:00,770 --> 00:41:06,140 on, heität vain vähiten merkitykselliset bitit pois, esimerkiksi, riippuen siitä 398 00:41:06,140 --> 00:41:12,730 kuinka montaa virhettä odotat. En tiedä, Krijn haluatko lisätä jotain? 399 00:41:12,730 --> 00:41:16,530 Krijn: Ei, luulen että pärjään hyvin kysymyksen kanssa. 400 00:41:16,530 --> 00:41:22,150 Ruben: Jos ei ole yhtään kysymystä, aion kysyä sinun kysymyksesi jälkikäteen. Hyvin 401 00:41:22,150 --> 00:41:32,000 henkilökohtaisia historiasta. Tiedäthän? Herald: Siirryn seuraavaan kysymykseen, 402 00:41:32,000 --> 00:41:36,490 mutta luulen maallikon näkökulmasta, että tämä voi liittyä viimeiseen kysymykseen. 403 00:41:36,490 --> 00:41:40,890 Kysymys on: Nuo sekvensointi termit on asetettu olemaan pieniä suhteessa 404 00:41:40,890 --> 00:41:45,030 mesh:in koefisientteihin. Kuinka varmistatte, etteivät ne vaaranna 405 00:41:45,030 --> 00:41:47,910 salausta ja että ne ovat valittu sattumanvaraisesti? 406 00:41:47,910 --> 00:41:53,800 Ruben: Taas, olen pahoillani. Minulla oli pari katkoa, joten en kuullut kysymystä 407 00:41:53,800 --> 00:42:00,960 voisitko toistaa sen? Herald: Toki. Kysymys oli: salainen avain 408 00:42:00,960 --> 00:42:06,880 ja virhe termit on asetettu olemaan pieniä suhteessa viestin koefisientteihin. Kuinka 409 00:42:06,880 --> 00:42:10,200 varmistatte, etteivät ne riko salausta valittuona sattumanvaraisesti? 410 00:42:10,200 --> 00:42:14,330 Ruben: Ok, minulla pätki taas, Krijn, 411 00:42:14,330 --> 00:42:20,570 saitko sinä kysymyksen? Muuten vastaan mitä kuulin. Mitä luulen, että luulin 412 00:42:20,570 --> 00:42:31,590 kuulleeni. Krijn: Eli miksi ovat... Miksi eivät 413 00:42:31,590 --> 00:42:35,910 pienet... Tosiasia että virhe ja salainen avain ovet pieniä, miksi se ei vaaranna 414 00:42:35,910 --> 00:42:42,910 turvallisuutta? Ja todella, no haluat pitää virheen melko pienenä voidaksesi 415 00:42:42,910 --> 00:42:46,660 ratkaista tämän, tämän lähimmän vektorin ongelman jonka luonnostelimme. Jos virhe 416 00:42:46,660 --> 00:42:50,640 on liian suuri, silloin toinen vektori voisi olla lähin vektori, sen sijasta jonka 417 00:42:50,640 --> 00:42:57,840 haluat olevan. Nyt miksi salaisen avaimen täytyy olla pieni. On joitain tuloksia, joista 418 00:42:57,840 --> 00:43:02,660 tiedämme ettei se tarkoita... Että se ei vaaranna turvallisuutta pohjimmiltaan 419 00:43:02,660 --> 00:43:06,900 mallissa. En tiedä jos, Ruben, sinä voit tehdä kaksrivisen miksi näin on. 420 00:43:06,900 --> 00:43:11,750 Ruben: Eli vastaan kysymykseen kuten aina tykkään. Me tuomme sisään ne kaikki virhe termit. 421 00:43:11,750 --> 00:43:19,610 Kuinka varmistamme ettei purkaminen ole viallinen, eikö? Ja tosiaan, se on oikein 422 00:43:19,610 --> 00:43:26,440 hyvä kysymys, koska siinä on todistettavasti, todennäköisestä mitättömän todennäköisestä 423 00:43:26,440 --> 00:43:32,090 että siinä on purku virheitä. Kuitenkin, Kyber on tarpeeksi nopea. Me käsittelemme 424 00:43:32,090 --> 00:43:39,620 ne KEM versiossa Kyberistä. Eli mitä me esittelimme täällä, on julkisen avaimen 425 00:43:39,620 --> 00:43:45,300 salaus versio. Standardoitavana on KEM, joka käyttää sisäisesti julkisen avaimen salauksen 426 00:43:45,300 --> 00:43:49,460 versiota ja KEM versiossa, voit olla varma että tätä ei tapahdu, koska 427 00:43:49,460 --> 00:43:56,250 yeah. Vastatakseni tähän kysymykseen, on olemassa pieni, pieni, mutta merkityksetön 428 00:43:56,250 --> 00:44:00,850 mahdollisuus, että sinulla on virhe purkamisessa, eli siinä tapauksessa oikein 429 00:44:00,850 --> 00:44:06,500 hyvä kysymys. Mutta jos olet oikein kiinnostunut, blogi postaus, tarkoitan, voit ladata kalvot ja 430 00:44:06,500 --> 00:44:14,770 siellä on blogiteksti. Esitystä ajatellen, sanotaan, voit mennä blogi postaukseen 431 00:44:14,770 --> 00:44:19,770 ja siellä on Kyber spesifikaation referenssi. He voivat vain klikata 432 00:44:19,770 --> 00:44:27,010 spesifikaatiota ja siellä nähdä, että se on parametrien virittelyä 433 00:44:27,010 --> 00:44:35,110 jotta varmistetaan, että sirotellut virhe termit eivät mitätöi purkamista 434 00:44:35,110 --> 00:44:41,900 tiettyyn, tietyn todennäköisyyden rajoissa. Ja teemme tämän todennäköisyyden 435 00:44:41,900 --> 00:44:47,770 Kyberissä niin matalaksi, ettei sitä todellisuudessa tapahdu. Vaikka 2 potenssiin... 436 00:44:47,770 --> 00:44:56,180 sanotaan vaikka suuruusluokassa jotain, atomit maapallolla tai jotain antaaksemme 437 00:44:56,180 --> 00:45:00,900 käsityksen kuinka suuria numerot ovat. Eli on hyvin, hyvin pieni mahdollisuus että 438 00:45:00,900 --> 00:45:10,570 se tapahtuisi. Mutta hyvä kysymys. Tai näin ainakin tulkitsin 50% kysymyksestä 439 00:45:10,570 --> 00:45:15,560 jonka kuulin. Herald: Olen pahoillani, meillä vaikuttaa 440 00:45:15,560 --> 00:45:21,060 olevan tekninen ongelma. Ruben: Luulen että se on vain huono 441 00:45:21,060 --> 00:45:27,960 yhteys vanhempieni luona. Herald: Se voi pitää paikkansa, myös 442 00:45:27,960 --> 00:45:32,531 minun päässäni on ongelmia. Kysymys sen jälkeen ja ehkä Krijn voi vain alkaa 443 00:45:32,531 --> 00:45:38,350 vastaamaan siihen. Olisiko Kyber rikki jos joku vain löytäisi yksinkertaisen 444 00:45:38,350 --> 00:45:45,230 ratkaisun lähimmän vektorin ongelmaan. Krijn: Kyllä, mutta me tämän on tapaus, 445 00:45:45,230 --> 00:45:48,790 se on aina näin salauksessa. Jos onnistut ratkaisemaan perustavan ongelman, 446 00:45:48,790 --> 00:45:52,810 silloin salausmekanismi hajoaa. Onneksi lähimmän vektorin ongelmassa 447 00:45:52,810 --> 00:45:57,910 meillä on oikein hyvä, meillä on suuri luottamus tähän ongelmaan, eli osa 448 00:45:57,910 --> 00:46:04,050 muista post-quantum järjestelmistä pohjautuu uudempiin ongelmiin, eli 449 00:46:04,050 --> 00:46:10,750 lähimmän vektorin ongelma on näitä paljon vanhempi. Eli luotamme siihen, meillä on 450 00:46:10,750 --> 00:46:15,160 aika hyvä luottamus että sitä ei helposti rikota tulevina vuosina. 451 00:46:15,160 --> 00:46:19,570 Ruben: Eli vastaus on, se on aika hankala, koska lähimmän vektorin ongelma on NP 452 00:46:19,570 --> 00:46:25,050 vaikea. Eli ajattelemme, että se on aika hyvä ongelma josta lähteä liikkeelle. Mutta 453 00:46:25,050 --> 00:46:31,480 kysymys on myös kuinka nämä hilat ovat suhteessa tiettyihin ilmentymiin 454 00:46:31,480 --> 00:46:36,450 lähimmän vektorin ongelmassa? Ja ovatko nämä tietyt lähimmän sektorin ongelmat 455 00:46:36,450 --> 00:46:41,940 ehkä vähän helpompia tai jotain? Mutta kuten Krijn sanoi, me olemme lähimmän vektorin 456 00:46:41,940 --> 00:46:45,380 ongelmassa me luotamme, että tämä ongelma post-quantum cryptossa on se josta olemme 457 00:46:45,380 --> 00:46:49,960 hyvin varmoja. Mutta, yeah, jos ratkaisisit sen tai jos olet jo ratkaissut sen, 458 00:46:49,960 --> 00:46:56,830 Kyber olisi rikki. Herald: Tuo kuulostaa mahdolliselta 459 00:46:56,830 --> 00:47:01,490 kaiverrukselta kolikkoon. "Lähimmän vektorin ongelmaan luotamme." Ja puhuttaessa 460 00:47:01,490 --> 00:47:05,851 luottamuksesta. Kysymys tämän jälkeen: Luottaisitko tähän Kyber, tähän Kyber 461 00:47:05,851 --> 00:47:10,820 algoritmiin suojataksesi kommunikaatiosi juuri nyt? 462 00:47:10,820 --> 00:47:17,220 Ruben: Pitäisikö minun vastata tai Krijin haluatko sinä, et ole sanonut paljoakaan? 463 00:47:17,220 --> 00:47:21,360 Krijn: Minä oikeastaan, kyllä, minulla ei ole. Eli jos olet epäluuloinen siihen, voit 464 00:47:21,360 --> 00:47:26,310 mennä myös. En usko että puhuimme siitä, mutta voit mennä myös hybridi moodiin 465 00:47:26,310 --> 00:47:32,710 nykyisissä klassisissa pre-quantum cryptoissa ja post-quantum, jos siedät haitat 466 00:47:32,710 --> 00:47:37,580 siitä. Mutta henkilökohtaisesti, kyllä luulen että luottaisin. Ruben, miten sinä? 467 00:47:37,580 --> 00:47:45,060 Ruben: Minä luottaisin Kyberiin tällä hetkellä, mutta siinä... Jos et luota siihen, kuten Krijn 468 00:47:45,060 --> 00:47:51,050 sanoi, voit mennä hybridi moodiin, eli idea, esimerkiksi, TLSaan, ensin tee 469 00:47:51,050 --> 00:47:58,050 elliptic curve crypto ja post-quantum crypto yhdessä, tavallaan siten että 470 00:47:58,050 --> 00:48:02,460 vastustaja, hyökkääjän pitäisi murtaa molemmat vaarantaakseen 471 00:48:02,460 --> 00:48:09,220 kommunikaation. Sillä tavoin sinun ei tarvitse täysin luottaa Kyberiin vielä jos 472 00:48:09,220 --> 00:48:15,260 haluat ajaa hybridiä. Mutta tietenkin, ideana on jossain vaiheessa päästä eroon tästä 473 00:48:15,260 --> 00:48:19,400 overheadista ja ajaa vain post-quantum cryptoa ilman elliptic curve cryptoa lisänä. 474 00:48:19,400 --> 00:48:25,510 Mutta, yeah, tarkoitan, minä henkilö- kohtaisesti käyttäisin sitä juuri nyt. Mutta 475 00:48:25,510 --> 00:48:32,940 mitä haluan myös sanoa on, että jokaisen kryptojärjestelmän alussa, RSA elliptic 476 00:48:32,940 --> 00:48:37,400 curve, ei merkitystä. Alussa kaikki ovat melko epäileviä, eikä kukaan halua 477 00:48:37,400 --> 00:48:41,730 käyttää sitä vielä. Ja se on ihan ok. Niinkuin, se on miten yhteisö toimii. 478 00:48:41,730 --> 00:48:45,980 Mutta ajan kuluessa, usein ihmiset saavat luottamusta. 479 00:48:45,980 --> 00:48:57,020 Herald: OK, kiitos. Nyt ajaudumme spekulatiiviselle alueelle, ja yksi 480 00:48:57,020 --> 00:49:01,430 kysymyksistä on, onko teillä mitään arvausta, mikä järjestelmistä tulee 481 00:49:01,430 --> 00:49:07,240 todennäköisesti voittamaan NIST PQC kilpailun, post-quantum crypto 482 00:49:07,240 --> 00:49:11,500 kilpailun? Ruben: NIST erityisesti sanoo, että se ei 483 00:49:11,500 --> 00:49:23,560 ole kilpailu, erittäin tärkeää. Eli Kyber on yksi voittajista, joita sieltä tulee, mutta 484 00:49:23,560 --> 00:49:34,930 se on aika selvää. Ja voit jo nyt nähdä adoptoinnin oikeassa maailmassa. Toimme 485 00:49:34,930 --> 00:49:42,290 kaksi esimerkkiä Amazonille ja BSI:lle, joka esimerkiksi haluaa sisällyttää sen 486 00:49:42,290 --> 00:49:49,920 Thunderbirdiin emailin samaamiseksi. Eli Kyber tulee olemaan yksi voittajista. Tämä 487 00:49:49,920 --> 00:49:57,560 on minun... ei ainoa mielipide, mutta yeah, se on selvää. Ja muuten, luulen McEliece, 488 00:49:57,560 --> 00:50:06,340 joka on koodi pohjainen jörjestelmä, joka on aika suuri kaikin mitoin, sanotaan näin. 489 00:50:06,340 --> 00:50:11,640 Mutta ihmisillä tuntuu olevan enemmän luottamusta siihen, koska se on ollut täällä pidempään. 490 00:50:11,640 --> 00:50:19,770 Yeah, ja sanoisin noin KEMeille ja kaikki ovat aika tyytymättömiä allekirjoituksiin. 491 00:50:19,770 --> 00:50:27,490 Eli en usko, että tulee olemaan alle- kirjoituksia standardoituna tänä- tai 492 00:50:27,490 --> 00:50:32,910 ensi vuoden alussa. Mutta Krijn, en tiedä ehkä sinulla on arvaus ? 493 00:50:32,910 --> 00:50:38,530 Krijn: Ei, en ole kovin spekulatiivinen persoona, mutta mielestäni Rubenin 494 00:50:38,530 --> 00:50:43,690 vastaus oli hyvä vastaus. Ruben: Nyt sinun tosiaan täytyy 495 00:50:43,690 --> 00:50:49,170 spekuloida, tarkoitan come on, et voi vain ratsastaa vastauksellani. 496 00:50:49,170 --> 00:50:52,760 Krijn: en, tietenkin voin. On kiinnostavaa huomata oikeastaan, että allekirjoituksille 497 00:50:52,760 --> 00:51:01,960 ei ole niin kova kiire, sanotaanko. Se on erityisesti tämä avainten vaihto 498 00:51:01,960 --> 00:51:09,090 jonka haluamme tehdä post-quantumiksi niin nopeasti kuin mahdollista, ehkä, tai 499 00:51:09,090 --> 00:51:13,730 tai ainakin standardoida nopeasti ja sitten integroida sen mitä ikinä rakennammekin. 500 00:51:13,730 --> 00:51:19,830 No allekirjoituksiin on hieman enemmä aikaa, joten meillä on myös aikaa keksiäksemme 501 00:51:19,830 --> 00:51:23,580 parempia ratkaisuja siihen tai analysoida nykyisiä ratkaisuja vähän enemmän. 502 00:51:23,580 --> 00:51:27,900 Ruben: Yeah, se on koska tarkoitan mainitsimmme hyökkäysmallin, iso 503 00:51:27,900 --> 00:51:33,890 valtiollinen laitos, esimerkiksi. Ja avain vaihto pitää korjata heti, koska se 504 00:51:33,890 --> 00:51:38,820 voidaan rikkoa myöhemmin ja sitten kommunikaatio voidaan purkaa. Mutta 505 00:51:38,820 --> 00:51:44,360 allekirjoitukset, niillä on lyhyt elinikä, esimerkiksi, ja niitä käytetään 506 00:51:44,360 --> 00:51:49,930 myös autentikointiin. Eli tarvitsisit aktiivisen vastustajan. Ja se, yeah. Et voi 507 00:51:49,930 --> 00:51:55,640 tallentaa nyt ja sitten toteuttaa aktiivisen hyökkäyksen 10 vuoden päästä, niin kuin, 508 00:51:55,640 --> 00:51:58,990 se ei toimi. Eli meillä on enemmän aikaa, yeah. 509 00:51:58,990 --> 00:52:05,040 Herald: No se ei ole täysin totta. On monia valtioita, jotka käyttävät ja 510 00:52:05,040 --> 00:52:10,930 puhun allekirjoituksista, ei hetkellisessä käytöstä, online käytössä, vaan enemmän 511 00:52:10,930 --> 00:52:16,030 allekirjoitusten käyttämisestä, esimerkiksi dokumenttien allekirjoittamisessa. Ja siihen 512 00:52:16,030 --> 00:52:18,180 hyökkäykset olisivat silti relevantteja tulevaisuudessa. 513 00:52:18,180 --> 00:52:23,590 Ruben: Jos niillä on, no, jos niissä on pitkä elinkaari, yleensä allekirjoituksissa 514 00:52:23,590 --> 00:52:28,790 tai avaimissa ainakin, allekirjoitusten, ne vanhenevat jossain vaiheessa. Mutta, tietenkin 515 00:52:28,790 --> 00:52:33,810 jos sinulla on, sinulla on allekirjoituksia, joissa ei ole vanhenemispäivää tai jotain, 516 00:52:33,810 --> 00:52:37,920 sitten ne olisivat uhan alla myöskin. Herald: Dokumenttien allekirjoituksessa 517 00:52:37,920 --> 00:52:42,770 sinulla on allekirjoituksia, joissa on paljon pidempi elinikä, kuin mitä tyypillisillä 518 00:52:42,770 --> 00:52:45,990 web transaktioilla, esimerkiksi. Mutta nyt olen täysin putoamassa roolista 519 00:52:45,990 --> 00:52:49,120 Heraldina, joka on vain astia kysymyksille yleisöstä. 520 00:52:49,120 --> 00:52:50,590 Ruben: Mutta totta kai, tämä kiinnostaa meitä myös. 521 00:52:50,590 --> 00:52:57,420 Herald: Ja luulen, että viimeisessä versiossa ainakin, luulen, että tämä on viimeinen 522 00:52:57,420 --> 00:53:01,020 kysymys, ellei siellä ole lisää IRC:ssa, eli ihmisten pitää olla nopeita jos he 523 00:53:01,020 --> 00:53:04,840 haluavat vielä lisää kysymyksiä. Mutta viimeiset kysymykset ovat hyvin käytännöllisiä. 524 00:53:04,840 --> 00:53:11,020 Ja periaatteessa, onko teillä mitään ajatuksia sudenkuopista Kyberin implementoinnissa vielä? 525 00:53:11,020 --> 00:53:16,220 Onko teillä ehdotuksia sen varmistamiseen että se implementoidaan turvallisesti? Tai 526 00:53:16,220 --> 00:53:26,100 onko se mahdollista vain implementoida naivisti? Ruben: Eli, tämä on aina suuri taistely 527 00:53:26,100 --> 00:53:31,010 kryptografia yhteisössä, koska on ihmisiä, jotka sanovat, oh, on vain kourallinen 528 00:53:31,010 --> 00:53:36,380 valittuja ihmisiä, jotka pystyvät implementoimaan sen turvallisesti. Ja sinun ei pitäisi koskaan 529 00:53:36,380 --> 00:53:41,770 ikinä, ikinä, tehdä sitä itse. Olen tämän toisella puolella, mielestäni ihmisten 530 00:53:41,770 --> 00:53:47,590 pitäisi leikkiä implementoinnilla. Kokeilla sitä. Eli, Kyber on järjestelmien joukossa 531 00:53:47,590 --> 00:53:54,830 että se ehdottomasti, sanotaan, että helpompi implementoida oikealla tavalla. Kuitenkin, se 532 00:53:54,830 --> 00:54:03,650 riippuu missä aiot käyttää sitä, koska sinun täytyy ottaa myös sivukanavat 533 00:54:03,650 --> 00:54:08,440 huomioon, erityisesti jos työskentelet sulautetuilla alustoilla, kuten voima-analyysi 534 00:54:08,440 --> 00:54:13,930 ja sen sellaiset. Eli tätä myös tarkastellaan paljon. Ja sitten jos menet sellaiseen 535 00:54:13,930 --> 00:54:18,350 implementaatioon, sinulla pitäisi olla naamioitu implementaatio. Eli tämä 536 00:54:18,350 --> 00:54:25,210 olisi kokonaan oma esityksensä. En oikein halua niinkuin antaa sivulle kahta verbiä 537 00:54:25,210 --> 00:54:30,280 mitä sinun pitäisi tehdä ja sitten sanoa että se on turvallinen. Tarkoitan, se on 538 00:54:30,280 --> 00:54:38,590 vähän monimutkaisempaa. Eli en voi oikeasti sanoa tee tämä ja tuo. Voin vain sanoa 539 00:54:38,590 --> 00:54:45,170 spektrumissa helposta vaikeaan, Kyber on enemmän reunassa helpompi implementoida 540 00:54:45,170 --> 00:54:50,970 turvallisesti. Mutta jos olet kiinnostunut siitä, katso implementointeja. 541 00:54:50,970 --> 00:54:55,650 Siellä on referenssi implementaatio. Siellä on PQClean ja muuta. 542 00:54:55,650 --> 00:55:01,810 Etsi implementointeja online ja tutki niitä ja katso spesifikaatiota, joka on 543 00:55:01,810 --> 00:55:07,550 linkattu blog postaukseen, se on linkattu kalvoihin. Siellä on myös joitain asioita 544 00:55:07,550 --> 00:55:17,110 jotka sanovat mitä sinun ehkä pitäisi, missä sinun pitäisi olla varovainen, sanotaan. 545 00:55:17,110 --> 00:55:23,600 Herald: OK. Ja täällä oli juuri lisä kysymys myös, ja se on, mikä 546 00:55:23,600 --> 00:55:28,900 on Kyberin status OpenSSL:ssa ja GnuTLS:sa 547 00:55:28,900 --> 00:55:42,400 Ruben: Okei, me näemme adoption crypto kirjastoissa, mutta OpenSSL. OK, en halua 548 00:55:42,400 --> 00:55:53,610 vihata, mutta OpenSSL koodipohja on, kuinka sanon sen? Katso, se on vähän monimutkainen 549 00:55:53,610 --> 00:56:04,140 ja vähän vaikea ulkopuoliselle tajuta mitä OpenSSL tekee tietyissä nurkissa omassa 550 00:56:04,140 --> 00:56:11,770 koodipohjassaan. Mutta on projekti nimeltään OpenOQS, ei LibOQS, se on haara 551 00:56:11,770 --> 00:56:18,800 OpenSSL:sta, sisältäen post-quantum kaavat, mutta ei ainoastaan Kyberiä, mutta useat 552 00:56:18,800 --> 00:56:24,630 järjestelmät. Se on LibOQS, se on OpenSSL haara. On myös muita kirjastoja, esimerkiksi 553 00:56:24,630 --> 00:56:34,670 WolfSSL, jolla on pienempi koodipohja ja heillä on jo se heidän oikeassa julkaisussa 554 00:56:34,670 --> 00:56:40,530 tai heidän pääoksassa, sanotaan, Gitissa, heillä on jo NTLS post-quantum kaavat, 555 00:56:40,530 --> 00:56:46,420 ja Kyber on yksi niistä. Heillä on hila pohjaisia järjestelmiä, jos 556 00:56:46,420 --> 00:56:53,340 muistan oikein: Kyber, Dilithium ja Falcon. Joten he ovat ne jo sisällyttäneet. 557 00:56:53,340 --> 00:57:00,040 WolfSSL, OpenSSL, kuten sanoin siinä on haara joka on suorituskyky mittaukseen ja 558 00:57:00,040 --> 00:57:08,870 asioiden testaamiseen, siinä toivossa että myöhemmin ne palaavat OpenSSLaan. Mutta 559 00:57:08,870 --> 00:57:14,960 kuten sanoin, OpenSSL ei ole oikein ideaali kokeiluille, koska koodipohja on aika 560 00:57:14,960 --> 00:57:23,080 suuri ja joissain nurkissa, aika monimutkainen ymmärtää ja niin edelleen. Muut kirjastot 561 00:57:23,080 --> 00:57:30,590 ovat vähän nopeampia. En tiedä mitään pyrkimyksistä GnuTLSaan ollakseni rehellinen, 562 00:57:30,590 --> 00:57:35,280 mutta en ole katsonut sinnepäin vielä. On mahdollista, että joku muu on tehnyt 563 00:57:35,280 --> 00:57:42,740 jotain siellä. Tarkoitan, olen työskennellyt WolfSSL kanssa ennen ja OpenSSL kanssa. 564 00:57:42,740 --> 00:57:53,650 Mutta GnuTLS en ole varma. On ollut puhetta sisällyttää se GnuPGhen, jota voit käyttää 565 00:57:53,650 --> 00:57:59,490 email salaukseen, ja siellä on, siinä on jotain edistymistä. Mutta, yeah, GNUTLS 566 00:57:59,490 --> 00:58:07,960 minä en tiedä. Herald: Okei, tämä tuo meidät meidän 567 00:58:07,960 --> 00:58:15,920 oikeasti viimeiseen kysymykseen, joka on, kuinka lähellä ovat nykyiset pilvi kvantti 568 00:58:15,920 --> 00:58:24,270 tarjonnat kyetäkseen mahdollistamaan käyttäjien rikkoa nykyiset julkisen avaimen kryptografiat? 569 00:58:24,270 --> 00:58:31,050 Ruben: Jos ymmärsin oikein, Krijn voit myös sanoa jotain jos haluat, jos 570 00:58:31,050 --> 00:58:37,430 ymmärsin oikein, se on yleinen kysymys. Jos voin käyttää pilvilaskentaa 571 00:58:37,430 --> 00:58:43,340 murtaakseni julkisen avaimen salauksen? Herald: Ei, kysymys on tarkempi. on 572 00:58:43,340 --> 00:58:48,000 olemassa kvantti palveluita julkisilla pilvitarjoajilla, kuten Amazon juuri nyt, 573 00:58:48,000 --> 00:58:54,110 ilmeisesti. Ainakin näin oletan henkilön joka esitti kysymyksen pohjustavan sen. 574 00:58:54,110 --> 00:59:00,090 Ja kysymys on, missä määrin nuo saatavilla olevat vaihtoehdot ovat käytettävissä 575 00:59:00,090 --> 00:59:04,100 rikkomaan nykyiset julkisen avaimen kryptografian järjestelmät? 576 00:59:04,100 --> 00:59:08,680 Ruben: Eli jos ymmärsin kysymyksen oikein, kuten, jo käyttöön otetut kvantti 577 00:59:08,680 --> 00:59:14,840 tietokoneet, ovatko ne uhka pre-quantum järjestelmille? OK, toistaiseksi ne 578 00:59:14,840 --> 00:59:23,050 eivät, kvantti tietokoneita on käytössä, mutta niissä ei ole lähellekään riittävästi 579 00:59:23,050 --> 00:59:32,930 qbittejä murtaakseen mitään oikean maailman järjestelmää, eli se on monimutkaisempaa kuin 580 00:59:32,930 --> 00:59:37,150 se, koska et tarvitse vain qbittejä, tarvitset myös kvantti rekistereitä, jotka ovat riittävän 581 00:59:37,150 --> 00:59:41,480 suuria, koska sinun pitää sotkea kaikki qbitit. Tarkoitan, olemme menossa 582 00:59:41,480 --> 00:59:46,110 kvanttimekaniikkaan, mutta meidän pitää sotkea bitit ja kaikkea sellaista kvantti 583 00:59:46,110 --> 00:59:52,000 hulluutta. Ja sitten tarvtset myös virheen korjauksen, joka on riittävän hyvä. Eli on 584 00:59:52,000 --> 01:00:00,020 vielä, vielä on monia teknisiä, kuten suunnittelu ongelmia, joita pitää 585 01:00:00,020 --> 01:00:03,890 ratkaista, teoriassa kaikki on hienosti ja silleen, mutta siinä on suunnittelu 586 01:00:03,890 --> 01:00:08,290 työtä, josta pitää päästä yli ja nyt asennetut kvantti tietokoneet eivät ole 587 01:00:08,290 --> 01:00:16,430 tarpeeksi suuria ollakseen uhka kvantille, pre-quantum järjestelmille, ellei sinulla 588 01:00:16,430 --> 01:00:23,920 ole leikki avainsummia. Mutta oikeissa asennuksissa, se ei ole uhka vielä, mutta 589 01:00:23,920 --> 01:00:28,080 se voisi olla seuraavan parin vuoden aikana. On hyvin vaikeaa ennakoida kehitystä 590 01:00:28,080 --> 01:00:35,000 siinä ja suurimmat kvantti tietokoneet ovat oikeastaan kvantti hehkuttajia, jotka 591 01:00:35,000 --> 01:00:39,210 toimivat eri tavalla, niinkuin kvantti hehkutus on eri asia, erilainen 592 01:00:39,210 --> 01:00:42,770 kvantti tietokone, josta emme ole liian huolissamme juuri nyt. 593 01:00:42,770 --> 01:00:46,990 Kuten se D-Wave esimerkiksi. Mutta, yeah, Eli juuri nyt, ne eivät ole uhka, mutta 594 01:00:46,990 --> 01:00:53,400 voivat olla parin vuoden päästä tulevaisuudessa. Krijn: Ja erityisesti niin suhteessa siihen miksi 595 01:00:53,400 --> 01:00:59,930 vaihdat post-quantum cryptoon, on tämä ajatus myös, standardoida crypto 596 01:00:59,930 --> 01:01:03,641 ja sitten integroida crypto ja kaikki tämä kestää vuosia kuten tiedämme 597 01:01:03,641 --> 01:01:08,290 siitrymisestä elliptic curve cryptoon. Eli vaikka tämä kvantti tietokone 598 01:01:08,290 --> 01:01:13,780 on 10, 15 vuoden päässä, silti tämä koko transitio tulee kestämään niin 599 01:01:13,780 --> 01:01:20,480 pitkään, että sen jälkeen, kuinka kauan sinun alkuperäisen datan täytyy olla turvassa? 600 01:01:20,480 --> 01:01:25,900 Se on jokaisen arvaus. Ruben: Yeah, tarkoitan, sinun täytyy 601 01:01:25,900 --> 01:01:30,420 ymmärtää, asymmetrinen crypto on kaikkialla, kuten esimerkiksi, myös yksi esimerkki voi olla 602 01:01:30,420 --> 01:01:34,730 passini, kuten matkadokumenttini. Ja on dokumentteja, esimerkiksi, tuolla jotka 603 01:01:34,730 --> 01:01:40,560 ovat voimassa 10 vuotta, kuten, luulen kunnollinen passi ja sellaiset jutut. 604 01:01:40,560 --> 01:01:44,610 Ja tietenkin, ja kestää todella kauan myös sen kaltaisten asioiden kanssa, kuten 605 01:01:44,610 --> 01:01:50,670 dokumenttien, jotka on myöntänyt hallinto. Siinä vain kestää aikaa, siihen menee 606 01:01:50,670 --> 01:01:57,460 paljon aikaa. Herald: OK, kiitos teille paljon. Minun 607 01:01:57,460 --> 01:02:01,700 pitäisi myös mainita, että signal angelilta, on ollut useita hyvin innostuneita 608 01:02:01,700 --> 01:02:06,200 vastauksia yleisöstä ja ei niin paljon kysymyksiä esityksestänne, se on myös 609 01:02:06,200 --> 01:02:09,720 hyvin mielenkiintoista. Eli kiitos teille paljon kun teitte tämän ja ehkä 610 01:02:09,720 --> 01:02:11,720 näemme teitä taas. Krijn: Kiitoksia 611 01:02:11,720 --> 01:02:16,530 Ruben: Hei hei! 612 01:02:16,530 --> 01:02:37,320 rC3 loppumusiikki 613 01:02:37,320 --> 01:02:41,000 Translated by Esa Lammi (KYBS2004 course assignment at JYU.FI)