0% fanden dieses Dokument nützlich (0 Abstimmungen)
31 Ansichten74 Seiten

11 Crypto Bitcoins

Das Dokument behandelt moderne Verfahren der Kryptographie, einschließlich symmetrischer Verfahren wie DES und AES sowie asymmetrischer Verfahren wie RSA und dem Diffie-Hellman-Protokoll für den Schlüsselaustausch. Es erklärt die Grundlagen des modularen Rechnens, das für die Kryptographie entscheidend ist, und beschreibt die Funktionsweise von Blockverschlüsselungen und die mathematischen Prinzipien, die diesen Verfahren zugrunde liegen. Zudem wird auf die Sicherheitsaspekte der verwendeten Algorithmen eingegangen.

Hochgeladen von

klubix.inc
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
31 Ansichten74 Seiten

11 Crypto Bitcoins

Das Dokument behandelt moderne Verfahren der Kryptographie, einschließlich symmetrischer Verfahren wie DES und AES sowie asymmetrischer Verfahren wie RSA und dem Diffie-Hellman-Protokoll für den Schlüsselaustausch. Es erklärt die Grundlagen des modularen Rechnens, das für die Kryptographie entscheidend ist, und beschreibt die Funktionsweise von Blockverschlüsselungen und die mathematischen Prinzipien, die diesen Verfahren zugrunde liegen. Zudem wird auf die Sicherheitsaspekte der verwendeten Algorithmen eingegangen.

Hochgeladen von

klubix.inc
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
Sie sind auf Seite 1/ 74

Informatik 2:

Kryptographie 2/2

Nachrichten

Alice Bob

Prof. Dr. Alexander Hanuschkin


Outlook

Letzte Woche Diese Woche


• Alice & Bob • Moderne Verfahren der Kryptographie
• Transpositionsverfahren • Modulares Rechnen
(SKYTALE, Fleißnersche Schablone) • Symmetrische Verfahren: DES & AES
• Steganographie • Schlüsseltausch: Diffie-Hellman Protokoll
(RICHELIEU) • Asymmetrische Verfahren: RSA
• Substitutionsverfahren • Bitcoins
• Monoalphabetische
(CAESAR,POLYBIOS, FREIMAURER)
• Polyalphabetische
(VIGENÈRE, ENIGMA, One-time-pad)
• Mathematische Grundlagen
der modernen Kryptographie
• Modulares Rechnen
Literatur

Karlsruhe University of Applied Sciences


Modulares Rechnen ist die Basis der modernen Kryptologie

Modulares Rechnen mit der algebraische Struktur (ℤ𝑎 ,⊕𝑎, ⊙𝑎) und ℤ𝑎 = {0,1,...,𝑎 − 1}
Modulares Rechnen: Übersicht

Modulare Addition ⊕: 𝑥 ⊕𝑎 𝑦 = 𝑥 + 𝑦 mod 𝑎


Es gilt folgende Regel: 𝑥 ⊕𝑎 𝑦 = (𝑥 mod 𝑎) + (𝑦 mod 𝑎) mod 𝑎
Inverse Element in ⊕𝑎: (− 𝑥) = 𝑎 − 𝑥 mod 𝑎

Modulare Subtraktion ⊖: 𝑥 ⊖𝑎 𝑦 = 𝑥 − 𝑦 mod 𝑎


Es gelten folgende Regeln: 𝑥 ⊖𝑎 𝑦 = (𝑥 mod 𝑎) − (𝑦 mod 𝑎) mod 𝑎
𝑥 ⊖𝑎 𝑦 = 𝑥 ⊕𝑎 (− 𝑦) = 𝑥 + 𝑎 − 𝑦 mod a

Modulare Multiplikation ⊙: 𝑥 ⊙𝑎 𝑦 = 𝑥 ⋅ 𝑦 mod 𝑎


Es gilt folgende Regel: 𝑥 ⊙𝑎 𝑦 = (𝑥 mod 𝑎) ⋅ (𝑦 mod 𝑎) mod 𝑎
Inverse Element in ⊙: existiert im Allgemeinen nicht!
Wenn ggT(x,a)=1 dann existiert eine inverses Element zu x

Potenz Modulo Regeln: 𝑥𝑠+𝑡 mod 𝑎 = ( ( 𝑥𝑠 mod 𝑎) ⋅ (𝑥𝑡 mod 𝑎)) mod 𝑎
𝑥𝑠⋅𝑡 mod 𝑎 = 𝑥𝑠 mod 𝑎 𝑡 mod 𝑎
Karlsruhe University of Applied Sciences
DES & AES
• Data Encryption Standard (DES) weit verbreiteter symmetrischer Verschlüsselungsalgorithmus
• offizieller Standard für die US-Regierung (1977)
• heutzutage aufgrund der verwendeten Schlüssellänge (56 Bits) nicht ausreichend sicher
• Durch Mehrfachanwendung als Triple-DES weiterhin am häufigsten, z.B. von Banken in
Chipkartenanwendungen, eingesetzt
• Neuer offizieller Standard für die USA: Advanced Encryption Standard (AES) abgelöst (2000)

DES & AES verwenden:


• Blockverschlüsselung
(der Klartext wird in Blöcke gleicher Länge geteilt und einzeln verschlüssel)
• Geschickte Kombination von drei einfachen Grundoptionen:
1. Ersetzungen*
(Teilblöcke werden durch Teilblöcke nach Tabellen ersetzt; vergl. z.B. CAESAR, VIGENÉRE)
2. Vertauschungen
(Austauschen einzelner Teilblöcke eines Blocks untereinander; vergl. SKYTALE)
3. Maskierung
(Teilblöcke werden modular zu Teilschlüsseln addiert)

*„Diese nicht-lineare Transformierung in den S-Boxen stellt das Herzstück der Sicherheit von DES dar, ohne sie wäre DES linear und trivial zu brechen.“
https://de.wikipedia.org/wiki/Data_Encryption_Standard
DES & AES
• Data Encryption Standard (DES) weit verbreiteter symmetrischer Verschlüsselungsalgorithmus
• offizieller Standard für die US-Regierung (1977)
• heutzutage aufgrund der verwendeten Schlüssellänge (56 Bits) nicht ausreichend sicher
• Durch Mehrfachanwendung als Triple-DES weiterhin am häufigsten, z.B. von Banken in
Chipkartenanwendungen, eingesetzt
• Neuer offizieller Standard für die USA: Advanced Encryption Standard (AES) abgelöst (2000)

DES & AES verwenden:


• Blockverschlüsselung
(der Klartext wird in Blöcke gleicher Länge geteilt und einzeln verschlüsselt)
• Geschickte Kombination von drei einfachen Grundoptionen:
1. Ersetzungen*
(Teilblöcke werden durch Teilblöcke nach Tabellen ersetzt; vergl. z.B. CAESAR, VIGENÉRE)
2. Vertauschungen
(Austauschen einzelner Teilblöcke eines Blocks untereinander; vergl. SKYTALE)
3. Maskierung
(Teilblöcke werden modular zu Teilschlüsseln addiert)

*„Diese nicht-lineare Transformierung in den S-Boxen stellt das Herzstück der Sicherheit von DES dar, ohne sie wäre DES linear und trivial zu brechen.“
https://de.wikipedia.org/wiki/Data_Encryption_Standard
Symmetrische Verschlüsselungsverfahren

Verschlüsselte Nachricht
Kryptotext Kryptotext Schlüssel

Verschlüsselung Entschlüsselung

Klartext Schlüssel Klartext

Sender Empfänger
Schlüsselaustausch?
Schlüsselaustausch?

Alice
Schlüsselaustausch?

Alice

Alice Bob
Schlüsselaustausch?

Alice

Alice Bob

Bob
Schlüsselaustausch!

Alice

Alice Bob

Bob
Statt Schlüsselaustausch: Berechnen eines gemeinsamen Schlüssels

Diffie-Hellman Protokoll

Karlsruhe University of Applied Sciences


Statt Schlüsselaustausch: Berechnen eines gemeinsamen Schlüssels
a
x

Alice

y b

Bob
Alice Bob Alice Bob

𝒔 𝑨𝑩 𝒔 𝑨𝑩

Karlsruhe University of Applied Sciences


Diffie-Hellman Protokoll
Alice & Bob einigen sich auf zwei öffentliche natürliche Zahlen 𝑐 und 𝑝. Dabei ist 𝑝 eine Primzahl und 𝑐 < 𝑝.

1. Alice wählt eine zufällige Zahl 𝑎 < 𝑝 , hält diese geheim und berechnet die Zahl
𝑥 = 𝑐𝑎 mod 𝑝
Sie schickt 𝑥 an Bob.

2. Bob wählt eine zufällige Zahl 𝑏, hält diese geheim und berechnet die Zahl
𝑦 = 𝑐𝑏 mod 𝑝
Er schickt 𝑦 an Alice.

3. Alice erhält 𝑦 von Bob und berechnet mit ihrer geheimen Zahl 𝑎 den Schlüssel
𝑠𝐴𝐵 = 𝑦𝑎 mod 𝑝

4. Bob erhält 𝑥 von Alice und berechnet mit seiner geheimen Zahl 𝑏 den Schlüssel
𝑠𝐵𝐴 = 𝑥𝑏 mod 𝑝

Da 𝑠𝐴𝐵 = 𝑠𝐵𝐴 gilt, haben beide die gleiche Zahl berechnet. Diese Zahl ist der gemeinsame Schlüssel.

Karlsruhe University of Applied Sciences


Diffie-Hellman Protokoll
Alice & Bob einigen sich auf zwei öffentliche natürliche Zahlen 𝑐 und 𝑝. Dabei ist 𝑝 eine Primzahl und 𝑐 < 𝑝.

1. Alice wählt eine zufällige Zahl 𝑎 < 𝑝 , hält diese geheim und berechnet die Zahl
𝑥 = 𝑐𝑎 mod 𝑝
Sie schickt 𝑥 an Bob.

2. Bob wählt eine zufällige Zahl 𝑏, hält diese geheim und berechnet die Zahl
𝑦 = 𝑐𝑏 mod 𝑝
Er schickt 𝑦 an Alice.
a
x
3. Alice erhält 𝑦 von Bob und berechnet mit ihrer geheimen Zahl 𝑎 den Schlüssel
𝑠𝐴𝐵 = 𝑦𝑎 mod 𝑝
Alice
4. Bob erhält 𝑥 von Alice und berechnet mit seiner geheimen Zahl 𝑏 den Schlüssel
𝑠𝐵𝐴 = 𝑥𝑏 mod 𝑝

Da 𝑠𝐴𝐵 = 𝑠𝐵𝐴 gilt, haben beide die gleiche Zahl berechnet. Diese Zahl ist der gemeinsame Schlüssel.

Karlsruhe University of Applied Sciences


Diffie-Hellman Protokoll
Alice & Bob einigen sich auf zwei öffentliche natürliche Zahlen 𝑐 und 𝑝. Dabei ist 𝑝 eine Primzahl und 𝑐 < 𝑝.

1. Alice wählt eine zufällige Zahl 𝑎 < 𝑝 , hält diese geheim und berechnet die Zahl
𝑥 = 𝑐𝑎 mod 𝑝
Sie schickt 𝑥 an Bob.

2. Bob wählt eine zufällige Zahl 𝑏, hält diese geheim und berechnet die Zahl
𝑦 = 𝑐𝑏 mod 𝑝
Er schickt 𝑦 an Alice.

3. Alice erhält 𝑦 von Bob und berechnet mit ihrer geheimen Zahl 𝑎 den Schlüssel
y 𝑠𝐴𝐵 = 𝑦𝑎 mod 𝑝 b
4. Bob erhält 𝑥 von Alice und berechnet mit seiner geheimen Zahl 𝑏 den Schlüssel
𝑠𝐵𝐴 =Bob
𝑥𝑏 mod 𝑝

Da 𝑠𝐴𝐵 = 𝑠𝐵𝐴 gilt, haben beide die gleiche Zahl berechnet. Diese Zahl ist der gemeinsame Schlüssel.

Karlsruhe University of Applied Sciences


Diffie-Hellman Protokoll
Alice & Bob einigen sich auf zwei öffentliche natürliche Zahlen 𝑐 und 𝑝. Dabei ist 𝑝 eine Primzahl und 𝑐 < 𝑝.

1. Alice wählt eine zufällige Zahl 𝑎 < 𝑝 , hält diese geheim und berechnet die Zahl
𝑥 = 𝑐𝑎 mod 𝑝
Sie schickt 𝑥 an Bob.
Alice Bob
2. Bob wählt eine zufällige Zahl 𝑏, hält diese geheim und berechnet die Zahl
𝑦 = 𝑐𝑏 mod 𝑝
Er schickt 𝑦 an Alice.

3. Alice erhält 𝑦 von Bob und berechnet mit ihrer geheimen Zahl 𝑎 den Schlüssel 𝒔 𝑨𝑩
𝑠𝐴𝐵 = 𝑦𝑎 mod 𝑝

4. Bob erhält 𝑥 von Alice und berechnet mit seiner geheimen Zahl 𝑏 den Schlüssel
𝑠𝐵𝐴 = 𝑥𝑏 mod 𝑝

Da 𝑠𝐴𝐵 = 𝑠𝐵𝐴 gilt, haben beide die gleiche Zahl berechnet. Diese Zahl ist der gemeinsame Schlüssel.

Karlsruhe University of Applied Sciences


Diffie-Hellman Protokoll
Alice & Bob einigen sich auf zwei öffentliche natürliche Zahlen 𝑐 und 𝑝. Dabei ist 𝑝 eine Primzahl und 𝑐 < 𝑝.

1. Alice wählt eine zufällige Zahl 𝑎 < 𝑝 , hält diese geheim und berechnet die Zahl
𝑥 = 𝑐𝑎 mod 𝑝
Sie schickt 𝑥 an Bob.
Alice Bob
2. Bob wählt eine zufällige Zahl 𝑏, hält diese geheim und berechnet die Zahl
𝑦 = 𝑐𝑏 mod 𝑝
Er schickt 𝑦 an Alice.

3. Alice erhält 𝑦 von Bob und berechnet mit ihrer geheimen Zahl 𝑎 den Schlüssel 𝒔 𝑨𝑩
𝑠𝐴𝐵 = 𝑦𝑎 mod 𝑝

4. Bob erhält 𝑥 von Alice und berechnet mit seiner geheimen Zahl 𝑏 den Schlüssel
𝑠𝐵𝐴 = 𝑥𝑏 mod 𝑝
𝒔 𝑩𝑨
Da 𝑠𝐴𝐵 = 𝑠𝐵𝐴 gilt, haben beide die gleiche Zahl berechnet. Diese Zahl ist der gemeinsame Schlüssel.

Karlsruhe University of Applied Sciences


Diffie-Hellman Protokoll
Alice & Bob einigen sich auf zwei öffentliche natürliche Zahlen 𝑐 und 𝑝. Dabei ist 𝑝 eine Primzahl und 𝑐 < 𝑝.

1. Alice wählt eine zufällige Zahl 𝑎 < 𝑝 , hält diese geheim und berechnet die Zahl
𝑥 = 𝑐𝑎 mod 𝑝
Sie schickt 𝑥 an Bob.
Alice Bob
2. Bob wählt eine zufällige Zahl 𝑏, hält diese geheim und berechnet die Zahl
𝑦 = 𝑐𝑏 mod 𝑝
Er schickt 𝑦 an Alice.

3. Alice erhält 𝑦 von Bob und berechnet mit ihrer geheimen Zahl 𝑎 den Schlüssel 𝒔 𝑨𝑩
𝑠𝐴𝐵 = 𝑦𝑎 mod 𝑝

4. Bob erhält 𝑥 von Alice und berechnet mit seiner geheimen Zahl 𝑏 den Schlüssel
𝑠𝐵𝐴 = 𝑥𝑏 mod 𝑝
𝒔 𝑩𝑨
Da 𝒔𝑨𝑩 = 𝒔𝑩𝑨 gilt, haben beide die gleiche Zahl berechnet. Diese Zahl ist der gemeinsame Schlüssel.

Karlsruhe University of Applied Sciences


Diffie-Hellman Protokoll (Beispiel)
Alice & Bob einigen sich auf zwei öffentliche natürliche Zahlen 𝑐 = 3 und 𝑝 = 17.
Dabei ist 𝑝 eine Primzahl und 𝑐 < 𝑝.

1. Alice wählt eine zufällige Zahl 𝑎 = 6 < 𝑝 , hält diese geheim und berechnet die Zahl
𝑥 = 𝑐𝑎 mod 𝑝 = 36 mod 17 = 729 mod 17 = 15
Sie schickt 𝑥 = 15 an Bob.

2. Bob wählt eine zufällige Zahl 𝑏 = 4, hält diese geheim und berechnet die Zahl
𝑦 = 𝑐𝑏 mod 𝑝 = 34 mod 17 = 81 mod 17 = 13
Er schickt 𝑦 = 13 an Alice.

3. Alice erhält 𝑦 = 13 von Bob und berechnet mit ihrer geheimen Zahl 𝑎 den Schlüssel
3 3
𝑠𝐴𝐵 = 𝑦𝑎 mod 𝑝 = 136 mod 17 = 132 mod 17 = 132 mod 17 mod 17 = 163 mod 17 = 16

4. Bob erhält 𝑥 = 15 von Alice und berechnet mit seiner geheimen Zahl 𝑏 den Schlüssel
2
𝑠𝐵𝐴 = 𝑥𝑏 mod 𝑝 = 154 mod 17 = 152 mod 17 mod 17 = 16

Da 𝑠 =𝑠
𝐴𝐵 of Applied
Karlsruhe University = 16 gilt, haben beide die gleiche Zahl berechnet. Diese Zahl ist der gemeinsame Schlüssel.
𝐵𝐴Sciences
Diffie-Hellman Protokoll (Beispiel)
Alice & Bob einigen sich auf zwei öffentliche natürliche Zahlen 𝑐 = 3 und 𝑝 = 17.
Dabei ist 𝑝 eine Primzahl und 𝑐 < 𝑝.

1. Alice wählt eine zufällige Zahl 𝑎 = 6 < 𝑝 , hält diese geheim und berechnet die Zahl
𝑥 = 𝑐𝑎 mod 𝑝 = 36 mod 17 = 729 mod 17 = 15
Sie schickt 𝑥 = 15 an Bob.

2. Bob wählt eine zufällige Zahl 𝑏 = 4, hält diese geheim und berechnet die Zahl
𝑦 = 𝑐𝑏 mod 𝑝 = 34 mod 17 = 81 mod 17 = 13
Er schickt 𝑦 = 13 an Alice.

3. Alice erhält 𝑦 = 13 von Bob und berechnet mit ihrer geheimen Zahl 𝑎 den Schlüssel
3 3
𝑠𝐴𝐵 = 𝑦𝑎 mod 𝑝 = 136 mod 17 = 132 mod 17 = 132 mod 17 mod 17 = 163 mod 17 = 16
2
36 mod 17 = 33⋅2 mod 17 = 33 mod 17= ( 33 ⋅ 33 ) mod 17 = (( 33 mod 17)( 33 mod 17) ) mod 17
4. Bob erhält 𝑥 = 15 von Alice und berechnet mit seiner geheimen Zahl 𝑏 den Schlüssel
2
𝑠𝐵𝐴 = 𝑥𝑏 mod 𝑝 = 154 mod 17 = 152 mod 17 mod 17 = 16 2
𝑥′ 𝑦′ 33 mod 17
Da 𝑠 =𝑠
𝐴𝐵 of Applied
Karlsruhe University = 16 gilt, haben beide die gleiche Zahl berechnet. Diese Zahl ist der gemeinsame Schlüssel.
𝐵𝐴Sciences

Regel: 𝑥′ ⊙𝑎 𝑦′ = (𝑥′ mod 𝑎) ⋅ (𝑦′ mod 𝑎) mod 𝑎


Diffie-Hellman Protokoll (Beispiel)
Alice & Bob einigen sich auf zwei öffentliche natürliche Zahlen 𝑐 = 3 und 𝑝 = 17.
Dabei ist 𝑝 eine Primzahl und 𝑐 < 𝑝.

1. Alice wählt eine zufällige Zahl 𝑎 = 6 < 𝑝 , hält diese geheim und berechnet die Zahl
𝑥 = 𝑐𝑎 mod 𝑝 = 36 mod 17 = 729 mod 17 = 15
Sie schickt 𝑥 = 15 an Bob.

2. Bob wählt eine zufällige Zahl 𝑏 = 4, hält diese geheim und berechnet die Zahl
𝑦 = 𝑐𝑏 mod 𝑝 = 34 mod 17 = 81 mod 17 = 13
Er schickt 𝑦 = 13 an Alice.

3. Alice erhält 𝑦 = 13 von Bob und berechnet mit ihrer geheimen Zahl 𝑎 den Schlüssel
3 3
𝑠𝐴𝐵 = 𝑦𝑎 mod 𝑝 = 136 mod 17 = 132 mod 17 = 132 mod 17 mod 17 = 163 mod 17 = 16
2
36 mod 17 = 33⋅2 mod 17 = 33 mod 17= ( 33 ⋅ 33 ) mod 17 = (( 33 mod 17)( 33 mod 17) ) mod 17
4. Bob erhält 𝑥 = 15 von Alice und berechnet mit seiner geheimen Zahl 𝑏 den Schlüssel
2
𝑠𝐵𝐴 = 𝑥𝑏 mod 𝑝 = 154 mod 17 = 152 mod 17 mod 17 = 16 2
𝑥′ 𝑦′ 33 mod 17
Da 𝑠 =𝑠
𝐴𝐵 of Applied
Karlsruhe University = 16 gilt, haben beide die gleiche Zahl berechnet. Diese Zahl ist der gemeinsame Schlüssel.
𝐵𝐴Sciences

Regel: 𝑥′ ⊙𝑎 𝑦′ = (𝑥′ mod 𝑎) ⋅ (𝑦′ mod 𝑎) mod 𝑎


Potenz-Modulo Rechnen

https://medienwissenschaft.uni-bayreuth.de/inik/material/email_nur_fuer_dich/3_verschluesseln/3.3_asymmetrisch_verschluesseln/Modulares%20Potenzieren%20-%20AB.pdf
Diffie-Hellman Protokoll (Beispiel)
Alice & Bob einigen sich auf zwei öffentliche natürliche Zahlen 𝑐 = 3 und 𝑝 = 17.
Dabei ist 𝑝 eine Primzahl und 𝑐 < 𝑝.

1. Alice wählt eine zufällige Zahl 𝑎 = 6 < 𝑝 , hält diese geheim und berechnet die Zahl
𝑥 = 𝑐𝑎 mod 𝑝 = 36 mod 17 = 729 mod 17 = 15
Sie schickt 𝑥 = 15 an Bob.

2. Bob wählt eine zufällige Zahl 𝑏 = 4, hält diese geheim und berechnet die Zahl
𝑦 = 𝑐𝑏 mod 𝑝 = 34 mod 17 = 81 mod 17 = 13
Er schickt 𝑦 = 13 an Alice.

3. Alice erhält 𝑦 = 13 von Bob und berechnet mit ihrer geheimen Zahl 𝑎 den Schlüssel
3 3
𝑠𝐴𝐵 = 𝑦𝑎 mod 𝑝 = 136 mod 17 = 132 mod 17 = 132 mod 17 mod 17 = 163 mod 17 = 16

4. Bob erhält 𝑥 = 15 von Alice und berechnet mit seiner geheimen Zahl 𝑏 den Schlüssel
2
𝑠𝐵𝐴 = 𝑥𝑏 mod 𝑝 = 154 mod 17 = 152 mod 17 mod 17 = 16

Da 𝑠 =𝑠
𝐴𝐵 of Applied
Karlsruhe University = 16 gilt, haben beide die gleiche Zahl berechnet. Diese Zahl ist der gemeinsame Schlüssel.
𝐵𝐴Sciences
Diffie-Hellman Protokoll (Beispiel)
Alice & Bob einigen sich auf zwei öffentliche natürliche Zahlen 𝑐 = 3 und 𝑝 = 17.
Dabei ist 𝑝 eine Primzahl und 𝑐 < 𝑝.

1. Alice wählt eine zufällige Zahl 𝑎 = 6 < 𝑝 , hält diese geheim und berechnet die Zahl
𝑥 = 𝑐𝑎 mod 𝑝 = 36 mod 17 = 729 mod 17 = 15
Sie schickt 𝑥 = 15 an Bob.

2. Bob wählt eine zufällige Zahl 𝑏 = 4, hält diese geheim und berechnet die Zahl
𝑦 = 𝑐𝑏 mod 𝑝 = 34 mod 17 = 81 mod 17 = 13
Er schickt 𝑦 = 13 an Alice.

3. Alice erhält 𝑦 = 13 von Bob und berechnet mit ihrer geheimen Zahl 𝑎 den Schlüssel
3 3
𝑠𝐴𝐵 = 𝑦𝑎 mod 𝑝 = 136 mod 17 = 132 mod 17 = 132 mod 17 mod 17 = 163 mod 17 = 16

4. Bob erhält 𝑥 = 15 von Alice und berechnet mit seiner geheimen Zahl 𝑏 den Schlüssel
2
𝑠𝐵𝐴 = 𝑥𝑏 mod 𝑝 = 154 mod 17 = 152 mod 17 mod 17 = 16

Da 𝑠𝐴𝐵 = 𝑠𝐵𝐴 = 16 gilt, haben beide die gleiche Zahl berechnet. Diese Zahl ist der gemeinsame Schlüssel.
Asymmetrische Verschlüsselungsverfahren

Verschlüsselte Nachricht privater


Kryptotext Kryptotext Schlüssel

Verschlüsselung Entschlüsselung

öffentlicher
Klartext Schlüssel Klartext

Sender Empfänger
RSA
RSA (Rivest–Shamir–Adleman) ist ein asymmetrisches kryptographisches Verfahren, das sowohl zum
Verschlüsseln als auch zum digitalen Signieren verwendet werden kann.

Ronald L. Rivest, Adi Shamir und Leonard Adleman versuchten 1978 am MIT die Theorie von Diffie und
Hellman zur Public-Key-Kryptografie zu widerlegen. Allerdings fanden sie ein Verfahren ohne Angriffspunkte.

Karlsruhe University of Applied Sciences


RSA
Der Empfänger Bob

1. wählt zufällige große Primzahlen 𝑝 und 𝑞. Daraus berechnet er


𝑛 =𝑝 ⋅𝑞

2. berechnet die Eulersche Zahl ϕ 𝑛 , welche die Anzahl der Element 𝑥 in 𝑍𝑛 mit 𝑔𝑔𝑇 𝑛,𝑥 = 1 bestimmt:
𝜙 𝑥 = (𝑝 − 1)(𝑞 − 1)

3. wählt zufällig eine große Zahl 𝑒 ∈ 𝑍𝑛 mit 𝑔𝑔𝑇 𝑒,𝜙 𝑛 = 1 und berechnet 𝑑, das Inverse zu 𝑒 modulo 𝜙(𝑛) ist, d.h
𝑑 ⋅ 𝑒 𝑚𝑜𝑑 𝜙 𝑛 = 1

Der öffentliche Schlüssel ist (𝑛,𝑒) und


der private Schlüssel ist (𝑝,𝑞,𝜙 𝑛 ,𝑑). Wobei (𝑝,𝑞,𝜙 𝑛 ) nicht mehr benötigt und vernichtet werden können.

Verschlüsselung: 𝑓𝑒 𝑚 = 𝑚𝑒 mod 𝑛 = 𝑐
Entschlüsselung: 𝑓𝑑 𝑐 = 𝑐𝑑 mod 𝑛

Public-Key Eigenschaft:
Wenn man nur die Zahl 𝑛 kennt (und nicht etwa die Faktoren 𝑝 und 𝑞
oder die Zahl 𝜙 𝑥 = (𝑝 − 1)(𝑞 − 1), so kann man aus 𝑒 nicht 𝑑 berechnen.
RSA (Beispiel)
Der Empfänger Bob

1. wählt zufällige große Primzahlen 𝑝 = 11 und 𝑞 = 17. Daraus berechnet er


𝑛 = 𝑝 ⋅ 𝑞 = 11 ⋅ 17 = 187

2. berechnet die Eulersche Zahl ϕ 𝑛 , welche die Anzahl der Element 𝑥 in 𝑍𝑛 mit 𝑔𝑔𝑇 𝑛,𝑥 = 1 bestimmt:
𝜙 𝑥 = (𝑝 − 1) 𝑞 − 1 = 10 ⋅ 16 = 160

3. wählt zufällig eine große Zahl 𝑒 ∈ 𝑍𝑛 mit 𝑔𝑔𝑇 𝑒,𝜙 𝑛 = 1 und berechnet 𝑑, das Inverse zu 𝑒 modulo 𝜙(𝑛) ist, d.h
𝑑 ⋅ 𝑒 𝑚𝑜𝑑 𝜙 𝑛 = 1

Karlsruhe University of Applied Sciences


RSA (Beispiel)
Der Empfänger Bob

1. wählt zufällige große Primzahlen 𝑝 = 11 und 𝑞 = 17. Daraus berechnet er


𝑛 = 𝑝 ⋅ 𝑞 = 11 ⋅ 17 = 187

2. berechnet die Eulersche Zahl ϕ 𝑛 , welche die Anzahl der Element 𝑥 in 𝑍𝑛 mit 𝑔𝑔𝑇 𝑛,𝑥 = 1 bestimmt:
𝜙 𝑥 = (𝑝 − 1) 𝑞 − 1 = 10 ⋅ 16 = 160

3. wählt zufällig eine große Zahl 𝑒 ∈ 𝑍𝑛 mit 𝑔𝑔𝑇 𝑒,𝜙 𝑛 = 1 und berechnet 𝑑, das Inverse zu 𝑒 modulo 𝜙(𝑛) ist, d.h
𝑑 ⋅ 𝑒 𝑚𝑜𝑑 𝜙 𝑛 = 1

𝜙 𝑥 = 160 = 25 ⋅ 5 (Primfaktorzerlegung)
𝑔𝑔𝑇 𝑒,𝜙 𝑛 = 1 (𝑒= 3,7,9,11 erfüllen die Bedingung)

Karlsruhe University of Applied Sciences


RSA (Beispiel)
Der Empfänger Bob

1. wählt zufällige große Primzahlen 𝑝 = 11 und 𝑞 = 17. Daraus berechnet er


𝑛 = 𝑝 ⋅ 𝑞 = 11 ⋅ 17 = 187

2. berechnet die Eulersche Zahl ϕ 𝑛 , welche die Anzahl der Element 𝑥 in 𝑍𝑛 mit 𝑔𝑔𝑇 𝑛,𝑥 = 1 bestimmt:
𝜙 𝑥 = (𝑝 − 1) 𝑞 − 1 = 10 ⋅ 16 = 160

3. wählt zufällig eine große Zahl 𝑒 = 7 mit 𝑔𝑔𝑇 𝑒,𝜙 𝑛 = 1 und berechnet 𝑑, das Inverse zu 𝑒 modulo 𝜙(𝑛) ist, d.h
𝑑 ⋅ 𝑒 𝑚𝑜𝑑 𝜙 𝑛 = 1

𝜙 𝑥 = 160 = 25 ⋅ 5 (Primfaktorzerlegung)
𝑔𝑔𝑇 𝑒,𝜙 𝑛 = 1 (𝑒= 3,7,9,11 erfüllen die Bedingung)

Karlsruhe University of Applied Sciences


RSA (Beispiel)
Der Empfänger Bob

1. wählt zufällige große Primzahlen 𝑝 = 11 und 𝑞 = 17. Daraus berechnet er


𝑛 = 𝑝 ⋅ 𝑞 = 11 ⋅ 17 = 187

2. berechnet die Eulersche Zahl ϕ 𝑛 , welche die Anzahl der Element 𝑥 in 𝑍𝑛 mit 𝑔𝑔𝑇 𝑛,𝑥 = 1 bestimmt:
𝜙 𝑥 = (𝑝 − 1) 𝑞 − 1 = 10 ⋅ 16 = 160

3. wählt zufällig eine große Zahl 𝑒 = 7 mit 𝑔𝑔𝑇 𝑒,𝜙 𝑛 = 1 und berechnet 𝑑, das Inverse zu 𝑒 modulo 𝜙(𝑛) ist, d.h
𝑑 ⋅ 𝑒 𝑚𝑜𝑑 𝜙 𝑛 = 1

𝜙 𝑥 = 160 = 25 ⋅ 5 (Primfaktorzerlegung)
𝑔𝑔𝑇 𝑒,𝜙 𝑛 = 1 (𝑒= 3,7,9,11 erfüllen die Bedingung)

Karlsruhe University of Applied Sciences Theoretisch möglich alle


auszuprobieren... Praktisch
nicht...
RSA (Beispiel)
Der Empfänger Bob

1. wählt zufällige große Primzahlen 𝑝 = 11 und 𝑞 = 17. Daraus berechnet er


𝑛 = 𝑝 ⋅ 𝑞 = 11 ⋅ 17 = 187

2. berechnet die Eulersche Zahl ϕ 𝑛 , welche die Anzahl der Element 𝑥 in 𝑍𝑛 mit 𝑔𝑔𝑇 𝑛,𝑥 = 1 bestimmt:
𝜙 𝑥 = (𝑝 − 1) 𝑞 − 1 = 10 ⋅ 16 = 160

3. wählt zufällig eine große Zahl 𝑒 = 7 mit 𝑔𝑔𝑇 𝑒,𝜙 𝑛 = 1 und berechnet 𝑑 = 23, das Inverse zu 𝑒 modulo 𝜙(𝑛), d.h
𝑑 ⋅ 𝑒 𝑚𝑜𝑑 𝜙 𝑛 = 1

𝜙 𝑥 = 160 = 25 ⋅ 5 (Primfaktorzerlegung)
𝑔𝑔𝑇 𝑒,𝜙 𝑛 = 1 (𝑒= 3,7,9,11 erfüllen die Bedingung)

Der erweiterten Euklidischen


Algorithmus* liefert 𝑑 = 23.
Karlsruhe University of Applied Sciences
7 ⋅ 23 𝑚𝑜𝑑 160 = 1

(*)siehe Anhang...
RSA (Beispiel)
Der Empfänger Bob

1. wählt zufällige große Primzahlen 𝑝 = 11 und 𝑞 = 17. Daraus berechnet er


𝑛 = 𝑝 ⋅ 𝑞 = 11 ⋅ 17 = 187

2. berechnet die Eulersche Zahl ϕ 𝑛 , welche die Anzahl der Element 𝑥 in 𝑍𝑛 mit 𝑔𝑔𝑇 𝑛,𝑥 = 1 bestimmt:
𝜙 𝑥 = (𝑝 − 1) 𝑞 − 1 = 10 ⋅ 16 = 160

3. wählt zufällig eine große Zahl 𝑒 = 7 mit 𝑔𝑔𝑇 𝑒,𝜙 𝑛 = 1 und berechnet 𝑑 = 23, das Inverse zu 𝑒 modulo 𝜙(𝑛), d.h
𝑑 ⋅ 𝑒 𝑚𝑜𝑑 𝜙 𝑛 = 1

Klartext 𝑚=13
Verschlüsselung: 𝑓𝑒 𝑚 = 𝑚𝑒 mod 𝑛 = 137 mod 187 = 106
Entschlüsselung: 𝑓𝑑 𝑐 = 𝑐𝑑 mod 𝑛 = 10623 mod 187 = 13

Karlsruhe University of Applied Sciences


Signieren von Nachrichten
Bob kann Nachrichten mit seinem privaten Schlüssel signieren.

Es ist egal, ob Bob e oder d als öffentlichen Schlüssel verwendet;


Entschlüsselung/Verschlüsselung funktioniert in beide Richtungen:

Klartext 𝑚=13
Verschlüsselung: 𝑓𝑒 𝑚 = 𝑚𝑒 mod 𝑛 = 137 mod 187 = 106
Entschlüsselung: 𝑓𝑑 𝑐 = 𝑐𝑑 mod 𝑛 = 10623 mod 187 = 13

Klartext 𝑚=13
Verschlüsselung: 𝑓𝑑 𝑚 = 𝑚𝑑 mod 𝑛 = 1323 mod 187 = 140
Entschlüsselung: 𝑓𝑒 𝑐 = 𝑐𝑒 mod 𝑛 = 1407 mod 187 = 13

Karlsruhe University of Applied Sciences

https://www.omnicalculator.com/de/mathematik/potenz-modulo-rechner
Signieren von Nachrichten
Bob kann Nachrichten mit seinem privaten Schlüssel signieren.

Es ist egal, ob Bob e oder d als öffentlichen Schlüssel verwendet;


Entschlüsselung/Verschlüsselung funktioniert in beide Richtungen:

Klartext 𝑚=13
Verschlüsselung: 𝑓𝑒 𝑚 = 𝑚𝑒 mod 𝑛 = 137 mod 187 = 106
Entschlüsselung: 𝑓𝑑 𝑐 = 𝑐𝑑 mod 𝑛 = 10623 mod 187 = 13

Klartext 𝑚=13
Verschlüsselung: 𝑓𝑑 𝑚 = 𝑚𝑑 mod 𝑛 = 1323 mod 187 = 140
Entschlüsselung: 𝑓𝑒 𝑐 = 𝑐𝑒 mod 𝑛 = 1407 mod 187 = 13

Idee: Ein mit dem privaten Schlüssel verschlüsselte Text kann mit dem öffentlichen Schlüssel entschlüsselt werden.

Karlsruhe University of Applied Sciences

https://www.omnicalculator.com/de/mathematik/potenz-modulo-rechner
Signieren von Nachrichten
Bob kann Nachrichten mit seinem privaten Schlüssel signieren.

Es ist egal, ob Bob e oder d als öffentlichen Schlüssel verwendet;


Entschlüsselung/Verschlüsselung funktioniert in beide Richtungen:

Klartext 𝑚=13
Verschlüsselung: 𝑓𝑒 𝑚 = 𝑚𝑒 mod 𝑛 = 137 mod 187 = 106
Entschlüsselung: 𝑓𝑑 𝑐 = 𝑐𝑑 mod 𝑛 = 10623 mod 187 = 13

Klartext 𝑚=13
Verschlüsselung: 𝑓𝑑 𝑚 = 𝑚𝑑 mod 𝑛 = 1323 mod 187 = 140
Entschlüsselung: 𝑓𝑒 𝑐 = 𝑐𝑒 mod 𝑛 = 1407 mod 187 = 13

Idee: Ein mit dem privaten Schlüssel verschlüsselte Text kann mit dem öffentlichen Schlüssel entschlüsselt werden.
Praktisches Vorgehen: 1) Hash eines Textes berechnen

Karlsruhe University of Applied Sciences

https://www.omnicalculator.com/de/mathematik/potenz-modulo-rechner
Signieren von Nachrichten
Bob kann Nachrichten mit seinem privaten Schlüssel signieren. „Eine Hashfunktion ist eine Abbildung, die
eine große Eingabemenge, z.B.
Es ist egal, ob Bob e oder d als öffentlichen Schlüssel verwendet; Dateiinhalte, auf eine kleinere Zielmenge,
Entschlüsselung/Verschlüsselung funktioniert in beide Richtungen: die Hashwerte, abbildet. [..] Bei Prüfsummen
verwendet man Hashwerte, um
Klartext 𝑚=13 Übertragungsfehler zu erkennen.“
Verschlüsselung: 𝑓𝑒 𝑚 = 𝑚 mod 𝑛 = 13 mod 187 = 106
𝑒 7
In der Kryptologie werden spezielle
Entschlüsselung: 𝑓𝑑 𝑐 = 𝑐𝑑 mod 𝑛 = 10623 mod 187 = 13 kryptographische Hashfunktionen z.B. zur
sicheren Speicherung von Passwörtern
Klartext 𝑚=13 verwendet.
Verschlüsselung: 𝑓𝑑 𝑚 = 𝑚 mod 𝑛 = 13 mod 187 = 140
𝑑 23

Entschlüsselung: 𝑓𝑒 𝑐 = 𝑐𝑒 mod 𝑛 = 1407 mod 187 = 13

Idee: Ein mit dem privaten Schlüssel verschlüsselte Text kann mit dem öffentlichen Schlüssel entschlüsselt werden.
Praktisches Vorgehen: 1) Hash eines Textes berechnen

Karlsruhe University of Applied Sciences

https://www.omnicalculator.com/de/mathematik/potenz-modulo-rechner
Signieren von Nachrichten
Bob kann Nachrichten mit seinem privaten Schlüssel signieren.

Es ist egal, ob Bob e oder d als öffentlichen Schlüssel verwendet;


Entschlüsselung/Verschlüsselung funktioniert in beide Richtungen:

Klartext 𝑚=13
Verschlüsselung: 𝑓𝑒 𝑚 = 𝑚𝑒 mod 𝑛 = 137 mod 187 = 106
Entschlüsselung: 𝑓𝑑 𝑐 = 𝑐𝑑 mod 𝑛 = 10623 mod 187 = 13

Klartext 𝑚=13
Verschlüsselung: 𝑓𝑑 𝑚 = 𝑚𝑑 mod 𝑛 = 1323 mod 187 = 140
Entschlüsselung: 𝑓𝑒 𝑐 = 𝑐𝑒 mod 𝑛 = 1407 mod 187 = 13

Idee: Ein mit dem privaten Schlüssel verschlüsselte Text kann mit dem öffentlichen Schlüssel entschlüsselt werden.
Praktisches Vorgehen: 1) Hash eines Textes berechnen
2) Hash mit dem privaten Schüssel verschlüsseln
3) verschlüsselter Hash dient als Signatur

Karlsruhe University of Applied Sciences

https://www.omnicalculator.com/de/mathematik/potenz-modulo-rechner
Signieren von Nachrichten
Bob kann Nachrichten mit seinem privaten Schlüssel signieren.

Es ist egal, ob Bob e oder d als öffentlichen Schlüssel verwendet;


Entschlüsselung/Verschlüsselung funktioniert in beide Richtungen:

Klartext 𝑚=13
Verschlüsselung: 𝑓𝑒 𝑚 = 𝑚𝑒 mod 𝑛 = 137 mod 187 = 106
Entschlüsselung: 𝑓𝑑 𝑐 = 𝑐𝑑 mod 𝑛 = 10623 mod 187 = 13

Klartext 𝑚=13
Verschlüsselung: 𝑓𝑑 𝑚 = 𝑚𝑑 mod 𝑛 = 1323 mod 187 = 140
Entschlüsselung: 𝑓𝑒 𝑐 = 𝑐𝑒 mod 𝑛 = 1407 mod 187 = 13

Idee: Ein mit dem privaten Schlüssel verschlüsselte Text kann mit dem öffentlichen Schlüssel entschlüsselt werden.
Praktisches Vorgehen: 1) Hash eines Textes berechnen
2) Hash mit dem privaten Schüssel verschlüsseln
3) verschlüsselter Hash dient als Signatur
4) Empfänger kann Hash aus dem Text berechnen
Karlsruhe University of Applied Sciences und vergleichen mit dem öffentlichen Schlüssel entschlüsselten Hash

https://www.omnicalculator.com/de/mathematik/potenz-modulo-rechner
HTTPS

Verschlüsselte Nachrichten

Bob

Karlsruhe University of Applied Sciences


HTTPS

Verschlüsselte Nachrichten

Bob

„Syntaktisch ist HTTPS identisch mit dem Schema für HTTP, die zusätzliche Verschlüsselung
der Daten geschieht mittels SSL/TLS: Unter Verwendung des SSL-Handshake-Protokolls findet
zunächst eine geschützte Identifikation und Authentifizierung der Kommunikationspartner statt.

Anschließend wird mit Hilfe asymmetrischer Verschlüsselung oder des Diffie-Hellman-


Schlüsselaustauschs ein gemeinsamer symmetrischer Sitzungsschlüssel ausgetauscht.
Dieser wird schließlich zur Verschlüsselung der Nutzdaten verwendet.“
https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol_Secure
Bitcoins

https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Bitcoins

https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Bitcoins: Transaktionen

Information
der letzten
Transaktion:

https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Bitcoins: Transaktionen

Information
der letzten
Transaktion:

Owner 1 besitzt
den Bitcoin (sein
öffentlicher Key ist
enthalten
/gespeichert)

https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Bitcoins: Transaktionen

Information
der letzten
Transaktion:
Owner 1 möchten seinen Bitcoin verkaufen.
Er benötigt zur authentification seinen privaten Schlüssel!
Owner 1 besitzt
den Bitcoin (sein
öffentlicher Key ist
Öffentlicher und privater Schlüssel sind in einer „Wallet“
enthalten
gespeichert. Für jede Transaktion wird ein neues
/gespeichert)
Schlüsselpaar von der Wallet erzeugt und in dieser ge-
speichert.
https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Bitcoins: Transaktionen

Information
der letzten
Transaktion:
Owner 1 möchten seinen Bitcoin verkaufen.
Er benötigt zur authentification seinen privaten Schlüssel!
Owner 1 besitzt
den Bitcoin (sein
öffentlicher Key ist
Öffentlicher und privater Schlüssel sind in einer „Wallet“
enthalten
gespeichert. Für jede Transaktion wird ein neues
/gespeichert)
Schlüsselpaar von der Wallet erzeugt und in dieser ge-
speichert.
https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Bitcoins: Transaktionen
Information der letzten Transaktion
Owner 2 besitzt den Bitcoin

Owner 1 verkauft seinen Bitcoin an


Owner 2.

Owner 1 beweist, dass er den Bitcoin


besitzt durch den Besitz des privaten
Schlüssels!

https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Bitcoins: Transaktionen in einer Kette digitaler Signaturen

Jeder Käufer kann den


Besitz durch die
Signaturen und die
Kette der Signaturen
verifizieren.
https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Bitcoins: Transaktionen in einer Kette digitaler Signaturen

Problem?

https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Bitcoins: Transaktionen in einer Kette digitaler Signaturen

Problem:
Wie wird doppeltes
Ausgeben verhindert?

4 5

https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin 4
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences 4 5


Bitcoins: Verhindern von Doppeltausgaben
Problem:
Wie wird doppeltes
Ausgeben verhindert?

Traditionell:
• durch ein Institut dem alle Teilnehmer vertrauen (aka Bank)

Bitcoin:
• Jede Transaktion braucht einen Zeitstempel
• Öffentliches Bekanntmachen der Transaktionen
• Die erste Ausgabe des Bitcoins ist die einzig wahre (alle späteren sind Doppeltausgaben!)
• Alle Teilnehmer benutzen ein System, um sich auf eine einzige Transaktionsgeschichte zu einigen

https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Bitcoins: Verhindern von Doppeltausgaben
Problem:
Wie wird doppeltes
Einfügen von Zeitinformationen in den Hash
Ausgeben verhindert?

Traditionell:
• durch ein Institut dem alle Teilnehmer vertrauen (aka Bank)

Bitcoin:
• Jede Transaktion braucht einen Zeitstempel
• Öffentliches Bekanntmachen der Transaktionen
• Die erste Ausgabe des Bitcoins ist die einzig wahre (alle späteren sind Doppeltausgaben!)
• Alle Teilnehmer benutzen ein System, um sich auf eine einzige Transaktionsgeschichte zu einigen

https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Bitcoins: Verhindern von Doppeltausgaben
Problem:
Wie wird doppeltes
Einfügen von Zeitinformationen in den Hash
Ausgeben verhindert?

Traditionell:
Dezentrales Speichern in einem
• durch ein Institut dem alle Teilnehmer vertrauen (aka Bank) peer-to-peer Netzwerk

Bitcoin:
• Jede Transaktion braucht einen Zeitstempel
• Öffentliches Bekanntmachen der Transaktionen
• Die erste Ausgabe des Bitcoins ist die einzig wahre (alle späteren sind Doppeltausgaben!)
• Alle Teilnehmer benutzen ein System, um sich auf eine einzige Transaktionsgeschichte zu einigen

https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Bitcoins: Verhindern von Doppeltausgaben
Problem:
Wie wird doppeltes
Einfügen von Zeitinformationen in den Hash
Ausgeben verhindert?

Traditionell:
Dezentrales Speichern in einem
• durch ein Institut dem alle Teilnehmer vertrauen (aka Bank) peer-to-peer Netzwerk

Bitcoin:
• Jede Transaktion braucht einen Zeitstempel
• Öffentliches Bekanntmachen der Transaktionen
• Die erste Ausgabe des Bitcoins ist die einzig wahre (alle späteren sind Doppeltausgaben!)
• Alle Teilnehmer benutzen ein System, um sich auf eine einzige Transaktionsgeschichte zu einigen

https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Wieso ist das nötig?
Bitcoins: Verhindern von Doppeltausgaben
Problem:
Wie wird doppeltes
Einfügen von Zeitinformationen in den Hash
Ausgeben verhindert?

Traditionell:
Dezentrales Speichern in einem
• durch ein Institut dem alle Teilnehmer vertrauen (aka Bank) peer-to-peer Netzwerk

Bitcoin:
• Jede Transaktion braucht einen Zeitstempel
• Öffentliches Bekanntmachen der Transaktionen
• Die erste Ausgabe des Bitcoins ist die einzig wahre (alle späteren sind Doppeltausgaben!)
• Alle Teilnehmer benutzen ein System, um sich auf eine einzige Transaktionsgeschichte zu einigen

https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Ansonsten könnten viele Ketten
nebeneinander existieren...
Bitcoins: Verhindern von Doppeltausgaben
Problem:
Wie wird doppeltes
Einfügen von Zeitinformationen in den Hash
Ausgeben verhindert?

Traditionell:
Dezentrales Speichern in einem
• durch ein Institut dem alle Teilnehmer vertrauen (aka Bank) peer-to-peer Netzwerk

Bitcoin:
• Jede Transaktion braucht einen Zeitstempel
• Öffentliches Bekanntmachen der Transaktionen
• Die erste Ausgabe des Bitcoins ist die einzig wahre (alle späteren sind Doppeltausgaben!)
• Alle Teilnehmer benutzen ein System, um sich auf eine einzige Transaktionsgeschichte zu einigen

https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences

Blockchain
Bitcoins: Blockchain
• Block auf Informationen einer oder mehrerer Transaktionen
• Jeder Block braucht einen Zeitstempel (time server)
• Anhängen eines neuen Blocks an eine Kette erfordert Arbeit (proof-of-work)

https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Bitcoins: Blockchain
• Block auf Informationen einer oder mehrerer Transaktionen
• Jeder Block braucht einen Zeitstempel (time server)
• Anhängen eines neuen Blocks an eine Kette erfordert Arbeit (proof-of-work)

• Erschwert das Erstellen einer alternativen Kette


• Erschwert das Abändern (fälschen) der letzten Blöcke einer Kette
(hierzu müsste für jedes Blockelement die Arbeit erneut aufgebracht werden)

https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Bitcoins: Blockchain
• Block auf Informationen einer oder mehrerer Transaktionen
• Jeder Block braucht einen Zeitstempel (time server)
• Anhängen eines neuen Blocks an eine Kette erfordert Arbeit (proof-of-work)
• Die längste Kette (die mit der meisten Arbeit) ist diejenige auf die sich alle einigen

https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Bitcoins: Blockchain (proof-of-work)
• Block auf Informationen einer oder mehrerer Transaktionen
• Jeder Block braucht einen Zeitstempel (time server)
• Anhängen eines neuen Blocks an eine Kette erfordert Arbeit (proof-of-work)
• Die längste Kette (die mit der meisten Arbeit) ist diejenige auf die sich alle einigen

proof of work besteht darin einen Wert (Nonce) zu finden, für den der
Hash des Blockes eine bestimmte Eigenschaft hat. Bei Bitcoins eine
https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin

vorgegebene Anzahl von führenden Nullen.


https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


Bitcoins: Blockchain (proof-of-work)
• Block auf Informationen einer oder mehrerer Transaktionen
• Jeder Block braucht einen Zeitstempel (time server)
• Anhängen eines neuen Blocks an eine Kette erfordert Arbeit (proof-of-work)
• Die längste Kette (die mit der meisten Arbeit) ist diejenige auf die sich alle einigen

proof of work besteht darin einen Wert (Nonce) zu finden, für den der
Hash des Blockes eine bestimmte Eigenschaft hat. Bei Bitcoins eine
https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin

vorgegebene Anzahl von führenden Nullen.


https://developer.bitcoin.org/devguide/index.html

https://bitcoin.org/en/how-it-works

Karlsruhe University of Applied Sciences


„To compensate for increasing hardware speed and varying interest in running nodes
over time, the proof-of-work difficulty is determined by a moving average targeting an
average number of blocks per hour. If they're generated too fast, the difficulty increases“
Bitcoins: Mining

Karlsruhe University of Applied Sciences


Bitcoins: Privacy

Karlsruhe University of Applied Sciences

Karlsruhe University of Applied Sciences


www.h-ka.de
Potenz-Modulo Rechnen - Beispielrechnungen

https://youtu.be/ribhv53H288
https://youtu.be/tLL5zkURcBs
https://youtu.be/k6d29PTHtmI
Potenz-Modulo Rechnen

https://medienwissenschaft.uni-bayreuth.de/inik/material/email_nur_fuer_dich/3_verschluesseln/3.3_asymmetrisch_verschluesseln/Modulares%20Potenzieren%20-%20AB.pdf
Potenz-Modulo Rechnen - Rekursionsansatz

https://medienwissenschaft.uni-bayreuth.de/inik/material/email_nur_fuer_dich/3_verschluesseln/3.3_asymmetrisch_verschluesseln/Modulares%20Potenzieren%20-%20AB.pdf
https://medienwissenschaft.uni-bayreuth.de/inik/material/email_nur_fuer_dich/3_verschluesseln/3.3_asymmetrisch_verschluesseln/

Karlsruhe University of Applied Sciences


Euklidische Algorithmus

Karlsruhe University of Applied Sciences


Erweiterter Euklidische Algorithmus

Da gilt:

Karlsruhe University of Applied Sciences


Erweiterter Euklidische Algorithmus

Karlsruhe University of Applied Sciences

Das könnte Ihnen auch gefallen