- Сложение удвоение (вывод таблицы)
- Быстрое возведение в степень (+ сложение удвоение) (вывод таблицы)
- Бинарный алгоритм евклида (строчки)
- Алгоритм Карацубы (таблица)
- Бинарный расширенный алгоритм евклида (строчки + матрицы)
- Решение линейного сравнения с составным модулем (либо разложить на 2 взаимнопростых модуля, либо разложить максимально и решать по КТО) (строчки)
- Китайская теорема об остатках ()
- Перевод числа в китайский код (не было на кт)
- Перевод китайского кода в полиадический
- Является ли множество ПСВ и по какому модулю (?)
- Найти показатель числа по составному модулю
- Решить степенное сравнение, где правая часть - первообразный корень (дискретное логарифмирование), а степень - простое число
- Найти значение степенной башни
- Найти число, отвечающее заданному показателю
- Решить квадратичное сравнение по составному модулю или кубическое сравнение по простому модулю. (С помощью алгоритма Тонелли Шенкса)
- Факторизовать число алгоритмом Диксона
- Найти дискретный логарифм алгоритмом Адлемана
- Утроить точку эллиптической кривой
Нужно добавить раздел с разжёваной теорией для чайников. Добавить алгоритмы, которые не были в КТ.
По теории:
- Основные понятия криптографии
- Генератор односторонних функций с секретом
- Понятие алгоритма. Затраты на выполнение (ОТОБРАЖЕНИЕ БЛ*ТЬ) и сложность алгоритма
- Алгебраическая сложность
- ....
- Остальное в файлике PDF вот тут
По практике (все алгоритмы 47 штук)
- Алгоритм умножения Карацубы (+)
- Алгоритм целочисленного сложения (Зачем)
- Алгоритм целочисленного умножения (Сложность)
- Алгоритм деления с остатком двоичных чисел (Сложность)
- Алгоритм Сложения-Удвоения для вычисления остатка произведения чисел (+)
- Алгоритм быстрого возведения в степень (+)
- Классический алгоритм Евклида (+)
- Расширенный классический алгоритм Евклида (+-)
- Алгоритм деления в кольце остатков (+-, нахождение обратного и умножение на него)
- Бинарный алгоритм Евклида (+)
- Расширенный бинарный алгоритм Евклида (+!)
- Алгоритм решения линейных сравнений (+)
- Алгоритм решения системы (двух) линейных сравнений методом подстановки (+)
- Алгоритм решения системы линейных сравнений с попарно взаимными модулями (как я понял КТО +-)
- Алгоритм исключения модуля из СОК (-)
- Алгоритм вычисления полиадического кода по CC (+)
- Алгоритм добавления модуля в СОК
- Алгоритм Сложения удвоения для вычисления остатка (просто b = 1)
- Алгоритм деления с остатком в СОК (ДИМА ЖГИ!!!)
- Алгоритм решения линейных сравнений по примарному модулю методом подстановки
- Алгоритм вычисления порядка числа по простому модулю (+-)
- Алгоритм нахождения числа заданного порядка (+)
- Алгоритм нахождения первообразного корня (-)
- (Тонелли шенкс был в том, что прислала Даша, но я не уверен в работоспособности)
- Одношаговый случай обобщенного алгоритма Тоннели-Шенкса (-)
- Двухшаговый случай обобщенного алгоритма Тоннели-Шенкса (-)
- Многошаговый случай обобщенного алгоритма Тоннели-Шенкса (-)
- Алгоритм решения квадратичных сравнений по модулю степени двойки (-)
- Алгоритм сложения-удвоения для вычисления остатка от произведения многочленов
- Алгоритм быстрого возведения в степень для многочленов
- Классический алгоритм Евклида для многочленов
- Расширенный классический алгоритм Евклида для многочленов
- Бинарный алгоритм Евклида для многочленов
- Алгоритм Берлекэмпа-Рабина
- Алгоритм вычисления порядка многочлена в расширении конечного поля (ужас...)
- Алгоритм нахождения многочлена заданного порядка в расширении конечного поля
- Алгоритм Чиполлы для решения квадратичных двучленных сравнений
- Алгоритм Чиполлы для решения некоторых СДС степени выше 2
- Метод факторизации Ферма
- Алгоритм дискретного логарифмирования Гельфонда-Шенкса
- Алгоритм факторизации Диксона
- Алгоритм дискретного логарифмирования Адлемана
- Ро-метод Полларда для факторизации
- Модификация Флойда ро-метода Полларда для факторизации (+)
- Модификация Флойда ро-метода Полларда для дискретного логарифмирования
- P - 1 метод Полларда
- Алгоритм Полига-Хеллмана
- Алгоритм сложения-удвоения в группе точек эллиптической кривой