Существует ли алгоритм эллиптической кривой, эквивалентный асимметричному шифрованию RSA?

Я искал, но ничего не нашел об этом... только EC Diffie- Хеллмана с симметричной криптографией, чего я точно не хочу :(

Представьте себе это:

  • сгенерировать случайный закрытый ключ, k
  • затем вычислить «открытый ключ» с ECC, d=kG

Алгоритм, который я ищу, таков: любое сообщение, зашифрованное с помощью открытого ключа, будет «только» расшифровано владельцем закрытого ключа.

Это существует? Что-то подобное уже разработано?


person WhyWhat    schedule 02.10.2012    source источник
comment
Вы можете использовать эллиптическую кривую Эль-Гамаля.   -  person President James K. Polk    schedule 08.10.2012


Ответы (2)


Вы можете попробовать ecc (pip install ecc)

from ecc.Key.Key import Key

# Create keypair
k=Key.generate(521)

# Encode public key
pub=k.encode()

# Encode private key
priv=k.encode(include_private=True)

# Decode public key
pubK=Key.decode(pub)

# Decode private key
privK=Key.decode(priv)

# Encrypt message
msg=pubK.encrypt("Test")

# Decrypt message
print privK.decrypt(msg)
person Ruediger Jungbeck    schedule 14.06.2013

На самом деле, схема Эль-Гамаля, основанная на обмене ключами Диффи-Хеллмана, предполагает асимметричный алгоритм шифрования с закрытым и открытым ключами, поэтому вам следует это учитывать. Вычислить открытый ключ в этой схеме будет так же сложно, как вычислить дискретный логарифм в группе.

person primavera314    schedule 26.06.2013