40
Защита информации Иванов М.А. Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ МИФИ Москва, 2018

Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Защита информации

Иванов М.А.

Лекция № 10. Рюкзачная криптосистема

Кафедра 12 НИЯУ МИФИ

Москва, 2018

Page 2: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Защита информации

Иванов М.А.

Лекция № 10. Рюкзачная криптосистема

Кафедра 12 НИЯУ МИФИ

Москва, 2018

Трудные математические задачи

Задача об укладке рюкзака

Knapsack Cryptosystem

Пример рюкзачной криптосистемы

Темы

Page 3: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

M. Ivanov

Трудные задачи

M. Ivanov

Криптосистемы с ОК

1/11

Page 4: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

M. Ivanov

Факторизация целых чисел

Трудные задачи

M. Ivanov

Криптосистема RSA

Криптосистемы с ОК

1/11

Page 5: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

M. Ivanov

Факторизация целых чисел

Дискретное логарифмирование

Трудные задачи

M. Ivanov

Криптосистема RSA

Криптосистема Эль Гамаля (ElGamal Cryptosystem)

Криптосистемы с ОК

1/11

Page 6: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

M. Ivanov

Факторизация целых чисел

Дискретное логарифмирование

Задача об укладке рюкзака

Трудные задачи

M. Ivanov

Криптосистема RSA

Криптосистема Эль Гамаля (ElGamal Cryptosystem)

Рюкзачная криптосистема (Knapsack Cryptosystem)

Криптосистемы с ОК

1/11

Page 7: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

M. Ivanov

Факторизация целых чисел

Дискретное логарифмирование (DLP)

Задача об укладке рюкзака

Дискретное логарифмирование на группе точек эллиптической кривой

Трудные задачи

M. Ivanov

Криптосистема RSA

Криптосистема Эль Гамаля (ElGamal Cryptosystem)

Рюкзачная криптосистема (Knapsack Cryptosystem)

Криптосистема, основанная на свойствах эллиптической кривой (Elliptic Curves Cryptosystem)

Криптосистемы с ОК

1/11

Page 8: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

M. Ivanov

QRP

DDH

Декодирование линейного кода

Еще три трудные задачи

M. Ivanov

Goldwasser-Micali Probabilistic Cryptosystem

Cramer-Shoup Cryptosystem

McEliece Cryptosystem

Криптосистемы с ОК

2/11

DDH Заданы группа G простого порядка q

и числа (g1, g2, u1, u2) G, g1 1, g2 1

Существуют ли числа (a, b) [0, q), удовлетворяющие условию

g2 = g1a, u1 = g1

b, u2 = g1ab?

Page 9: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Представить число 55 в виде суммы элементов списка чисел {3, 8, 12, 2, 32, 59}

Ответ: 55 = 3 + 8 + 12 + 32 или 55 ↔ (111010)

Простая задача об укладке рюкзака

3/11

Page 10: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Представить число 55 в виде суммы элементов списка чисел {3, 8, 12, 2, 32, 59}

Ответ: 55 = 3 + 8 + 12 + 32 или 55 ↔ (111010)

Простая задача об укладке рюкзака

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

в которой отправителю и получателю известен

список чисел {3, 8, 12, 2, 32, 59}

3/11

Page 11: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Представить число 26 в виде суммы различных чисел из списка {32, 16, 8, 4, 2, 1}

Ответ: 26 = 16 + 8 + 2 или 26 ↔ (011010)

Очень простая задача об укладке рюкзака

4/11

Page 12: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Представить число 26 в виде суммы различных чисел из списка {32, 16, 8, 4, 2, 1}

Ответ: 26 = 16 + 8 + 2 или 26 ↔ (011010)

Очень простая задача об укладке рюкзака

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

в которой отправителю и получателю известен

список чисел {32, 16, 8, 4, 2, 1}

4/11

Page 13: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Последовательность построения криптосистемы с открытым ключом

5/11

Page 14: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Составляется трудная задача T, не решаемая

за полиномиальное время

Последовательность построения криптосистемы с открытым ключом

5/11

Page 15: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Составляется трудная задача T, не решаемая

за полиномиальное время Из T выделяется легкая подзадача Teasy , имеющая

полиномиальный или даже более простой алгоритм решения

Последовательность построения криптосистемы с открытым ключом

5/11

Page 16: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Составляется трудная задача T, не решаемая

за полиномиальное время Из T выделяется легкая подзадача Teasy , имеющая

полиномиальный или даже более простой алгоритм решения Путем «взбивания» легкая задача Teasy превращается

в трудно решаемую задачу Tshuffle, не имеющую никакого сходства с Teasy

Последовательность построения криптосистемы с открытым ключом

5/11

Page 17: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Составляется трудная задача T, не решаемая

за полиномиальное время Из T выделяется легкая подзадача Teasy , имеющая

полиномиальный или даже более простой алгоритм решения Путем «взбивания» легкая задача Teasy превращается

в трудно решаемую задачу Tshuffle , не имеющую никакого сходства с Teasy

На основе Tshuffle определяется открытая функция зашифрования; процедура получения Teasy из Tshuffle держится в секрете

Последовательность построения криптосистемы с открытым ключом

5/11

Page 18: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Составляется трудная задача T, не решаемая

за полиномиальное время Из T выделяется легкая подзадача Teasy , имеющая

полиномиальный или даже более простой алгоритм решения Путем «взбивания» легкая задача Teasy превращается

в трудно решаемую задачу Tshuffle , не имеющую никакого сходства с Teasy

На основе Tshuffle определяется открытая функция зашифрования; процедура получения Teasy из Tshuffle держится в секрете

Криптосистема конструируется таким образом, чтобы для противника процедура дешифрования заключалась в решении Tshuffle, имеющей вид трудной задачи T, а законный получатель, знающий секрет, решал бы легкую задачу Teasy

Последовательность построения криптосистемы с открытым ключом

5/11

Page 19: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Дан список чисел {a99 … a2 a1 a0}, цифры которых выбраны случайным образом, │ai│ = 4010, i = 0, 1, …, 99

Представить число c в виде cуммы некоторых чисел ai из списка, │c│ = 4210

Трудная задача об укладке рюкзака

6/11

Page 20: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Пример Teasy

806130

208021

504062

902022

501020

4

3

2

1

0

a

a

a

a

a

7/11

Page 21: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Пример Teasy

806130

208021

504062

902022

501020

4

3

2

1

0

a

a

a

a

a

7/11

Page 22: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

926558000…00100609955

260577000…00200251002

221078000…00400282628 100

759120000…00800203081 чисел

932265000…01600902051

955061000…03200023579

2i

40 цифр

Random Random

8/11

Page 23: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

«Взбивание» задачи Teasy и получение Tshuffle

9/11

Page 24: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Сформируем список {an - 1 … a1 a0}

«Взбивание» задачи Teasy и получение Tshuffle

9/11

Page 25: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Сформируем список {an - 1 … a1 a0}

Выберем два больших взаимно простых числа R и S и найдем такое число T, чтобы выполнялось условие SR ≡ 1 mod T

«Взбивание» задачи Teasy и получение Tshuffle

9/11

Page 26: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Сформируем список {an - 1 … a1 a0}

Выберем два больших взаимно простых числа R и S и найдем такое число T, чтобы выполнялось условие SR ≡ 1 mod T

Получим новый список {bn - 1 … b1 b0}, каждый элемент которого суть результат умножения соответствующего числа из первоначального списка на S по модулю T: bi = ai S mod T, i = 0, 1, …, (n – 1)

«Взбивание» задачи Teasy и получение Tshuffle

9/11

Page 27: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Сформируем список {an - 1 … a1 a0}

Выберем два больших взаимно простых числа R и S и найдем такое число T, чтобы выполнялось условие SR ≡ 1 mod T

Получим новый список {bn - 1 … b1 b0}, каждый элемент которого суть результат умножения соответствующего числа из первоначального списка на S по модулю T: bi = ai S mod T, i = 0, 1, …, (n - 1)

Уничтожим список {an - 1 … a1 a0} и число S

«Взбивание» задачи Teasy и получение Tshuffle

9/11

Page 28: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Сформируем список {an - 1 … a1 a0}

Выберем два больших взаимно простых числа R и S и найдем такое число T, чтобы выполнялось условие RS ≡ 1 mod T

Получим новый список {bn - 1 … b1 b0}, каждый элемент которого суть результат умножения соответствующего числа из первоначального списка на S по модулю T: bi = ai S mod T, i = 0, 1, …, (n - 1)

Уничтожим список {an - 1 … a1 a0} и число S

Для всех, не знающих секрета, числа из нового списка будут казаться случайными числами из интервала [0, (T – 1)], и все, кто не знает принцип их получения, примут соответствующую задачу за трудную задачу об укладке рюкзака

«Взбивание» задачи Teasy и получение Tshuffle

9/11

Page 29: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Сформируем список {an - 1 … a1 a0}

Выберем два больших взаимно простых числа R и S и найдем такое число T, чтобы выполнялось условие SR ≡ 1 mod T

Получим новый список {bn - 1 … b1 b0}, каждый элемент которого суть результат умножения соответствующего числа из первоначального списка на S по модулю T: bi = ai S mod T, i = 0, 1, …, (n - 1)

Уничтожим список {an - 1 … a1 a0} и число S

Для всех, не знающих секрета, числа из нового списка будут казаться случайными числами из интервала [0, (T – 1)], и все, кто не знает принцип их получения, примут соответствующую задачу за трудную задачу об укладке рюкзака

Cписок {bn - 1 … b1 b0} объявляется открытым ключом зашифрования

«Взбивание» задачи Teasy и получение Tshuffle

9/11

Page 30: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Сформируем список {an - 1 … a1 a0}

Выберем два больших взаимно простых числа R и S и найдем такое число T, чтобы выполнялось условие SR ≡ 1 mod T

Получим новый список {bn - 1 … b1 b0}, каждый элемент которого суть результат умножения соответствующего числа из первоначального списка на S по модулю T: bi = ai S mod T, i = 0, 1, …, (n - 1)

Уничтожим список {an - 1 … a1 a0} и число S

Для всех, не знающих секрета, числа из нового списка будут казаться случайными числами из интервала [0, (T – 1)], и все, кто не знает принцип их получения, примут соответствующую задачу за трудную задачу об укладке рюкзака

Cписок {bn - 1 … b1 b0} объявляется открытым ключом зашифрования

Числа R и T объявляются секретным ключом расшифрования

«Взбивание» задачи Teasy и получение Tshuffle

9/11

Page 31: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Рюкзачная криптосистема

10/11

Page 32: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Алгоритм зашифрования двоичного сообщения m = mn - 1 … m1 m0, mi {0, 1}: c = E(m) = ∑ bi mi (mod T)

Рюкзачная криптосистема

10/11

Page 33: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Алгоритм зашифрования двоичного сообщения m = mn - 1 … m1 m0, mi {0, 1}: c = E(m) = ∑ bi mi (mod T)

Алгоритм расшифрования закрытого сообщения c:

- составляем произведение Rc = R ∑ bi mi (mod T) = = ∑ ai SR mi (mod T) = ∑ ai mi (mod T)

- решая легкую задачу об укладке рюкзака, находим m = mn - 1 … m1 m0

Рюкзачная криптосистема

10/11

Page 34: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Пример ранцевой криптосистемы

11/11

Page 35: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

14 × 19 ≡ 1 mod 265

Пример ранцевой криптосистемы

11/11

Page 36: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

14 × 19 ≡ 1 mod 265

Пример ранцевой криптосистемы

11/11

Page 37: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

14 × 19 ≡ 1 mod 265

Пример ранцевой криптосистемы

11/11

Page 38: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Пример ранцевой криптосистемы

444

11/11

Page 39: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

Пример ранцевой криптосистемы

444 19 = = 221 mod 265

11/11

Page 40: Лекция № 10. Рюкзачная криптосистемаmsa/lecture10.pdf · Лекция № 10. Рюкзачная криптосистема Кафедра 12 НИЯУ

The questions are welcome !