Until the nineties of the last century, quantum computing seemed to be an interesting theoretical possibility, but it was far from clear whether it could be useful to tackle computationally hard problems with high relevance for actual complications. This changed dramatically in 1994, when the mathematician P. Shor announced a quantum algorithm that could efficiently … Continue reading Shor’s quantum factoring algorithm

# Tag: Cryptography

# Signing and verifying bitcoin transactions

If you have followed my blockchain posts so far, you know how to create bitcoin transactions by assembling transaction inputs and transaction outputs into a transaction data structure and serializing it. However, there is one subtlety that we have ignored so far - what exactly do you sign? You cannot sign the entire bitcoin transaction, … Continue reading Signing and verifying bitcoin transactions

# Scripts in the bitcoin protocol

There is a point that we have touched upon several times but not yet properly explained - the role of scripts in the bitcoin protocol. We have seen that the public key and the signature are stored inside a bitcoin transaction in container data structures that were called scriptPubKey and scriptSig in the source code. … Continue reading Scripts in the bitcoin protocol

# Keys in the bitcoin network: the public key

In my last post, we have looked in some detail at the private key - how it is generated and how it can be decoded and stored. Let us now do the same with the public key. Recall that a public key is simply a point on the elliptic curve SECP256K1 that is used by … Continue reading Keys in the bitcoin network: the public key

# A primer on elliptic curve cryptography: practice

In the last post, we have looked a bit at the theory behind elliptic curves. In this post, we will now see how all this works down to earth and use Python to actually run some calculations. The first thing that we need is an explicit formula for the addition of two points on an … Continue reading A primer on elliptic curve cryptography: practice

# A primer on elliptic curve cryptography: theory

Strong cryptography is at the heart of the blockchain and many other modern technologies, so it does not hurt to get familiar with the basics. In this post I will explain the foundations of one very commonly used algorithm called elliptic curve digital signature. This post will be a bit lengthy and theoretical but do … Continue reading A primer on elliptic curve cryptography: theory