Pull to refresh
75
0
Alexey@hellman

User

Send message
6я задача ещё напрямую следует из малой теоремы Ферма
В одном варианте 10й задачи количество мудрецов бесконечное, нужно придумать алгоритм действий, чтобы число неправильных ответов было конечно. Самое веселое, что в таком решении мудрецам даже необязательно слышать, что говорят предыдущие. Но у решения есть небольшой нюанс ;)
Что за бред? Вы и вправду планируете шифровать сообщения RSA с модулем такого размера? (да ещё и поблочно). Хотите показать атаку — покажите на достаточно большом модуле, который нельзя сломать втупую. Пусть даже модуль будет специально сформированным — это хотя бы покажет что данная атака может иметь место в реальности.

В любом случае в статье должно быть описано, в каких случаях данная атака работает, или хотя бы как это можно проверить, или хотя бы оценить вероятность при случайном выборе параметров. А то получается «параметры RSA выбирать надо осторожно, вот есть атака, хз когда её можно применить, но вы параметры выбирайте осторожнее, ага».

Если интересны адекватные атаки на RSA (а их очень и очень много), рекомендую обзор
Twenty years of attacks on the RSA cryptosystem (survey)
или целую книгу (одну из многих):
Cryptanalysis of RSA and Its Variants.
sage: multiplicative_order(Mod(7, 480))
4


Вот вам число шагов этой «атаки».

> Закрытый ключ, по-видимому, узнать можно по паре открытый текст шифрованный текст

А ничего что открытый ключ позволяет шифровать, и тем самым получать такие пары пачками?
Одна из сильнейших сторон фреймворка — механизм шаблонов.


Не щупал другие шаблонизаторы, но по ощущениям шаблонизатор bottle чересчур минималистичен. Я бы не сказал, что это сильная сторона bottle.

Чтобы воспользоваться шаблонизатором, достаточно написать такую легкую конструкцию:
template('template_name', name=name, number=number, foo=bar)


По моему гораздо красивше использовать декоратор @view("template_name") и вернуть из функции dict с подстановками.

Ваш метод — случайные изменения ключевого слова / таблицы сдвига с замером «характеристики» — лучше доделать до нормального генетического алгоритма, ведь это один из немногих случаев, где ГА действительно могут быть полезны.

Советую посмотреть еще в сторону attic
Может все таки стоит поучить (хотя бы) php?
А, руки не равновероятны. Тогда сходится
1/2 * (3/10 + 8/13) = 11/23? интересно…
Можно же самому выбрать фиксированный:
docker run -p 10500:22…
Линейный криптоанализ будет? :)
Это не значит, что все простые числа отстоят друг от друга на расстоянии меньше 70 000 000

Даже больше — очень просто доказывается, что есть сколь угодно большой зазор между соседними простыми (взять промежуток от k!+2 до k!+k для произвольного k)
У requests все-таки автор Kenneth Reitz, Армин только пару патчей туда закинул
Проверить через форму логина :)
Еще пару интересных ссылок в копилку:
rjlipton.wordpress.com/2009/07/03/is-pnp-an-ill-posed-problem/
www.win.tue.nl/~gwoegi/P-versus-NP.htm
Сам исполняемый файл кстати тоже так можно восстановить, из /proc//exe.
Если уж на то пошло, у while тоже есть else (тоже самое, если в теле цикла не был вызван break). Штука вроде удобная иногда, но выглядит ужасно, особенно когда используется пару раз во вложенных циклах

Information

Rating
Does not participate
Location
Голицыно (Московская обл.), Москва и Московская обл., Россия
Date of birth
Registered
Activity