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:30]
Ivo Blöchliger
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 219: Line 244:
 Effektiv wird normalerweise nur ein Hash der Nachricht verschlüsselt. Effektiv wird normalerweise nur ein Hash der Nachricht verschlüsselt.
  
-=== Authetifizierung ===+=== Authentifizierung ===
 Zuordnung Schlüssel-Person (oder Server) muss überprüft werden. Ansätze:  Zuordnung Schlüssel-Person (oder Server) muss überprüft werden. Ansätze: 
   * Austausch über weiteren Kanal (z.B. in Person, Austausch auf Papier).   * Austausch über weiteren Kanal (z.B. in Person, Austausch auf Papier).
   * 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.1484746259.txt.gz
  • Last modified: 2017/01/18 14:30
  • by Ivo Blöchliger