Криптография на решётках 23/24 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
 
(не показана одна промежуточная версия этого же участника)
Строка 16: Строка 16:
  
 
=== Полезные ссылки ===
 
=== Полезные ссылки ===
 
Чат в telegram для обсуждений:
 
  
 
[https://classroom.google.com/c/NjczODUyMDE4ODEw?cjc=d3zoqb2 Google classroom: d3zoqb2]
 
[https://classroom.google.com/c/NjczODUyMDE4ODEw?cjc=d3zoqb2 Google classroom: d3zoqb2]
Строка 33: Строка 31:
 
Лекция 1 (12.04.2024) Решётки и их свойства. Матрица Грама. [ГН] Теорема Минковского о выпуклом теле.
 
Лекция 1 (12.04.2024) Решётки и их свойства. Матрица Грама. [ГН] Теорема Минковского о выпуклом теле.
  
Лекция 2 (19.04.2024) Процесс ортогонализации Грама - Шмидта. Минимумы Минковского. Константа Эрмита. [LLL+]
+
Лекция 2 (19.04.2024) Процесс ортогонализации Грама Шмидта. Минимумы Минковского. Константа Эрмита. [LLL+]
  
Лекция 3 (26.04.2024) Оценка констант Эрмита с помощью теоремы Минковского. Приведённые по Лагранжу базисы. Алгоритм Лагранжа. Неравенство Эрмита (два доказательства).
+
Лекция 3 (26.04.2024) Оценка констант Эрмита с помощью теоремы Минковского. Приведённые по Лагранжу базисы. Алгоритм Лагранжа. Неравенство Эрмита (два доказательства). [LLL+]
  
Лекция 4 (10.05.2024)
+
Лекция 4 (10.05.2024) Алгоритм Эрмита (два варианта). Свойства базиса, приведённого по Эрмиту. LLL-приведённые базисы. Три интерпретации условия Ловаса. LLL-алгоритм. Оценка числа шагов LLL-алгоритма. [LLL+]
 +
 
 +
Лекция 5 (17.05.2024) Задача о подмножестве с данной суммой. Криптосистема Меркла — Хеллмана. Линейные коды. Порождающая и проверочная матрицы. Минимальное расстояние кода. Код Хемминга. Синдром кодового слова. Задача декодирования. Задача декодирования синдрома.
 +
 
 +
Лекция 6 (24.05.2024) Двойственные коды. Эквивалентность задач декодирования слова и декодирования синдрома. Криптосистемы Мак-Элиса и Нидеррайтера. Алгоритмически сложные задачи на решётках.
 +
 
 +
Лекция 7 (31.05.2024) Криптосистема, основанная на сравнениях. Прототип системы полного гомоморфного шифрования. Алгоритм Бабая. Криптосистема GGH (Goldreich — Goldwasser — Halevi).
 +
 
 +
Лекция 8 (07.06.2024) Дискретное преобразование Фурье. Криптосистема PASS.
  
 
== Домашние задания ==
 
== Домашние задания ==
  
[https://drive.google.com/file/d/1b-7Q5F0_H5zWIVx5tqRUxuEp0t3p_At5/view?usp=sharing ДЗ-1] [https://drive.google.com/file/d/1KyHS7VGSE_dMFTrB8OwxqPzxIJf9TZVv/view?usp=sharing ДЗ-2] [https://drive.google.com/file/d/1I6VqWPtBp7s7cGuYbA2y47i_Bl_CrBfp/view?usp=sharing ДЗ-3]
+
[https://drive.google.com/file/d/1b-7Q5F0_H5zWIVx5tqRUxuEp0t3p_At5/view?usp=sharing ДЗ-1] [https://drive.google.com/file/d/1KyHS7VGSE_dMFTrB8OwxqPzxIJf9TZVv/view?usp=sharing ДЗ-2] [https://drive.google.com/file/d/1I6VqWPtBp7s7cGuYbA2y47i_Bl_CrBfp/view?usp=sharing ДЗ-3] [https://drive.google.com/file/d/1IBkjl2DTpXAnThD7iHS7ClPgeFuixBQB/view?usp=sharing ДЗ-4] [https://drive.google.com/file/d/18HIpR6RxmvtidvmXrp8NdlHRUpWNNpwf/view?usp=sharing ДЗ-5] [https://drive.google.com/file/d/1hjBmAirAqjkNo9eSKNLys9HmE7PQgRaz/view?usp=sharing ДЗ-6] [https://drive.google.com/file/d/1aesM2gDvrGQP7zatFk9rhsGAu0P6KSzT/view?usp=sharing ДЗ-7]
  
 
=== Правила сдачи заданий ===
 
=== Правила сдачи заданий ===
Строка 48: Строка 54:
  
 
== Экзамен ==
 
== Экзамен ==
 +
 +
14.06.2024 На экзамен можно принести собственноручно написанную шпаргалку - лист А4.
  
 
== Оценка ==
 
== Оценка ==
Строка 57: Строка 65:
 
# [ГН] [http://new.math.msu.su/department/number/dw/lib/exe/fetch.php?media=%D1%82%D1%87%D0%BC%D0%BA.pdf Герман О. Н., Нестеренко Ю. В. Теоретико-числовые методы в криптографии. 2012  ]
 
# [ГН] [http://new.math.msu.su/department/number/dw/lib/exe/fetch.php?media=%D1%82%D1%87%D0%BC%D0%BA.pdf Герман О. Н., Нестеренко Ю. В. Теоретико-числовые методы в криптографии. 2012  ]
 
# [HS] [https://libgen.li/edition.php?id=28163895 Hoffstein J., Pipher J., Silverman J. H. An introduction to mathematical cryptography. 2008 ]
 
# [HS] [https://libgen.li/edition.php?id=28163895 Hoffstein J., Pipher J., Silverman J. H. An introduction to mathematical cryptography. 2008 ]
# [LLL] [https://www.cs.cmu.edu/~avrim/451f11/lectures/lect1129_LLL.pdf Lenstra A. K., Lenstra H. W. jun., Lovász L. Factoring polynomials with rational coefficients. Math. Ann., Vol. 261 (1982), 515-534.]
 
 
# [LLL+] [https://libgen.li/edition.php?id=136753335 Nguyen Phong Q.,  Vallée Brigitte (ed.) The LLL algorithm. Survey and applications. 2010 ]
 
# [LLL+] [https://libgen.li/edition.php?id=136753335 Nguyen Phong Q.,  Vallée Brigitte (ed.) The LLL algorithm. Survey and applications. 2010 ]
  
Строка 63: Строка 70:
  
 
# Конвей Дж., Слоэн Н. Упаковки шаров, решетки и группы (в 2 томах), 1990.  [https://libgen.li/edition.php?id=135785023 том 1], [https://libgen.li/edition.php?id=135785024 том 2].
 
# Конвей Дж., Слоэн Н. Упаковки шаров, решетки и группы (в 2 томах), 1990.  [https://libgen.li/edition.php?id=135785023 том 1], [https://libgen.li/edition.php?id=135785024 том 2].
 +
# Берлекэмп Э. Алгебраическая теория кодирования, 1971.
 +
# Блейхут Р. Теория и практика кодов, контролирующих ошибки, 1986.
 +
# Bremner M. R. Lattice basis reduction. An introduction to the LLL algorithm and its applications. 2012
 +
# [LLL] [https://www.cs.cmu.edu/~avrim/451f11/lectures/lect1129_LLL.pdf Lenstra A. K., Lenstra H. W. jun., Lovász L. Factoring polynomials with rational coefficients. Math. Ann., Vol. 261 (1982), 515-534.]
 +
# Micciancio D., Goldwasser Sh. [https://libgen.li/edition.php?id=136697143 Complexity of Lattice Problems: a cryptographic perspective 2002]
 
# Milnor J., Husemoller D. [https://libgen.li/edition.php?id=135780681  Symmetric bilinear forms 1973 ]
 
# Milnor J., Husemoller D. [https://libgen.li/edition.php?id=135780681  Symmetric bilinear forms 1973 ]
# Silverman J. H. [https://www.ntwebseminar.org/previous-talks#h.nc99vbqpdgq8 "More Tips on Keeping Secrets in a Post-Quantum World: Lattice-Based Cryptography"]
+
# Silverman J. H. [https://www.ntwebseminar.org/previous-talks#h.nc99vbqpdgq8 "More Tips on Keeping Secrets in a Post-Quantum World: Lattice-Based Cryptography"] (Обзорная лекция + криптосистемы GGH и PASS)
 +
# [https://www.youtube.com/@tanjalangepost-quantumcryp2802 Tanja Lange: Post-quantum cryptography] (серия лекций на YouTube)

Текущая версия на 13:05, 7 июня 2024

О курсе

В 2016 г. Национальный институт стандартов и технологий США (NIST) объявил о программе и конкурсе по обновлению своих стандартов для того, чтобы включить в них постквантовую криптографию, т. е. такие криптосистемы, которые оставались бы стойкими даже после появления квантовых компьютеров, см NIST Post-Quantum Cryptography Standardization. После трёх туров отбора в финал вышло 7 криптосистем, из которых 5 основаны на решётках.

Курс посвящён именно этому новому направлению в криптографии – криптографии на решётках. Как всегда, в основе криптографических протоколов лежит некоторая алгоритмически сложная задача. Здесь роль такой задачи выполняет задача о поиске кратчайшего вектора в решётке большой размерности. Все известные алгоритмы поиска короткого вектора имеют экспоненциальную (в зависимости от размерности) сложность. Поэтому, выбирая размерность достаточно большой (например, 1000), можно полагаться на стойкость криптосистем.

В первой части курса будет дано краткое введение в геометрию чисел. Будет рассказано о решётках и их основных свойствах. Затем мы с разных сторон посмотрим на задачу о поиске короткого вектора в данной решётке. В частности, мы изучим алгоритм Эрмита, который можно рассматривать как предварительную версию LLL-алгоритма.

Главная цель курса – познакомиться с LLL-алгоритмом – первым алгоритмом поиска короткого вектора, для которого удалось доказать полиномиальную сложность. Этот алгоритм позволил решать самые разнообразные задачи, но все его приложения останутся за границами курса.

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

Лектор — Устинов Алексей Владимирович

Полезные ссылки

Google classroom: d3zoqb2

За расписанием курса можно следить по таблице

Укороченный вариант курса читался ранее, см. Криптография на решётках 21/22. Там есть, в частности, конспекты первых лекций.

Ассистент

Пётр Шевченко

Лекции

Лекция 1 (12.04.2024) Решётки и их свойства. Матрица Грама. [ГН] Теорема Минковского о выпуклом теле.

Лекция 2 (19.04.2024) Процесс ортогонализации Грама — Шмидта. Минимумы Минковского. Константа Эрмита. [LLL+]

Лекция 3 (26.04.2024) Оценка констант Эрмита с помощью теоремы Минковского. Приведённые по Лагранжу базисы. Алгоритм Лагранжа. Неравенство Эрмита (два доказательства). [LLL+]

Лекция 4 (10.05.2024) Алгоритм Эрмита (два варианта). Свойства базиса, приведённого по Эрмиту. LLL-приведённые базисы. Три интерпретации условия Ловаса. LLL-алгоритм. Оценка числа шагов LLL-алгоритма. [LLL+]

Лекция 5 (17.05.2024) Задача о подмножестве с данной суммой. Криптосистема Меркла — Хеллмана. Линейные коды. Порождающая и проверочная матрицы. Минимальное расстояние кода. Код Хемминга. Синдром кодового слова. Задача декодирования. Задача декодирования синдрома.

Лекция 6 (24.05.2024) Двойственные коды. Эквивалентность задач декодирования слова и декодирования синдрома. Криптосистемы Мак-Элиса и Нидеррайтера. Алгоритмически сложные задачи на решётках.

Лекция 7 (31.05.2024) Криптосистема, основанная на сравнениях. Прототип системы полного гомоморфного шифрования. Алгоритм Бабая. Криптосистема GGH (Goldreich — Goldwasser — Halevi).

Лекция 8 (07.06.2024) Дискретное преобразование Фурье. Криптосистема PASS.

Домашние задания

ДЗ-1 ДЗ-2 ДЗ-3 ДЗ-4 ДЗ-5 ДЗ-6 ДЗ-7

Правила сдачи заданий

В домашнем задании каждая задача оценивается в 10 баллов. Баллы за задачи суммируются и линейно шкалируются на 10-балльную шкалу без округления. Итоговая оценка за ДЗ получается усреднением оценок по всем ДЗ (без округления). Округление происходит только в конце при вычислении итоговой оценки за курс.

Экзамен

14.06.2024 На экзамен можно принести собственноручно написанную шпаргалку - лист А4.

Оценка

Итоговая оценка=0.5*экзамен + 0.5*ДЗ (округляется арифметически).

Полезные материалы

Основные источники

  1. [ГН] Герман О. Н., Нестеренко Ю. В. Теоретико-числовые методы в криптографии. 2012
  2. [HS] Hoffstein J., Pipher J., Silverman J. H. An introduction to mathematical cryptography. 2008
  3. [LLL+] Nguyen Phong Q., Vallée Brigitte (ed.) The LLL algorithm. Survey and applications. 2010

Дополнительные материалы

  1. Конвей Дж., Слоэн Н. Упаковки шаров, решетки и группы (в 2 томах), 1990. том 1, том 2.
  2. Берлекэмп Э. Алгебраическая теория кодирования, 1971.
  3. Блейхут Р. Теория и практика кодов, контролирующих ошибки, 1986.
  4. Bremner M. R. Lattice basis reduction. An introduction to the LLL algorithm and its applications. 2012
  5. [LLL] Lenstra A. K., Lenstra H. W. jun., Lovász L. Factoring polynomials with rational coefficients. Math. Ann., Vol. 261 (1982), 515-534.
  6. Micciancio D., Goldwasser Sh. Complexity of Lattice Problems: a cryptographic perspective 2002
  7. Milnor J., Husemoller D. Symmetric bilinear forms 1973
  8. Silverman J. H. "More Tips on Keeping Secrets in a Post-Quantum World: Lattice-Based Cryptography" (Обзорная лекция + криптосистемы GGH и PASS)
  9. Tanja Lange: Post-quantum cryptography (серия лекций на YouTube)