david wong

Hey! I'm David, cofounder of zkSecurity and the author of the Real-World Cryptography book. I was previously a crypto architect at O(1) Labs (working on the Mina cryptocurrency), before that I was the security lead for Diem (formerly Libra) at Novi (Facebook), and a security consultant for the Cryptography Services of NCC Group. This is my blog about cryptography and security and other related topics that I find interesting.

Quick access to articles on this page:

more on the next page...

Unix command of the day: Tee posted April 2015

The tee command allow you to write to a file and still display the result in output.

For exemple

ls

display the content of the current folder in stdout (the terminal)

ls > file.txt

saves that in a file file.txt

ls | tee file.txt

saves that in a file file.txt and displays in stdout at the same time

1 comment

Truecrypt report posted April 2015

Some news about the Truecrypt open audit: the report is out.

The TL;DR is that based on this audit, Truecrypt appears to be a relatively well-designed piece of crypto software. The NCC audit found no evidence of deliberate backdoors, or any severe design flaws that will make the software insecure in most instances.

comment on this story

Cryptool... posted March 2015

I just discovered Cryptool. I can't believed I didn't know about that earlier.

The CrypTool Portal raises awareness and interest in encryption techniques for everyone. All learning programs in the CrypTool project are open source and available for free. The CrypTool project develops the world most-widespread free e-learning programs in the area of cryptography and cryptoanalysis.

On their main page (cryptool portal) you have links to: Cryptool 1, Cryptool 2, JCryptool, Cryptool Online and Mystery Twister C3. Each project is a huge amount of information that was gathered by a group of volunteer (so yeah, for free). There are tons of tutorials and ways to play with ciphers to understand them. There is even a coppersmith and boneh-durfee explanation/implementation of the attacks I implemented these last months... This is huge. I feel like I'm just discovering the tip of the iceberg and it's all really confusing so here's a recap of what is everything, for me and for you :)

Cryptool 1

cryptool1

CrypTool 1 (CT1) was the first version of CrypTool. It was released in 1998 and allows to experiment with different cryptographic algorithms. CT1 runs under Windows. CT1 has two successors: CT2 and JCT.

It doesn't seem like it's useful to dig into this one since CT2 and JCT are supposed to be the updated versions. I've still installed it and it looks really old! But it's super complete and super fast so... still super useful.

Cryptool 2

cryptool2

CrypTool 2 (CT2) supports visual programming and execution of cascades of cryptographic procedures. CT2 also runs under Windows.

I skimmed through it seeing no resemblance to CT1. I have to spend more time with it but CT1 seemed way more educational and complete...

JCryptool

jcryptool

JCrypTool (JCT) is platform-independent and runs under Linux, Mac and Windows.

Haven't tried it yet but it looks like a multiplatform CT2

Cryptool Online

CrypTool-Online (CTO) was released in spring 2009. This tool allows to try out different algorithms in a browser / smartphone.

I'm gonna be honest here, not really nice compared to CT1 and CT2. Pretty limited.

Mystery Twister C3

You like riddles? You always loved to solve the crosswords in your newspaper? Or maybe you are just curious and want to find out about some of the ways to hide a secret (and possibily even to uncover it)? This is your place! Here at MysteryTwister C3 you can solve crypto challenges, starting from the simple Caesar cipher all the way to modern AES we have challenges for everyone.

The first riddle is just a sequence a number where you have to guess the last entry. Typical IQ test but it has been solved by 2138 people.

The 29th riddle is Hadstad broadcast attack and had only been solved by 102 people.

There are raffles every month so it might be a nice playground :) play here

2 comments

Spotlight on an Unprotected AES128 White-box Implementation posted March 2015

The Doar-e team posted something about unprotected AES 128 whitebox, I haven't had time to read it yet (and it's pretty long!) but I got quoted in the last words so here's my repost :)

http://doar-e.github.io/blog/2015/02/08/spotlight-on-an-unprotected-aes128-whitebox-implementation/

And they have linked to my not complete implementation of a DES whitebox

In the article there is an awesome explanation of AES made in flash. And it's really really really really well made:

comment on this story

How Enigma Works posted March 2015

I've watched The Imitation Game recently, a movie about Turing, and I was really disappointed at how they don't explain anything at all. I was also disappointed at how much time they spend drinking or doing something else than doing real work, or how they ended the movie before a potentially interesting second part of Turing's life (Imagine if they showed the persecution, it would have been kind of a Life is beautiful. So anyway, I ran into this explanation of Enigma:

more

comment on this story