Cryptographic constructs

ПРОГРАММА КУРСА

Криптографические конструкции

(годовой, для всех желающих, лектор чл.-корр. РАН  Ю.В. Нестеренко)

  1. Алгоритмы и сложность.
  2. Алгоритм Евклида, теорема Ламе о сложности этого алгоритма.
  3. Быстрое умножение целых чисел.
  4. Быстрый алгоритм возведения в степень.
  5. Вероятностные алгоритмы. Быстрый вероятностный алгоритм вычисления квадратичного невычета.
  6. Псевдослучайные последовательности чисел.
  7. Быстрый вероятностный алгоритм решения полиномиальных сравнений по большому простому модулю.
  8. Быстрый алгоритм построения первообразных корней по простому модулю.
  9. Алгоритмы отсеивания составных чисел. Полиномиальный алгоритм проверки чисел на простоту (без доказательства).
  10. Построение больших простых чисел.
  11. Задача факторизации целых чисел.
  12. Задача дискретного логарифмирования.
  13. Информационные технологии.
  14. Шифрование и расшифрование (немного истории).
  15. Ключевой обмен.
  16. Алгоритм RSAшифрования и расшифрования информации.
  17. Электронная цифровая подпись.
  18. Эллиптические кривые над полем вычетов по простому модулю p.
  19. Цифровая подпись с помощью эллиптических кривых.
  20. Простейшие булевы функции.
  21. Хеш-функции.
  22. Схемы обязательств.
  23. Разделение секрета.
  24. Электронное голосование.
  25. Технологии блокчейн (blockchain).
  26. Криптовалюты.

 

Творческая работа (для двух небольших групп школьников).

 

  1. Построить алгоритм и соответствующую компьютерную программу, производящие простые числа на заданном интервале. Например, от 3^500 до 2^1000 = 4^500.
  1. Построить систему удалённого электронного голосования для СУНЦ.

Лекции