привет!
помогите пожалуйста разобраться в алгоритме цифровой подписи на эллиптической кривой ECDSA (secp256k1) в Биткойн
Если коротко, в ECDSA секретный ключ — это просто случайное число между 1 и значением порядка. Открытый же ключ получается из секретного при помощи операции скалярного умножения базовой точки на значение секретного ключа. В виде уравнения:
Открытый ключ = секретный ключ * базовая точка
кто нибудь знающий может научно-популярно пояснить почему по публичному ключу нельзя высчитать приватный?
если очень упрощенно например значение базовой точки равно 2 то разделить открытый ключ на 2 и получим приватный
непонятно почему везде утверждают что это нереальная задача?
Точки эллиптической кривой относительно специальной операции сложения вместе со специальной нулевой точкой образуют циклическую группу. Операция "умножения" в группе точек эллиптической кривой Q = n*G = G + G + ... + G сводится к n сложениям. Если порядок группы большой (а его именно таким и берут), то понадобится приличное время, чтобы умножить "в лоб". Хитрость в том, что для умножения полиномиальные алгоритмы есть, а вот для вычисления обратного элемента только экспоненциальные