Cryptography Part 4: Random numbers

Executive summary: There are no random numbers; only random number generators.

If that sentence made perfect sense to you, feel free to skip this installment. Otherwise, read on.

In the previous post, we saw a cryptosystem whose security was entirely based on a coin toss. But why use a coin? Why not just get [...]

Cryptography Part 3: Once upon a bit

I recently completed Dan Boneh’s introductory cryptography course. I will probably wind up covering some subset of it here, but at my own pace and in my own way. If you want a more serious treatment, go watch his lectures.

As usual, if the equations below look like roadkill, click through to the actual post.

[...]

Cryptography Part 2: More rambling

Impossibility proofs have always fascinated me. Solving a problem is one thing. Failing to solve a problem is another. But there is something really special about proving nobody can solve it, ever, even if they are smarter than you. (Guess where I am going with this.)

The Delian problem is provably unsolvable. This was not [...]

Cryptography Part 1: Drunken rambling introduction

There is a series of posts forming in my head. I have no unifying theme nor particular audience in mind, so they will be even more rambling and incoherent than usual. Also I plan to have a drink or two before each just to complete the effect. You have been warned.

Let’s play a little [...]

The NSA revelations finally got interesting

Time to pay attention. (related video)

Quick background on my perspective: Stories about Snowden himself are boring. Stories about his girlfriend, stories about his politics, and even speculations about his being an agent of Russian intelligence… Boring.

More interesting are the revelations themselves, painting an NSA whose general goal appears to be the interception and [...]

Bitcoin part 8: Big numbers

(Warning: Again I have indulged in a bit of wine.)

Before attempting to tackle the block chain, I feel the need to atone for the deadly sin of understatement. (You remember the seven deadly sins, right? Understatement, Exaggeration, False Analogy, Non Sequitur, Affirming the Consequent, Reification, and… Oh, crud, I always forget the last one.)

[...]

Bitcoin part 6: Digital Signatures

It is time to introduce the most important application of trapdoor one-way functions: Digital signatures. (Be sure to have read at least part 3 and part 5.)

Suppose you want to send me a message, but (1) I am very far away and (2) we have an enemy who wants to pretend to be you. [...]

Bitcoin part 5: More Cryptography

Let’s see if we can get this train of thought back on the rails.

A previous installment introduced one-way functions and trapdoor one-way functions. Make sure you have internalized that because this will build on it.

One-way functions have many uses, and I want to discuss a few, starting with a simple example. Suppose you [...]

Bitcoin part 4: Number Theory

First, the bad news: This will be the longest and most mathematical installment in the series. The good news: You can skip it entirely and not miss anything, because this is almost entirely unrelated to Bitcoin. But I feel like writing about it.

This is a detour from the detour. I want to walk through [...]

Bitcoin part 3: Cryptography

First, the good news: Bitcoin does not actually rely on very much cryptography. There are literally decades of cryptological research, including “digital cash” research, that Bitcoin simply ignores because it can. The bad news: I do not see how to understand Bitcoin without some understanding of cryptography. So this is where this whole series might [...]