In this article we want to clarify the question: What is cryptography? Cryptography offers encryption methods for our digital everyday life. As a branch of computer science (more precisely: information security) and mathematics, it protects us against hackers in Bitcoin and other crypto currencies, as well as when sending text messages and online banking.

Cryptography & Bitcoin – What is cryptography and why is it important to us?

There are people who have heard of Bitcoin or the Blockchain and make cynical remarks. For them, the blockchain is nothing more than a simple database, something like an Excel spreadsheet for nerds. And how should an Excel spreadsheet be something special?

In these cynical remarks, there is a widespread fallacy about blockchain: it is not a „simple database“ or Excel spreadsheet. Rather, it is a cryptographically secured high-security vault protected by millions of security guards around the world. To gain access to this vault, you must follow the rules for this vault – even a break-in at Fort Knox could be easier than breaking into the Bitcoin blockchain.

The Guardians are the millions of computers worldwide that run the Bitcoin software. Of course, this example does not only apply to Bitcoin but also to all other decentralized cryptocurrencies.
Cryptography is an ancient science that uses mathematics. It ensures that no one can access another person’s Bitcoin reserves or that transactions can be forged. But how is this possible with pure computer science and mathematics? How can I write a program that excludes malicious hackers and becomes something like a digital vault? This is where the power of cryptography comes to the fore.

The history of cryptography

Composed of the ancient Greek „Kryptós“ (in German: „hidden“ / „secret“) and „gráphein“ (in German: „to write“) it describes the science of encryption. In addition to this science, today it also refers to a whole field of IT security, which deals with the protection of computers, networks and other systems.

Roughly, the history of this science can be divided into two epochs: the time before the development of computers and the time afterwards. The impact of computing power on this area of ​​science was so great that it made obsolete old methods and required a rethinking of scientists. Why this was so will be revealed in the following text.

At the same time, with the development of writing, the problem that should become the core of cryptography began: other people can also read the (important) message. If one ruler wanted to inform another about imminent military operations, everyone in the process could read the message: the first ruler, the messenger, the highwayman, the spies, and finally the second ruler.

In the best case, only the sender and the recipient of the message should be able to read the message. This is actually still a basic requirement for a good cryptographic system.

A historical example of cryptography

The first scholars of cryptography came up with the idea to simply change the text. How the text was changed was then secretly agreed with the recipient. But how should you do that? As a common example, the so-called Caesar encryption is addressed. Encryption describes the process of changing a source text with a so-called key to obtain an encrypted text. Encrypted texts are used in the cryptography „cipher“.

The Caesar encryption is two alphabets that are supposed to make a cipher together. If a Roman general wanted to send a message, he made a table containing the normal alphabet and the secret alphabet.

Caesar encryption

If the general wanted to send an encrypted message, he looked at which letter depicts which other and generates a cipher that nobody else could read. Thus, from the original message:

  • Roma invicta

With a simple shift of the alphabet:

  • Vsqe mrzmgxe

The attentive reader will certainly have already noticed weaknesses in this encryption method. It can be seen, for example, that the letter „m“ repeats itself at a certain point. Also, the source cipher is exactly as long as the source code. If you enjoy it, you can find out by how many digits the alphabet in our example has been moved to generate this cipher. Anyone can check his tip with an online generator .

In the example above we have already clarified two important terms for cryptography: the source code and the cipher. But what was the encryption key used in our example? In fact, it was the number „4“ because the original alphabet was shifted by exactly four digits and with this shifted alphabet, the message was „encrypted“.

Encryption methods that only need one key to encrypt and decrypt are called „symmetric encryption methods“. The mentioned Caesar encryption is one such method. We can think of symmetric encryption methods, such as a chest with a lock: there is only one lock and there is only one key. If two people want to open the same chest, they must use the same key.

Modern cryptography

Until the Second World War, encryption methods continued to evolve. With the advent of telegraph poles and radio communication, there were first electronic transmission and encryption methods, but this is still one of the previous epochs. The reasons for this are the fact that encryption methods were kept secret (something that should change in the following years) and that they could still be cracked with sufficient computation effort. Even the German encryption machine „Enigma“, which was used on German submarines, was cracked several times during the war. She used a typewriter-like device and encrypted a text using quasi-random stream flows into a cipher.

In the late 1940s, the first scientific research on encryption was published, which could be made available to anyone safely. During this time, the claim was made that the knowledge of how an encryption works should not affect its security. When computers were used in the scientific world, the era of modern cryptography finally broke.

Computing power and better communication around the globe brought new cryptography problems. So the computing power could be used to crack encryption systems – with a speed that a human could never reach. The cracking of encryption systems was and still is based mainly on the so-called „brute force“ method. It describes the mere testing of possibilities, until at some point the searched key was found. In the example of Caesar encryption, the computer could have tried all possible shifts until the cipher again corresponds to the original text „Roma invicta“.

Through better communication worldwide, in conjunction with the computing power, it was no longer useful to keep encryption methods secret. This secrecy security concept was called security through obscurity and came to an end in modern cryptography. If an encryption method had been cracked, the vulnerability could have been passed on quickly. So you had to develop an encryption method that simply could not be cracked mathematically in the foreseeable future.

Modern cryptosystems go much further than the simple Caesar encryption. They make use of the findings of mathematics to transfer messages in numbers, hack them, swap beginning and end, and use immense numbers that are too expensive for normal computers to calculate.

Symmetric encryption using the example of AES

Advanced Encryption Standard (AES) is a symmetric cryptosystem introduced in 1998 for the first time. Today, AES secures IP calls, Wi-Fi networks and is even allowed to encrypt state-level, high-security documents in the United States.

Explaining AES in detail would fill a series of articles, so we focus on the key points of AES:

  • Has a key as a symmetric encryption system
  • Versatile used
  • Hack and move parts of the code in the encryption to be even more secure
  • Is not crackable until today
  • Can use a key length of up to 256-bit

The last point needs an explanation. In the example of Caesar encryption, a relatively tiny key was still used for encryption. Over the years of modern cryptography development, keys have been generated that are much larger than one, or a hundred or a million digits. 256-bit means in everyday language that the key has a length of 256 zeros and ones. It may sound unusual, but all data processed in front of a computer is always converted to zeroes and ones and then converted back to normal.

Die pure Magie hinter der Kryptographie kommt zum Vorschein, wenn wir uns vorstellen, dass ein Hacker den Schlüssel für einen eben verschlüsselten Text ergaunern will. Hierfür müsste er die oben bereits genannte Technik des Durchprobierens, des Brute-Force, anwenden.

Als erstes stellen wir fest, wie viele mögliche Kombinationen ein 256-bit Schlüssel haben kann, das sind:

2 hoch 256 Möglichkeiten, da jede Stelle zwei Möglichkeiten hat (Null und Eins) und der Schlüssel insgesamt 256 Stellen hat.

Klingt klein? Das Universum hat nach aktuellen Schätzungen eine Anzahl von 10 hoch 78 Atomen. Die Möglichkeiten verschiedener AES 256-bit Schlüssel zwischen 8 und 9 Mal größer als die Anzahl der Atome im Universum!

Doch das ist nicht alles! Der schnellste Supercomputer der Welt, Tianhe-2, bräuchte zum Knacken einer AES-Verschlüsselung mehrere Millionen Jahre.

Asymmetrische Verschlüsselung am Beispiel von RSA

Neben der symmetrischen Verschlüsselung, gibt es auch asymmetrische Kryptosysteme. Diese Methoden machten es möglich, dass der Schlüssel nicht auf unsichere Art und Weise ausgetauscht werden muss, falls man verschlüsselt kommunizieren wollte. Zu dieser Kommunikation gehört auch der sichere Austausch von Schlüsseln für symmetrische Verschlüsselungsverfahren. Das 1976 entwickelte Kryptosystem RSA bietet so etwas.

Auch bei der asymmetrischen Verschlüsselung werden Texte mit riesigen Zahlen verschlüsselt. Diese machen sich das Problem der Primfaktorzerlegung zu nutze. Die Primfaktorzerlegung ist immer noch ein offenes Problem der Mathematik und beschreibt den Prozess, worin eine natürliche Zahl in sogenannte Primfaktoren zerlegt werden kann. Wie genau die Mathematik hinter der asymmetrischen Verschlüsselung funktioniert findet ihr in einem Beitrag von uns.

So lässt sich die Zahl 1001 in die Primfaktoren 7, 11 und 13 aufteilen. Ohne das Wissen von der Ursprungszahl, gibt kein einheitliches und sicheres Verfahren, um diese Primfaktoren im großen Maße herauszufinden. Während bei kleinen Zahlen ein Computer behilflich sein kann, wird das bei Zahlen im 500-stelligen Bereich ein Problem. Wiederum einfach ist es, einfach zwei Primzahlen zu finden und diese miteinander zu multiplizieren, und genau das macht sich RSA zu nutze. So kann man mittels der Primfaktorzerlegung zwei Schlüssel aus den zwei Primfaktoren generieren, wieso das wichtig ist wird nach den Kernpunkten erklärt.

Einige Kernpunkte zu RSA:

  • Besitzt einen Schlüsselpaar: einen öffentlichen Schlüssel und einen privaten Schlüssel
  • Wird heute in hybrider Form mit symmetrischen Verschlüsselungsverfahren genutzt oder in Blockchains
  • Nutzt das Problem der Primfaktorzerlegung
  • kurzfristig nicht in Gefahr, langfristig könnte es Quantencomputern zum Opfer fallen
  • Schlüssellängen über 2048-bit, wobei bis 2020 Schlüssellängen von 3000-bit mindestens empfohlen werden

Wie bereits angesprochen, ist es einerseits sehr schwer aus einer großen Primzahl die Primfaktoren zu erhalten. Bei RSA wird diese Tatsache genutzt, um zwei Schlüssel zu generieren. Hierbei sollten wir die Hauptidee hinter RSA im Kopf behalten: ein Kryptosystem für den sicheren Austausch von Nachrichten.

Ein Nutzer von RSA, Alice, generiert sich nun ein Schlüsselpaar. Sie besitzt einen öffentlichen und einen privaten Schlüssel. Der öffentliche Schlüssel ist eine große Zahl, die sie gefahrlos anderen Nutzern geben kann (daher die Bezeichnung „öffentlich“). Mit diesem öffentlichen Schlüssel lassen sich Nachrichten für Alice verschlüsseln. Damit Alice die Nachricht nun lesen kann, muss sie ihren privaten Schlüssel zur Hand nehmen, welchen sie unter keinen Umständen heraus geben darf (ein solches Schlüsselpaar existiert auch in Bitcoin).

Um sich den Prozess leichter vorstellen zu können, denken wir an einen Briefkasten. Der Briefkasten ist jedem zugänglich und es ist kein Sicherheitsrisiko, dass er allgemein bekannt ist. Dies entspricht unserem öffentlichen Schlüssel. Jeder kann Nachrichten in den Briefkasten werfen. Um die Nachrichten aber lesen zu können, braucht man den Schlüssel für den Briefkasten. Dies entspricht in unserem Beispiel dem privaten Schlüssel.

Bitcoin und Kryptographie

Blockchains, wie in Bitcoin, nutzen die Public Key-Cryptography, hier asymmetrisches Kryptosystem, zur Absicherung der Adressen im System. So besitzen all Bitcoin-Adressen ein Schlüsselpaar wie bei RSA. Damit besitzt jeder Wallet-Besitzer auch gleichzeitig einen öffentlichen und einen privaten Schlüssel.Wie aus den obigen Rechnungen zu erfahren ist, sind diese Systeme nicht zu knacken und somit kommt die Eingangs erwähnte Beschreibung des „Hochsicherheitstresors“ sehr nah an die Realität der Blockchain heran.

In unserer Wiki-Reihe erklären wir noch weitere wichtige Begriffe aus der Welt der Kryptowährungen und Blockchain. Wir haben bereits eine genauere Beschreibung für Verschlüsselung veröffentlicht, sowie eine Erklärung für die ebenfalls kryptographischen Hashfunktionen, die bei der Blockchain zum Einsatz kommen.

[Image: GeoArt & hvostik / Shutterstock]

Danny ist Bachelor of Science der Informatik und Redakteur bei Base58. Seit 2014 ist er aktiv im Krypto-Sektor unterwegs. Seine Interessen umfassen die Technik und das disruptive Potenzial der Blockchain – nicht nur für die Wirtschaft, sondern auch für die Gesellschaft. Um den Zugang zu diesen komplexen Themen zu erleichtern arbeitete er über 3 Jahre bei einem der größten Krypto-Newsportale, wirkte an unzähligen Videos und einigen Büchern mit.