From 9021e9e6e681b8ab619e48da6d99bcf079ceffe7 Mon Sep 17 00:00:00 2001 From: Martin Mares <mj@ucw.cz> Date: Mon, 24 Feb 2025 23:29:49 +0100 Subject: [PATCH] Intro: Meet in the middle --- 01-intro/intro.tex | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/01-intro/intro.tex b/01-intro/intro.tex index 5be8222..0140f20 100644 --- a/01-intro/intro.tex +++ b/01-intro/intro.tex @@ -447,6 +447,26 @@ pravděpodobnost, že ve skupině 23 lidí mají dva narozeniny tentýž den, je \subsection{Útoky setkáním na půli cesty} -TODO +Podívejme se na ještě jednu variantu útoku s~odmocninovou složitostí. +Méjme autentikační protokol typu challenge-response jako v~oddílu \secref{introrng}. +Server posílá $b$-bitovou nonci a klient odpoví jejím podpisem. + +V~první fázi útoku bude útočník odposlouchávat komunikaci, až nasbírá $s$~různých noncí a odpovídajících podpisů. +Pak následuje druhá fáze, v~níž se $t$-krát pokusí navázat spojení a bude číhat, jestli se neobjeví některá ze známých noncí. +Spočítejme pravděpodobnost toho, že neuspěje. + +První fáze vyprodukuje nějakou $s$-prvkovou podmnožinu~$S$ vybranou z~$n$-prvkové množiny~$N$ všech možných noncí, +kde $n=2^b$. Druhou fázi můžeme popsat náhodnou funkcí~$f$ z~množiny pokusů $\{1,\ldots,t\}$ do množiny noncí~$N$. +Útočník neuspěje, pokud je $f(x)\not\in S$ pro všechna~$x$. +To nastane s~pravděpodobností +$$ + p = \left( 1 - {s\over n} \right) ^t \approx \e^{-{st\over n}}. +$$ +Tato pravděpodobnost bude rovna (řekněme) $1/2$ pro $st\approx n$. Můžeme tedy zvolit +například $s = t = c\cdot\sqrt{n}$ pro vhodnou konstantu~$c$. Celková složitost útoku +pak bude opět odmocninová, což shora omezuje úroveň bezpečnosti protokolu na $b/2$. + +Můžeme si také všimnout, že paměťové nároky útoku jsou lineární v~$s$, takže může dávat +smysl volit třeba $s=cn^{1/3}$ a $t=cn^{2/3}$. Tím jsme ušetřili paměť za cenu času. \endchapter -- GitLab