Pull to refresh
103
0
Евгений Гречников @grechnik

User

Send message
В криптографии, где нужна одна кривая, можно и подождать. Скорость генерации критична, когда кривых с известным числом точек нужно много, например, в алгоритмах проверки/доказательства простоты с использованием эллиптических кривых.
Да. Вариант со случайным перебором до посинения, впрочем, тоже используется.
Например, российский ГОСТ 34.10-2012 на цифровую подпись не содержит требований к генерации кривых, но приводит два примера для тестов. В первом d=915. Во втором, видимо, случайный перебор.
В статье встречаются выражения (p-1)/2 и (p+1)/2 в качестве целых чисел. Чтобы это было правдой, нужно, чтобы p было нечётным.
Можно воспринимать словосочетание «нечётное простое число» как «простое число, не равное 2», это эквивалентно. Для статьи важно, чтобы p не было равно 2.
Да, есть ровно одно такое число: 2.
Можно генерировать кривые с заранее известным числом точек при некоторых условиях: habrahabr.ru/post/189618/.
Bochs?
Скриншот консольного отладчика

Скриншот GUI отладчика
У вас есть Y-хромосома?

Ах вот как правильно политкорректно узнавать пол человека!
Не туда посмотрел, у pre2orig.exe размер 52190 байт. Поправил, спасибо за внимательность.
Кстати, интересный факт: после третьего уровня идёт не четвёртый уровень (как можно было бы подумать), а один из бонусных уровней. По внутренней нумерации либо 14-й («основной», через гориллу и светофор; 14-й — линейный с дельтапланом в конце), либо 12-й («бонусный», через фонарь). У них нет своего кода, после каждого из них идёт 4-й.
Создаётся первый объект класса foo конструктором без аргументов, создаётся временный объект копирующим конструктором, первый объект уничтожается, заканчивается main(), временный объект уничтожается. Если добавить явный конструктор (пусть даже пустой)
#include <iostream>
struct foo {
    foo() {}
    ~foo() {
        std::cout << "~foo()\n";
    }
};

struct foo_holder {
    const foo &f;
};

int main() {
    foo_holder holder = { foo() };
    std::cout << "done!\n";
    return 0;
}

то вывод будет как и у gcc (видимо, срабатывает оптимизация RVO/NRVO?)
От Windows XP до Vista Nt-функции однообразны: А начиная с Windows 7, по-видимому, становятся таким как в статье

Начиная с XP SP2 вид функции не зависит от версии системы и определяется разрядностью ядра. Вариант с вызовом dword ptr [7FFE0300h] используется на 32-битных системах и вызывает непосредственно ядро. Вариант с вызовом fs:[0C0h] используется на 64-битных системах и вызывает подсистему эмуляции WOW64 (wow64cpu.dll, в свою очередь вызывающий wow64.dll+wow64win.dll), которая преобразует 32-битный вызов в 64-битный (расширяет параметры, осуществляет filesystem/registry redirection).
В XP до SP2, кстати, было
mov     eax, ...
mov     edx, 7FFE0300h
call    edx
retn    ....

Раньше — вообще int 2Eh.
Вот помню был какой-то проект, ребята делали чистый днс и сами фильтровали потенциально опасные и непристойные ресурсы. Т.е. у людей был выбор, ставишь их днски и получаешь чистый интернет.

Яндекс.DNS?
Архив как таковой — just for fun. Сведения о внутренней структуре 7z, может быть, и пригодятся кому, не видел статей на эту тему, помимо документации из SDK.
Столь небольшой файл можно и руками скопировать, и преобразовать из дампа как-нибудь типа
echo -n '37 7a bc af 27 1c 00 03  a5 de a3 6f 11 00 00 00' | perl -ne 's/ //g;print pack("H*",$_)' >> Рекурсивный.7z

Но для удобства сделал последнее вхождение имени файла ссылкой.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity