Krypografiassa lineaarinen kryptausanalyysi on kryptausanalyysimenetelmä , joka käyttää lineaarisia approksimaatioita kuvaamaan salauksen toimintaa .
Lineaarisen kryptoanalyysin keksi japanilainen kryptologi Mitsuru Matsui ( Jap. 松井 充 Matsui Mitsuru ). Hänen vuonna 1993 (Eurocrypt '93 -konferenssissa) ehdottaman algoritmin tarkoituksena oli alun perin murtaa DES ja FEAL [1] . Myöhemmin lineaarinen kryptausanalyysi laajennettiin muihin algoritmeihin. Nykyään se on differentiaalisen krypta -analyysin ohella yksi yleisimmistä menetelmistä lohkosalausten murtamiseen [2] . Hyödyllinen myös tietovirtasalauksia vastaan .
Lineaarisen kryptoanalyysin löytäminen oli sysäys uusien salausmenetelmien rakentamiseen [3] .
Kryptaanalyysi tapahtuu kahdessa vaiheessa. Ensimmäinen on luoda suhteita selkeän tekstin , salatekstin ja avaimen välille , jotka ovat totta suurella todennäköisyydellä. Toinen on käyttää näitä suhteita yhdessä tunnettujen selväteksti-salateksti-parien kanssa avainbittien johtamiseen.
Algoritmin tarkoitus on saada seuraavat suhteet:
missä ovat tekstin, salatekstin ja avaimen n :s bitti.
Näitä suhteita kutsutaan lineaarisiksi approksimaatioiksi . Tällaisen suhteen kelpoisuuden todennäköisyys P mielivaltaisesti valituille selkeän tekstin, salatekstin ja avaimen biteille on suunnilleen yhtä suuri kuin 1/2. Sellaisia suhteita, joiden todennäköisyys eroaa huomattavasti 1/2:sta, voidaan käyttää algoritmin avaamiseen.
Lineaarisen kryptaanalyysin ideana on määrittää muotoa (1) olevat lausekkeet, joilla on suuri tai pieni esiintymistodennäköisyys. Jos salausalgoritmilla on yhtälön (1) korkea taajuus tai päinvastoin, yhtälö suoritetaan alhaisella taajuudella, tämä osoittaa huonoa kykyä satunnaistaa salaus. Jos yhtälön (1) toteutumisen todennäköisyys on yhtä suuri kuin p , niin siirtymän todennäköisyys on p − 1/2. Mitä suurempi siirtymän todennäköisyys on | | p − 1/2|, sitä parempi on lineaarisen kryptaanalyysin sovellettavuus vähemmällä hyökkäykseen tarvittavalla selkeällä tekstillä [1] [4] .
Lineaarisia kryptausanalyysihyökkäyksiä on useita tyyppejä [5] [6] [7] . Matsui-algoritmia tarkastellaan: aluksi jokaiselle salauskierrokselle löydetään lineaarinen approksimaatio, jolla on suurin harhan todennäköisyys. Tuloksena saadut lausekkeet yhdistetään kaikille kierroksille yhteiseksi lineaariseksi approksimaatioksi, jonka todennäköisyyttä voidaan siirtää etumerkin ylityslemman avulla .
Seuraavaksi tarkastellaan algoritmia parhaan lineaarisen approksimation löytämiseksi yhdelle kierrokselle. Lohkosalauksissa analyysi keskittyy pääasiassa S-laatikoihin , koska ne ovat salauksen epälineaarinen osa. Koska S-laatikko ottaa m bittiä syötteenä ja palauttaa n bittiä, kryptanalyytikon on muodostettava 2 m + n approksimaatiota. Yhden approksimoinnin todennäköisyyden löytämiseksi S-laatikolle annetaan kaikki 2 m :n mahdolliset tuloarvot ja lasketaan kuinka monta kertaa tämä approksimaatio on totta tulo- ja lähtöbiteille. Tuloksena saatu otteluiden määrä jaetaan 2 metrillä . DES-algoritmissa taulukon S5 lineaarisella approksimaatiolla on suurin biasin todennäköisyys , jossa neljäs kuudesta tulobitistä on XOR-korjattu kaikkien neljän lähtöbitin yli todennäköisyydellä 12/64 [8] [ 4] . Täyden kierroksen DES:lle on saatu relaatio, jonka täyttymistodennäköisyys on 1/2 + 2 −24 [9] .
Lineaarisella kryptausanalyysillä on yksi erittäin hyödyllinen ominaisuus: tietyissä olosuhteissa (esimerkiksi kun selkeän tekstin tiedetään koostuvan ASCII-merkeistä ) relaatio (1) voidaan pelkistää yhtälöksi, jonka muoto on [10] [11] :
Tässä ei ole pelkkää tekstiä, eli voit rakentaa hyökkäyksen pelkän salatekstin perusteella. Tällainen hyökkäys voidaan soveltaa siepattu salateksti ja on käytännöllisempi.
Lemma merkkien juoksemisestaVaikka likimäärää, jolla on suurin poikkeama 1/2:sta, ei ole vaikea löytää yhdelle kierrokselle, bias-todennäköisyyden laskemisessa on ongelma, kun menetelmä ekstrapoloidaan koko kierroksen salaukseen. Periaatteessa tämä vaatisi kryptanalyytikon tarkastelevan kaikkia mahdollisia selkeiden tekstien ja avainten yhdistelmiä, mikä ei ole mahdollista. Ratkaisu tähän ongelmaan on tehdä useita oletuksia ja arvioida todennäköisyys merkkien tunkeutumisen lemman avulla . Otetaan eri kierroksille lineaariset approksimaatiot, jotka ovat yhtä kuin 0 todennäköisyydellä . Tällöin todennäköisyys, että lineaarinen kokonaisapproksimaatio on nolla, on [1] [4]
Kun lineaarinen approksimaatio on saatu, voidaan käyttää suoraa algoritmia ja arvata avainbittien arvot pelkkäteksti-salateksti-parien avulla. Tässä tapauksessa on loogista käyttää tehokkainta suhdetta, eli sellaista, jolla todennäköisyyden P poikkeama 1/2:sta on suurin.
Jokaiselle avainbittiarvojoukolle yhtälön (1) oikealla puolella lasketaan selkoteksti-salateksti-parien määrä T , joille yhtälö ( 1) on tosi . Ehdokas, jonka poikkeama T puolella selväteksti-salateksti-parien lukumäärästä on absoluuttisesti suurin, oletetaan olevan todennäköisin avainbittiarvojen joukko [1] [4] .
Lineaarinen kryptausanalyysi kehitettiin alun perin lohkosalauksiin kohdistuviin hyökkäyksiin, mutta sitä voidaan soveltaa myös suorasalauksiin. Kehittäjä itse on tutkinut yksityiskohtaisesti sen soveltamista DES:ään.
Mitsuru Matsuin kokeet selkokielisillä hyökkäyksillä (laskelmat suoritettiin 66 MHz HP9750:lla) antoivat seuraavat tulokset [12] [13] :
Vuonna 2001 Pascal Junod ( fr. Pascal Junod ) suoritti sarjan kokeita selvittääkseen hyökkäyksen monimutkaisuuden. Tuloksena kävi ilmi, että todellisuudessa hyökkäys 16 kierroksen DES:ää vastaan voidaan toteuttaa onnistuneesti 2 39 - 2 41 tunnetun tekstin läsnä ollessa [13] .
Useilla salauskierroksilla lineaarista kryptausanalyysiä käytetään yleensä "raaka voima" -menetelmän yhteydessä - sen jälkeen, kun tietyt avainbitit on löydetty lineaarisella kryptausanalyysillä, suoritetaan tyhjentävä haku mahdollisista arvoista. loput bitit. Tällä lähestymistavalla on useita syitä: Ensinnäkin parhaat lineaariset approksimaatiot antavat meille mahdollisuuden löytää vain joidenkin avainbittien arvot, ja toiseksi vaadittujen selkotekstien määrä on tässä tapauksessa pienempi ja jäljellä olevien avainbittien luettelointi kestää vähemmän. aika [5] [13] .
Toisin kuin differentiaalinen kryptausanalyysi, joka vaatii valittuja selkeitä tekstejä, menetelmä tyytyy tunnettuihin selkeisiin teksteihin, mikä lisää merkittävästi sen laajuutta. Kuitenkin myös lineaarisessa kryptausanalyysissä on joskus hyödyllistä käyttää valittuja selkotekstejä tunnettujen tekstien sijaan. Esimerkiksi DES:lle on olemassa tekniikka, joka vähentää huomattavasti datan määrää ja laskentaa, jota tarvitaan käyttämällä valittuja selkeitä tekstejä [7] .
DES:n ja FEALin lisäksi on muitakin algoritmeja, jotka ovat lineaarisen kryptaanalyysin alaisia, esimerkiksi:
Lohkosalauksen hyökkäämiseksi lineaarisella kryptausanalyysillä riittää, kuten edellä on kuvattu, että saadaan lineaarinen suhde, jonka todennäköisyys on siirtynyt merkittävästi 1/2:sta. Vastaavasti ensimmäinen tavoite hyökkäyskestävän salauksen suunnittelussa on minimoida todennäköisyysbias, jotta voidaan varmistaa, ettei tällaista suhdetta ole olemassa. Toisin sanoen on varmistettava, että lohkosalaus täyttää tiukan avalanche-kriteerin (SAL). Lohkosalauksen sanotaan tyydyttävän SLC:n, jos tuloksena olevan salatekstin tekstin tai avaimen muutoksen yhteydessä täsmälleen puolet biteistä käännetään, ja jokainen bitti muuttuu todennäköisyydellä 1/2. Tämä saavutetaan yleensä valitsemalla erittäin epälineaarisia S-laatikoita ja tehostamalla diffuusiota .
Tämä lähestymistapa antaa hyvän perustelun salauksen turvallisuudelle, mutta varmistaakseen tiukasti suojan lineaarista kryptausanalyysiä vastaan, salauksen suunnittelijoiden on otettava huomioon monimutkaisempi ilmiö, lineaarinen runkoilmiö [ 6 ] [ 18] . On huomattava, että salaukset, jotka ovat optimaalisia tiettyä kapeaa hyökkäysluokkaa vastaan, ovat yleensä heikkoja muuntyyppisiä hyökkäyksiä vastaan. Esimerkiksi DES:ssä tunnetaan S-laatikoiden järjestely, joka lisää merkittävästi lineaarisen kryptaanalyysin vastustuskykyä, mutta huonontaa vastustuskykyä differentiaalista kryptausanalyysiä kohtaan [19] .
Taivutettujen toimintojen käytöllä oli merkittävä rooli vakaiden S-laatikoiden rakentamisessa . Vuonna 1982 havaittiin, että taivutettujen funktioiden perusteella rakennetuilla maksimipituisilla sekvensseillä on erittäin alhaiset sekä ristikorrelaation että autokorrelaation arvot [20] [21] . Myöhemmin useat kryptografit ovat työskennelleet taivutettujen funktioiden ja niiden vektorianalogien käytön parissa lohkosalausten salausresistanssin lopullisen lisäämiseksi lineaarista ja differentiaalista analyysiä kohtaan [22] [23] [24] .