Velikost šifrovacího klíče

M3H3H

Velikost šifrovacího klíče
« kdy: 14. 01. 2017, 21:21:31 »
Viem, že AES-256 znamená AES s 256 bitovým šifrovacím kľúčom. Ale napríklad použijem šifrovací program ktorý používa AES-256 a tam predsa píšem šifrovací kľúč (heslo) ja, a môžem tam dať hociaký počet znakov. Napríklad "password" = 8 bajtov = 64 bitov... Potom ako mám chápať tých 256 bitov?
« Poslední změna: 15. 01. 2017, 22:51:15 od Petr Krčmář »


Re:Velkost sifrovacieho kluca
« Odpověď #1 kdy: 14. 01. 2017, 21:38:41 »
Viem, že AES-256 znamená AES s 256 bitovým šifrovacím kľúčom. Ale napríklad použijem šifrovací program ktorý používa AES-256 a tam predsa píšem šifrovací kľúč (heslo) ja, a môžem tam dať hociaký počet znakov. Napríklad "password" = 8 bajtov = 64 bitov... Potom ako mám chápať tých 256 bitov?
To vaše heslo není přímo klíč, který se použije pro AES-256. Ten klíč se z vašeho hesla buď odvodí, nebo se vygeneruje náhodně, vaším heslem se zašifruje a uloží spolu se šifrovanými daty.


JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Velkost sifrovacieho kluca
« Odpověď #3 kdy: 14. 01. 2017, 22:12:54 »
Berte to tak, ze kdyz se utocnik zmocni vasi sifrovane zpravy, tak si ji muze akorat vytisknout a utrit si s ni zadek. Kdyz vam ale zaroven ukradne klic, ktery je chraneny heslem Fifinka, utok na klic se zjednodusuje z hadani 256 bitu na hadani 56 bitu a v haji jste pro zmenu vy.

Ovsem pokud vim, tak AES zadne heslo na ochranu klicu nepouziva, takze to heslo byste zadaval asi nekam jinam, napriklad pri generovani klice pro asymetrickou kryptografii. Klic AES (nejspise nahodne generovany) by pak byl pouzit k sifrovani zpravy, ke ktere by byl nasledne pribalen v podobe zasifrovane klicem z te asymetricke kryptografie. Nejspise tedy ne vasim heslem, jak pise Filip Jirsák, ale klicem, ktery je tim heslem chranen.

Sifrovani primo heslem by bylo slabe ve srovnani s sifrovanim klicem a vyzadovalo by podstatne delsi a komplexnejsi hesla pro dosazeni srovnatelne bezpecnosti, zatimco u asymetricke kryptografie staci, kdyz budete chranit desifrovaci klic pred ukradenim. Klic GPG tusim momentalne ma defaultni delku 4096 bitu, tedy 512 bajtu a tak dlouhe heslo byste asi nezadaval, nehlede na to, ze ASCII znaky 0 az 31 by se vam dost blbe psaly a tak by se zmensila mnozina moznych znaku a oslabilo heslo v porovnani s klicem stejne delky.

Odvozovani klice pomoci nejake funkce, jak pise pan Jirsak, je sice mozne, ale asi zdaleka ne tak bezpecne, pokud byste se nenutil k pouzivani hoooodne dlouhych hesel. Neco takoveho se  ale pouziva napriklad k odvozeni klice wifi ze zadane passphrase. Z toho vyplyvaji doporuceni, ze passphrase ma byt dlouha a nema obsahovat slova, ktera mohou byt ve slovniku.

Re:Velkost sifrovacieho kluca
« Odpověď #4 kdy: 15. 01. 2017, 11:04:50 »
Napríklad "password" = 8 bajtov = 64 bitov... Potom ako mám chápať tých 256 bitov?

Každá symetrická šifra potřebuje mít klíč pevně dané délky. Takže jako klíč se použije něco, co se odvodí z hesla - buď jeho rozšířením nebo zkrácením. Většinou se na to používá nějaká kryptograficky bezpečná hashovací fce, která pro libovolně dlouhý vstup dá vždy fixně dlouhý výstup.

Takže například heslo pro aes-256 můžete prohnat přes sha2-256 a dostanete tak 256b klíč pro použití v aes. (Což je teda dost zjednodušený příklad, v praxi se používají jiné způsoby, jak to heslo co nejvíc zamotat a získat z toho kvalitní a těžce získatelný klíč. Viz výše uvedený odkaz na KDF.)



hugochavez

Re:Velikost šifrovacího klíče
« Odpověď #5 kdy: 18. 01. 2017, 16:27:54 »
Viem, že AES-256 znamená AES s 256 bitovým šifrovacím kľúčom. Ale napríklad použijem šifrovací program ktorý používa AES-256 a tam predsa píšem šifrovací kľúč (heslo) ja, a môžem tam dať hociaký počet znakov. Napríklad "password" = 8 bajtov = 64 bitov... Potom ako mám chápať tých 256 bitov?
Klasicka ukazka toho na co se ptas je TrueCrypt.
System ti pomuze vygenerovat 256 bitovej SYMETRICKEJ AES klic, tim zasifrujes obsah a TVYM DOUFEJME SILNYM OSOBNIM heslem zasifrujes onen DLOUUUUUUHY AES KLIC.
TC ho pak uklada tusim na posledni sektor.
Proto je vzdycky vyhodnejsi lamat uzivatelovo heslo nez to generovane softem (obzvlast kdyz se u TC napr. vytvari entropie krone jinyho  tim ze jezdis mysi nahodne po plose jako zbesilej=to dava dost slusnou entropii   :-))))
Pokud si chces predstavit kolik kombinaci nabizi AES 256 klic, vezmi 256 korunovejch minci a vyhod je do vzduchu- pak si je srovnej do lajny a zkus se zamyslet nad tim kolik ruznejch moznosti usporadani ti ta lajna nabizi. BTW panna je jednicka a orel je nula=to jsou ty bity  :-))
No a nejkouzelnejsi je to, ze kdyz na konec lajny pridas o jednu minci vic tak se ti najednou pocet moznych kombinaci zdvojnasobi -proto se klice natahujou kdyz se HW na lamani casem stane vykonejsi....
U asymetrickyho crypto to funguje trochu jinak, ale jen pro tvoji informaci pro stejnou "bezpecnost" jako ma 256bit symetrickej klic bys musel pouzit NASOBNE DELSI ASYMETRICIEJ KLIC (tusim 2048bit)
Rovnez tolik opevovanej kvantovej computer si s dostatecne dlouhym SYMETRICKYM klidem neporadi, protose nemuze uplatnit svoji silnou stranku totiz rozklad vysokych cisel na prvocisla.