Williamsin salausjärjestelmä

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 20. joulukuuta 2014 tarkistetusta versiosta . tarkastukset vaativat 11 muokkausta .

Williams Cryptosystem  on julkisen avaimen salausjärjestelmä, jonka Hugh Cowie Williams loi vuonna 1984.

Historia

Algoritmi kehitettiin vuonna 1984 vaihtoehdoksi tunnetummalle RSA:lle. Kehityksen tarkoituksena oli päästä eroon kryptojärjestelmän haavoittuvuuksista.

Tietoja algoritmista

Minkä tahansa kryptojärjestelmän osalta on toivottavaa, että todistetaan, että sen rikkoutumisen laskennallinen monimutkaisuus on samanlainen kuin sellaisen ongelman laskennallinen monimutkaisuus, jota ei tällä hetkellä voida ratkaista ennakoitavissa olevassa ajassa. Williamsin salausjärjestelmä perustuu RSA:n tapaan oletukseen, että suuria lukuja on vaikea faktoroida, ja on todistettu, että minkä tahansa salatekstin murtamiseen alustavan kryptaanalyysin avulla (jossa on vain julkinen avain), on välttämätöntä tekijöitä [ 1] , eli ratkaise yhtälö ja . Tätä väitettä ei ole todistettu RSA - järjestelmälle . Tekijöintiongelman laskennallista monimutkaisuutta ei tunneta, mutta sen uskotaan olevan melko korkea. Mutta kuten RSA, Williamsin salausjärjestelmä on alttiina salakirjoitushyökkäyksille.

Algoritmin kuvaus

Vaikka Williamsin järjestelmäalgoritmi ei olekaan laskennallisesti monimutkaisempi kuin RSA, sitä on paljon hankalampi kuvata. Sille on olemassa lemma [2] , joka kuvataan matemaattista laitteistoa käsittelevässä osiossa - sillä on keskeinen rooli tässä kryptojärjestelmässä.

Matemaattinen laite

Aluksi on määriteltävä terminologia - se on lainattu neliökenttien teoriasta , mutta salausjärjestelmässä tarvitaan vain alkeellisia tietoja. Harkitse elementtiä

missä  ovat kokonaislukuja, ja  on ehdollinen elementti, jonka neliö on . Sitten seuraavat kaavat ovat voimassa:

Luvun konjugaattia kutsutaan

Määrittelemme myös funktioita, jotka auttavat meitä ilmaisemaan tämän luvun tehon. Päästää

niin u voidaan ilmaista seuraavasti:

Viimeinen lauseke on vain ymmärtämisen helpottamiseksi. Koska funktiot on määritelty pareille , ne eivät sisällä . Jos nyt oletetaan, että , voimme kirjoittaa seuraavat toistuvuussuhteet:

Nämä kaavat on suunniteltu nopeasti laskemaan ja . Koska ja , se ei myöskään riipu .

Lemma

Antaa olla kahden parittoman alkuluvun tuote ja ; ovat kokonaislukuja, jotka täyttävät yhtälön . Anna Legendre-symbolien täyttää kongruenssit

.

Olkoon lisäksi ja Jacobi-symboli yhtä suuri kuin 1. Merkitään

ja oletamme sen ja täytämme vertailun

.

Näillä oletuksilla

Avaimen luominen

Ensin valitaan kaksi alkulukua ja ja niiden tulo lasketaan . Luettelon avulla valitaan luku siten, että Legendre-symbolit täyttävät lemman asetetut ehdot. Sitten (myös valinnalla) määritetään numero siten, että Jacobi-symboli

ja Numero valitaan samalla tavalla kuin lemassa:

Sitten valitaan luvut , jotka täyttävät lemman asetetut ehdot. Valitsemme satunnaisen, esimerkiksi , ja laskemme kaavan mukaan

Sitten  on julkinen avain ja  yksityinen avain.

Salaus

Kaikki laskelmat tässä ovat modulo . Tässä oleva merkintä tarkoittaa Esitetään pelkkä teksti numerona . Määrittele ja : jos Jacobi-symboli on yhtä suuri kuin , niin

ja

muuten määrittelemme tuotteen kautta

ja

Sitten on helppo varmistaa, että Jacobi-symboli

joka varmistetaan suoralla laskennalla (toisessa tapauksessa ottaen huomioon Jacobi-symbolin valinta ja moninkertaisuus ). Seuraavaksi löydämme numeron

Esitetään se muodossa, joka täyttää lemman asetetut ehdot. Todellakin, ne täyttävät rakennusehdot, ja

Viimeisestä kaavasta seuraa, että

Kun se on saatu , se tulee salata eksponentioimalla  - tulos voidaan esittää ja joka voidaan [3] nopeasti (operaatioiden lukumäärälle järjestyksessä ) löytää toistuvia kaavoja käyttäen. Otetaan käyttöön merkintä

Silloin kryptoteksti on kolminkertainen numeroista missä

Salauksen purku

Salauksen purku on helpompaa. Ensin laskettu

mitä hyökkääjä voi tehdä. Mutta lopullista salauksen purkamista varten on tarpeen laskea, kuten lemmassa esitetään  - huolimatta siitä, mitä pidetään salassa.

Viestissä välitetty numero ilmaisee, mikä merkeistä on oikein - se, joka antaa parillisen vai joka antaa parittoman. Numero osoittaa, tuleeko tulos kertoa luvulla . Tämän seurauksena saamme numeron

Ja voimme helposti löytää lähdetekstin, joka viimeistelee salauksen purkuprosessin.

Turvallisuus

Kuten RSA, salausjärjestelmään voidaan hyökätä valitun salatekstin perusteella . Oletetaan, että kryptoanalyytikko on löytänyt algoritmin, joka mahdollistaa kryptotekstin purkamisen todennäköisyydellä. Sitten hän voi tehdä seuraavan:

1. Valitse numero siten, että Jacobi-symboli ; 2. Salaa , mutta siten, että mainittu Jacobi-symboli on yhtä suuri kuin ja , vastaanotettuaan kryptotekstin lähdössä ; 3. Pura vastaanotetun kryptotekstin salaus saadaksesi jonkin verran .

Sitten todennäköisyydellä kryptanalyytikko voi saada

tai

Tämä mahdollistaa salausjärjestelmän jakamisen ja murtamisen.

Suorituskyky

Avaimen luomisen jälkeen päälaskelmat tapahtuvat nostettaessa luku potenssiin, ja tämä voidaan tehdä modulokertolaskuissa, joista jokainen tapahtuu yhteenlaskuoperaatioissa, jotka puolestaan ​​suoritetaan vakionopeuden alkeissummausoperaatioissa - eli , in , samalla nopeudella, joka on RSA:n käyttämiseen vaaditun kokonaisluvun modulon eksponentio.

Esimerkki

Avaimen luominen

Valitaan esimerkiksi ja , jonka tuote on . Koska

ja

Voit valita . Lisäksi, jos valitsemme , saamme

Mikä täyttää lauseen ehdon. Seuraavaksi saamme

Ja lopuksi valitsemme salauksen ja salauksen purkamisen eksponentit: since

Voi valita

Salaus

Olkoon alkuperäinen teksti . Koska

Meillä on , ja

Koska se on outoa, saamme . Laskettuamme ja saamme

Näin ollen salateksti on kolmiosainen .

Salauksen purku

Nyt sinun pitäisi laskea :

Koska , laskemme myös

Koska , sitten on pariton ja

Ottaen huomioon, että salatekstin toinen komponentti on , päättelemme, että . Tässä tapauksessa

.

Siten saimme , joka oli alkuperäinen selväkieli.

Muistiinpanot

  1. Kim, 1992 .
  2. Williams, 1985 .
  3. Arto Salomaa - Public Key Cryptography, toim. Peace, 1995, ISBN 5-03-001991-X

Kirjallisuus