next up previous contents
Next: 2 Notacja Up: 3 Protokół anonimowych mikropłatności Previous: 3 Protokół anonimowych mikropłatności   Spis rzeczy

1 Model obliczeń

Operacje matematyczne na wszystkich etapach obliczeń odbywają się nad ciałami
$(P,+_P,*_P,\epsilon_P, \theta_P)$ i $(Q,+_Q,*_Q,\epsilon_Q, \theta_Q)$, gdzie $\epsilon_P$ i $\epsilon_Q$ są elementami neutralnymi mnożenia, a $\theta_P$ i $\theta_Q$ dodawania. Funkcja $F \colon Q \to P$ jest jednokierunkową funkcją, na której opiera się bezpieczeństwo systemu. Funkcja ta posiada następujące własności:

\begin{displaymath}F(a +_Q b) = F(a) *_P F(b) \end{displaymath}


\begin{displaymath}F(a *_Q b) = \underbrace{F(b) *_P F(b) \ldots *_P F(b)}_{a} = \underbrace{F(a) *_P F(a) \ldots *_P F(a)}_{b} \end{displaymath}


\begin{displaymath}F(\theta_Q) = \epsilon_P \end{displaymath}

Jako $F$ będzie użyta funkcja:

\begin{displaymath}F(x) = g^x \;\; mod\;\; p \end{displaymath}

gdzie $x \; \epsilon \; Q$, $p$ jest liczbą pierwszą, $g$ jest generatorem grupy $P$, która jest podgrupą $\mathbb{Z}^*_p$ rozmiaru $q$ dla $q$ pierwszego, a $Q = \mathbb{Z}^*_q$.

W protokole wykorzystano jako funkcję bezkolizyjną funkcję haszującą $h$ (por. dodatek B). W mojej realizacji protokołu używam funkcji MD5, na wyniku której (wynik ten traktuję jak liczbę binarną) dokonuję operacji $mod \;\;q$. Wybór funkcji MD5 wynika z faktu, że wynik funkcji haszującej powinien być tej samej długości co liczba $q$.


next up previous contents
Next: 2 Notacja Up: 3 Protokół anonimowych mikropłatności Previous: 3 Protokół anonimowych mikropłatności   Spis rzeczy
Piotr Kozieradzki 2003-05-16