Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
efinf:blc2016:krypto [2017/01/18 14:31] Ivo Blöchliger [Public/private-Key Verschlüsselung] |
efinf:blc2016:krypto [2017/01/26 09:30] (current) Ivo Blöchliger |
||
---|---|---|---|
Line 1: | Line 1: | ||
{{backlinks> | {{backlinks> | ||
===== Prinzipien moderner Kryptographie ===== | ===== Prinzipien moderner Kryptographie ===== | ||
+ | ==== Zusammenfassung ==== | ||
+ | |||
+ | * Slides: {{ : | ||
+ | |||
+ | |||
Begriffe: | Begriffe: | ||
* **{{https:// | * **{{https:// | ||
Line 165: | Line 170: | ||
</ | </ | ||
===== Public-Private Key Encryption ===== | ===== Public-Private Key Encryption ===== | ||
+ | |||
+ | {{ : | ||
==== Mathematische Grundlagen ==== | ==== Mathematische Grundlagen ==== | ||
Line 187: | Line 194: | ||
* Resultat ist $r$ | * Resultat ist $r$ | ||
+ | <hidden Ruby-Code> | ||
+ | <code ruby modpow.rb> | ||
+ | def modpow(b, | ||
+ | res = 1 | ||
+ | while (e>0) | ||
+ | if e & 1 == 1 | ||
+ | res = (res*b)%n | ||
+ | end | ||
+ | e = e >> 1 | ||
+ | b=(b*b)%n | ||
+ | end | ||
+ | return res | ||
+ | end | ||
+ | </ | ||
+ | </ | ||
==== Diffie-Hellmann Key-Exchange ==== | ==== Diffie-Hellmann Key-Exchange ==== | ||
Achtung: Nicht jede Primzahl und nicht jede Basis ist dafür geeignet. Die sollten sorgfältig ausgewählt werden, was Rechenaufwand bedeutet. Das ist der Grund, warum viele Internetdienste gleiche Primzahlen und Basen verwenden. | Achtung: Nicht jede Primzahl und nicht jede Basis ist dafür geeignet. Die sollten sorgfältig ausgewählt werden, was Rechenaufwand bedeutet. Das ist der Grund, warum viele Internetdienste gleiche Primzahlen und Basen verwenden. | ||
Line 206: | Line 227: | ||
</ | </ | ||
+ | |||
+ | Zutaten: Modulus $n$ (Produkt zweier Primzahlen), | ||
+ | |||
+ | Eigenschaft: | ||
==== Public/ | ==== Public/ | ||
Line 224: | Line 249: | ||
* Zertifizierung über vertrauenswürdige Drittstelle. Diese signiert, dass der Schlüssel zur Person (oder Server) gehört. | * Zertifizierung über vertrauenswürdige Drittstelle. Diese signiert, dass der Schlüssel zur Person (oder Server) gehört. | ||
- | ==== Schlüsseltausch über unsicheren Kanal (Diffie-Hellman) ==== | ||
==== OTR, Deniability, | ==== OTR, Deniability, | ||
* https:// | * https:// |