N-hash

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 14. tammikuuta 2015 tarkistetusta versiosta . vahvistus vaatii 21 muokkausta .
N-hash
Luotu 1990
julkaistu 1990
Hash-koko 128 bittinen
Kierrosten lukumäärä 12 tai 15
Tyyppi hash-toiminto

N-Hash  on kryptografinen hajautusfunktio, joka perustuu FEAL - sykliseen funktioon . Tällä hetkellä katsotaan turvattomaksi [1] .

Sen kehitti vuonna 1990 Nippon Telegraph and Telephone (joka kehitti myös FEALin).

Alun perin N-Hash-toiminnon tarkoituksena oli ratkaista tietojen korvaamisongelma kahden puhelimen käyttäjän (Nippon Telegraph and Telephone - televiestintäyritys) välillä ja nopeuttaa tiedonhakua. Esimerkiksi jos henkilö lähettää tekstiviestin , sen aitous tarkistetaan ennen toimitusta hash-toiminnolla. Ja jos Nippon Telegraph and Telephone -tuotteiden käyttäjän on löydettävä nopeasti jonkun yhteyshenkilö puhelimesta, N-Hashin käyttö voi yksinkertaistaa nimen löytämistä luettelosta. Tämä johtuu siitä, että kontaktin ensimmäinen kirjain on ilmoitettu nimen hash-koodiksi (pieni määrittävä osa yhteyshenkilöä).

Origins

N - Hash- algoritmi perustuu FEAL - lohkon salausalgoritmiin . Suurin televiestintäyhtiö Nippon Telegraph and Telephone loi DES:iin perustuvan FEALin . Mutta vaikka tämä algoritmi päihittää DES:n nopeudessa, se on erittäin epäluotettava ja helposti haavoittuva: kryptanalyytikko tarvitsi hyvin vähän tietoa rikkoakseen algoritmin. Juuri FEAL-algoritmin hakkerointi johti N-Hash-hajautusfunktion syntymiseen vuonna 1990. N-Hash on myös nopeampi kuin DES: verrattuna DES:n 9 Kbps:iin, N-Hash toimii nopeudella 24 Kbps 15 kierroksen järjestelmässä ja 29 Kbps 12 kierroksen järjestelmässä. Samaan aikaan Nippon Telegraph and Telephone saavutti lisäyksen luotettavuudessa FEALiin verrattuna [1] .

Nippon Telegraph ja Telephone käyttivät jonkin aikaa N-Hash-algoritmia tämän toiminnon tavoitteiden mukaisesti, mutta jonkin ajan kuluttua kehitettiin syntymäpäivämenetelmä , joka mursi tämän algoritmin helposti. Hakkeroinnin yhteydessä ei hylätty pelkästään N-Hash, vaan lähes kaikki lohkosalauksiin perustuvat toiminnot, koska niillä kaikilla on sama ongelma: ne ovat helposti alttiina syntymäpäivämenetelmälle. Sen sijaan he käyttävät nyt luotettavampia toimintoja, jotka perustuvat MD-tekniikoihin: MD5 , SHA-1 ja muut, jotka on lueteltu tällä hetkellä luotettaviksi katsottujen toimintojen luettelossa (standardin ISO / IEC 10118 mukaan).

Käyttö

N-Hash-funktiota käytettiin lyhyen aikaa 1990-luvun alussa, kunnes se murtui syntymäpäivämenetelmällä.

N-Hashin ominaisuudet

Yksisuuntainen

Määritelmä: Antaa olla  jonkin pituinen viesti.

Funktiota kutsutaan yksisuuntaiseksi , jos tasa -arvosta

helposti:

erittäin työvoimavaltainen:

Helpompi määritelmä voidaan kirjoittaa näin:

Yksisuuntaisuus  on " sormenjälki ":

Yksisuuntaisuus ratkaisee erittäin tärkeän ongelman. Tarkastellaanpa sitä esimerkin avulla.

Alice ja Bob nimeävät perinteisesti tiedonsiirron aiheet. Esimerkkejä

Törmäysvastus

Jotta Alice ei käyttäisi "syntymäpäivä"-menetelmää Bobin huijaamiseen, on erittäin kätevää ottaa käyttöön vielä vahvempi ehto kuin yksisuuntainen ehto. H on sellainen, että on vaikea löytää viestejä ja siten, että niiden hash-koodit täsmäävät. Eli on mahdotonta löytää kahta ihmistä, joilla on samat sormenjäljet.

Tätä ehtoa kutsutaan törmäysvastukseksi, eikä se päde N-Hash-tiivistefunktiolle.

Törmäyksen epävakauden vuoksi Alice voi huijata Bobia tällä tavalla ("syntymäpäivä"-menetelmä):

Tällaisen ongelman välttämiseksi riittää kosmeettisten muutosten tekeminen allekirjoitettuun sopimukseen. Ja vaikka tämä toiminto ei muuta hash-funktiota H millään tavalla, eikä siksi vaikuta sen törmäyskestävyyteen millään tavalla, mutta tällä toiminnolla henkilö saa uuden version sopimuksesta, jonka hash-koodi ei vastaa hyökkääjän sopimusversion hash-koodia. Eli jos Bob viidennellä rivillä laittaa pilkun johonkin tai laittaa kaksi pistettä yhden sijasta, Alice ei pysty todistamaan allekirjoittaneensa toisen sopimuksen (koska hänen hash-koodinsa ei enää vastaa hash-koodia Alicen sopimusta).

Voit harkita tosielämän esimerkkiä: kun notaari leimaa allekirjoitetun sopimuksen, hän tekee siihen kosmeettisia muutoksia.

N-Hashin tavoitteet

Ymmärtääksesi, kuinka N-Hash-toiminto toimii, sinun on vaihdettava tieteellisempään puheeseen. Alla on tämän toiminnon tavoitteet, ei esimerkein, vaan sen mukaan, miten ne on toteutettu ja sopivalla terminologialla .

Tämä ominaisuus on välttämätön, jotta voidaan sulkea pois mahdollisuus, että hyökkääjä syöttää vääriä tietoja alkuperäiseen viestiin. Eheyden varmistamiseksi on voitava havaita mahdolliset muutokset viestin tekstissä (korvaaminen, lisääminen, poistaminen). Eheys varmistetaan lisäämällä alkuperäiseen viestiin redundanttia tietoa, joka on testiyhdistelmä. Tätä yhdistelmää kutsutaan tarkistussummaksi ja se voidaan laskea käyttämällä erityistä algoritmia. Koska tämä algoritmi riippuu salaisesta avaimesta , on epätodennäköistä , että viestiin sisällytetään vääriä tietoja .

, jossa suola  on redundanttia tietoa, M on viesti - tarkistussumma;

Kaavasta seuraa, että jos suola muuttuu, muuttuu myös S (tarkistussumma), mikä tarkoittaa, että molemmat ja muuttuivat .

Eli voimme päätellä, että väärää tietoa on lisätty.

N-Hash-funktio toimii M viestien kanssa, joiden pituus on mielivaltainen. Tässä tapauksessa tulos on hajakoodi, jonka pituus on kiinteä 128 bittiä. Tämä saadaan, koska viesti on jaettu 128 bitin kokoisiin lohkoihin ja algoritmi toimii peräkkäin jokaisen lohkon kanssa.

Tämä ominaisuus koskee yksisuuntaisia ​​toimintoja, mikä on N-Hash. Viestin M luotettavuus tarkistetaan etsimällä lopullinen hash-koodi (viestin yhteenveto) kahdesti (lähettävä ja vastaanottava osapuoli). Tuloksia verrataan ja jos ne täsmäävät, tieto on luotettavaa. Eheys ei takaa pätevyyttä .

sivustoilla, joissa sinun on syötettävä kirjautumistunnus ja salasana , salasana käännetään syöttämisen jälkeen hash-koodiksi. Eli aluksi käyttäjä syöttää salasanan M, mutta suojatun alueen sisäänpääsyyn käytetään hash-koodia . Tunnettua hash-koodia h ja funktiota H käyttämällä M on erittäin vaikea laskea, mikä varmistaa salasanan luottamuksellisuuden.

Todennus  on toimenpide, jolla käyttäjä tai tiedot todennetaan tiettyjen kriteerien avulla.

Herää kysymys, kuinka hash-toiminto varmistaa todennuksen todenperäisyyden. Tämä on helppo osoittaa esimerkillä.

Kun käyttäjä syöttää käyttäjätunnuksen ja salasanan mille tahansa sivustolle , hänen salasanansa muunnetaan hash-koodiksi ja lähetetään verkon kautta todennusta varten. Ilmeisesti jonkun toisen tilille kirjautumiseen riittää, että selvität salasanan hash-koodin ja käytät sitten kaavaa (h-hash-koodi, M - salasana) salasanan löytämiseen. Mutta N-Hash, joka on yksisuuntainen toiminto, varmistaa salasanan turvallisuuden, koska tämä yksisuuntaisten toimintojen yhtälö on erittäin työlästä ratkaista (ei käytä henkilökohtaista tietokonetta).

Algoritmi

N-Hash-algoritmi perustuu operaatioiden sykliseen toistoon (12 tai 15 kertaa - kierrosten määrä). Tulossa on hash-koodi ja se voi olla mielivaltainen, tulos on viestin M hash-koodi h , joka on hajautettava. Lähtevän hash-koodin koko on kiinteä ja yhtä suuri kuin 128 bittiä, kun taas koko M on mielivaltainen [2] .

Perusnimet

Algoritmin kuvaus

Oikeanpuoleisessa kaaviossa on esitetty seuraavissa kaavioissa olevien toimintojen kaavamerkit.

Yksi N-Hash Cycle

Alla on yksi N-Hash-algoritmin sykli.

  • Funktion g syöte on (i-1)-vaiheen ja i:nnen viestilohkon hash-koodi . Tässä tapauksessa se valitaan mielivaltaisesti: se voi esimerkiksi olla nolla. Ja se syötetään myös lähtöön modulo 2 -lisäysoperaatiota varten, eli tulos (seuraavan vaiheen hash-koodi) näyttää tältä: ( jotain vielä tuntematonta ).
  • Kaaviosta voidaan nähdä, että se ei syötetä vain XOR :iin , vaan myös additiomodulo 2 -operaation ulostuloon. Eli nyt ensimmäisen kappaleen mukaisesti tulos näyttää tältä: ( jotain mikä on toistaiseksi tuntematon ).

Jäljelle jäävä tuntematon asia löytyy, kun se on kulkenut kahdeksan muunnosfunktion kaskadin läpi. Sen saaminen voidaan kuvata näin:

  • EXG-toiminto vaihtaa ylä- ja alanumerot keskenään ja lisää tulokseen , minkä jälkeen tulokseen lisätään modulo 2 s .
  • Kuten kaaviosta näkyy, tulos syötetään peräkkäin j muunnosfunktion syötteisiin, joiden toinen argumentti on summa , jossa j=1, ... , 8.
  • Tuloksena on i:nnen vaiheen hash-koodi :

.

Muunnosfunktio

Herää kysymys, miten muunnosfunktio toimii .

Harkitse piirin yläosaa hiusristikkoon.

Alkuperäinen viesti on jaettu bittilohkoihin.

Käsittelemme välilähtöjä tuloina piirin alaosaan. ja syötetään välilähtöihin , kun taas toiminnot ja syötetään kahteen muuhun lähtöön . Nyt on mahdollista määrittää uudelleen välilähtöjen tulokset ja niiden kautta, kuten yläosan, löytää tulokset alaosan lähdöstä eli koko piiristä kokonaisuutena.

Kun kaikki tarvittavat laskelmat on tehty, saadaan, että kun sitä käytetään syötteeseen , lähtöviesti voidaan esittää viestien ketjuna

  • ;
  • ;
  • ;
  • .
Funktion f(x, P) etsiminen

Koska funktio f toimii argumenteilla, joiden pituus on 32 bittiä, niin funktion f(x, P) hakukaaviosta saamme:

  • Arvo on jaettu 8 bitin osiin.
  • Kirjoitetaan nämä osat muotoon , i=1,…,4 ja otetaan käyttöön uusi merkintä:
    • ;
    • ;
    • ;
    • ;

Funktion argumentit (ensimmäinen nuoli vasemmalta) ovat ja .

Funktion argumentit (toinen nuoli vasemmalta) ovat ja .

Toisin sanoen lähtöviestin kaksi komponenttia ovat jo tiedossa ja samat

    • ;
    • ;

Lisäksi käytämme lähdössä jo vastaanotettuja viestin lähteviä osia merkinnän helpottamiseksi:

    • ;
    • ;
  • Tällöin lähtöviesti voidaan esittää muodossa .
  • Ja se tiedetään
    • =( vasen 2-bittinen kierto )(a+b) mod 256
    • =( 2-bittinen kierto vasemmalle )(a+b+1) mod 256

Hajautustoimintojen suojaus

Hajautustoiminto on turvallinen , kun kryptanalyytikko tarvitsee paljon tietoa tiivisteen murtamiseen (jolloin se ei todennäköisesti murtaudu) ja jos tiivistettä ei ole murrettu tähän mennessä [3] .

Jotta hash-toiminto olisi turvallinen, seuraavien ehtojen on täytyttävä:

  • Viestin tekstin muutoksissa (lisäosat, permutaatiot jne.) myös viestin hash-koodin pitäisi muuttua;

Muuten henkilö, joka syöttää käyttäjätunnuksensa ja salasanansa päästäkseen Wikipediaan , voi päästä toisen osallistujan sivulle.

  • mahdottomuus löytää viesti tunnetulla hash-koodilla osoitteesta ;

Jos tämä ehto ei täyty, se mahdollistaa Wikipedian käyttäjien salasanan löytämisen.

  • Viestien ja niiden hajautuskoodien samansuuruisten etsiminen on vievä paljon aikaa.

Muuten olisi mahdollista löytää kaksi salasanaa samoilla hash-koodeilla.

N-Hash ei ole turvallinen toiminto, koska viimeinen ehto ei täyty sille.

N- Hashin kryptaanalyysi

N-Hashia pidetään tällä hetkellä suojaamattomana ominaisuutena. Tämä kuva luettelee kaikki suojatut yksisuuntaiset toiminnot tällä hetkellä ISO/IEC 10118 [1] mukaisesti :

Niistä algoritmeista, jotka on rakennettu kuten N-Hash, jotka perustuvat lohkosalauksiin, vain MDC-2 ja MDC-4 katsotaan turvallisiksi .

N-Hashille on ominaista seuraava ongelma:

  • Koska hash-koodin pituus on yhtä suuri kuin salausalgoritmin lohkon pituus, algoritmi on epävakaa syntymäpäivähyökkäystä vastaan .

Hyökkäykset hash-funktioita vastaan

Tämä kuva näyttää hyökkäysten luokituksen kaikkia hajautusalgoritmeja vastaan ​​yleisesti.

Algoritmista riippuvat hyökkäykset ovat hyökkäyksiä, jotka perustuvat tietyn algoritmin ominaisuuksiin.

Esimerkiksi N - Hash on hyökätty onnistuneesti differentiaalimenetelmällä , kiinteän pisteen hyökkäyksellä ja kokouksessa keskellä .

Algoritmista riippumattomia hyökkäyksiä voidaan soveltaa mihin tahansa hash-funktioon, mutta tämä ei sulje pois sitä tosiasiaa, että joillekin algoritmeille ne ovat erittäin aikaa vieviä suuren tietomäärän tai koodin nopeuden vuoksi.

Tehokkaat hyökkäykset N-Hashia vastaan Algoritmipohjaiset hyökkäykset Differentiaalinen menetelmä

Den Boer ehdotti menetelmää törmäyksen muodostamiseksi yhden kierroksen N-Hash-järjestelmälle.

Biham ja Shamir käyttivät menestyksekkäästi differentiaalista kryptausanalyysiä vaarantaakseen kuuden kierroksen N-Hash-järjestelmän. Heidän ehdottamansa törmäyksen muodostamismenetelmä toimii mille tahansa arvolle N, joka on kolmen kerrannainen, ja samaan aikaan, jos N ≤ 12, se osoittautuu tehokkaammaksi kuin syntymäpäiväparadoksiin perustuva lähestymistapa .

12 kierroksen järjestelmässä törmäysten rakentamisen monimutkaisuus ehdotetulla menetelmällä on arviolta 256 operaatiota (syntymäpäiväparadoksiin perustuvan menetelmän monimutkaisuus on 264 operaatiota).

Algoritmista riippumattomat hyökkäykset

Hash-koodin ja salaisen avaimen pituuden lisääminen vaikeuttaa kryptanalyytikon työtä. Voit yrittää tehdä laskelmista liian aikaa vieviä henkilökohtaisille tietokoneille ja vaatia suuria resursseja. Sitten kryptanalyytikon on joko etsittävä supertietokonetta tai kirjoitettava virus, joka hash-funktion murtamisprosessin rinnakkaisuuden perusteella käyttää useita henkilökohtaisia ​​tietokoneita kerralla ratkaistakseen ongelman [3] .

Seuraavat menetelmät hash-funktion [4] suojaamiseksi ovat myös tehokkaita :

  • tarkistussummien käyttö tiivistyksen eri vaiheissa;
  • tietojen oikeellisuuden tarkistaminen;
  • upota viestiin suolatyyppiset tiedot .

Tulokset

  • Tällä hetkellä N-Hashia ei käytetä laajalti, koska se ei ole turvallinen ja se hakkeroitiin yli 10 vuotta sitten.
  • Nyt on erityinen nimi hash-funktioille, kuten N-Hash - key , eli yksisuuntainen, mutta ei törmäyksenkestävä:
    • Jos osapuolet luottavat toisiinsa (eli kumpikin osapuolista on varma, että toinen ei korvaa sopimusta, kuten Alice ja Bob), voidaan käyttää N-Hashia.

N-Hashin vertailu muihin hash-funktioihin

Algoritmi Hash-arvon pituus Salausnopeus (KB/s)
Samanaikainen Davies-Meyer-rata ( IDEAn kanssa ) 128 22
Davies-Meyer (DES:n kanssa) 64 9
GOST- hajautustoiminto 256 yksitoista
HAVAL (3 sarjaa) muuttuja 168
HAVAL (4 sarjaa) muuttuja 118
HAVAL (5 sarjaa) muuttuja 98
MD2 128 23
MD4 128 236
MD5 128 174
N-Hash (12 vaihetta) 128 29
N-Hash (15 vaihetta) 128 24
RIPE-MD 128 182
SHA-1 160 75
Snefru (4 passia) 128 48
Snefru (8 sarjaa) 128 23

Muistiinpanot

  1. 1 2 3 4 5 Hash-funktiot (pääsemätön linkki - historia ) . Cryptomash. Haettu: 27. marraskuuta 2008.   (linkki, jota ei voi käyttää)
  2. Bruce Schneier. Luku 18. Yksisuuntaiset hajautusfunktiot // Sovellettu kryptografia . - 2. painos Arkistoitu 28. helmikuuta 2014 Wayback Machinessa
  3. 1 2 Salauksen pääasia  // CIO: Journal. - 17. toukokuuta 2005. - Nro 5 . Arkistoitu alkuperäisestä 29. toukokuuta 2008.
  4. Hajautusfunktioiden krypta-analyysi (pääsemätön linkki - historia ) . Cryptomash. Haettu: 27. marraskuuta 2008.   (linkki, jota ei voi käyttää)

Katso myös

Linkit

Kirjallisuus

  • A. Shcherbakov, A. Domashev. Sovellettu kryptografia. - M . : venäläinen painos, 2003. - 404 s. — ISBN 5-7502-0215-1 .
  • Bruce Schneier. Sovellettu kryptografia. - 2. painos - M . : Triumph, 2002. - 816 s.