Když se nad tím zamyslíš, tohle nemusí být problém.
Řekněme, že máš 80b ale tvoje potřeby uspokojí jen 256b AES. Tak musíš z těch 80b udělat 256. Když při tom splníš pár požadavků...
- odvození je hodně pomalé
- není upočítatelná charakterizace oboru hodnot
- výsledky nejde nacacheovat (solení může být možnost)
- neděláš moc kolizí
-...
(Co přesně dělají nevím. Jen poznámka na téma, že 80b možná blbě vypadá ale sám o sobě to problém být nemusí. Ostatně i bruteforce na 80b není ani dnes záležitost pro pár kalkulaček.)
Štouravé kolego v nás vyskakuje a nedá se umlčelo:
Měl jsem napsat že znak je spíš 6 než 8 bitů "náhody" (nechtěl jsem bejt přílišnej pedant; chtěl jsem nadhodit že mi to přijde málo, ne se zbytečně nimrat v detailech) - a "faktoriál pozpátku" stejně rychle klesá.
S rozšiřováním klíče bych příliš nepočítal, to by se vytahovali skutečnou délkou klíče a ne délkou hesla ze kterého klíč odvodili.
Jo, neni to na kalkulačky ani real-time crackování, ale stejně. Pokud se někdo snaží jen zašifrovat SMSky od milenky před manželkou, 80b je ok (pokud stará nedělá u NSA ;-).
Když jde o léta ve vězení, život nebo veký peníze, sáhnu po nejsilnější variantě algoritmu který měl dostatečný peer-review, a budu se "modlit" aby někdo nevěděl (to že to není veřejně známo ...) jak výrazně omezit prohledávaný prostor.
Co přesně Apple chtěl?
Historii máš tuta: http://en.m.wikipedia.org/wiki/Export_of_cryptography_from_the_United_States
Pokud vyvážíte/zveřejňujete z/v USA, je to stále docela problém.Limit je 64 bitů, pak už se musí vyplňovat formulář na DoC BIS. Před pár lety jsem zanechal nějaké kódy ohledně AES256 na file exchange serveru v USA. Podle logu tam byl robot xxx.nsa.gov asi po šesti hodinách. Správce webu kódy stáhl a po cca týdenní korespondenci já - správce - jeho právník - úřad byla vyřešena situace tak, že kódy se definitivně smazaly.
"Tak musíš z těch 80b udělat 256" -- No a drobný problém je, že tohle nejde udělat. Pokud mám na vstupu 80 bitů entropie, tak z toho žádným deterministickým postupem víc než 80 bitů neudělám. Mohl bych z toho udělat méně, to ano.
Prakticky: 80 bitů není zrovna málo. Dnes to podle mě je za hranicí upočitatelnosti hrubou silou i pro NSA. Problémy to má dva:
1) "Dnes" -> Zítra (nebo za rok) už to upočitatelné být může. Bezpečnostní rezerva je příliš malá.
2) "Hrubou silou" -> Nevíme, jestli NSA nemá nic lepšího než hrubou sílu. Pokud má něco lepšího, tak opět začne vstupovat do hry bezpečnostní rezerva - pokud mám 256bitový klíč a nějaký chytrý útok například kvadraticky zmenší složitost (na 128 bitů), tak jsem pořád v pohodě, protože ve 128 bitech je strašně moc možností; u 80 bitového klíče už bych měl problém, protože 40 bitů skutečně prolomí každé PC.
Ani KDF nepřidá novou entropii. Pouze zpomalí (lineárně!) výpočet, to je celé.
A mezi námi, pokud předpokládáme*), že NSA má pro promalování běžných šifer chytřejší algoritmy než hrubou sílu, proč bychom měli očekávat, že pro rychlý výpočet hashovacích funkcí je nemá?
*) Pokud to nepředpokládáme, tak je 80 bitů *dnes* dostatečně silných.