efinf:blc2016:krypto

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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: {{ :efinf:blc2016:26.01.17_0742.pdf |}}
 + 
 +
 Begriffe:  Begriffe: 
   * **{{https://de.wikipedia.org/wiki/Kryptologie|Kryptologie}}** = {{https://de.wikipedia.org/wiki/Kryptographie|Kryptographie}} (Verschlüsseln) und {{https://de.wikipedia.org/wiki/Kryptoanalyse|Kryptoanalyse}} (gegnerisches Entschlüsseln)   * **{{https://de.wikipedia.org/wiki/Kryptologie|Kryptologie}}** = {{https://de.wikipedia.org/wiki/Kryptographie|Kryptographie}} (Verschlüsseln) und {{https://de.wikipedia.org/wiki/Kryptoanalyse|Kryptoanalyse}} (gegnerisches Entschlüsseln)
Line 165: Line 170:
 </hidden> </hidden>
 ===== Public-Private Key Encryption ===== ===== Public-Private Key Encryption =====
 +
 +{{ :efinf:blc2016:17.01.17_1355.pdf |}}
  
 ==== Mathematische Grundlagen ==== ==== Mathematische Grundlagen ====
Line 187: Line 194:
   * Resultat ist $r$   * Resultat ist $r$
  
 +<hidden Ruby-Code> 
 +<code ruby modpow.rb> 
 +def modpow(b,e,n) 
 +  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 
 +</code> 
 +</hidden>
 ==== 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:
  
 </code> </code>
 +
 +Zutaten: Modulus $n$ (Produkt zweier Primzahlen), öffentlicher Exponent $o$ (normalerweise 65537 = 0x10001), privater Exponent $p$.
 +
 +Eigenschaft: $$\left(x^o\right)^p \mod n= x \mod n = \left(x^p\right)^o \mod n$$
 ==== Public/private-Key Verschlüsselung ==== ==== Public/private-Key Verschlüsselung ====
  
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, Forward Secrecy ==== ==== OTR, Deniability, Forward Secrecy ====
   * https://en.wikipedia.org/wiki/Off-the-Record_Messaging   * https://en.wikipedia.org/wiki/Off-the-Record_Messaging
  • efinf/blc2016/krypto.1484746295.txt.gz
  • Last modified: 2017/01/18 14:31
  • by Ivo Blöchliger