Интернет магазин китайских планшетных компьютеров



Компьютеры - ACE Encrypt - Схема цифровой подписи

30 апреля 2011


Оглавление:
1. ACE Encrypt
2. Безопасность
3. Схема шифрования
4. Схема цифровой подписи
5. Замечания



В схеме цифровой подписи ACE задействованы два типа ключей:
открытый ключ цифровой подписи ACE: \,.
закрытый ключ цифровой подписи ACE: \,.
Для заданного параметра размера m\,, такого что 1024 \le m \le 16384, компоненты ключей определяются следующим образом:
p\,\left\lfloor m/2 \right\rfloor-битное простое число, для которого /2\, — тоже простое.
q\,\left\lfloor m/2 \right\rfloor-битное простое число, для которого /2\, — тоже простое.
N\,N=pq\,и может иметь как m\,, так и m-1\, бит.
h,x\, — элементы \left\{1,...,N-1\right\}.
e^{\prime}\, — 161-битное простое число.
a\, — элемент \left\{0,...,/4-1\right\}
k^{\prime}\, — элементы B^{184}\,.
s\, — элементы B^{32}\,.

Генерация ключа

Алгоритм. Генерация ключа для схемы цифровой подписи ACE.
Вход: параметра размера m\,, такой что 1024 \le m \le 16384.
Выход: пара открытый/закрытый ключ.

  1. Сгенерировать случайные простые числа p,q\,, такие что /2\, и /2\, — тоже простые, и

    2^{m_1-1}<p<2^{m_1}, 2^{m_2-1}<q<2^{m_2}, и p \ne q,


    где

    m_1=\left\lfloor m/2 \right\rfloor и m_1=\left\lceil m/2 \right\rceil.

  2. Положить N \leftarrow pq.
  3. Сгенерировать случайное простое числоe^{\prime}\,, где 2^{160} \le e^{\prime} \le 2^{161}.
  4. Сгенерировать случайное h^{\prime} \in \left\{1,...,N-1\right\}, при условии gcd=1 и gcd=1, и вычислить h \leftarrow^{-2} rem N.
  5. Сгенерировать случайное a \in \left\{0,...,/4-1\right\} и вычислить x \leftarrow h^a rem N.
  6. Сгенерировать случайные байтовые строки k^{\prime} \in B^{184}\,, и s \in B^{32}\,.
  7. Вернуть пару открытый ключ/закрытый ключ

    ,)\,.

Представление подписи

Подпись в схеме цифровой подписи ACE имеет вид , где компоненты определяются следующим образом:
d\, — элемент B^{64}\,.
w\, — целое число, такое что 2^{160} \le w \le 2^{161}.
y,y^{\prime}\, — элементы \left\{1,...,N-1\right\}.
\tilde{k}\, — элемент B^{\ast}\,;заметим, что L=64+20L_B/64 \right\rceil), где M\, — подписываемое сообщение.

Необходимо ввести функцию SEncode\,, которая представляет подпись в виде байтовой строки, а также обратную функцию SDecode\,. Для целого l>0\,, байтовой строки d \in B^{64}, целых 0 \le w \le 256^{21} и 0 \le y,y^{\prime}<256^l, и байтовой строки \tilde{k} \in B^{\ast},

SEncode \stackrel{\mathrm{def}}{=}d||pad_{21})||pad_l)||pad_l)||\tilde{k} \in B^{\ast}.


Для целого l>0\,, байтовой строки \sigma \in B^{\ast}, для которой L \ge 2l+53,

CSecode \stackrel{\mathrm{def}}{=},I_{B^{\ast}}^{Z},I_{B^{\ast}}^{Z},\Bigl_{85+2l}^{L}) \in B^{64} \times Z \times Z \times Z \times B^{\ast}.

Процесс генерирования подписи

Алгоритм. Генерирование цифровой подписи ACE.
Вход: открытый ключ \, и соответствующий закрытый ключ \, и байтовая строка M \in B^{\ast}\,, 0 \le L \le 2^{64}.
Выход: байтовая строка — цифровая подпись \sigma \in B^{\ast}\,.

  1. Произвести следующие действия для хеширования входных данных:
    1. Сгенерировать случайно ключ хеша \tilde{k} \in B^{20m+64}, такой что m=L_b/64 \right\rceil).
    2. Вычислить m_h \leftarrow I_{W^{\ast}}^{Z}).
  2. Выбрать случайное \tilde{y} \in \left\{1,...,N-1\right\}, и вычислить y^{\prime} \leftarrow \tilde{y}^2 rem N.
  3. Вычислить x^{\prime} \leftarrow^{r^{\prime}}h^{m_h} rem N.
  4. Сгенерировать случайное простое число e\,, 2^{160} \le e \le 2^{161}, и его подтверждение корректности \,:  \leftarrow GenCertPrime\,. Повторять этот шаг до тех пор, когда e \ne e^{\prime}\,.
  5. Положить r \leftarrow UOWHash^{\prime\prime\prime},x^{\prime},\tilde{k}) \in Z; заметим, что 0 \le r < 2^{160}.
  6. Вычислить y \leftarrow h^b rem N, где

    b \leftarrow e^{-1}rem,


    и где p^{\prime}=/2 и q^{\prime}=/2.
  7. Закодировать подпись:

    \sigma \leftarrow SEncode,d,w,y,y^{\prime},\tilde{k}).



Просмотров: 3906


<<< Защита от несанкционированного копирования