Bitcoin Forum
July 05, 2024, 01:18:09 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Extraire clef public message crypte ECDSA  (Read 656 times)
perl (OP)
Legendary
*
Offline Offline

Activity: 1918
Merit: 1190


View Profile
May 16, 2014, 10:10:18 AM
 #1

Quelqu'un peut me confirmer que l'on ne peut pas récupérer la clef public avec uniquement un message crypter en ECDSA ?

Et encore plus loing Smiley
Quelqu'un peut me confirmer que l'on ne peut pas récupérer la clef public avec un ensemble de message crypter en ECDSA avec la meme clef privé ?

Meme chose pour RSA Smiley

Note je ne parle pas directement du bitcoin car dans un message signé en bitcoin la clef public est ajoute explicitement
the_beast
Full Member
***
Offline Offline

Activity: 145
Merit: 102


View Profile WWW
May 19, 2014, 03:51:12 PM
Last edit: May 19, 2014, 10:28:04 PM by the_beast
 #2

On peut extraire la clé publique d'une signature.
Voir Certicom SEC1 V2
§4.1.6 : Public Key Recovery Operation et §2.3.4 Action 2.4.1

L'algo est :
Soit une signature (r,s) avec une information de parité pour yr (LSB ou yr mod 2)
soit z le hash du message signée

beta = modular_square_root(r*r*r+7,p) = pow(r*r*r+7,(P+1)/4,P) [a=0, b=7, p mod4=3] cf ceci or cela
y = beta ou -beta selon la parité de yr
R=(r,y)
Q = 1/r*(R*s-G*z)

C'est également utilisé pour retrouver "y" quand des points (public key) sont compressés (cad on en donne que le x).

Si on ne connait ni le message ni le hash, on ne peut peut être pas retrouver la clé publique.

Attention, ECDSA est un algorithme de signature. Le "SA" de "ECDSA" et "RSA" ne signifient pas la même chose, dans le premier cas "Signature Algorithm", dans le deuxième cas "Shamir Adleman". Le RSA est un système de cryptage à partir d'une clé publique, qui peut être facilement employé dans l'autre sens pour une signature (m^d*e=m^e*d). Ce n'est pas vraiment le cas avec les courbes elliptiques. En RSA , normalement on crypte un message avec la clé publique d'un autre et seul le proprio de la clé privée peut décoder. On peut aussi l'utiliser de l'autre sens (signature) où qqn crypte avec sa clé privé un message, et tout le monde peut décoder avec la clé publique pour s'assurer que le proprio de la clé a rédiger le message. RSA est une norme de cryptage , pas ECDSA: c'est une norme de signature.
En RSA, connaissant le message et la signature, on ne peut pas connaitre la clé publique. Sinon on pourrait en déduire la  clé privée. Et je pense qu'en RSA on ne peut pas en déduire la clé publique à partir de la clé privée (contrairement à ECDSA).
Je ne conseille pas EC pour crypter des messages. Je n'ai jamais vu un document scientifique ou officiel qui explique un chiffrement avec des courbes elliptiques. Mais le débat est ouvert (et j'espère que certains apporteront leur pierre).
Posted from Bitcointa.lk - #z4CBEL9B0x8GdxRN

GooChain : A unique search engine for the Bitcoin blockchain
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!