Уполовинивание точки в криптографии на эллиптических кривыхPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Уполовинивание точки в криптографии на эллиптических кривых

Сообщение Anonymous »

В криптографии эллиптических кривых есть скалярное умножение с использованием сложения и удвоения точек.
Существует ли вообще разделение точек пополам. Проще говоря, если точка равна P, то есть ли способ получить точку P/2
Я использовал следующий код Python. Не могли бы вы помочь мне изменить код, чтобы я мог выполнить идеальную операцию выделения?
from sympy import mod_inverse, isprime

# secp256k1 parameters
p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F
a = 0
b = 7

# Elliptic curve point doubling formula
def point_doubling(x, y, p):
# Slope lambda for point doubling
lambda_ = (3 * x**2 + a) * mod_inverse(2 * y, p) % p
x_r = (lambda_**2 - 2 * x) % p
y_r = (lambda_ * (x - x_r) - y) % p
return x_r, y_r

# Point halving function
def point_halving(x_P, y_P, p):
# Solve for x_Q such that x_P = lambda^2 - 2x_Q (mod p)
for x_Q in range(p):
# Check if y_Q exists
y_Q_squared = (x_Q**3 + a * x_Q + b) % p
y_Q = pow(y_Q_squared, (p + 1) // 4, p) # Modular square root

# Check if 2Q = P
if y_Q and point_doubling(x_Q, y_Q, p) == (x_P, y_P):
return x_Q, y_Q
return None

# Generator point G (compressed coordinates from secp256k1 spec)
x_G = 55066263022277343669578718895168534326250603453777594175500187360389116729240
y_G = 32670510020758816978083085130507043184471273380659243275938904335757337482424

# Halve the generator point
Q = point_halving(x_G, y_G, p)
print("Halved point Q:", Q)


Подробнее здесь: https://stackoverflow.com/questions/793 ... yptography
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Криптография эллиптических кривых с помощью Python в Windows
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Генератор открытых ключей на Python (криптография на основе эллиптических кривых SECP256K1)
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Google Maps iOS SDK использует API сломанной криптографии (MD5).
    Anonymous » » в форуме IOS
    0 Ответы
    74 Просмотры
    Последнее сообщение Anonymous
  • SDK Google Адресов для iOS использует API сломанной криптографии (MD5)
    Anonymous » » в форуме IOS
    0 Ответы
    79 Просмотры
    Последнее сообщение Anonymous
  • MLKit iOS SDK использует API сломанной криптографии (MD5)
    Anonymous » » в форуме IOS
    0 Ответы
    121 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»