Pages:
Author

Topic: [ANN] CoinMessage: Secure Messaging with Bitcoin Addresses - page 2. (Read 7050 times)

member
Activity: 78
Merit: 14

The problem is that you use the same private key for both signing and encryption. Bitmessage does not do this.

By using the same key for both signing and encryption and you being able to influence the input / read output there are certainly additional attack vectors. For example you could create an unsigned transaction and try tricking the other party into signing it like a normal message.


In the example you gave, wouldn't that be an attack vector that is available without any encryption? For example, using the challenge-verify mechanism that Luke-Jr showed above, you can use an unsigned transaction as the challenge and the user would sign it and send the signature to the malicious attacker. At what step does the attacker need the encrypt/decrypt part?
legendary
Activity: 1708
Merit: 1020
Bitmessage keys are only used for encryption, not for signing. I tried talking atheros into it but to no avail  Cheesy

Btw:Bitmessage does not have a blockchain.


IMHO the point is: Getting encryption right is difficult so don't complicate things any more than absolutely necessary.


Interesting, I didn't know they don't have a blockchain. Isn't there some large block of data that stores the encrypted messages there in some way, though?

Unfortunately I did not yet find the time to dive into Bitmessage but from the little I know clients store the messages for some days, I guess in a normal database.

Quote
I guess what I'm asking is, my project seems about as secure as bitmessage, just from what we're both doing with the secp256k1 curve. So if coinmessage is not considered secure, can bitmessage? If not, what am I missing?
The problem is that you use the same private key for both signing and encryption. Bitmessage does not do this.

By using the same key for both signing and encryption and you being able to influence the input / read output there are certainly additional attack vectors. For example you could create an unsigned transaction and try tricking the other party into signing it like a normal message.

member
Activity: 78
Merit: 14

Works like a charm! Cool!

Quote
Thanks chriswilmer, for trying out coinmessage! Let me know if you have any suggestions to improve this library or to get others to incorporate it into their products. ~Jimmy

Awesome! Thanks for trying this!
legendary
Activity: 1008
Merit: 1000
I'm a big fan of Bitmessage too... I haven't followed up on the latest developments. It seems like there is certainly a need for an easy-to-use, decentralized, encrypted messaging service. Last I heard the jury was still out on whether Bitmessage was really scalable.
legendary
Activity: 1008
Merit: 1000

altoz, I think your idea is great, and in general I am very supportive of developers and trying out new projects (even if they don't end up taking off for whatever reason)

I think luke-jr is being unnecessarily mean... I wouldn't take it personally

Thanks for the support. Thanks to the pointless exchange with Luke-Jr, I discovered what the "ignore" button is for!

Have you had a chance to look at the message I sent you?

Works like a charm! Cool!

Quote
Thanks chriswilmer, for trying out coinmessage! Let me know if you have any suggestions to improve this library or to get others to incorporate it into their products. ~Jimmy
member
Activity: 78
Merit: 14

altoz, I think your idea is great, and in general I am very supportive of developers and trying out new projects (even if they don't end up taking off for whatever reason)

I think luke-jr is being unnecessarily mean... I wouldn't take it personally

Thanks for the support. Thanks to the pointless exchange with Luke-Jr, I discovered what the "ignore" button is for!

Have you had a chance to look at the message I sent you?
member
Activity: 78
Merit: 14
Bitmessage keys are only used for encryption, not for signing. I tried talking atheros into it but to no avail  Cheesy

Btw:Bitmessage does not have a blockchain.


IMHO the point is: Getting encryption right is difficult so don't complicate things any more than absolutely necessary.


Interesting, I didn't know they don't have a blockchain. Isn't there some large block of data that stores the encrypted messages there in some way, though?

I guess what I'm asking is, my project seems about as secure as bitmessage, just from what we're both doing with the secp256k1 curve. So if coinmessage is not considered secure, can bitmessage? If not, what am I missing?
legendary
Activity: 1008
Merit: 1000
Of course an address identifies an account. That's what the whole blockchain is, a list of accounts and who owns what.

If you're just going to troll, I'd rather you not do this on this thread.
http://download.wpsoftware.net/bitcoin/bitcoin-faq.pdf

Also accusing Luke-Jr of trolling is quite rich..

A user that just got out of newbie jail calling me anything is quite rich. One may suspect this could be Luke-Jr sock puppet.

altoz, I think your idea is great, and in general I am very supportive of developers and trying out new projects (even if they don't end up taking off for whatever reason)

I think luke-jr is being unnecessarily mean... I wouldn't take it personally
legendary
Activity: 1708
Merit: 1020
The point of them using secp256k1 was so that people could use the same keys from bitcoin.
This is a useful thing? How?

Not sure, you'd have to ask them, but I'd imagine it's because your identity is the same in both blockchains and some applications that use both can be made.
Bitmessage keys are only used for encryption, not for signing. I tried talking atheros into it but to no avail  Cheesy

Btw:Bitmessage does not have a blockchain.


IMHO the point is: Getting encryption right is difficult so don't complicate things any more than absolutely necessary.
member
Activity: 78
Merit: 14
Of course an address identifies an account. That's what the whole blockchain is, a list of accounts and who owns what.

If you're just going to troll, I'd rather you not do this on this thread.
http://download.wpsoftware.net/bitcoin/bitcoin-faq.pdf

Also accusing Luke-Jr of trolling is quite rich..

A user that just got out of newbie jail calling me anything is quite rich. One may suspect this could be Luke-Jr sock puppet.
full member
Activity: 179
Merit: 151
-
Of course an address identifies an account. That's what the whole blockchain is, a list of accounts and who owns what.

If you're just going to troll, I'd rather you not do this on this thread.
http://download.wpsoftware.net/bitcoin/bitcoin-faq.pdf

Also accusing Luke-Jr of trolling is quite rich..
legendary
Activity: 2576
Merit: 1186
Addresses aren't identities.
Let's not get pedantic. An address is something that can be used to identify an account, which could be used as an identity. That's how social security numbers, driver's licenses and the like work.
No.
An address does not identify an account.

Side note: social security numbers are also not to be used for identity purposes.
Of course an address identifies an account. That's what the whole blockchain is, a list of accounts and who owns what.

If you're just going to troll, I'd rather you not do this on this thread.
No, perhaps you should learn how bitcoin works before trying to extend it with functionality that mostly already exists anyway... sigh
member
Activity: 78
Merit: 14
Addresses aren't identities.
Let's not get pedantic. An address is something that can be used to identify an account, which could be used as an identity. That's how social security numbers, driver's licenses and the like work.
No.
An address does not identify an account.

Side note: social security numbers are also not to be used for identity purposes.
Of course an address identifies an account. That's what the whole blockchain is, a list of accounts and who owns what.

If you're just going to troll, I'd rather you not do this on this thread.
legendary
Activity: 2576
Merit: 1186
Addresses aren't identities.
Let's not get pedantic. An address is something that can be used to identify an account, which could be used as an identity. That's how social security numbers, driver's licenses and the like work.
No.
An address does not identify an account.

Side note: social security numbers are also not to be used for identity purposes.
member
Activity: 78
Merit: 14
Addresses aren't identities.

Let's not get pedantic. An address is something that can be used to identify an account, which could be used as an identity. That's how social security numbers, driver's licenses and the like work.
legendary
Activity: 2576
Merit: 1186
The point of them using secp256k1 was so that people could use the same keys from bitcoin.
This is a useful thing? How?

Not sure, you'd have to ask them, but I'd imagine it's because your identity is the same in both blockchains and some applications that use both can be made.
Addresses aren't identities.
member
Activity: 78
Merit: 14
The point of them using secp256k1 was so that people could use the same keys from bitcoin.
This is a useful thing? How?

Not sure, you'd have to ask them, but I'd imagine it's because your identity is the same in both blockchains and some applications that use both can be made.
legendary
Activity: 2576
Merit: 1186
The point of them using secp256k1 was so that people could use the same keys from bitcoin.
This is a useful thing? How?
member
Activity: 78
Merit: 14
A random observation:

I discovered that BitMessage uses secp256k1 for encryption/decryption that's not very different from my code. Does this mean that bitmessage can also be compromised? The point of them using secp256k1 was so that people could use the same keys from bitcoin.
member
Activity: 78
Merit: 14
Quote
I apologize for my naivete, but I'm trying to understand the attack. My algorithm sends the short version of the nonce point (x plus parity) so the attacker sending an invalid nonce means the attacker sends an x that's past p but less than 2^256. Say the receiver has a broken program that doesn't check the nonce and gets a garbage message. What would the receiver do at this point to inform the attacker? Here is the message I got?
Right, imagine the receiver that takes the form of network reachable service, and you can send it messages and it tells you what it decoded or just tells you if the checksum passed. You can now blast candidate messages (e.g. sweeping the checksum) at it and learn data derived from secret*(twist point), with all that indirection actually compromising something that would be impressive, but its clearly gone far outside of the realm of being able to make solid statements about the security by that point.


If I'm not mistaken, this is an attack that can be performed on any elliptical curve, not just secp256k1. And obviously, other elliptical curves use the same mechanism to do secure messaging. Is the fact that the private exponent is also used to sign messages somehow related to this attack? Or is it the curve itself? 2^256 - p = 4294968273 or roughly 4.3 trillion maximum possible attempts that will give back different data. Is that enough data to find something?

Also if sweeping the checksum is the strategy, wouldn't having a longer checksum (say 2^256 bits) solve that problem?

Again, just trying to understand the attack here. Thanks for engaging an elliptical curve newb.
Pages:
Jump to: