Title: [CRYPTO] Need help for ECC based messaging Post by: nofish on November 17, 2015, 03:53:20 PM Hello, I developing an encrypted messaging for ZeroNet (http:/zeronet.io (http://zeronet.io)) and would like to have some guidelines.
My first idea:
To make privacy better the sender does not specify the messages recipient. So the messages are signed with one ECC private key and encrypted with an another. My other idea:
This way the same AES256 key would be used for every message, so it reduces encrypted messages length by AES256key+iv / message. Thanks for any suggestions! Title: Re: [CRYPTO] Need help for ECC based messaging Post by: samuel999 on November 18, 2015, 01:31:42 AM The only issue I can see with both of these schemes is that the recipient must check every single message he receives to see if any of the encrypted messages will be decrypted by his key. However, someone could be encrypting random data to send to the recipient, which when decrypted, will look just like any other ciphertext that is encrypted with another key since decrypting a message not meant for you will also result in random data.
Title: Re: [CRYPTO] Need help for ECC based messaging Post by: nofish on November 18, 2015, 01:50:51 AM The only issue I can see with both of these schemes is that the recipient must check every single message he receives to see if any of the encrypted messages will be decrypted by his key. My old core2duo cpu able to decrypt ECC + AES at 100messages/sec (first solution) and AES over 10000messages/sec (second solution), so I don't think its going to be a problem. Every site in zeronet is totally independent, so if the updating/verification become problematic anyone able to clone the site and creating a new network of messages. However, someone could be encrypting random data to send to the recipient, which when decrypted, will look just like any other ciphertext that is encrypted with another key since decrypting a message not meant for you will also result in random data. To solve this we could add fixed prefix to the encrypted text, eg.: os.urandom(16)+"ZNE1"+message The random needed because according to stackexchange (http://security.stackexchange.com/questions/21371/decryption-on-aes-when-the-same-key-and-iv-are-used) it should be avoided to start the messages with same text. (we going to use AES CBC mode) |