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



Компьютеры - Забывчивая передача - Забывчивый алгортим передачи Рабина

23 января 2011


Оглавление:
1. Забывчивая передача
2. Забывчивый алгортим передачи Рабина
3. Забывчивый протокол 1 из-n и забывчивый протокол k-из-n



В забывчивом протоколе передачи данных Рабина, отправитель генерирует RSA публичные модуля N=pq где p и q большие числа и экспоненту е к. Отправитель шифрует сообщение m как mmodN.

  1. Отправитель посылает N, e и m mod N получателю.
  2. Получатель выбирает случайное x modulo N и передает x mod N отправителю.
  3. Отправитель находит квадратный корень y из x mod N и передает y получателю.

Если отправитель находит y не является ни x ни -x modulo N, получатель сможет факторизовать N0 и тем самым расшифровать m для получения m. Однако, если y is x или -x mod N получатель не будет иметь информации о m. Т.к. каждый квадратный вычет modulo N имеет 4 квадратных корня, шанс что получатель расшифрует m равен 1/2.


Забывчивый протокол 1 к 2

В данной версии протокола, отправитель полсылает два сообещния m0 и m1, а порлучатель имеет бит b, и хотел бы получить mb, без того что бы отправитель узнал b, в то же время отправитель хочет быть уверенным в том, что получатель получил только одно из двух сообщений.

  1. Отправитель имеет два сообщения, m0,m1, и хочет отправить одно единственное получателю, но не хочет знать какое из них именно он получит.
  2. Отправитель генерирует пару ключей RSA, содержащие модули N, публичную эспоненту e и скрытую d.
  3. Отправитель так же генерирует два случайных значений x0,x1 и отсылает их получателю вместе с публичными модулями и экспонентой
  4. Получатель выбирает b и выбирает или первый или второй xb.
  5. Получатель генерирует случайное значение k и шифрует xb расчитывая v =\mod N, которые возвращает отправителю.
  6. Отправитель не знает какое из x0 и x1 выбрал получатель, и пытается расшифровать оба случайных сообщения, получая два возможных значения k: k_0 =^d\mod N и k_1 =^d\mod N. Одно из них будет соответсвовать k, будучи корректно расшифрованным, тогда как другое будет случайным значение, не раскрывающем никакой инфомации о k.
  7. Отправитель шифрует оба секретных сообщения с каждым возможным ключем m'0 = m0 + k0 m'1 = m1 + k1 и посылает их оба получателю.
  8. Получатель знает какое из двух сообщений может быть расшифрованно с помощью k, и он получает возможность расшифровать только одно сообщение mb = m'b − k


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


<<< 0 (программирование)
Компрометация (криптография) >>>