Moderne Kryptographie

Mit Hilfe von Computern arbeitet die moderne Kryptographie nicht mehr mit ganzen Buchstaben, sondern mit den einzelnen Bits. So entsteht eine sehr große Vielfalt der Transformation. Außerdem lassen sich nun auch Daten, die keine Texte sind, verschlüsseln.

Public-Key-Verfahren

Bei diesem Verfahren müssen die Kommunikationspartner keinen Schlüssel austauschen. Um die Nachricht zu verschlüsseln benötigt man einen anderen als um sie zu entziffern. Dies nennt man wie gesagt ein asymmetrisches Verfahren. Ein jeder Kommunikationspartner besitzt jeweils einen public- und einen private-key. Der public-key ist öffentlich und für jeden zugänglich. Möchte jemand dieser Person x eine verschlüsselte Nachricht schicken, so verschlüsselt man einfach mit dem public-key der Person x. Um diese Nachricht lesen zu können braucht die Person x ihren private-key. Nur die Person x kennt diesen.
Dies hat einige Vorteile:

  1. Es ist sicherer, da man sich nicht treffen muss oder über andere Wege den Schlüssel aus zu tauschen braucht.
  2. Ein jeder Kommunikationspartner besitzt sein eigenes Paar an Schlüsseln. Somit benötigt man nicht für jedes Kommunikationspaar einen anderen Schlüssel.

Ein Nachteil ist, dass es viel Rechenaufwand mit sich trägt. Bei diesem Verfahren spielen Primzahlen eine große Rolle. Je größer die Primzahlen, desto sicherer ist dieses Prinzip (ein sicherer Schlüssel sollte mindestens 512 Bit groß sein).
Ein Beispiel: Um die Teiler der Zahl 1147 heraus zu finden, bleibt einem nichts anderes übrig als zu probieren. Kennt man hingegen die Teiler 31 und 37, ist die Zahl durch eine einfache Multiplikation zu erzeugen. Die Zahl zu zerlegen und sie zu erzeugen ist also unterschiedlich rechenaufwendig. Genau dies macht man sich bei dem Public-Key-Verfahren zu Nutze.

public-key-Verfahren

Beispiel zur Erzeugung der Schlüssel: Man wählt 2 große Primzahlen(p und q): 47 und 71.
Dann errechnet man das Produkt dieser zwei Primzahlen n und das Produkt der Vorgänger dieser Primzahlen z:

n = p*q = 47 * 71 = 3337.
z = (p-1) * (q-1) = 46 * 70 = 3220.

Anschließend wählt man eine Zahl e, die keinen gemeinsamen Teiler mit z hat: 79.
Und nun: d = (1/e) mod z = (1/79) mod 3220.
e und n ergeben den öffentlichen Schlüssel, d den privaten Schlüssel.

Ein nun zu verschlüsseltes Wort muss in Zahlencodes umgewandelt werden. Dann werden diese in Blöcke zerlegt. Mit Hilfe von Multiplikation mit e und Modulo n werden die Zahlen verschlüsselt.
Um aus dem wieder den Klartext zu erhalten benötigt man die Multiplikation mit dem privaten Schlüssel d und das Modulo n.

mehr