|
|
Компьютеры - Забывчивая передача - Забывчивый алгортим передачи Рабина23 января 2011
Оглавление: 1. Забывчивая передача 2. Забывчивый алгортим передачи Рабина 3. Забывчивый протокол 1 из-n и забывчивый протокол k-из-n
В забывчивом протоколе передачи данных Рабина, отправитель генерирует RSA публичные модуля N=pq где p и q большие числа и экспоненту е к. Отправитель шифрует сообщение m как mmodN.
- Отправитель посылает N, e и m mod N получателю.
- Получатель выбирает случайное x modulo N и передает x mod N отправителю.
- Отправитель находит квадратный корень 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, в то же время отправитель хочет быть уверенным в том, что получатель получил только одно из двух сообщений.
- Отправитель имеет два сообщения, m0,m1, и хочет отправить одно единственное получателю, но не хочет знать какое из них именно он получит.
- Отправитель генерирует пару ключей RSA, содержащие модули N, публичную эспоненту e и скрытую d.
- Отправитель так же генерирует два случайных значений x0,x1 и отсылает их получателю вместе с публичными модулями и экспонентой
- Получатель выбирает b и выбирает или первый или второй xb.
- Получатель генерирует случайное значение k и шифрует xb расчитывая , которые возвращает отправителю.
- Отправитель не знает какое из x0 и x1 выбрал получатель, и пытается расшифровать оба случайных сообщения, получая два возможных значения k: и . Одно из них будет соответсвовать k, будучи корректно расшифрованным, тогда как другое будет случайным значение, не раскрывающем никакой инфомации о k.
- Отправитель шифрует оба секретных сообщения с каждым возможным ключем m'0 = m0 + k0 m'1 = m1 + k1 и посылает их оба получателю.
- Получатель знает какое из двух сообщений может быть расшифрованно с помощью k, и он получает возможность расшифровать только одно сообщение mb = m'b − k
Просмотров: 2985
|