Author

Topic: Encrypt using Bitcoin public key? (Read 2784 times)

newbie
Activity: 43
Merit: 0
June 20, 2013, 08:40:48 AM
#5
I've probably given the impression that I know more about all of this than I really do and I think I might have made the wrong assumptions in some of my statements but I haven't got time to look into it all. I have a little knowledge which is a dangerous thing so I hope someone who is more of an expert will answer.  Smiley
legendary
Activity: 1176
Merit: 1233
May Bitcoin be touched by his Noodly Appendage
June 20, 2013, 06:02:49 AM
#4
Is it possible to send an encrypted message to an owner of an address using that address's public key?
Yes: https://bitcointalksearch.org/topic/jeeq-ecdsa-encryption-196378 https://github.com/jackjack-jj/jeeq
You can't send the message through Bitcoin though
legendary
Activity: 2618
Merit: 1006
June 20, 2013, 05:38:46 AM
#3
Is it possible to send an encrypted message to an owner of an address using that address's public key?
Potentially possible or possible right now?

Potentially possible, yes of course, check out Bitmessage for an implementation of that.

Possible right now: No. Bitcoin is not designed to even find out where a recipient of a message/transaction is or if an address even has a known private key. Everybody in the network would need to receive your message and check if they have a private key to decrypt it. Also Bitcoin is NOT a messaging system...
newbie
Activity: 43
Merit: 0
June 20, 2013, 05:27:42 AM
#2
 ECDSA (elliptic curve digital signature algorithm) is a specifically designed signature scheme and, in some sense, signature schemes work in the opposite way to crypto systems.

 If you use an asymmetric (public key) crypto system such as RSA then you can give your public key out so that people can encrypt messages that only you can decrypt with your private key.
 It is possible to make a signature scheme from RSA but you turn things around and sign the message with the decryption rule, which you keep secret (this was the public key in the crypto system) and then make public the encryption rule (the private key in the crypto system)  so that anybody can check your signature.

 The ECDSA system is derived from EIGamal and works on different mathematics to RSA (discrete logarithm problem as opposed to factorisation difficulty) but the basic ideas of encryption and decryption rules and plaintext and cipher text are the same.

 So really if you wanted to make a crypto system from ECDSA you would want to do the opposite and use the public key for decryption (and keep it secret) and the private key for encryption. However if you wanted to use this as an asymmetric (public key) system it wouldn't really work, as it stands, because the key which used to be private and we are now making public so that people can encrypt messages can be used to derive the other key (by multiplying the base point of the elliptic curve).
 If you wanted to use it as a symmetric system and keep both keys private you would be better off using something such as AES. There are practical difficulties in using elliptic curve implementations of EIGamal type crypto systems which I won't bother going into but you can use systems such as ECIES (elliptic curve integrated encryption system) as public key crypto systems.

 So I think the answer is no, not really, but there are lots of people who know lots more about this than me so I may be corrected.
 
hero member
Activity: 994
Merit: 507
June 20, 2013, 02:35:18 AM
#1
Is it possible to send an encrypted message to an owner of an address using that address's public key?
Jump to: