4 ms·
Forget the salt. I thought you were possibly concerned with encrypting one character being a weakness. As a recipient of my message you receive my message encr
by shasta 13y ago
Forget the salt. I thought you were possibly concerned with encrypting one character being a weakness.
As a recipient of my message you receive my message encrypted one character at a time. When I press enter you receive the key to decrypt all of these individual characters and can string them together into my message. I pick a new key and start sending the next message one character at a time. I'm thinking that any MITM attack will introduce noticeable latency into this scheme.
- StavrosK 13y agoHow are you going to send the key over the wire without anyone intercepting it?
- shasta 13y agoYou have a session key that encrypts the entire channel. A MITM attack would require negotiating two session keys: one for you and one for your human chat parter. Next you have a message key for each message that is used to encrypt and send each character and is sent at the end of each message (encrypted with the session key). A key detail I forgot to mention is that message keys should be tied to session keys so that the MITM can't just forward on the characters encrypted as they arrive.
- StavrosK 13y agoAh, I see what you mean now. Then a MITM attack would basically double your typing time. Given that messing around/thinking about what you want to say/etc takes a variable (and pretty large) amount of time, I'm not sure that just doubling your typing time would be detectable.
- shasta 13y ago(Replying to your new message) Yes, it would be something you'd have to know to look for. The good thing is that under suitable conditions it would let you know that you weren't being MITMed. A more practical system would probably be to just display a session ID in each chat window that is tied to the session key and is supposed to match between chat partners -- a fact that can be checked later in person. That would prevent MITM attacks from being commonplace without everyone knowing about it.
- StavrosK 13y agoThat's what every system currently does, you're supposed to verify the fingerprints before talking to the other person. Phone systems are easier because you can verify that they're who they say from their voice (when it's reading you the fingerprint).