forked from vlsergey/infosec
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgirault_scheme.tex
40 lines (39 loc) · 2.84 KB
/
girault_scheme.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
\subsection{Взаимная аутентификация с доверенным центром}
\selectlanguage{russian}
В \emph{протоколе Жиро}\index{протокол!Жиро} (\langfr{Marc Girault},~\cite{Girault:1990, Girault:1991}) участвуют три стороны -- $A$, $B$ и надёжный центр $T$.
\begin{enumerate}
\item У стороны $T$ есть открытый и закрытый ключи криптосистемы RSA\index{криптосистема!RSA},
\[ n=pq, ~ e, ~ d=e^{-1} \mod \varphi(n), \]
с дополнительным параметром $g$ -- генератором подгруппы максимально возможного порядка мультипликативной группы $\Z_n^*$:
\[ \begin{array}{l}
\PK_T = (n, e, g) ~~\text{открытый ключ}, \\
\SK_T = (d) ~~ \text{закрытый ключ}. \\
\end{array} \]
\item Стороны $A$ и $B$ независимо друг от друга создают свои открытые и закрытые ключи, обмениваясь информацией с центром $T$ по надёжному защищённому каналу. Стороны $A$ и $B$ выбирают свои закрытые ключи:
\[ \begin{array}{l}
\SK_A = a, \\
\SK_B = b, \\
\end{array} \]
и отправляют центру сообщения:
\[ \begin{array}{ll}
A \rightarrow T: & ~ I_A, ~~ g^{-\SK_A} = g^{-a} \mod n, \\
B \rightarrow T: & ~ I_B, ~~ g^{-\SK_B} = g^{-b} \mod n, \\
\end{array} \]
где $I_A, I_B$ -- числовые идентификаторы сторон.
\item Центр $T$ вычисляет открытые ключи для $A$ и $B$ и также по надёжному каналу передаёт им:
\[ \begin{array}{ll}
A \leftarrow T: & ~ \PK_A = (g^{-\SK_A} - I_A)^{\SK_T} = (g^{-a} - I_A)^d \mod n, \\
B \leftarrow T: & ~ \PK_B = (g^{-\SK_B} - I_B)^{\SK_T} = (g^{-b} - I_B)^d \mod n. \\
\end{array} \]
\item Теперь стороны $A$ и $B$ могут создать общий секретный симметричный сеансовый ключ. Например, $A$ находит:
\[ \begin{array}{ll}
A: ~~ K_A & = ~ (\PK_B^e + I_B)^{\SK_A} ~ = \\
& = ~ (((g^{-b} - I_B)^d)^e + I_B)^a ~ = \\
& = ~ (g^{-b} - I_B + I_B)^a ~ = \\
& = ~ g^{-ab} \mod n. \\
\end{array} \]
Аналогично $B$ вычисляет:
\[ K_B = (\PK_A^e + I_A)^{\SK_B} = g^{-ab} \mod n. \]
Как видно, ключи одинаковы:
\[ K = K_A = K_B = g^{-ab} \mod n. \]
\end{enumerate}