News for hackers. Stuff that matters.
Re:How I implemented my own crypto by baby on Thursday August 03, 2017 @04:20AM (#14917875)
There is a difference between rolling your own crypto and rolling your own crypto. There is Monocypher, then there is this company that is trying to do some weird protocol using CRC, DES in CBC mode and MD5. The sentence was targeting the latter case.
Re:How I implemented my own crypto by ewanm89 on Thursday August 03, 2017 @05:30AM (#14918142)
No, it is targeting both. I see no mention of how monocypher implementation does anything 5o prevent side channel timing attacks, I haven't looked to see if there is any sensitive memory scrubbing. Of the bugs listed most are performance bugs by someone who doesn't know C very well yet have they done the things actually!my required in a crypto library like attempting to make sure all branches are the same instruction length for all implemented algorithms?
Re:How I implemented my own crypto by loup-vaillant on Thursday August 03, 2017 @06:08AM (#14918294)
> I see no mention of how monocypher implementation does anything 5o prevent side channel timing attacks,

Oh come on, the chosen primitives are all designed for easy immunity against timing attacks. I haven't verified this formally, but I basically ripped off safe designs, and I tried to be careful about avoiding secret dependant branches and indices.

> I haven't looked to see if there is any sensitive memory scrubbing.

There's a whole test suite for that.

Look at the makefile, then select whatever sanitiser it lists (comment/uncomment the relevant CC line at the begining). Then run `./test.sh`. You can also run the relevant executables under Valgrind. Finally, there's a way to run it under the TIS-Interpreter, though that is veeery slow.

> by someone who doesn't know C very well

Could you tell me how you inferred that? That could help me improve.

Re:How I implemented my own crypto by cryptonector on Thursday August 03, 2017 @12:03PM (#14920741)
The chosen primitives can still be implemented such that there are timing side channels.
Re:How I implemented my own crypto by loup-vaillant on Friday August 04, 2017 @02:50AM (#14926831)
This doesn't happen naturally, except for Poly105 and curve25519 (for those one indeed has to be careful). A naive implementation of Chacha20 for instance is pretty much guaranteed to be immune to timing attacks.
Re:How I implemented my own crypto by snakeanus on Thursday August 03, 2017 @06:53AM (#14918477)
> I see no mention of how monocypher implementation does anything 5o prevent side channel timing attacks

He actually talked about avoiding side-channel attacks in his two previous articles about Chacha20 and Poly1305.