Криптография на решётках 23/24 — различия между версиями
Ustinov (обсуждение | вклад) |
Ustinov (обсуждение | вклад) |
||
(не показана одна промежуточная версия этого же участника) | |||
Строка 16: | Строка 16: | ||
=== Полезные ссылки === | === Полезные ссылки === | ||
− | |||
− | |||
[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) Процесс ортогонализации Грама | + | Лекция 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://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-алгоритмом – первым алгоритмом поиска короткого вектора, для которого удалось доказать полиномиальную сложность. Этот алгоритм позволил решать самые разнообразные задачи, но все его приложения останутся за границами курса.
В заключение мы познакомимся с тем, как устроены криптографические протоколы на решётках, и поймём, зачем вообще надо искать короткие векторы.
Лектор — Устинов Алексей Владимирович
Полезные ссылки
За расписанием курса можно следить по таблице
Укороченный вариант курса читался ранее, см. Криптография на решётках 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*ДЗ (округляется арифметически).
Полезные материалы
Основные источники
- [ГН] Герман О. Н., Нестеренко Ю. В. Теоретико-числовые методы в криптографии. 2012
- [HS] Hoffstein J., Pipher J., Silverman J. H. An introduction to mathematical cryptography. 2008
- [LLL+] Nguyen Phong Q., Vallée Brigitte (ed.) The LLL algorithm. Survey and applications. 2010
Дополнительные материалы
- Конвей Дж., Слоэн Н. Упаковки шаров, решетки и группы (в 2 томах), 1990. том 1, том 2.
- Берлекэмп Э. Алгебраическая теория кодирования, 1971.
- Блейхут Р. Теория и практика кодов, контролирующих ошибки, 1986.
- Bremner M. R. Lattice basis reduction. An introduction to the LLL algorithm and its applications. 2012
- [LLL] 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. Complexity of Lattice Problems: a cryptographic perspective 2002
- Milnor J., Husemoller D. Symmetric bilinear forms 1973
- Silverman J. H. "More Tips on Keeping Secrets in a Post-Quantum World: Lattice-Based Cryptography" (Обзорная лекция + криптосистемы GGH и PASS)
- Tanja Lange: Post-quantum cryptography (серия лекций на YouTube)