Hacker News new | ask | show | jobs
by leijurv 648 days ago
`for char in message: encrypted_char = ord(char) ^ (shared_secret[0] % 256)`

This is not real encryption, it picks only one byte of shared secret and XORs it into the plaintext. Therefore, there are only 256 possible decryption keys to check, which is trivial.

Instead, you'd want to use the shared secret as a key to something strong and symmetric like AES.

2 comments

Any idiot knows not to use power-of-two! You gotta use "+13", which is prime and, therefore, *secure*.
And Twice is nice!
and more than thrice increases your chances of collision by
I don't think it's meant to be real encryption.
I suspect it was, given that they've now deleted their comment.