Vienkartinis bloknotas
Vienkartinis bloknotas (kitaip – Šenono absoliučiai atsparus šifras arba Vernamo šifras) – šifravimo algoritmas, kuriame teksto kodavimui naudojamo rakto ilgis yra lygus paties teksto ilgiui. Kodavimui naudojama modulinė sudėtis.
Vienkartinis bloknotas yra kol kas vienintelis žinomas kriptografijos algoritmas, kurio neįmanoma įveikti[1], jei laikomasi šių sąlygų:
- Raktas turi būti absoliučiai atsitiktinis. Jis negali būti sugeneruotas pseudoatsitiktinių skaičių generatoriaus ar panašiai.
- Raktas gali būti naudojamas tik vieną kartą (iš čia pavadinimas).
- Raktas turi būti saugiai perduotas užkoduoto pranešimo gavėjui.
Praktikoje vienkartinio bloknoto panaudojimą labai riboja visi šie trys veiksniai, labiausiai – visiškai atsitiktinių raktų generavimas ir perdavimas. Suprantama, kad raktais abi pusės turi apsikeisti skirtingu būdu, nei keičiasi koduotais pranešimais.
Vienkartiniu bloknotu užšifruotą tekstą yra vienoda tikimybė iššifruoti į bet kokį kitą tokio paties ilgio tekstą.
1940 m. šifro nepažeidžiamumą įrodė Klodas Šanonas.