Timantti 2 | |
---|---|
Luoja | Michael Paul Johnson |
Luotu | 1995_ _ |
julkaistu | 1995_ _ |
Avaimen koko | 128 (8-65536) bittiä 8-bittisin askelin |
Lohkon koko | 128 bittinen |
Kierrosten lukumäärä | 10 (10-15) |
Tyyppi | Korvaus-permutaatioverkko |
Diamond2 on Michael Paul Johnsonin vuonna 1995 kehittämä symmetrinen lohkosalausalgoritmi . Algoritmi käyttää 128-bittistä lohkoa ja mielivaltaisen pituista avainta, oletuksena 128 bittiä.
Salauksen luomisen tarkoituksena oli kehittää algoritmi, joka kestää kaikkia olemassa olevia hyökkäyksiä pitkän aikaa turvamarginaalilla ja kyvyllä käyttää yksinkertaista generoitua avainta. Tässä tapauksessa avaimen koko valitaan vaaditun suojaustason ja suuren avainmateriaalivalikoiman saatavuuden mukaan. Tällä hetkellä on olemassa useita hajautusfunktioita, joissa on muuttuva lähtölohko (esimerkiksi Skein ), joita voidaan käyttää yli 512 bitin pituisen avainmateriaalin luomiseen. Samaan aikaan kirjoittaja väittää 128 bitin entropiaa, joka tarvitaan luotettavaan suojaukseen. Ilman erikoistyyppisiä hyökkäyksiä raa'an voiman hyökkäys 128-bittistä avainta vastaan on teknisesti mahdotonta olemassa oleville laitteille lähitulevaisuudessa. Tämä käyttää myös melko monimutkaista ja suhteellisen hidasta avaimen laajentamis- ja asennustoimintoa. Oletetaan, että avaimen vaihto suoritetaan paljon harvemmin kuin salaus- ja salauksenpurkutoiminnot sekä ohjelmisto- että laitteistototeutuksissa. 128-bittisen lohkon käyttö, joka on epätyypillinen salauksille Diamond2:n kehittämisen aikana, on perusteltua tarpeella estää raa'an voiman hyökkäyksiä ennalta luotujen taulukoiden avulla.
Huolimatta väitetystä läheisyydestä ihanteelliseen salaukseen, algoritmia ei käytetä laajasti. Vaikka salaus julkaistiin vuonna 1995, Diamond2:n salauksen vahvuudesta ei ole tehty yksityiskohtaista tutkimusta 13 vuoteen. Itse asiassa tätä lohkosalausta käytetään joissakin sovelluksissa yhtenä lisäksi saatavilla olevista symmetrisistä salausalgoritmeista [1] , ja salaus on toteutettu myös joissakin kryptografisissa kirjastoissa.
Lohkosalaus Diamond2 koostuu kolmesta pääosasta: 1 - avainaikataulu, 2 - korvausvaiheet, 3 - permutaatiovaiheet. Salaus ja salauksen purku koostuvat n kierrosta korvausoperaatioita, joissa n on vähintään 10. Kukin korvausoperaatio ottaa kunkin 16 8-bittisen tulotavun ja korvaa ne eri tavuilla. Tämä on johdettu korvaustaulukon sisällöstä tavun sijainnin ja kierrosluvun perusteella. Avainaikataulu-toiminto täyttää sisäiset hakutaulukot avaimen perusteella. Jokaisen korvauksen välillä asetettu permutaatiovaihe käyttää bittinäytteistysprosessia, jotta jokaisesta lähtötavusta saadaan kahdeksan eri tulotavun funktio. Toisin kuin DES , jokainen kierros muuttaa jokaista syöttölohkon tavua (eikä vain puolta syöttölohkosta). 5 kierroksen jälkeen jokainen lähtölohkon bitti on ei-lineaarinen funktio jokaisesta syöttölohkon bitistä ja jokaisesta avaimen bitistä. Viidennen kierroksen jälkeisiä lisäkierroksia käytetään sen varmistamiseksi, että yksittäisten korvaustaulukoiden sisällön laskeminen on vaikeampaa kuin raa'an voiman hyökkäys salaukseen. Ne myös lisäävät mahdollisten toiminnallisten riippuvuuksien määrää avaimesta, mikä tekee algoritmista lähempänä ihanteellista lohkosalausta ja vaikeuttaa kryptausanalyysiä.
Symmetriset salausjärjestelmät | |
---|---|
Suoratoista salauksia | |
Feistelin verkko | |
SP verkko | |
Muut |