Není pravda, že Není šifrovacího algoritmu, který by teoreticky nebyl prolomitelný.
Pokud je klíč stejně dlouhý jako šifrovaný text, je i teoreticky šifra neprolomitelná. Samozřejmě pak nastává problém s distribucí klíče, ale ten je v současnosti řešen kvantovou kryptografií (která ve skutečnosti jen vytváří spolehlivý kanál na předání klíče).
Byla by na prd "šifrovací" funkce, která by vytvářela jen deset různých hashů (a nebyla by to šifrovací, ale hashovací funkce). Nebyl byste schopen text dešifrovat, protože by jedné té "možnosti" (hashi) odpovídalo velké množství vstupů, a vy byste nevěděl, který je ten správný. Ta šifrovací funkce samozřejmě musí pro stejný klíč vrátit pro každý vstup jiný výstup.
To jste mne nepochopil. Byla by to sifrovaci funkce, ktera by pro jednu zpravu vygenerovala 10 ruznych zasifrovanych zprav v zavislosti na hodnote klice (byt dlouheho). Samozrejme by ty zasifrovane zpravy byly jine pro jine vstupni zpravy.
Pro jednoduchost si predstavte si treba funkci, ktera vezme pozici prvni jednicky v klici, toto cislo zapise dekadicky a v nem zase vezme pozici prvni jednicky, a vsechny ostatni informace z klice zahodi. Pak klic delky 10^10 nabyva v teto funkci efektivne 10 hodnot. Pokud byl klic zvolen nahodne tak je vysoka pravdepodobnost, ze utocnikovi bude stacit take volit klice nahodne a rekneme do 100 pokusu se trefi do klice, ktery zpravu rozsifruje (i kdyz ten klic nebude stejny jako original).
Prave tim se takovato spatna funke lisi od toho co chceme od hashovacich funkci: totiz aby se kolize (ruzne klice davajici stejny vystup), hledali tezko.