11 Crypto Bitcoins
11 Crypto Bitcoins
Kryptographie 2/2
Nachrichten
Alice Bob
Modulares Rechnen mit der algebraische Struktur (ℤ𝑎 ,⊕𝑎, ⊙𝑎) und ℤ𝑎 = {0,1,...,𝑎 − 1}
Modulares Rechnen: Übersicht
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)
*„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)
*„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
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
Alice
y b
Bob
Alice Bob Alice Bob
𝒔 𝑨𝑩 𝒔 𝑨𝑩
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.
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.
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.
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.
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.
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.
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
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
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ü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.
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
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
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
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)
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)
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)
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)
(*)siehe Anhang...
RSA (Beispiel)
Der Empfänger Bob
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
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
https://www.omnicalculator.com/de/mathematik/potenz-modulo-rechner
Signieren von Nachrichten
Bob kann Nachrichten mit seinem privaten Schlüssel signieren.
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.
https://www.omnicalculator.com/de/mathematik/potenz-modulo-rechner
Signieren von Nachrichten
Bob kann Nachrichten mit seinem privaten Schlüssel signieren.
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
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
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
https://www.omnicalculator.com/de/mathematik/potenz-modulo-rechner
Signieren von Nachrichten
Bob kann Nachrichten mit seinem privaten Schlüssel signieren.
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
https://www.omnicalculator.com/de/mathematik/potenz-modulo-rechner
Signieren von Nachrichten
Bob kann Nachrichten mit seinem privaten Schlüssel signieren.
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
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.
https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html
https://bitcoin.org/en/how-it-works
https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html
https://bitcoin.org/en/how-it-works
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
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
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
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
https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html
https://bitcoin.org/en/how-it-works
https://bitcoin.org/en/how-it-works
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
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
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
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
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
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
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
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
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
https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html
https://bitcoin.org/en/how-it-works
https://bitcoin.org/bitcoin.pdf
https://github.com/bitcoin/bitcoin
https://developer.bitcoin.org/devguide/index.html
https://bitcoin.org/en/how-it-works
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
https://bitcoin.org/en/how-it-works
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
https://bitcoin.org/en/how-it-works
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/
Da gilt: