Eredeti válasz, amely elmagyarázza, hogy a ccrypt nem használ sót, nem használ valódi AES-t és nem használ szabványos KDF-et: https://www.mathstat.dal.ca/~selinger/downloads/ccrypt- answer.txt
A ccrypt szerzője vagyok. Sajnálom, hogy ilyen későn válaszoltam erre a témára, de csak a közelmúltban értesültem róla. Mint mindig, a titkosítással kapcsolatos kérdések is rám irányíthatók (és valószínűleg gyorsabb választ fognak kapni) a SourceForge-on található ccrypt fórumokon.
Az eredeti kérdés megválaszolásához: hadd mondjam meg egyértelműen, hogy a titkosítás, minden más mellett jelszó alapú titkosító program, durva erőszakos támadásoknak van alávetve, beleértve a szótári támadásokat is. Ahogy ThomasPornin találóan megfogalmazta: "A jelszó alapú titkosítás eredendően sebezhető a szótári támadások számára". Semmi sem akadályozza meg a támadót abban, hogy minden lehetséges jelszót megadjon. Ez nem hiba, hanem az élet alapvető ténye, és amelyet a kriptográfia minden felhasználójának meg kell értenie. Ha gyenge jelszót használ, például "uszkár", akkor a támadó képes lesz kitalálni a jelszavát és visszafejteni az adatait. Ha olyan erős jelszót használ, mint a "hVztmdz28fNemDZnxj5YLjXz", akkor az adatai a belátható jövőben a jelenlegi ismeretek legjobbak szerint biztonságban maradnak. a válaszok és megjegyzések.
Az eredeti bejegyzésben látszik, hogy félreértés van a whatccrypt helyettesítője kapcsán. Ez valószínűleg annak tudható be, hogy a dokumentáció ezen részét sokáig nem frissítettem. Amikor Iwrote (2001-ben), hogy a ccrypt a régi unixcrypt program helyettesítője, a crypt (1) programra utaltam, nem pedig a crypt (3) library funkcióra. A Crypt (1) egy jelszó alapú fájlkódoló program volt, amely legalább 1979 óta létezik a Unixban (a 7. verzióban volt: http://man.cat-v.org/unix_7th/1/crypt ), és jól ismert volt az 1980-as és 1990-es években. Egy közismerten weakalgorithmust használt az Enigma rejtjel alapján, amelyet már megtörtek
Második világháború. Másrészt a crypt (3) egy olyan könyvtárfunkció, amely a jelszavakat az / etc / password formátumban használja. Tudomásom szerint a (3) kriptával nincs különösebben baj, és ma is használatos. A Ccrypt (1) a crypt (1) helyettesítője, nem a forcrypt (3). Nincs értelme megkérdezni, hogy a ccrypt "jobb", mint a crypt (3), mivel teljesen más dolgokat csinálnak. Valószínűleg frissítenie kell a dokumentáció ezen részét, tekintettel arra, hogy szerencsére senki sem emlékszik ma a crypt (1) programra.
Az eredeti bejegyzés kérdést vet fel azzal kapcsolatban is, hogy a ccryptwill tájékoztatja a felhasználót, ha rossz jelszót írtak be , és hogy ez gyorsabbá teszi-e a szótár támadásokat. A válasz az, hogy ez nem teszi gyorsabbá a szótár támadásokat, kivéve talán egy kis állandó tényezőt. Thomas ezt már válaszában jól elmagyarázta, de csak a lényeg hangsúlyozása érdekében vegye fontolóra ezt: tegyük fel, hogy a titkosított fájl JPEG fájl. Minden JPEG fájl ugyanazon 3 bájttal kezdődik, nevezetesen ff d8 ff. Tehát már létezik egy nagyon egyszerű teszt a kulcs valószínű helyességének ellenőrzésére: csak dekódolja az első blokkot, és ellenőrizze, hogy a fájl ff d8 ff kezdetű-e. A legtöbb más fájlformátum is tartalmazza ezt a típusú ismert sima szöveget, például minden PDF fájl "% PDF" -vel kezdődik. Azt is könnyű ellenőrizni, hogy a fájl egyszerű szöveges fájl-e. Tehát az a tény, hogy a ccrypt biztosítja a jelszóillesztési funkciót, nem teszi könnyebbé a támadásokat, mint általában. Ami azt illeti, a ccrypt "megfelelő" kulcs ellenőrzése szintén nem 100% -os pontos. 1/4 milliárd esély van arra, hogy bármelyik véletlenszerű kulcs átmegy a teszten, még akkor is, ha ez nem a megfelelő kulcs. A funkció azért van, hogy megakadályozza az embereket abban, hogy véletlenül megfejtik a fájlokat egy rossz kulccsal (és ezzel felülírják a benne lévő összes adatot szeméttel).
Összefoglaló: Mint minden jelszó alapú titkosító szoftver, a ccrypt szótár támadások tárgya. A felhasználóknak tisztában kell lenniük ezzel és választaniuk kell
erős jelszavak. Viszont kontraproduktív lenne, ha a jelszavak bizonytalanságát csak kissé kevésbé bizonytalanná tennénk, ha a támadások költségeit állandó tényezővel növelnénk, amint az javasolt. Ehelyett az egyetlen helyes válasz arra, hogy először biztonságos jelszavakat használjon. A Thomas Pornin válaszában bemutatott további elemzések nagy része hibás, és a ccrypt tényleges gyengeségeit nem fedezték fel.