next up previous contents
Next: 5 Projekt Up: 4 Protokoły podpisów cyfrowych Previous: 2 Ślepe podpisy Schnorra   Spis rzeczy


3 Częściowo ślepe podpisy

Przedstawiony poniżej protokół, mimo iż jest bardzo podobny do protokołu ślepych podpisów Schnorra pozwala podzielić podpisywaną przez $S$ wiadomość na dwie części: tajną $m$ i jawną $M$. Dzięki temu strona żądająca podpisu może ukryć tą część wiadomości, która pozwoliłaby rozpoznać ją w przyszłości. Z kolei $S$ uzyskuje możliwość weryfikacji kluczowych danych. Przebieg protokołu gwarantuje, iż obie części -- $m$ i $M$ zostają sklejone i nie można żadnej z nich podmienić.

Protokół częściowo ślepych podpisów bazuje na protokole podpisów cyfrowych Nymerga-Ruppela, a także modyfikacji dotyczącej używanych kluczy, podanej w [5]. Protokół pod względem budowy jest podobny do protokołu ślepych podpisów Schnorra. Jego ideą jest zawarcie $M$ -- ujawnionej części wiadomości -- w kluczu prywatnym i publicznym transakcji, generowanym przez stronę podpisującą S. W tym celu używa się dwóch publicznych wielomianów:

\begin{displaymath}W_1(x) \: = \: \sum_{i=0}^n \: {\phi_i * x^i} \;\;mod \; q,\;\;\; \phi_i \: \epsilon \: \mathbb{Z}^*_q \end{displaymath}


\begin{displaymath}W_2(x) \: = \: \sum_{i=0}^m \:{\pi_i * x^i} \;\;mod \; q, \;\;\; \pi_i \: \epsilon \: \mathbb{Z}^*_q \end{displaymath}

o stopniach większych od zera i współczynnikach $\phi_0$ i $\pi_0$ większych od zera. Do tego strona podpisująca S posiada klucze prywatne $s_1\;$ i $s_2\;$ i odpowiednie klucze publiczne $S_1\; = \; f(s_1)\;$ i $S_2 \; = \; f(s_2)\;$.
Podpisywaną wiadomość możemy podzielić na dwie części: $M$ -- tę część pozna strona podpisująca i $m$ -- tajna część wiadomości. Protokół obejmuje następujące kroki: Para $(c', \:z')$ jest podpisem pod $m$.

V może teraz zweryfikować podpis w następujący sposób:

$ h ( g^{z'} * K^{c'}, m) = $
$ \;\;\; = h ( g^{r + c * k + \alpha} * K^{-c + \beta}, m) = $
$ \;\;\; = h ( g^{r + c * k + \alpha} * g^{-ck} * K^{\beta}, m) = $
$ \;\;\; = h ( g^{r \alpha} * K^{\beta}, m) = $
$ \;\;\; = c - \beta = $
$ \;\;\; = c' $


next up previous contents
Next: 5 Projekt Up: 4 Protokoły podpisów cyfrowych Previous: 2 Ślepe podpisy Schnorra   Spis rzeczy
Piotr Kozieradzki 2003-05-16