Timantti 2

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ä.

Turvallisuus

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.

Algoritmin kuvaus

Suunnittelukonsepti

  1. Lineaariset funktiot ja funktioiden yhdistelmät voidaan usein ratkaista analyyttisilla tavoilla, jotka eivät ole salauksen kirjoittajalle ilmeisiä ja joita tulisi välttää. Tämä sisältää tavalliset aritmeettiset funktiot, äärellisen kentän matematiikan ja Boolen algebran.
  2. Käänteiset lohkosalaukset, joiden lohkokoko on n bittiä, voidaan ajatella yksinkertaisena korvaussalauksena 2n merkin aakkoston yli, ja avaimella valitaan käytettävä permutaatio.
  3. Yksinkertaiset korvaussalaukset voidaan esittää hakutaulukolla tai taulukolla, mutta tarvittava käytännön taulukko on liian suuri ollakseen käytännöllinen RAM-muistissa.
  4. Hakutaulukon riittävä ylisuuri osajoukko voidaan mallintaa yksinkertaisesti kerrostamalla alilohkokorvauksen bittikohtaisia ​​permutaatiokierroksia, jotka palvelevat toiminnallisten riippuvuuksien leviämistä alilohkorajojen yli.

Algoritmi

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ä.

Muistiinpanot

  1. Diamond2:n toteutus DarkCrypt TC/GUI:ssa (linkki ei saatavilla) . Haettu 7. tammikuuta 2009. Arkistoitu alkuperäisestä 17. joulukuuta 2008. 

Linkit