sikeyys, это хорошо что вручную. Посчитай отдельно числители и знаменатели и слагаемые и ты быстрой найдешь ошибку. И помошь хабр в этом вобщем-то не нужна.
Смотря для чего. Если тебе хочется просто его использовать - то для этого не нужно знать RSA. Тебе достаточно просто знать его свойства. Например если ты подписал текстовый документ - то любой может проверить что текст - твой. И изменить текст не сломав подпись нельзя. И подделать подпись нельзя.
Ради общего развития, RSA - не единственный. Есть еще метод эллиптических кривых. Используется для подписи транзакций в Bitcoin.
Я находил где-то статьи которые описывают некий упрощённый вариант ЭЦП на коротких числах. На таких что можно вручную на бумажке посчитать делители и функцию эйлера. Но я не уверен что этот опыт переносим на RSA.
Нужно было заранее знать какой тип монтирования был в Qnap. Там мог быть JBOD, LVM, или программные блоки на базе ZFS, Btrfs. Мог быть классический RAID если диски строго одинаковые.
Если будете их монтировать - то строго в режиме Read/Only. Любая операция записи может убить разметку и потом уже ничем не пролечите.
Stanislav Mikhaylov, шарпы тоже работают на платформе с GC. Тоесть со сборщиком мусора они также дружат.
Но сама платформа .Net очень хитрая и в ней сложнее провести границу чистого C# кода и кода например Windows. Грубо говоря дотНет пользуется хаком и вызывает из себя функции ОС. Или ваши-же функции написанные на С++. Как после этого классифицировать игру - непонятно. На чем она написана? На гибриде? Может тогда и шарп не нужен. Пишите сразу на С++.
Wataru, А вот кстати интересно. Если убрать из Миллера-Рабина все случайные генераторы и просто сделать его детерминистичным - то тогда получается быстрый проверятель и который дает известные ошибки. А эти известные ошибки задать таблично как часть функици и получистя вполне себе годный проверятель для известных диапазонов. И протестировать его там хотя-бы до нескольких миллиардов.
Wataru, в диапазоне от 900 млн до мильярда находится примерно 4.5 миллиона простых.
Ну не знаю. Я-бы сделал бенчмарк. Тут по сути идет трейдофф. Так или иначе нам нужен
список простых делителей. А когда он ну нас есть - упрощается проверка последовательности.
Четные. И тройки можно учесть в цикле. Тоесть мы можем двигаться более длинными прыжками
чем просто последовательность. В этом смысле наивный брутфорс - более прост т.к. ничего в алгоритме
менять не надо. Мы просто его продолжаем. Для решета - нужно аллоцировать память.
Wataru, в этом случае - зачем вам решето? У вас есть коллекция простых. Проверяйте каждого кандидата на делимость. Тем болеее что найденых уже 90% и осталось "добить чутка".
Скорее всего это невозможно. Решето - это континуум. И чтобы продолжить с 900 миллинов до мильярда - тебе нужно предыдущее состояние этой системы а именно сведения о всех невычеркнутых числах от 2 до 9000.