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
Martin Mareš
Úvod do kryptografie
Commits
2c20c8a0
Commit
2c20c8a0
authored
3 months ago
by
Martin Mareš
Browse files
Options
Downloads
Patches
Plain Diff
Teorie čísel: Důkaz cykličnosti multiplikativní grupy
parent
7ae8a432
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
07-teorie-cisel/teorie-cisel.tex
+73
-2
73 additions, 2 deletions
07-teorie-cisel/teorie-cisel.tex
with
73 additions
and
2 deletions
07-teorie-cisel/teorie-cisel.tex
+
73
−
2
View file @
2c20c8a0
...
...
@@ -603,9 +603,9 @@ tedy na prvočíslo narazíme po průměrně $\Theta(b)$ pokusech.
\section
{
Diskrétní logaritmy
}
Důležitou vlastností těles modulo prvočíslo je, že se v~nich dá logaritmovat.
Nejprve uvedeme bez důkazu následující větu:
Začneme následující větou (důkaz zájemce najde v~závěru tohoto oddílu).
\
clai
m
{
\
theore
m
{
Pro každé prvočíslo~
$
p
$
je multiplikativní grupa~
$
\Zsp
$
cyklická. Existuje
tedy alespoň jedno~
$
g
$
(generátor) takové, že
$
\Zsp
=
\{
g
^
0
,
\ldots
,g
^{
p
-
2
}
\}
$
.
}
...
...
@@ -670,6 +670,77 @@ Tehdy $\varphi(p-1) = \varphi(2q) = \varphi(2)\varphi(q) = 1\cdot (q-1) = q-1 \a
Generátory tedy tvoří přibližně polovinu prvků~
$
\Zsp
$
, takže po průměrně dvou pokusech
nějaký najdeme.
\subsectionstar
{
Důkaz věty o cykličnosti multiplikativní grupy
}
% několik hezkých důkazů viz https://www.di-mgt.com.au/docs/cyclicFp.pdf
Nejprve definujme
$
N
_
p
(
d
)
$
jako počet prvků~
$
\Zsp
$
, které mají řád~
$
d
$
.
Řády prvků musí dělit řád celé grupy, což je
$
p
-
1
$
, takže
$
N
_
p
(
d
)
$
může být nenulové jen pro
$
d
\divs
(
p
-
1
)
$
.
Generátor celé grupy je prvek řádu
$
p
-
1
$
, takže tvrzení věty je ekvivalentní
s~
$
N
_
p
(
p
-
1
)
>
0
$
.
\lemma
{
Nechť
$
d
\divs
(
p
-
1
)
$
a
$
N
_
p
(
d
)
>
0
$
. Potom
$
N
_
p
(
d
)
=
\varphi
(
d
)
$
.
}
\proof
Nechť
$
N
_
p
(
d
)
>
0
$
a
$
a
\in\Zsp
$
je nějaký prvek řádu~
$
d
$
.
Uvažujme rovnici
$
x
^
d
\equiv
1
$
v~
$
\Zp
$
. To je polynomiální rovnice řádu~
$
d
$
v~tělese, takže má nejvýše
$
d
$
kořenů. Všechny mocniny
$
a
^
0
$
až
$
a
_{
d
-
1
}$
patří mezi kořeny (platí
$
(
a
^
i
)
^
d
\equiv
a
^{
id
}
\equiv
(
a
^
d
)
^
i
\equiv
1
^
i
\equiv
1
$
),
tím pádem žádné další kořeny neexistují.
Každý prvek řádu~
$
d
$
ovšem musí být kořenem této rovnice, takže
ho jde zapsat jako~
$
a
^
i
$
pro nějaké~
$
i
$
. Z~úvahy o~počítání generátorů
plyne, že
$
a
^
i
$
generuje právě tehdy, když
$
i
\perp
d
$
. Takových~
$
i
$
je
$
\varphi
(
d
)
$
.
\qed
\corr
{
Pro každé
$
d
\divs
(
p
-
1
)
$
platí
$
N
_
p
(
d
)
\le
\varphi
(
d
)
$
.
}
Každý prvek~
$
\Zsp
$
má nějaký řád.
Proto sečteme-li
$
N
_
p
(
d
)
$
přes všechna~
$
d
$
, musíme dostat
$
p
-
1
$
.
Zkombinováním s~předchozím důsledkem dostaneme:
$$
p
-
1
=
\sum
_{
d
\divs
(
p
-
1
)
}
N
_
p
(
d
)
\le
\sum
_{
d
\divs
(
p
-
1
)
}
\varphi
(
d
)
.
\eqno
{
(*)
}
$$
Platí ovšem i opačná nerovnost:
\lemma
{
Pro každé
$
n>
0
$
platí
$
\sum
_{
d
\divs
n
}
\varphi
(
n
)
=
n
$
.
}
\proof
Budeme počítat zlomky
$$
{
1
\over
n
}
,
{
2
\over
n
}
,
{
3
\over
n
}
,
\dots
{
n
-
1
\over
n
}
,
{
n
\over
n
}
.
$$
rozdělené do skupin podle jmenovatele po zkrácení.
Pokud se zlomek
$
i
/
n
$
zkrátí na
$
j
/
d
$
, musí být
$
j
\perp
d
$
a
$
d
\divs
n
$
.
Navíc
$
1
\le
i
\le
n
$
je ekvivalentní s~
$
1
\le
j
\le
d
$
.
Pro dané~
$
d
$
tedy připadají v~úvahu všechna
$
j
$
od~1 do~
$
d
$
,
která jsou nesoudělná s~
$
d
$
. Těch je
$
\varphi
(
d
)
$
.
Sečtením přes všechna~
$
d
$
získáme rovnost z~tvrzení lemmatu.
\qed
Spojením lemmatu s~nerovností~
$
(*)
$
dostaneme
$$
\sum
_{
d
\divs
(
p
-
1
)
}
N
_
p
(
d
)
=
\sum
_{
d
\divs
(
p
-
1
)
}
\varphi
(
d
)
.
$$
Žádná z~nerovností
$
N
_
p
(
d
)
\le
\varphi
(
d
)
$
tedy nemůže být ostrá.
Proto je
$
N
_
p
(
p
-
1
)
=
\varphi
(
p
-
1
)
$
, což je nenulové číslo.
Tím je věta dokázaná.
\section
{
Kvadratické zbytky
}
Prozkoumejme, jak se v~
$
\Zp
$
chovají druhé odmocniny (v~tomto oddílu budeme říkat prostě odmocniny).
...
...
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