Закрытый ключ является просто 32 байт (прибл.) Длинное целое. Открытый ключ является точка на curve-- она находится, принимая точку G, умноженной закрытым ключом (через двойной & добавить метод, или какой-либо другой).
Нет, это экспоненту секретного ключа.
ОткрытыйКлюч = basevalue ^ PrivateKey
Дискретный логарифм трудно во многих группах, но, насколько я знаю, разделение легко (деление отличается от факторинга, чтобы разделить, вам нужен продукт и один фактор, факторинг выводя оба фактора от всего продукта, который гораздо сложнее).
Адрес хэш открытого ключа.
Кроме того, вам не нужно двойной и добавить размножаться, вы можете использовать школы умножения (O (N ^ 2)) или алгоритм Карацуба (O (п ^ лог
2(3))).
Родственный метод квадратных и-кратно используется для быстрого возведения в степень.