Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Ú
Úvod do kryptografie
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Package registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Tonda Maloň
Úvod do kryptografie
Commits
d72f2687
Commit
d72f2687
authored
1 year ago
by
Martin Mareš
Browse files
Options
Downloads
Patches
Plain Diff
Dražba část 1
parent
14fbfdf3
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
01-intro/intro.tex
+47
-1
47 additions, 1 deletion
01-intro/intro.tex
with
47 additions
and
1 deletion
01-intro/intro.tex
+
47
−
1
View file @
d72f2687
...
@@ -61,7 +61,7 @@ Proč je tak důležitý?
...
@@ -61,7 +61,7 @@ Proč je tak důležitý?
klíč než algoritmus.
klíč než algoritmus.
\endlist
\endlist
\
note
{
\
rem
{
Ještě dodejme, že Alice a Bob nemusí být konkrétní osoby. Jsou to
\em
{
role
}
v~protokolu.
Ještě dodejme, že Alice a Bob nemusí být konkrétní osoby. Jsou to
\em
{
role
}
v~protokolu.
Chceme-li na zprávu odpovědět, postavy si role prohodí.
Chceme-li na zprávu odpovědět, postavy si role prohodí.
Pokud chceme bezpečně zálohovat data, Bob bude Alice někdy v~budoucnosti.
Pokud chceme bezpečně zálohovat data, Bob bude Alice někdy v~budoucnosti.
...
@@ -199,4 +199,50 @@ generovat náhodně. Teoreticky se sice může zopakovat, ale jak uvidíme v~odd
...
@@ -199,4 +199,50 @@ generovat náhodně. Teoreticky se sice může zopakovat, ale jak uvidíme v~odd
malou pravděpodobností.
malou pravděpodobností.
}
}
\section
{
Alice a Bob na dražbě
}
Na závěr této kapitoly zkusíme z~kryptografických primitiv poskládat jeden trochu složitější
protokol. Budeme (trochu naivně) předpokládat, že primitiva jsou dokonalá, ale i tak se objeví
nečekaně mnoho problémů. Pohodlně se usaďte, příběh začíná
\dots
Alice se chce zúčastnit dražby, na níž se prodává originál plyšového tučňáka Tuxe.
Dražba se ovšem koná kdesi v~Antarktidě, tak se chce nechat zastupovat svým věrným přítelem Bobem.
Bude sledovat průběh dražby v~přímém televizním přenosu a když přijde správná chvíle, pošle Bobovi
zprávu typu
\uv
{
přihoď
$
x
$
tolarů
}
, případně
\uv
{
skonči
}
. Tyto zprávy potřebuje šifrovat, protože
jinak by ji konkurence mohla předběhnout; zároveň si ale uvědomíme, že zprávy stačí utajit na velmi
krátkou dobu -- nejpozději po několika minutách Bob požadovanou akci provede a bude zveřejněna v~televizním
přenosu.
Začneme triviálním protokolem, postupně budeme odhalovat jeho slabiny a opravovat je.
\subsection
{
První pokus: potřebujeme padding
}
Použijeme symetrickou šifru. Než Bob odjede, domluví se s~Alicí na nějakém klíči, ideálně náhodně vygenerovaném.
Pokaždé když bude chtít Alice chtít poslat zprávu, vytvoří řetězec tvaru
{
\tt
PRIHOD
\sp
12345
}
nebo
{
\tt
KONEC
}
, zašifruje ho a~odešle.
Co je na tomto protokolu špatně? Především z~něj
\uv
{
prosakuje
}
spousta informací. Jelikož symetrické šifry
zachovávají délku zpráv, triviálně ze zašifrovaného textu poznáme, zde se jedná o~
{
\tt
KONEC
}
-- to je jediná
pětiznaková zpráva. A~pokud se jedná o~
{
\tt
PRIHOD
}
, z~počtu znaků zjistíme počet cifer částky, tedy její
desítkový logaritmus.
Oprava je jednoduchá: všechny zprávy doplníme mezerami na nějaký pevný počet znaků.
Tomu se říká
\em
{
padding
}
neboli
\em
{
vycpávka
}
. Důležité je, aby padding byl
\em
{
reverzibilní
}
--
když přijmeme opadovanou zprávu, musíme být schopni padding odstranit a získat zprávu původní.
Jelikož naše zprávy jsou textové a nekončí na mezeru, stačí na jejich konec přidat mezery.
Aliciny peněžní rezervy sotva tvoří víc než
$
10
^{
13
}$
tolarů,
\foot
{
Jak jsme k~číslu přišli:
Ekonomové odhadují že peněz v~hotovosti a na snadno dostupných účtech
je cca
$
8
\cdot
10
^{
12
}
\;
{
\rm
USD
}$
. Viz
\url
{
https://www.rankred.com/how-much-money-is-there-in-the-world/
}
.
}
takže stačí na částku rezervovat 13 číslic a na celou zprávu 20 znaků.
\subsection
{
Přehrávací útoky: přidáme nonci
}
\subsection
{
Porovnávání zpráv: nonce podruhé
}
\subsection
{
Modifikace zpráv: podepisujeme
}
\subsection
{
Hotový protokol
}
\subsection
{
Překvapení na závěr
}
\endchapter
\endchapter
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment