I was wondering why Randomized Algorithm were often more efficient than non-randomized algorithm.
Then I looked at a list of random number generators (or RNG).
Of course we usually talk about PRNG (Pseudo Random Number Generator) since "truly random" is impossible/hard to achieve.
An interesting thing I stumbled into is that you can create a PRNG using a block cipher in counter mode, by iterating the counter and always encrypting the same thing, if the block cipher used is good, it should look random.
This sounds solid since ciphers sometimes need to have Ciphertext Indistinguishability from random noise.
To support such deniable encryption systems, a few cryptographic algorithms are specifically designed to make ciphertext messages indistinguishable from random bit strings
Also under the Ciphertext indistinguishability property that a cipher should respect, you shouldn't be able to find any relations between the ciphertexts coming from the same input but encrypted with an increasing counter.
MicroCorruption is a "game" made by Matasano in which you will have to debug some programs in assembly. There is a total of 19 levels and it gets harder and harder by the number. The first levels are made for beginners though! So it seems like a great tool to learn, and that's what our prof Emmanuel Fleury must have thought when he gave us this as homework. One rule: every level is worth one point.
I started writing the solutions here but as people told me "it was unethical to post solutions of a challenge online", I promptly removed them. If someday the challenge will shut down I will post the write ups online so that people can still learn from it :)
The Sapheads team draw a comic as a write up for the finale of the Defcon CTF in 2009. Since it's a classic here it is
I was in Bucharest for two weeks and look what I ran into!
http://bitcoinromania.ro/
I feel like I don't write much about my formation, and that it could be useful to people who are wondering about studying Cryptography at Bordeaux University.
There is a good article from a M1 student here: http://journaldumaster.stats.yt/master-csi-presentation/
And as it says there, the master 1 is do-able both for maths and CS people as long as you're willing to catch up in the other subject. There's a lot of theory that will allow you to study more interesting subjects in the second year of Master.
I've talked about some of the subjects but one subject I forgot to talk about was a M1 class: Elliptic Curves, taught by Fabien Pazuki and if you have the chance of taking a class from the guy just do it. He's one of the best math teacher I have had in my life, along with Vincent Borrelli (Surfaces & Curves at Lyon 1) and some dude I can't remember the name of. Each one of them were both really passionate and making true efforts to be pedagogical.
I've run into a nice series of video called "hack of the day" from Vivek-Ramachandran.
In this first video he explains two techniques :
- jump-call-pop
- xor decoding
I also got nice tips like the examining string function in gdb : x/s $ebx
or the folder usr/include/asm
that contains plenty of information about assembly.
The full playlist can be found on securitytube.net
A new attack on SSL 3.0 has been discovered. It's relevant because most browsers (except for Opera) allow a downgrade to SSL 3.0 if it cannot seem to use newer versions. Of course an attacker could disturb the connection and force someone to use SSL 3.0 in order to use the POODLE attack.
Full and clear explanation here
You might want a reminder of what is CBC to read it:
tl;dr: attack happens because of the way padding works in CBC in SSL 3.0
It's old but I just discovered it! And since it's not always fun to learn a new text editor, especially one like vim, here's a fun way to do just that!
http://vim-adventures.com/