Hey! I'm David, a security engineer at the Blockchain team of Facebook, previously a security consultant for the Cryptography Services of NCC Group. I'm also the author of the Real World Cryptography book. This is my blog about cryptography and security and other related topics that I find interesting.

# 塞翁失马 posted December 2013

ran into that fable, made me think of bitcoins and litecoins.

A farmer had only one horse. One day, his horse ran away. All the neighbors came by saying, “I'm so sorry. This is such bad news. You must be so upset.” The man just said, “We'll see.” A few days later, his horse came back with twenty wild horses following. The man and his son corraled all 21 horses. All the neighbors came by saying, “Congratulations! This is such good news. You must be so happy!” The man just said, “We'll see.” One of the wild horses kicked the man's only son, breaking both his legs. All the neighbors came by saying, “I'm so sorry. This is such bad news. You must be so upset.” The man just said, “We'll see.” The country went to war, and every able-bodied young man was drafted to fight. The war was terrible and killed every young man, but the farmer's son was spared, since his broken legs prevented him from being drafted. All the neighbors came by saying, “Congratulations! This is such good news. You must be so happy!” The man just said, “We'll see.”
comment on this story

# Someone Bought A Tesla Using Bitcoin posted December 2013

Here it is, Lamborghini is now accepting bitcoins and the first purchase was made for a Tesla.

"Lamborghini Newport Beach is proud to announce that we are fully capable of accepting Bitcoin as legal tender for vehicles, We are excited to be opening the door to this new currency."

# Have you been pwned? posted December 2013

HaveIbeenPwned.com is a new website allowing you to check if your mail + password has been leak by some of those famous data breach. It's pretty bad, mine is compromised. Fortunately I use different passwords for different kind of websites. I use a garbage password for websites I don't trust, I use an easy and quick password to type for websites I don't care about, I use complicated password for more important things like my server, my steam account, my gmail account, my facebook account etc... and I regularly change them. comment on this story

# What are litecoins? posted December 2013

WhatAreLitecoins.com is a new website that's looking to get litcoins to the public. The site looks really nice and it makes me want to do something about bitcoins. I think my next project will be a litecoin chart. I wish I had the qualifications to do a litecoin market but security wise and technically wise it seems really difficult at my level. comment on this story

# Sheep Market Place creator revealed? posted December 2013

Also, the creator might have been found. I'm not a big fan of posting personal info so I'll just post this http://pastebin.com/raw.php?i=9spTATw6" target="_blank">message

# Bitecoin and Litecoin reach a new peak! posted November 2013

Bitcoin reached 877$/bitcoin today. I had 11 bitcoins that I bought for 450$ in total (40$/bitcoin) and which I lost trading and losing my wallet as well. I'm raging every time I think of the free holidays I could have paid myself with them. But not all is lost, I have some litecoins and they just reached a peak of 14$ / litecoin. They're following bitcoins' rate closely and they're just waiting to become "mainstream" as well to boom.

Fingers crossed.

comment on this story

# Satoshi's original paper on Bitcoin posted November 2013

8 pages of simple explanations

and a "explain me like I'm 5" post on http://www.reddit.com/r/Bitcoin/comments/1reu69/if_you_have_not_read_satoshi_nakamotos_original/cdmlnfd?context=1" target="_blank">reddit :

Bitcoin is a giant public ledger saying who sent what coins to whom. People have private keys, which they use to sign coin transfers. It's easy to verify signatures. That way only you can give away your coins. But that doesn't prevent you from giving the same coins to multiple people. For that we have the ledger, which puts all the transfers in a particular order that everyone agrees on so you can't pay someone with coins you already spent. Transactions are published on a p2p network. To put them in order, people take sets of transactions, add a random number, and make a cryptographic hash of the whole thing. (Feed data into a hash function and you get an unpredictable number.) If the hash is a low enough number it's a valid block and it becomes part of the blockchain. If it's too high, you change the random number and try again. The block also includes the hash of the previous block, so that puts everything in sequence. It takes a lot of tries to get a low-enough number, so only one block is published every ten minutes or so, by some random person who got lucky. This puts everything in order. It's expensive to do that, so when someone successfully generates a block, they get paid by a special bitcoin transaction that awards them some brand-new coins. That's mining.
comment on this story

# Newegg trial: Crypto legend takes the stand, goes for knockout patent punch posted November 2013

"We've heard a good bit in this courtroom about public key encryption," said Albright. "Are you familiar with that?" "Yes, I am," said Diffie, in what surely qualified as the biggest understatement of the trial. "And how is it that you're familiar with public key encryption?" "I invented it."

A nice piece of journalism about how Diffie stood out in court to "knock out the Jones patent with "clear and convincing" evidence (which is the standard for invalidating a patent).".

Learning more about the guy who is behind the Diffie-Hellman">http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange">Diffie-Hellman handshake.

# Done! posted November 2013

So after a long night staying up and coding I finally handed in my project including my report in LaTeX.

I'm not really proud of what I did, I felt like I could have done much better if given more time (okay I slacked and I had enough time).

BUT, as I already said earlier, I've accomplished a lot and even though I'm done with this project I still kinda want to keep working on it.

Things that I've learned doing this class :

• C is awful. But now I know the basics. I wish we had one more project to code in C to really get it though.
• Makefile? Headers? I still don't really get the structure of a C project (and I'm ashamed).
• I know Linux! Okay I don't know Linux that much, but I'm getting really causy there. I installed debian on a VM and I'm considering setting up a dual boot on my laptop now.
• Emacs emacs! I was postponing learning it because I was afraid, and just forced myself to use it for this project and goshh am I fast when I use it. When I go back to Sublime Text I just want to C-M-F, C-A, C-K, C-Y...
• LaTeX! As a Math major I've always been ashamed not knowing it. Now that I got a taste of it I'm wondering if I should use it to write my book on.
• Svn and Git. I'm not a stranger anymore! And I use them for all my websites as well now :)

I think that's it, but I feel like I've learned a lot and I wished this course was a year thing rather than a semester thing.

The course is not over yet though and next week we'll dive into java for... a quick swim since it will be our last week.

comment on this story