Palmikkoryhmät kryptografiassa



Samankaltaiset tiedostot
2 Yhtälöitä ja epäyhtälöitä

Jarkko Peltomäki. Aliryhmän sentralisaattori ja normalisaattori

Mohrin-Mascheronin lause kolmiulotteisessa harppi-viivaingeometriassa

Mikäli huomaat virheen tai on kysyttävää liittyen malleihin, lähetä viesti osoitteeseen

v 8 v 9 v 5 C v 3 v 4

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

f(x, y) = x 2 y 2 f(0, t) = t 2 < 0 < t 2 = f(t, 0) kaikilla t 0.

Pythagoraan polku

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

MS-A0402 Diskreetin matematiikan perusteet

Symmetrisistä ryhmistä symmetriaryhmiin

Neljän alkion kunta, solitaire-peli ja

3. Kongruenssit. 3.1 Jakojäännös ja kongruenssi

SALAUSMENETELMÄT. Osa 2. Etätehtävät

Alkioiden x ja y muodostama järjestetty pari on jono (x, y), jossa x on ensimmäisenä ja y toisena jäsenenä.

Esimerkki A1. Jaetaan ryhmä G = Z 17 H = 4 = {1, 4, 4 2 = 16 = 1, 4 3 = 4 = 13, 4 4 = 16 = 1}.

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Liite 2: Verkot ja todennäköisyyslaskenta

Tekijäryhmiä varten määritellään aluksi sivuluokat ja normaalit aliryhmät.

Topologia Syksy 2010 Harjoitus 9

3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö

MS-A0402 Diskreetin matematiikan perusteet

Lineaarinen yhtälöryhmä

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Matriisit ja vektorit Matriisin käsite Matriisialgebra. Olkoon A = , B = Laske A + B, , 1 3 3

Kurssikoe on maanantaina Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

Avaruuden R n aliavaruus

Derivaatan sovelluksia

MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 9: Greenin lause

1. Tarkastellaan esimerkissä 4.9 esiintynyttä neliön symmetriaryhmää

Äärellisesti generoitujen Abelin ryhmien peruslause

Rubikin kuutio ja ryhmät. Johanna Rämö Helsingin yliopisto, Matematiikan ja tilastotieteen laitos

LUKU II HOMOLOGIA-ALGEBRAA. 1. Joukko-oppia

4 Kysyntä, tarjonta ja markkinatasapaino (Mankiw & Taylor, 2 nd ed., chs 4-5)

Diskreetin Matematiikan Paja Tehtäviä viikolle 2. ( ) Jeremias Berg

2.2.1 Ratkaiseminen arvausta sovittamalla

Valitsemalla sopivat alkiot joudutaan tämän määritelmän kanssa vaikeuksiin, jotka voidaan välttää rakentamalla joukko oppi aksiomaattisesti.

π πρ = ρ, π πρ 3 = ρ 3, πρ 2 πρ = ρ 3 πρ 2 πρ 3 = ρ.

Insinöörimatematiikka D

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

X R Matematiikan johdantokurssi, syksy 2016 Harjoitus 5, ratkaisuista

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)

Ryhmäteoreettinen näkökulma Rubikin kuutioon Harjoitus 6, ratkaisuehdotus (5 sivua)

Kahden suoran leikkauspiste ja välinen kulma (suoraparvia)

Transversaalit ja hajoamisaliryhmät

5.3 Suoran ja toisen asteen käyrän yhteiset pisteet

Reaaliluvut 1/7 Sisältö ESITIEDOT:

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Johdatus diskreettiin matematiikkaan Harjoitus 1,

1.1 Vektorit. MS-A0007 Matriisilaskenta. 1.1 Vektorit. 1.1 Vektorit. Reaalinen n-ulotteinen avaruus on joukko. x 1. R n. 1. Vektorit ja kompleksiluvut

Dihedraalinen ryhmä Pro gradu Elisa Sonntag Matemaattisten tieteiden laitos Oulun yliopisto 2013

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio

Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion.

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)

MAY1 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty Julkaiseminen sallittu vain koulun suljetussa verkossa.

Suora. Määritelmä. Oletetaan, että n = 2 tai n = 3. Avaruuden R n suora on joukko. { p + t v t R},

Analyysi 1. Harjoituksia lukuihin 1 3 / Syksy Osoita täsmällisesti perustellen, että joukko A = x 4 ei ole ylhäältä rajoitettu.

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }?

Tutkimusmenetelmät-kurssi, s-2004

Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa.

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara

LUKUTEORIA A. Harjoitustehtäviä, kevät (c) Osoita, että jos. niin. a c ja b c ja a b, niin. niin. (e) Osoita, että

8 Joukoista. 8.1 Määritelmiä

Lineaariset yhtälöryhmät ja matriisit

JAKSO 2 KANTA JA KOORDINAATIT

Kuinka määritellään 2 3?

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

802328A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III. Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I

Johdatus graafiteoriaan

Ohjelmoinnin peruskurssi Y1

802328A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III

10. Globaali valaistus

1 Aritmeettiset ja geometriset jonot

Matematiikan mestariluokka, syksy

Osa 1: Todennäköisyys ja sen laskusäännöt. Klassinen todennäköisyys ja kombinatoriikka

Kvasiryhmistä ja niiden sovelluksista

Toisin sanoen kyseessä on reaalitason vektoreiden relaatio. v w v =k w jollakink R\{0}.

HN = {hn h H, n N} on G:n aliryhmä.

a b c d

Kenguru 2012 Junior sivu 1 / 8 (lukion 1. vuosi)

FUNKTIONAALIANALYYSIN PERUSKURSSI Johdanto

Heikki Junnila VERKOT JOUKOISTA JA RELAATIOISTA

Cauchyn ja Sylowin lauseista

Avainsanat: geometria, kolmio, ympyrä, pallo, trigonometria, kulma

Matemaatiikan tukikurssi

Matematiikan peruskurssi 2

Tarvikkeet: A5-kokoisia papereita, valmiiksi piirrettyjä yksinkertaisia kuvioita, kyniä

Ensimmäinen induktioperiaate

Graafin virittävä puu 1 / 20

Algebra I, Harjoitus 6, , Ratkaisut

10 Matriisit ja yhtälöryhmät

Ensimmäinen induktioperiaate

keskenään isomorfiset? (Perustele!) Ratkaisu. Ovat. Tämän näkee indeksoimalla kärjet kuvan osoittamalla tavalla: a 1 b 3 a 5

Tietoturva P 5 op

Kokonaislukuoptimointi

Transkriptio:

Palmikkoryhmät kryptografiassa Jarkko Peltomäki 27. marraskuuta 2010 Palmikkoryhmät ovat epäkommutatiivisia äärettömiä ryhmiä. Niillä on monimutkainen rakenne, mutta toisaalta niillä on geometrinen tulkinta palmikkoina. Palmikkoryhmiä voidaan käyttää apuna kryptografisten protokollien ja salausten luomisessa. Niillä on sopivan hankala rakenne kryptografiassa käytettäväksi, ja lisäksi niitä voidaan tehokkaasti käsitellä tietokoneella. Tässä monisteessa esitetään minimaalinen johdanto palmikkoryhmiin, jotta lopuksi voidaan esittää avaimenvaihtoprotokolla sekä julkisen avaimen kryptosysteemi. Palmikkoryhmät Tässä monisteessa tarkastellaan palmikkoryhmiä pääasiassa niiden geometrisen tulkinnan kautta. Hieman algebrallisemmin aihetta käsitellään lähteessä [2]. Kuvitellaan n kappaletta vierekkäisiä ja samansuuntaisia lankoja. Numeroidaan langat vasemmalta oikealle 1, 2,..., n. Niin sanottu n-palmikko saadaan aikaan, kun vaihdetaan lankojen loppupäiden paikkoja keskenään pitäen alkupäät paikallaan, langat punoutuvat palmikoksi. Lisäksi tehdään ero sen välillä, kulkeeko tietty lanka toisen langan alta vai päältä. Kohtaa, jossa toinen lanka ylittää tai alittaa toisen, kutsutaan risteykseksi. Helpoiten palmikot ymmärtää luennoilla esitettävistä kuvista. Sama palmikko voidaan piirtää monella näennäisesti erilaisella tavalla. Ei ole nimittäin merkitystä missä kohtaa lankaa risteää jonkin toisen langan kanssa. Kahta palmikkoa pidetään samoina, jos toisesta saa toisen liikuttamalla lankoja tai poistamalla peräkkäisiä ylityksiä tai alituksia niin, ettei samalla lisää tai poista risteyksiä toisaalla. Kaikkien mahdollisten n-palmikkojen joukko muodostaa palmikkoryhmän B n. Lukua n kutsutaan palmikkoindeksiksi. Ryhmäoperaationa on palmikkojen yhdistäminen sillä tavoin, että ensimmäisen palmikon lankojen loppupäät yhdistetään jälkimmäisen palmikon 1

2 lankojen vastaaviin alkupäihin. Identiteettialkiona ryhmässä on n-palmikko, jonka langat eivät risteä. Palmikon käänteisalkio saadaan kääntämällä palmikko ylösalaisin. On välittömästi selvää, että ryhmä B n on ääretön, kun n > 1 (tehdään kahdella langalla toistuvasti ylityksiä ja alituksia vuorotellen). Kun n = 1, niin B n on selvästi isomorfinen triviaalin ryhmän kanssa. Jos taas n = 2, niin B n = (Z, +): lukua k > 0 vastaa palmikko, jossa on k kappaletta risteyksiä, joista joka toinen on ylitys ja joka toinen alitus. Luku k saadaan vaihtamalla edellisestä ylitykset alituksiksi ja päinvastoin. Lisäksi ei ole vaikea keksiä esimerkkiä palmikoista, jotka eivät kommutoi B n on epäkommutatiivinen, kun n > 2. Mainittakoon vielä, että formaalimmin palmikkoryhmä B n määritellään seuraavan ryhmäesityksen avulla: B n = σ 1,..., σ n 1 R, missä R koostuu relaatioista σ i σ j σ i = σ j σ i σ j, jos i j = 1, ja σ i σ j = σ j σ i, jos i j 2. Permutaatiopalmikot On ilmeistä, että jokaista n-palmikkoa vastaa n:n alkion permutaatio. Itse asiassa ryhmällä B n on aliryhmä Ŝn, joka voidaan samaistaa symmetrisen ryhmän S n kanssa. Olkoot x B n ja i palmikon x langan yläpään paikan järjestysnumero. Määritellään, että π x (i) on langan alapään paikan järjestysnumero. Saadaan siis kuvaus π x : X X, missä X = {1, 2,..., n}. Huomaa, että kuvaus π x on joukon X permutaatio. Näin saadaan aikaan epimorfismi ϕ : B n S x, x π x (helpot perustelut ohitetaan). Vastaavasti jokaista alkiota π S X kohti voidaan konstruoida tietyntyyppinen n- palmikko. Toimitaan seuraavasti: piirretään n kappaletta pisteitä vaakatasoon numeroiden ne vasemmalta oikealla 1, 2,..., n, ja piirretään toiset n kappaletta pisteitä vaakatasoon näiden pisteiden alapuolelle. Alkaen pisteestä n, yhdistetään ylempi piste viivalla alempaan pisteeseen π(n). Tämän jälkeen toistetaan sama prosessi pisteille n 1, n 2,..., 1 vetäen uudet viivat aina edeltävien viivojen alta. Tämä konstruktio antaa joukon B n osajoukon Ŝn, jonka alkiota kutsutaan permutaatiopalmikoiksi. Geometrisesti ajateltuna palmikko kuuluu joukkoon Ŝn, jos ja vain jos jokainen lankapari risteää vain kerran, ja aloituspisteeltään vasemmanpuoleisin lanka alittaa toisen langan. Osajoukossa Ŝn on eräs tärkeä palmikko, ns. fundamentaalinen n-palmikko. Geometrisesti tämä palmikko saadaan aikaan, kun identiteettipalmikon lankojen alaosat kiepautetaan ympäri siten, että alunperin oikealla olleet langat ylittävät vasemmalla olleet. Fun-

3 damentaalinen n-palmikko on permutaatiopalmikko, jossa jokainen lanka risteää muiden lankojen kanssa tarkalleen kerran. Fundamentaalista n-palmikkoa merkitään n. Palmikot käytännössä Jotta palmikkoryhmiä voitaisiin soveltaa kryptografiassa, niin niitä on voitava tehokkaasti käsitellä tietokoneella. Tämä saattaa aluksi näyttää mahdottomalta, koska saman palmikon voi esittää usealla eri tavalla, jotka voi olla hankala nähdä samoiksi. Onneksi palmikkoryhmille on löydetty kaksikin yksikäsitteistä esitystapaa: Artinin esitys ja nauhaesitys. Katsotaan lyhyesti Artinin esitystä. Lause 0.1 (Artinin esitys). Jokainen W B n voidaan kirjoittaa yksikäsitteisesti muodossa W = u na 1 A 2... A l, missä u Z ja A i Ŝn \ {1, n }. Käytettäessä Artinin esitystä palmikon esittämiseen, voidaan palmikko esittää tietokoneella tallettamalla luku u ja vastaavat kanoniset tekijät A i, joita on n! kappaletta. Kanoniset tekijät ovat permutaatioita, joten ne voidaan tallettaa vaikkapa taulukkona. Lähteen [1] mukaan alkion W = u na 1 A 2... A l käänteisalkio voidaan löytää ajassa O(l n). Kahden palmikon yhdistämisen kompleksisuus on O(l n), ja saadun palmikon muuntaminen Artinin esitykseen vie ajan O(l 2 n log n). Kahden palmikon vertailu Artinin esityksessä onnistuu ajassa O(l n). Vaikeat ongelmat palmikkoryhmissä Palautetaan mieleen konjugaatin käsite. Olkoot x, y G, missä G on ryhmä. Sanotaan, että alkio y on alkion x konjugaatti, jos on olemassa sellainen a G, että y = axa 1. Tällöin sanotaan, että alkiot x ja y ovat konjugaatit. Huomaa, että konjugaattirelaatio on ekvivalenssirelaatio ryhmässä G. Palmikkoryhmä B m, m n, voidaan samaistaa ryhmän B n aliryhmän kanssa. (Laitetaan palmikon W B m langat vastaamaan ryhmässä B n palmikon m:ää ensimmäistä lankaa ja jätetään loput langat kulkemaan suoraan. Toisin sanoen tämän aliryhmän generoivat alkiot σ 1,..., σ m 1, σ i B n.) Luetellaan sitten muutamia ongelmia palmikkoryhmissä.

4 1. Konjugaattiongelma. Annettuna pari (x, y) B n B n selvitä ovatko alkiot x ja y konjugaatit. 2. Konjugaatinetsintäongelma. Annettuna pari (x, y) B n B n etsi sellainen alkio a B n, että y = axa 1. 3. Yleistetty konjugaatinetsintäongelma. Annettuna sellainen pari (x, y) B n B n, että y = axa 1 jollakin a B m, m n, etsi alkio a. Tässä siis konjugaattoria etsitään aliryhmästä. 4. Diffien Hellmanin konjugaattiongelma (DHCP). Annettuna x, axa 1, bxb 1 B n, missä alkiot a ja b kommutoivat, etsi abxa 1 b 1. 5. p:s juuri -ongelma. Annettuna sellainen pari (x, p) B n Z, että x = y p jollakin y B n, etsi sellainen z B n, että x = z p. 6. Markovin ongelma. Annettuna y B n, joka on konjugaatti alkion wσ ±1 n l, w B n l, kanssa, etsi sellainen pari (z, x) B n B n l, että zyz 1 = xσ ±1 n l. Näistä ongelmista konjugaattiongelma ja DHCP voidaan ratkaista ratkaista tehokkaasti. Muut ongelmat ovat vaikeita niille ei tunneta polynomiaikaista algoritmia. Huomaa, että DHCP on korkeintaan yhtä vaikea kuin yleistetty konjugaatinetsintäongelma. Toistaiseksi tosin DHCP:n ratkaisevan algoritmi on liian hidas käytettäväksi käytännössä. [3] [4] Jaetaan sitten ryhmä B n kahteen osaan: LB l ja RB r, missä n = l + r. Aliryhmä LB l muodostuu sellaisista palmikoista, joissa käytetään vain l:ää ensimmäistä lankaa jättäen loput langat kulkemaan suoraan (ks. edellä). Aliryhmä LB r muodostetaan vastaavasti käyttäen r:ää oikeanpuoleista lankaa. Selvästi LB l = Bl ja RB r = Br. Koska aliryhmän alkiot eivät käytä samoja lankoja, niin on selvää, että aliryhmien alkiot kommutoivat keskenään. Yleistetyn konjugaatinetsintäongelman perusteella on esitetty, että seuraava funktio olisi yksisuuntainen funktio: f : LB l B l+r B l+r B l+r, (a, x) (axa 1, x). Funktio f on selvästi tehokkaasti laskettavissa. Jotta alkio a voitaisiin selvittää parista (axa 1, x), niin pitäisi kyetä ratkaisemaan yleistetty konjugaatinetsintäongelma, mutta tätä ongelmaa ei toistaiseksi ole saatu ratkaistua tehokkaasti.

5 Kryptografisia protokollia Esitetään sitten palmikkoryhmiin perustuva avaimenvaihtoprotokolla ja julkisen avaimen kryptosysteemi. Sekä allekirjoitussysteemi että kryptosysteemi perustuvat Diffien- Hellmanin konjugaattiongelmaan, joten ne eivät ole turvallisia. Olkoot protokollien kommunikoivat tahot Alice (A) ja Bob (B). Hyökkääjänä on tällä kertaa Marvin (M). Protokolla 0.2. (Avaimenvaihtoprotokolla). (1) A ja B valitsevat julkisesti l, r, B l+r ja x B l+r. (2) A (vastaavasti B) valitsee salaisen palmikon a LB l (b RB r ) ja laskee y a = axa 1 (y b = bxb 1 ). (3) A lähettää B:lle palmikon y a, ja B lähettää A:lle palmikon y b. (4) A laskee K = ay b a 1, ja B laskee K = by a b 1. Ensinnäkin Alice ja Bob saavat molemmat saman avaimen K: ay b a 1 = abxb 1 a 1 = baxa 1 b 1 = by a b 1, sillä aliryhmän LB l alkiot kommutoivat aliryhmän RB r alkioiden kanssa. Hyökkääjän Marvin pitäisi ratkaista joko yleistetty konjugaatinetsintäongelma eli etsiä alkio a annettuna alkiot x, y a (tai etsiä alkio b annettuna alkiot x, y b ), tai ratkaista DHCP. Jälkimmäinen onnistuu hyökkääjältä. Esitellään sitten palmikoihin perustuva julkisen avaimen kryptosysteemi. Oletetaan, että Alice haluaa lähettää Bobille salatun viestin m. Bobin julkinen avain koostuu seuraavista tiedoista: l, r, B l+r, konjugaattipari (x, y) B l+r B l+r ja tiivistefunktio H. Bobin yksityinen avain on sellainen alkio a LB l, että y = axa 1. Kryptatakseen viestin m Alice tekee seuraavasti: Alice valitsee b RB r ja laskee palmikon c = bxb 1 ja luvun d = H(byb 1 ) m. Alice lähettää parin (c, d) Bobille. Saatuaan viestin Bob purkaa sen laskemalla m = H(aca 1 ) d. Ensinnäkin Bob todella saa viestin purettua: H(aca 1 ) d = H(abxb 1 a 1 ) H(byb 1 ) m = H(abxb 1 a 1 ) H(baxa 1 b 1 ) m = H(abxb 1 a 1 ) H(abxb 1 a 1 ) m = m

KIRJALLISUUTTA 6 Selvittääkseen viestin Marvinin pitäisi selvittää alkio a, kun on annettuna alkiot x ja y (tai vaihtoehtoisesti selvittää alkio b, kun on annettuna alkiot c ja x) tai ratkaista DHCP. Jälkimmäiseen hän kykenee. Kuten aiemmin mainittiin, niin DHCP ei ole tarpeeksi turvallinen. Yleistettyyn konjugaatinetsimisongelmaan ei ole vielä kehitetty nopeaa algoritmia, joten tähän ongelmaan perustuen voitaisiin kehittää turvallisempi avaimenvaihtoprotokolla ja julkisen avaimen kryptosysteemi. Kirjallisuutta [1] Bolstad, A.: Braid Group Cryptography Untangled, University of Wisconsin, 2004. [2] Ko K. H., Lee S. J., Cheon J. H., Han J. H., Kang J. S., Park C.: New Public-Key Cryptosystems Using Braid Groups, Advances in Cryptology, Proceedings of Crypto 2000, Lecture Notes in Computer Science 1880, ed. Bellare M., Springer-Verlag (2000), 166 183. [3] Ko K. H., Choi D. H., Cho M. S., Lee J. W.: New Signature Scheme Using Conjugacy Problem, http://eprint.iacr.org/2002/168/ (haettu 24.11.2010). [4] Cheon J. H. & Jun B.: A Polynomial Time Algorithm for the Braid Diffie-Hellmann Conjugacy Problem, http://eprint.iacr.org/2003/019/ (haettu 24.11.2010).