Хотел сегодня провести сногсшибательное обновление с полной оптимизацией всего и вся. Не вышло.
Собственно, появилась оптимизация теста ферма, при первом непрохождении числа возвращает false. Это ускоряет тест для составных чисел (не всех) в 8 раз, но оставляет точность теста нетронутой.
Так же после создания ключа он проверяется шифрованием какого-нибудь простого числа (оно само выбирается).
Из нереализованного, но закомментированного: расширенный алгоритм евклида :C
Прошу помочь с оптимизацией и фиксом уже его (xD), ибо например 64-битный ключ мне так и не удалось на нем сделать - постоянно отбраковывает ключ (с 8ю битами с раза 2-3 делает). Хотя ускоряет создание ключа реально сильно.
https://github.com/HeroBrine1st/RSA/blob/master/RSA/RSAB.lua
UPD: я почти разобрался с этим алгоритмом евклида и понял, что какого-то хрена алгоритм обрезает число до семи знаков)) Вот и вся проблема
UPD2: Выход за пределы натуральных чисел - вычитание большего из меньшего. Передлываю алгоритм под натуральные числа.