Пример получения открытого ключа

Закрытый ключ, ki                
Открытый ключ, (ki*n) mod m = (ki*31) mod 420                

Для шифрования сообщение сначала разбивается на блоки, по размерам равные числу элементов последовательности в рюкзаке.

Затем, считая, что единица указывает на присутствие элемента последовательности в рюкзаке, а ноль — на его отсутствие, вычисляются полные веса рюкзаков - по одному рюкзаку для каждого блока сообщения.

В качестве примера возьмем открытое сообщение «АБРАМОВ», символы которого представим в бинарном виде в соответствии с табл. 3. Результат шифрования с помощью открытого ключа {62, 93, 186, 403, 417, 352, 315, 210} представлен в табл.11.

Таблица 11

Пример шифрования

Открытое сообщение Сумма весов Шифрограмма (рюкзак), ci
Символ Bin-код
А 1100 0000 62+93  
Б 1100 0001 62+93+210  
Р 1100 1111 62+93+417+352+315+210  
А 1100 0000 62+93  
М 1100 1100 62+93+417+352  
О 1100 1110 62+93+417+352+315  
В 1100 0010 62+93+315  

Для расшифрования сообщения получатель должен сначала определить n-1, такое что (n * n-1) mod m = 1.

Затем каждое значение шифрограммы умножается на n-1 по модулю m и с помощью закрытого ключа определяются биты открытого текста.

В нашем примере сверхвозрастающая последовательность равна {2, 3, 6, 13, 27, 52, 105, 210}, m = 420, n = 31.

Значение n-1 равно 271 (31*271 mod 420 = 1).

Таблица 12

Пример расшифрования

Шифрограмма (рюкзак), ci (ci*n-1) mod m = (ci*271) mod 420 Сумма весов Открытое сообщение
Bin-код Символ
    2+3 1100 0000 А
    2+3+210 1100 0001 Б
    2+3+27+52+105+210 1100 1111 Р
    2+3 1100 0000 А
    2+3+27+52 1100 1100 М
    2+3+27+52+105 1100 1110 О
    2+3+105 1100 0010 В

В заключении следует отметить, что задача вскрытия данного способа шифрования успешна решена Шамиром и Циппелом в 1982 г.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: