Einige kryptographische
Grundlagen
Die wunderbare Welt von Isotopp
Freitag, 3. Juni 2011
Einige kryptographische Grundlage...
Aber von vorne:
Eine  der  Grunduaufgaben  in  der  Kryptographie  ist  ein  Sender,  Andreas,  der  einer
Empfängerin, Bi...
Andreas verschlüsselt seine Nachricht an Birgit, weil er sich bedroht fühlt.
Wenn  man  sich  mit  Sicherheitsdingen  besc...
Man kann fordern, daß ein System durch gefälschte oder defekte Nachrichten nicht offline
gezwungen werden kann, daß es als...
Auguste Kerckhoffs hat 1883 das Kerckhoffsche Prinzip formuliert. Kerckhoffs war ein
früher Kryptograph, und hat kryptogra...
Ein  anderes  Beispiel  ist  der  vom  GSM­Konsortium  selbstgekochte  A5  Algorithmus,  mit
dem  einige  Mobilfunkbetreib...
Genau.
Darum haben wir keine Wahlcomputer und keine elektronischen Wahlen über Netzwerk.
Wenn es neben dem Brute Force­Ang...
es  sicher  ist.  Da  die  Laufzeit  eines  Verschlüsselungsalgorithmus  in  vielen  Fällen
proportional zur Länge der Sch...
Um  dieses  Problem  besser  beherrschen  zu  können  hat  man  in  den  1970er  Jahren
asymmetrische  Verfahren  entwicke...
gehalten werden.
Ein  Nachteil:  Asymmetrische  Verfahren  haben  deutlich  längere  Schlüssel  als
symmetrische  Verfahre...
Wir  können  den  Session­Key  der  Nachricht  sogar  mehrfach  voranstellen:  Pbirgit(K)
Pmarit(K) und so weiter. Alle di...
Wenn Andreas etwa eine Nachricht an Birgit sendet "Bitte zahle Kris 100 EUR aus." und
Kris fängt diese Nachricht ab, dann ...
Verschüsselt  man  mit  einem  festen  Schlüssel  K  ('Electronic  Codebook',  ECB),  dann
werden zwei Blöcke M1 und M2, d...
Neben Verschlüsselungsalgorithmen gibt es ein zweites wichtiges Grundkonstrukt in der
Kryptographie, den Hash. Ein Hash is...
Wir  können  Hashes  verwenden,  um  Daten  digital  zu  unterschreiben.  Nehmen  wir  an,
Andreas will Birgit eine Nachri...
Dieses  Verfahren  kann  man  jetzt  mit  der  hybriden  Verschlüsselung  zusammensetzen.
Man bekommt ein Verfahren, bei d...
Was  jetzt  noch  fehlt  ist  ein  Weg,  mit  dem  Andreas  und  Birgit  und  jeder  sonst  an  die
öffentlichen Schlüssel...
einer Certification Authority. Sie "beglaubigt" diese Daten.
Das Problem, das wir lösen wollen: Wir kann Andreas sicher se...
Und  noch  ein  paar  weitere  Beobachtungen:  Birgit  kann  sich  ihren  Key  mehrfach  von
unterschiedlichen CAs zertifi...
Und  schließlich  noch  das  Implosionsproblem:  Was  passiertm,  wenn  Andreas  seinen
privaten Schlüssel verbummelt?
Wen...
Ebenfalls nicht sehr gut funktioniert das Lesen und Schreiben von Standards, besonders
wenn  es  sich  um  ITU/CCITT­Norme...
Soweit die Technik.
Jetzt will man das Ganze noch in eine Form gießen, die in Deutschland auch juristisch
anwendbar  ist. ...
Dazu definiert das Signaturgesetz drei Dinge: Die "Einfache elektronische Signatur", die
vollkommen  nutzlos  ist,  die  "...
Kommentare
Ansicht der Kommentare: (Linear | Verschachtelt)
Eine Anmerkung:
So rosig ist das Leben mit AES256 nicht, es gi...
Kryptographische Grundlagen
Nächste SlideShare
Wird geladen in …5
×

Kryptographische Grundlagen

655 Aufrufe

Veröffentlicht am

Ein alter Blog-Artikel, der die Grundlagen der Kryptographie erklärt. Ich habe ihn 2004 als Material für eine Schulung bei web.de erzeugt und 2011 überarbeitet ins Blog gestellt.

Veröffentlicht in: Internet
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
655
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
4
Aktionen
Geteilt
0
Downloads
9
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Kryptographische Grundlagen

  1. 1. Einige kryptographische Grundlagen Die wunderbare Welt von Isotopp Freitag, 3. Juni 2011 Einige kryptographische Grundlagen Heute gibt es hier alten Scheiß: Vor vielen Jahren, in einem anderen Leben, habe ich im Rahmen der Ausbildung von Auszubildenden und Neuanstellungen eine Reihe von Slides produziert,  die  einige  Grundlagen  der  Kryptographie  erläutern,  ohne  daß  das  ganze übermäßig  mathematisch  werden  würde.  Den  Text  zu  diesem  Vortrag  habe  ich  nie veröffentlicht, das hole ich hier einmal nach. Ziel des Textes war es einmal, den Leuten bestimmte kryptographische Primitive und ihre Anwendung deutlich zu machen sowie die Rechtslage mit der Technik zu verknüpfen. Weil  ich  uns  allen  die  Mathematik  erspart  habe,  muß  man  einige  Annahmen  glauben, anstatt sich durch die entsprechenden mathematischen Beweise zu kämpfen. Und zwar muß man glauben, daß es Algorithmen gibt, die in einer Richtung leicht und mit wenig Aufwand  durchzuführen  sind  (etwa  die  Multiplikation  einiger  Zahlen),  aber  in  der umgekehrten  Richtung  sehr  aufwendig  sind,  weil  keine  Abkürzung  existiert  (etwa  die Umkehrung  einer  Multiplikation:  die  Bestimmung  der  unbekannten  Faktoren,  die  ein bestimmtes bekanntes Multiplikationsergebnis ergeben). Mit Hilfe solcher Algorithmen kann man dann Verschlüsselungssysteme bauen. Die  Mathematik,  die  dem  zugrunde  liegt,  ist  von  den  Mathematikern  auch  sehr  gut verstanden  und  allgemein  bekannt  und  untersucht.  In  der  Regel  ist  es  auch  nicht  die Mathematik,  die  defekt  ist,  wenn  ein  Kryptosystem  gehackt  wird,  sondern  es  ist  die umgebende Infrastruktur, die kaputt geht: Zufallszahlengeneratoren, die keine zufälligen Zahlen  produzieren  oder  Verwaltungssysteme  für  geheime  Schlüssel,  die geheimzuhaltende  Daten  herausgeben.  Oder  halt  der  Fehler,  sich  selbst  einen Verschlüsselungsalgorithmus  auszudenken  ohne  die  entsprechende  Mathematik  zu beherrschen.
  2. 2. Aber von vorne: Eine  der  Grunduaufgaben  in  der  Kryptographie  ist  ein  Sender,  Andreas,  der  einer Empfängerin, Birgit, eine Nachricht senden möchte, ohne daß Dritte mithören können. Die Nachricht  wird  als  Message  (M)  bezeichnet.  Verschlüsselt  wird  sie  mit  einer Verschlüsselungsfunktion,  die  allgemein  bekannt  und  gut  untersucht  ist,  und  diese Funktion braucht einen geheimen Schlüssel, den Key (K). Mathematiker  sind  faule  Säue,  sie  können  sich  nicht  einmal  aufraffen, Multiplikationspunkte zu schreiben (und schreiben also A*B einfach als AB). Entsprechend sollten sie die Formel C = f(K, M) (der verschlüsselte Chiphertext C ergibt sich aus der Anwendung der Verschlüsselungsfunktion f, die die Nachricht M und den Schlüssel K als Parameter  hat)  schreiben.  Stattdessen  notieren  sie  oft  falsch  C  =  K(M),  als  ob  K  eine Funktion und nicht der Schlüssel wäre.
  3. 3. Andreas verschlüsselt seine Nachricht an Birgit, weil er sich bedroht fühlt. Wenn  man  sich  mit  Sicherheitsdingen  beschäftigt  ist  es  wichtig,  diese  Bedrohung auszuformlieren  und  die  Ziele  und  Fähigkeiten  des  Angreifers  zu  benennen.  Nur  aus diesen  Listen  kann  man  die  Gefahren  ableiten  und  dann  sagen,  ob  bestimmte vorgeschlagene  Maßnahmen  einen  sinnvolle  Abwehr  gegen  die  Bedrohung  darstellen oder nicht. Man kann diesen Effekt gar nicht genug betonen: Wenn man sich mit Laien (oder in der Politik)  über  Bedrohungen  unterhält,  dann  diskutieren  diese  Sicherheit  oftmals  in  den Begriffen  von  Maßnahmen,  anstatt  über  Angreifer,  Bedrohungen, Eintrittswahrscheinlichkeiten und Schadenshöhen zu reden und die Maßnahmen anhang dieser  Dinge  auszuwählen  oder  zu  bewerten.  Das  erzeugt  dann  jede  Menge  operative Hektik, verbessert die Sicherheit aber in der Regel kein Stück. Das Schutzziel eines Kryptosystems ist gewissermaßen das Gegenteil eines Angriffes: Ein Kryptosystem kann das Ziel haben, den Inhalt einer Nachricht geheim zu halten, d.h. nur der Absender und der Empfänger einer Nachricht können ihren Inhalt kennen, Dritte nicht.  Eine  schwächere  Forderung  wäre,  eine  Nachricht  integer  zu  halten,  also Veränderungen der Nachricht durch Dritte erkennbar zu machen. Eine stärkere Forderung wäre, nicht nur den Inhalt einer Nachricht vertraulich zu halten, sondern die Tatsache, daß zwei  bestimmte  Personen  überhaupt  miteinander  kommuniziert  haben  zu  verbergen  ­ Unbeobachtbarkeit. Man  kann  fordern,  die  Identitäten  des  Senders  und  des  Empfängers  voreinander  zu verbergen ­ dann hat man Anonymität. Oder man kann fordern, daß die Identitäten des Senders und des Empfängers beweisbar bekannt und unfälschbar sind, dann bekommt man Authentizität.
  4. 4. Man kann fordern, daß ein System durch gefälschte oder defekte Nachrichten nicht offline gezwungen werden kann, daß es also Verfügbar bleibt. Angreifer können versuchen, diese Schutzziele zu vereiteln, etwa indem man ihnen die Fähigkeit  zugesteht,  die  Kommunikation  mitzuhören,  mitgehörte  Nachrichten  wiederholt abzusenden,  Nachrichten  zu  verändern,  sich  in  der  Kommunikationskette  zwischen Sender  und  Empfänger  einzuschleichen  und  sich  für  die  jeweilige  Gegenstelle auszugeben,  oder  indem  sie  versuchen,  die  Kommunikation  zwischen  den  beiden Parteien zu unterbrechen. Man kann sehr starke Angreifer konstruieren, indem man ihnen die Fähigkeit zugesteht, die  Hardware  oder  Systemsoftware  des  Senders  oder  des  Empfängers  von  diesem unbemerkt zu verändern. Und  man  muß  Einsatzzwecke  von  Kryptographie  unterscheiden:  Es  besteht  ein grundlegender  Unterschied  in  den  Anforderungen  zwischen  Transportverschlüsselung (etwa  das  Abrufen  von  Webseiten  über  SSL)  und  Speicherverschlüsselung  (etwa  dem Ablegen von Dateien auf einer verschlüsselten Festplatte). Bei Transportverschlüsselung hat man in der Regel die Anforderung, daß es keine 'Key Recovery'  geben  darf  ­  nur  der  Sender  und  der  Empfänger  sollen  den  vereinbarten Schlüssel K kennen. Bei  Speicherverschlüsselung  dagegen  hat  man  vielfach  weitergehende  Anforderungen. Ein  Arbeitgeber  zum  Beispiel  wird  auf  den  Laptops  seiner  Mitarbeiter  nicht Festplattenverschlüsselung  ausrollen  können,  wenn  er  nicht  die  Möglichkeit  hat,  auch ohne  Kooperation  des  Mitarbeiters  auf  dessen  dienstliche  Daten  zugreifen  zu  können. Ohne  diese  Möglichkeit  besteht  sonst  die  Gefahr,  daß  betriebskritische  Daten  für  die Firma nicht mehr im Zugriff sind, wenn der Mitarbeiter erkrankt oder sonstwie nicht mehr verfügbar ist. Diese Situation ist für eine Firma klar nicht akzeptabel, daher müssen solche Systeme immer "Key Recovery" erlauben, also eine "Hintertür" haben, die ­ und das ist der entscheidende Punkt ­ unter der Kontrolle der Firma steht. Speicherverschlüsselung ohne Key Recovery ist wertlos, und das entscheidende Merkmal bei  der  Diskussion  über  Key  Recovery  ist  nicht,  daß  sie  existiert,  sondern  wer  die Kontrolle über die Recovery Keys hat.
  5. 5. Auguste Kerckhoffs hat 1883 das Kerckhoffsche Prinzip formuliert. Kerckhoffs war ein früher Kryptograph, und hat kryptographische Verfahren untersucht und eine Reihe von Anforderungen an Kryptosysteme formuliert. In  einer  modernen  Formulierung  besagt  das  Kerckhoffsche  Prinzip,  daß  die  Sicherheit eines  Kryptosystems  nicht  von  der  Geheimhaltung  des  verwendeten  Algorithmus abhängen  darf,  sondern  nur  von  der  Geheimhaltung  der  verwendeten  Schlüssel abhängen darf. In einer schärferen Formulierung kann man sogar sagen, daß ein Kryptosystem, dessen Algorithmen  nicht  allgemein  bekannt  und  durch  viele  anerkannte  Kryptographen untersucht  und  bestätigt  worden  sind  wahrscheinlich  unsicher  ist  und  nicht  verwendet werden sollte. Wir  können  nach  dem  heutigen  Stand  der  Mathematik  nicht  beweisen,  daß  ein Algorithmus  unangreifbar  ist.  Wir  können  lediglich  unsere  hellsten  Köpfe  auf  einen Algorithmus  loslassen.  Wenn  die  dann  alle  scheitern  (und  was  das  bedeutet  klären  wir gleich), dann ist der Algorithmus wahrscheinlich zur Zeit sicher. Es  gibt  in  der  Geschichte  der  Kryptographie  eine  ganze  Menge  Beispiele  für  recht prominent  selbstgekochte  Kryptosysteme,  bei  denen  die  Algorithmen  nicht  ausreichend untersucht worden sind und die sich dann im Nachhinein nicht als sicher erwiesen haben. Das  CSS­System  zur  Verschlüsselung  von  DVD­Inhalten  ist  zum  Beispiel  ein  solches System: Nicht nur ist seine Schlüssellänge mit 40 Bit sowieso zu kurz, sondern durch eine Analyse  des  Algorithmus,  die  bei  der  Erschaffung  von  CSS  nicht  ausreichend durchgeführt worden ist, ist es gelungen, die effektive Schlüssellänge dieser 40 Bit auf 16 Bit zu reduzieren. Damit ist aber ein Angriff auf CSS mit trivialer Rechenleistung möglich und CSS ist in etwa genau so sicher wie Klartext.
  6. 6. Ein  anderes  Beispiel  ist  der  vom  GSM­Konsortium  selbstgekochte  A5  Algorithmus,  mit dem  einige  Mobilfunkbetreiber  GSM­Kommunikation  verschlüsselt  haben,  statt  einen anerkannten  Algorithmus  zu  nehmen.  Auch  die  verschiedenen  Varianten  von  A5  sind gebrochen  worden  und  mit  diesen  (inzwischen  nicht  mehr  verwendeten)  Algorithmen verschlüsselte Kommunikation ist abhörbar geworden. Jedes  Verschlüsselungsverfahren  läßt  sich  brechen,  indem  man  einfach  alle  möglichen Schlüssel  durchprobiert.  Diesen  Angriff  nennt  man  einen  'brute  force'­Angriff.  Damit  er gelingen kann, müssen zwei Dinge gelten: Einmal muß man überhaupt mitbekommen, daß man fertig ist. Bei  einem  Brute  Force­Angriff  entschlüsselt  man  eine  verschlüsselte  Nachricht  (also unlesbaren  Bitsalat)  mit  dem  falschen  Schlüsselt  (bekommt  also  anderen  unlesbaren Bitsalat). Erwischt man zufällig den korrekten Schlüssel, bekommt man lesbaren Text ­ und  muß  diese  Situation  erkennen.  Das  heißt,  es  hilft,  wenn  man  ein  wenig  über  den Klartext weiß ('es handet sich um englischen Text', 'am Ende des Textes ist eine CRC32 Prüfsumme  über  alle  vorhergehenden  Bytes  und  wenn  die  Prüfsumme  aufgeht,  ist  die Nachricht korrekt'). Hat  man  solches  Wissen  nicht,  muß  man  raten  ­  etwa  wenn  die  Nachricht  nur  gültige Zeichen  in  dem  und  dem  Zeichensatz  enthält  und  die  relativen  häufigkeiten  der Buchstaben in etwa dem Muster englischer Sprache entsprechen, dann ist die Nachricht möglicherweise  korrekt  entschlüsselt  worden  und  man  legt  sie  einem  Operator  zur Kontrolle vor. Im  zweiten  Weltkrieg  zum  Beispiel  haben  die  Engländer  die  mit  der  Engima verschlüsselten  Nachrichten  deutscher  U­Boote  abgefangen.  Diese  U­Boote  haben wichtige  Nachrichten  mit  dem  Flottenkommando  ausgetauscht,  aber  auch Wetternachrichten an das Kommando zurück gesendet. Diese Wetternachrichten waren jedoch mit demselben Schlüssel verschlüsselt, der auch führ andere wichtige Nachrichten verwendet worden ist. Wenn man nun also das Wetter an der Position des U­Bootes kennt und weiß, wie ein militärischer Wetterbericht abgefaßt wird, dann man man den Klartext der Wettermeldung des U­Bootes recht gut vorhersagen und hat eine gute Stop­Bedingung für einen Brute Force­Angriff. Zum  anderen  muß  man  fertig  werden  können.  Das  heißt,  der  Schlüsselraum  (alle möglichen  K)  muß  klein  genug  sein,  daß  man  im  Verhältnis  zur  Arbeitsgeschwindigkeit seiner Entschlüsselungsmaschine die Möglichkeit hat, alle Schlüssel in einem gegebenen Zeitrahmen durchzuprobieren. Wenn man weiß, daß die Nachricht etwa das Datum des Angriffes eines Gegners enthält ('Angriff  im  Morgengrauen!'),  dann  ist  die  Nachricht  wertlos,  nachdem  der  Angriff  des Gegners  erfolgt  ist.  Ist  der  Schlüsselraum  so  groß,  daß  es  unmöglich  ist,  die verschlüsselte  abgefangene  Nachricht  vor  dem  Morgengrauen  zu  entschlüsseln,  indem man alle möglichen Schlüssel durchprobiert, dann ist das Verfahren sicher. Man muß also die Schlüssellänge so wählen, daß sie der benötigten Schutzfrist gegen einen  Brute  Force­Angriff  genügt.  Angenommen,  man  hätte  1933  elektronisch  wählen können  und  jemand  hätte  die  Wahlnachrichten  mit  Absenderkennungen  damals aufzeichnen,  aber  nicht  entschlüsseln  können  ­  wie  lange  muß  ein  solches  System  die Nachrichten dann also gegen Brute Force schützen können (technologischen Fortschritt eingerechnet)?  Muß  ein  militärisches  System  für  taktische  Kommunikation  ('Angriff  im Morgengrauen') oder ein elektronisches Wahlsystem sicherer sein? Wieviel sicherer?
  7. 7. Genau. Darum haben wir keine Wahlcomputer und keine elektronischen Wahlen über Netzwerk. Wenn es neben dem Brute Force­Angriff noch andere Methoden gibt, mit denen man den Schlüssel K ermitteln kann und diese anderen Methoden effizienter sind als Brute Force, dann gilt das System als gebrochen. Man  beachte,  daß  das  etwas  anderes  ist  als  unsicher.  Es  gibt  unsichere  Systeme,  die nicht gebrochen sind ­ DES ist so etwas zum Beispiel. DES ist ein Verfahren mit einer Schlüssellänge  von  nur  56  Bit,  und  die  EFF hat 1998 den Spezialrechner Deep Crack gebaut, um DES in wenigen Stunden zu brute forcen. DES ist aber nicht gebrochen ­ es ist  kein  Verfahren  bekannt,  mit  dem  es  möglich  wäre,  die  2^56  Schlüssel  abzukürzen. Daher  kann  man  unsichere  DES  noch  verwenden,  um  das  sichere  und  ungebrochene Triple DES zu konstruieren. Andererseitz existiert der DES­Nachfolger AES.  AES  256  hat  einen  K­Raum  mit  2^256 Einträgen, aber AES ist gebrochen ­ der K­Raum ist auf 2^200 Einträge reduziert, also kleiner als Brute Force. Allerdings ist diese Zahl immer noch zu groß, daß der Algorithmus als sicher gilt. DES und AES sind beides symmetrische Verfahren. Das sind Verfahren, bei denen man eine  Nachricht  mit  demselben  Schlüssel  entschlüsseln  kann,  den  man  zur Verschlüsselung verwendet. Man bekommt also den Ciphertext C = K(M), und indem man K  noch  einmal  anwendet,  bekommt  man  die  Nachricht  zurück:  M  =  K(C),  d.h.  M  = K(K(M)). Symmetrische Verfahren haben vergleichsweise kurze Schlüssel: das unsichere DES hat nur 56 Bit, das sichere 3DES hat 112 Bit und AES sollte man mit 256 Bit betreiben, damit
  8. 8. es  sicher  ist.  Da  die  Laufzeit  eines  Verschlüsselungsalgorithmus  in  vielen  Fällen proportional zur Länge der Schlüssel ist, sind die meisten symmetrischen Verfahren relativ schnell  ­  speziell  AES  ist  außerdem  auch  so  entwickelt  worden,  daß  es  sich  auf  heute üblichen Prozessoren leicht implementieren läßt und ist daher sehr gut geeignet, wenn es auf Geschwindigkeit ankommt. Das  Hauptproblem  von  symmetrischen  Verfahren  ist,  daß  sich  der  Sender  und  der Empfänger  auf  einen  Schlüssel  einigen  müssen.  Wie  kommt  der  Schlüssel  K,  mit  dem Andreas  seine  Nachrichten  an  Birgit  verschlüsselt,  zu  Birgit,  wenn  Andreas  doch  der Strecke zwischen Andreas und Birgit nicht trauen kann? Manchmal kann man das Problem dadurch lösen, daß der Schlüssel so angenehm kurz ist:  Nehmen  wir  an,  daß  Andreas  seiner  Internet­Verbindung  zu  Birgit  nicht  traut,  aber seiner Telefonverbindung ­ dies nennen wir einen sicheren Kanal. Eine Eigenschaft von sicheren Kanälen ist, daß ihre Kapaziät oft begrenzt ist ­ entweder in der Menge oder in der Zeit, zu der sie verfügbar sind. Zum Beispiel ist es für Andreas nicht möglich, Birgit sein neustes, viele hundert Kilobyte großes  Paper  am  Telefon  zu  diktieren.  Er  kann  aber  durchaus  die  Hex­Repräsentation des  von  ihm  gewählten  Schlüssels  K  diktieren  und  ihr  dann  die  mit  K  verschlüsselte Nachricht senden, die das Paper enthält. Das ist ein Beispiel für einen in der Kapazität beschränkten sicheren Kanal. Oder  Andreas  hat  Birgit  im  Januar  auf  einer  Konferenz  getroffen  und  mit  ihr  ein gemeinsames K ausgemacht. Jetzt, im Juni, will er ihr sein Paper senden. Das geht, da die  beiden  ja  einen  gemeinsamen  Schlüssel  K  haben.  Dies  ist  ein  Beispiel  für  einen temporal beschränkten sicheren Kanal ­ damals hatten sie sichere Kommunikation, jetzt nicht. Ein  extremes  Beispiel  für  so  etwas  hat  man,  wenn  der  Schlüssel  so  lang  ist  wie  die Nachricht  selber.  In  diesem  Fall  kann  man  tatsächlich  absolut  sichere  Kommunikation konstruieren: Man nehme einen physikalischen Zufallszahlengenerator, etwa den Zerfall einer radioaktiven Probe, und zeichne die Zahlen auf, 700 MB davon auf einer CD. Dann mache man eine Kopie davon und sende diese mit einem Kurier zum Empfänger oder übergebe diese dem Empfänger, wenn man ihn trifft. Später, wenn man Bedarf an sicherer Kommunikation hat, sendet man dem Empfänger die Nachricht XOR­codiert mit diesen Zufallszahlen, und streiche diese Zahlen sodaß sie niemals wieder verwendet werden können. Dieses Verfahren nennt sich One­Time Pad und ist das einzige bekannte Verfahren, das absolut  und  beweisbar  sicher  ist.  Bedingungen:  Der  Schlüssel  wird  niemals wiederverwendet (daher die Notwendigkeit des Abstreichens) und der Schlüssel ist echt zufällig (und nicht von einer Pseudo­Zufallszahlenfunktion berechnet). Leidet gibt es sehr viele  Anbieter  von  Verfahren,  die  sich  One­Time  Pad  nennen,  aber  entweder  den Schlüssel wiederverwenden oder nicht wirklich zufällig bestimmen ­ diese Verfahren sind leider sehr, sehr leicht brechbar. Symmetrische  Verfahren  haben  noch  ein  anderes  Problem,  wenn  es  um Gruppenkommunikation geht: Für jede Kombination von Sender und Empfänger muß man einen anderen Schlüssel vereinbaren, wenn dieses Paar privat und unabhängig von den anderen  Paarungen  miteinander  kommunizieren  können  soll.  Daher  hat  man  bei  n Teilnehmern  (n*(n­1))/2  mögliche  K  zu  verwalten,  bei  100  Teilnehmern  also  4950 verschiedene Schlüssel.
  9. 9. Um  dieses  Problem  besser  beherrschen  zu  können  hat  man  in  den  1970er  Jahren asymmetrische  Verfahren  entwickelt.  Ein  asymmetrisches  Verfahren  ist  eines,  bei  dem man einen Verschlüssel P und einen Entschlüssel Q hat. Wenn man also den Ciphertext C  =  P(M)  produziert,  dann  braucht  man  den  anderen  Schlüssel  Q  um  wieder  an  den Klartext zu kommen: M = Q(C), d.h. M = Q(P(M)). Wendet man stattdessen P ein zweites Mal an, bekommt man kein sinnvolles Ergebnis. Tatsächlich  funktioniert  die  Paarung  auch  anders  herum:  Ich  kann  auch  mit  Q verschlüsseln  und  dieses  Resultat  dann  mit  P  entschlüsseln,  d.h.  es  gilt  auch  M  = P(Q(M)). Die Unterscheidung zwischen P und Q ist also nicht technisch­funktional: Ich kann jeweils mit dem einen Schlüssel entschlüsseln, was mit dem anderen verschlüsselt worden ist. Sie  ist  stattdessen  organisatorisch:  Den  einen  Schlüssel,  P,  mache  ich  publik.  Den anderen, Q, halte ich streng geheim. Der Empfänger einer Nachricht kann nun also seinen öffentlichen Schlüssel P publizieren: Birgit macht ihr P allgemein bekannt. Ein  Sender  kann  sich  nun  diesen  öffentlichen  Schlüssel  P  von  Birgit  greifen  und  eine Nachricht  an  sie  verschlüsseln:  C  =  P(M).  Es  ist  nicht  möglich,  diese  Nachricht  mit  P wieder zu entschlüsseln. Nur Birgit (oder jede andere Person, die aus welchen Gründen auch immer ihr Q kennt) kann die Nachricht wieder in Klartext verwandeln: M = Q(C) = Q(P(M)). Die  Anzahl  der  zu  verwaltenden  Schlüssel  ist  in  so  einem  Setup  deutlich  kleiner:  Statt 4950 Schlüsseln für 100 Teilnehmer sind nur 100 PQ­Paare zu verwalten, genauer: Es muß ein Verzeichnis von 100 öffentlichen Schlüsseln P der Empfänger bekannt gemacht werden,  und  die  100  geheimen  Schlüssel  müssen  von  den  Empfängern  auch  geheim
  10. 10. gehalten werden. Ein  Nachteil:  Asymmetrische  Verfahren  haben  deutlich  längere  Schlüssel  als symmetrische  Verfahren.  Schlüssel  sind  bis  zu  4096  Bit  lang.  Daher  ist  auch  ihre Verarbeitung sehr viel langsamer, im Schnitt 10­20 mal langsamer als bei den bekannten symmetrischen Verfahren. In  der  Praxis  verwendet  man  daher  meist  hybride  Verfahren.  Bei  einem  hybriden Verfahren  wird  symmetrische  Verschlüsselung  angewendet,  um  die  Nachricht  zu verschlüsseln. Der Schlüssel K, mit dem das getan wird, wird dabei zufällig ausgewürfelt und  nur  ein  einziges  Mal  (oder  bei  einer  stehenden  Verbindung  nur  für  kurze  Zeit) verwendet. Der  Empfänger  muß  K  gesagt  bekommen  ­  dafür  verwenden  wir  das  asymmetrische Verfahren, und das ist schnell, weil die Nachricht selber (es steht nur K drin) recht kurz ist. Andreas würfelt sich also einen Key K aus, den "Session­Key". Dann greift er sich den öffentlichen  Schlüssel  P  von  Birgit  und  verschlüsselt  K  damit:  P(K).  Die  eigentliche Nachricht M verschlüsselt er dann mit K, weil's schneller ist: K(M). Birgit bekommt die Nachricht "P(K) K(M)". Mit ihrem geheimen Schlüssel Q kann sie K = Q(P(K)) ermitteln. Dadurch kennt sie K und kann nun M = K(K(M)) berechnen, und hat nun die Nachricht im Klartext.
  11. 11. Wir  können  den  Session­Key  der  Nachricht  sogar  mehrfach  voranstellen:  Pbirgit(K) Pmarit(K) und so weiter. Alle diese Empfänger können nun ihre Kopie des Session­Key entschlüsseln  und  die  Nachricht  decodieren.  Dabei  muß  man  sich  erinnern,  daß  K(M) recht lang sein kann, die ganze Nachricht halt. Die einzelnen Kopien des Session­Keys sind jedoch recht kurz. Dies ist auch die Idee verschiedener DRM­Systeme, um etwa den Inhalt von DVDs zu schützen: Auf der DVD befindet sich der Video­Content mit dem Session­Key der DVD geschützt, viele GB lang. Im Startbereich der DVD ist der Session­Key mit dem geheimen Schlüssel des jeweiligen Player­Lizenznehmers geschützt abgelegt. Der Hersteller mit der Herstellernummer 48 guckt also im 48. Slot vorne auf der DVD nach, entschlüsselt den Session­Key der DVD von dort und kann so die DVD abspielen. Das  wäre  angreifbar  in  dem  Sinne,  daß  dazu  ja  der  geheime  Schlüssel  jedes Lizenznehmers  in  jedem  seiner  Produke  ­  den  Playern  ­  enthalten  sein  müßte,  und tatsächlich  hat  man  diese  Schlüssel  auch  für  kurze  Zeit  aus  Software­DVD­Spielern extrahiert,  bis  man  gemerkt  hatte,  daß  das  symmetrische  Verschlüsselungsverfahren, CSS, auf einer DVD sowieso Schrott ist und man sich das Lesen der Keys aus dem Index vorne auch sparen kann... Es verbleiben zwei zu lösende Probleme: Erstens: Wir müssen irgendwie sicherstellen, daß der Schlüssel, der uns als der Schlüssel von Birgit im Verzeichnis verkauft wird auch wirklich der Schlüssel ist, der zu Birgits Q paßt. Zweitens: Bei einigen Nachrichten sollte man sicherstellen, daß nicht irgendjemand auf dem Weg C = K(M) abfängt und ein zweites Mal abspielt.
  12. 12. Wenn Andreas etwa eine Nachricht an Birgit sendet "Bitte zahle Kris 100 EUR aus." und Kris fängt diese Nachricht ab, dann kann er Birgit eventuell dazu bringen, ihm jedesmal 100 EUR auszuzahlen, wenn er diese verschlüsselte Nachricht noch einmal sendet. Dieses zweite Problem läßt sich lösen, indem man der Nachricht eine Folgenummer oder eine Zufallszahl verpaßt, die mit codiert wird ­ am Besten beides. Nachrichten gleichen Inhaltes  werden  dadurch  unterscheidbar  und  Duplikate  können  erkannt  werden.  Es  ist natürlich  wichtig,  daß  diese  Zahlen  mit  verschlüsselt  werden,  damit  sie  nicht  leicht  zu ändern sind. Verschlüsselungsverfahren arbeiten in Blöcken von x Bits. Nachrichten sind jedoch nicht immer genau Vielfache dieser Blöcke lang. Daher muß man sie durch Füllbytes am Ende zu einem solchen Blockvielfachen auffüllen ­ das nennt man Padding. Man bekommt eine Nachricht M, die in Wirklichkeit aus Teilnachrichten besteht. Jede Teilnachricht ist einen solchen Block lang: M1 M2 M3... Mi ... und so weiter. Danach  wird  das  Verschlüsselungsverfahren  angewendet,  und  zwar  auf  jeden  Block. Dabei kann jeder Block mit demselben Schlüssel K verschlüsselt werden, oder mit einem Schlüssel,  der  irgendwie  aus  dem  Startschlüssel  K,  dem  Blockindex  i,  vorhergehenden Blöcken  von  Klartext  oder  Ciphertext  oder  einem  weiteren  Startwert  (dem Initialisierungsvektor IV, eine weitere Zufallszahl) abgeleitet wird. Je nachdem, wie man sich diese Dinge zusammenbastelt, handelt man sich bestimmte Vor­ und Nachteile ein. Verfahren, bei denen die Verschlüsselung von Mi nicht von vorhergehendem Klartext oder Ciphertext  abhängig  sind,  sind  gut  parallelisierbar  und  sind  auch  unempfindlich  gegen Leitungsstörungen  oder  Plattenlesefehler,  bei  denen  eventuell  einmal  ein  Block zwischendrin verloren geht.
  13. 13. Verschüsselt  man  mit  einem  festen  Schlüssel  K  ('Electronic  Codebook',  ECB),  dann werden zwei Blöcke M1 und M2, die denselben Inhalt haben, auch gleich verschlüsselt ­ der Klartext der Nachricht scheint im Ciphertext durch. KK:~ kris$ dd if=/dev/zero bs=1k count=1 of=x 1+0 records in 1+0 records out 1024 bytes transferred in 0.000088 secs (11639478 bytes/sec) KK:~ kris$ openssl enc ­des­ecb ­k keks ­iv 0 ­e ­in x ­out y KK:~ kris$ ls ­l x y ­rw­r­­r­­ 1 kris staff 1024 3 Jun 15:56 x ­rw­r­­r­­ 1 kris staff 1048 3 Jun 15:56 y KK:~ kris$ od ­t x1 y 0000000 53 61 6c 74 65 64 5f 5f b2 3f fa fb 98 86 03 ca 0000020 fe ab 3b 74 5b 90 76 74 fe ab 3b 74 5b 90 76 74 ... 0002020 72 d6 ba 5e 91 0a 9e 90 0002030 Erzeugt man also ein Kilobyte Nullbytes und verschlüsselt diese mit einem ECB­Verfahren (jeden Block also mit demselben Schlüssel 'keks'), dann bekommt man zwar Bytesalat, aber  Bytesalat  mit  einem  sich  wiederholenden  Muster:  Alle  32  Bytes  kommt  dieselbe Bytefolge vor ­ od erkennt das und kürzt ab. Durch verschiedene Verfahren versucht man dies zu verhindern, indem man einen Block mit  seinem  vorhergehenden  Klartext  oder  Ciphertext  mischt.  Dennoch  ist  es  sinnvoll, Klartext vor der Verschlüsselung zu komprimieren: Kompression beseitigt Redundanzen im Klartext. Sich wiederholende Muster werden ausgenutzt, um die Nachrichtenlänge zu verkleinern und es entsteht eine Klartextnachricht, die keine Muster mehr enthält.
  14. 14. Neben Verschlüsselungsalgorithmen gibt es ein zweites wichtiges Grundkonstrukt in der Kryptographie, den Hash. Ein Hash ist eine Prüfsummenfunktion, also etwas, in das man eine beliebig lange Nachricht vorne reinfüttern darf, und bei der dann am Ende eine Zahl h mit einer festen Anzahl von Bits herauskommt: h = Hash(M). Allen  Prüfsummen  ist  gemeinsam,  daß  man  aus  einer  gegebenen  Prüfsumme  die Originalnachricht nicht eindeutig rekonstruieren kann, da es mehr als eine Nachricht gibt, die diese Prüfsumme hat. Das gilt selbst für eine ISBN: Die ISBN 0­306­40615 hat die Prüfzummer 2, aber es gibt noch weitere ISBNs, die diese Prüfziffer haben. Bei einer ISBN ist es jedoch relativ leicht, eine ISBN zu konstruieren, die eine bestimmte vorgegebene Prüfziffer (hier: 2) hat. Bei einer kryptographischen Prüfsumme, einem Hash, möchte man nun als zusätzliche Eigenschaft, daß es nicht möglich sein soll, eine Nachricht M zu konstruieren, die eine bestimmte Prüfsumme h ergibt. Um so eine Nachricht zu finden, müßte man idealerweise den ganzen M­Raum durchsuchen (also einen Brute Force­Angriff starten). In der Praxis gibt es einige populäre Funktionen, von denen wir geglaubt haben, daß sie diese Eigenschaft hätten und das ist auch eine Weile gut gegangen. Derzeit sieht es aber eher schlecht aus.
  15. 15. Wir  können  Hashes  verwenden,  um  Daten  digital  zu  unterschreiben.  Nehmen  wir  an, Andreas will Birgit eine Nachricht M senden und er will sicherstellen, daß Birgit erkennen kann, daß es sich um eine unveränderte Nachricht handelt und daß sie von Andreas ist. Dazu  nehmen  wir  einen  Klartext  M  und  berechnen  die  Prüfsumme  Hash(M).  Andreas verschlüsselt nun die Prüfsumme mit seinem geheimen Schlüssel QAndreas.  Etwas,  das mit Q verschlüsselt worden ist, kann mit dem dazu gehörenden P entschlüsselt werden und umgekehrt. Die Prüfsumme kann also mit dem Public Key von Andreas entschlüsselt werden ­ und der ist jedermann bekannt. Wenn  wir  also  die  Nachricht  M  nehmen  und  selber  die  Prüfsumme  h  =  Hash(M) berechnen,  dann  können  wir  dieses  Ergebnis  mit  der  Prüfsumme  vergleichen,  die Andreas mit seinem private Key verschlüsselt hat und die jeder entschlüsseln kann, der den public Key von Andreas kennt. Stimmen beide überein, wissen wir, daß die Nachricht unverändert ist. "Unverändert"  (oder  authentisch)  bedeutet  hier,  daß  der  Inhalt  der  Nachricht,  den  wir sehen,  identisch  ist  mit  dem  Inhalt  der  Nachricht,  die  jemand  abgesendet  hat,  der  den private Key von Andreas gekannt hat. Wenn Andreas also seine Schlüsselverwaltung im Griff hat, dann ist das nur Andreas. Andreas sendet "M QAndreas(Hash(M))" und nicht "QAndreas(M)". Beweistechnisch macht das keinen Unterschied: In beiden Fällen muß der Absender der Nachricht den geheimen Schlüssel von Andreas gekannt haben. Im ersten Fall ist die Nachricht jedoch auch dann noch  lesbar,  wenn  der  Empfänger  der  Nachricht  keinen  Zugriff  auf  den  öffentlichen Schlüssel von Andreas hat (dann ist jedoch die Authentizität nicht beweisbar). Die Prüfsumme QAndreas(Hash(M)) hinter der Nachricht M nennt man auch eine digitale Unterschrift (Signatur) der Nachricht.
  16. 16. Dieses  Verfahren  kann  man  jetzt  mit  der  hybriden  Verschlüsselung  zusammensetzen. Man bekommt ein Verfahren, bei dem man eine Nachricht erzeugt, die aus der Nachricht M und ihrer Signature QAndreas(Hash(M)) zusammengesetzt ist. Nachricht und Signatur werden jetzt mit einem Session­Key K verschlüsselt: "K(M QAndreas(Hash(M)))" und der Session­Key  K  wird  mit  dem  öffentliche  Schlüssel  des  Empfängers  verschlüsselt vorangestellt. Das  Gesamtprodukt:  "PBirgit(K)  K(M  QAndreas(Hash(M)))".  Nur  Birgit  kann  nun  den Session­Key K ermitteln, und mit dessen Hilfe Nachricht und Signatur aus der Nachricht extrahieren. Sie kann dann die Prüfsumme über die Nachricht selbst berechnen und mit dem  öffentlichen  Schlüssel  von  Andreas  gegen  die  Prüfsumme  in  der  Nachricht vergleichen.
  17. 17. Was  jetzt  noch  fehlt  ist  ein  Weg,  mit  dem  Andreas  und  Birgit  und  jeder  sonst  an  die öffentlichen Schlüssel aller anderen kommt, ohne daß irgendein Angreifer etwa Andreas den Schlüssel eines Angreifers im Namen von Birgit unterschrieben kann und Birgit den Schlüssel des Angreifers im Namen von Andreas. Damit  man  das  kann,  muß  man  die  Identität  von  Personen  an  Schlüssel  binden.  Das macht man mit einem Zertifikat. Ein Zertifikat ist eine Datenstruktur, die einen öffentlichen Schlüssel enthält, den Namen oder  andere  Identifikationsdaten  des  Inhabers,  einen  Verwendungszweck  für  den Schlüssel (Garantien, die der Inhaber für Daten abgibt, die mit diesem Schlüssel signiert sind) und eine Laufzeit als Intervall von­bis. Jede dieser Informationen hat eine spezifische Aufgabe in unserem System. Der öffentlichen Schlüssel P erlaubt das entschlüsseln von Prüfsummen, also das Prüfen von Signaturen. Er erlaubt auch das verschlüsseln von Nachrichten an einen Empfänger. Die  Inhaberdaten  definieren,  was  für  ein  Empfänger  ist.  Der  Empfänger  ist  immer  eine natürliche Person, denn zu einem öffentlichen Schlüssel gehört immer auch ein geheimer Schlüssel, und es ist unmöglich, den geheimen Schlüssel geheim zu halten, wenn er nicht an eine natürliche Person gebunden ist. Empfänger,  die  juristische  Personen  sind,  muß  man  über  Personengruppen  oder  über Verwendungszwecke/Rollen simulieren. Die  Laufzeit  schließlich  ist  nützlich,  weil  sie  einige  häßliche  Skalierungsprobleme  in unserem System begrenzen hilft. Dazu später mehr. Hinten an diesem Zertifikat steht dann ein weiteres Datenpaket ­ die Signatur einer CA,
  18. 18. einer Certification Authority. Sie "beglaubigt" diese Daten. Das Problem, das wir lösen wollen: Wir kann Andreas sicher sein, daß PBirgit wirklich von Birgit stammt? Der Ansatz mit einer CA definiert einen Single Point of Failure eine Zertifikations­Station, die  einen  Schlüssel  PCA  veröffentlicht,  etwa  dadurch,  daß  dieser  in  einem  Browser eingebaut ist. Birgit publiziert nun nicht PBirgit, sondern QCA(Hash(PBirgit)) PBirgit. Die CA verschlüsselt also  die  Prüfsumme  über  den  Schlüssel  von  Birgit  und  Birgit  fügt  diese  Prüfsumme  an ihren Schlüssel an. Die Augabe der CA ist es nun, nur das PBirgit  zu  unterschreiben,  das  wirklich  zu  Birgit gehört. In der Praxis funktionieren unterschiedliche CAs sehr unterschiedlich gut. Dabei ist das System schon im wirtschaftlichen Kern kaputt: Da die CA Geld von Birgit bekommt (und nicht von allen außer Birgit), um PBirgit zu unterschreiben, ist die Motivation der CA hoch, Birgit irgendetwas zu unterschreiben, damit sie das Geld von Birgit bekommt. Ohne  genaue  Kenntnis  des  Prozesses,  der  durchlaufen  werden  muß,  um  PBirgit  zu unterschreiben, ist das Zertifikat also wertlos. Und: Man beachte, daß die CA zum Unterschreiben von PBirgit keine Kenntnis von QBirgit haben muß, d.h. den geheimen Schlüssel von Birgit muß die CA weder erzeugen noch muß Birgit ihn der CA aushändigen. Und:  Eine  CA  ist  ein  großes  und  spannendes  Ziel  für  einen  Angreifer.  Der  QCA  muß wirklich gut bewacht werden.
  19. 19. Und  noch  ein  paar  weitere  Beobachtungen:  Birgit  kann  sich  ihren  Key  mehrfach  von unterschiedlichen CAs zertifizieren lassen. Und Andreas braucht den Key der CA von Birgit nicht zu kennen. Er kann den Key einer anderen CA kennen, die den Public Key der CA von Birgit kennt, unter Umständen über x Schritte. Beispiele für beides findet man jedoch eher in PGP als in X.509.
  20. 20. Und  schließlich  noch  das  Implosionsproblem:  Was  passiertm,  wenn  Andreas  seinen privaten Schlüssel verbummelt? Wenn  der  Schlüssel  eine  Laufzeit  hat,  löst  sich  dieses  Problem  mit  dem  Auflauf  der Laufzeit des Schlüssels von selber. Gilt Andreas Schlüssel etwa noch ein Jahr, genügt es, das Problem ein Jahr lang zu ignorieren und dann ist es weg. Will  man  es  nicht  ignorieren,  dann  braucht  man  eine  Rückziehliste  der  'irrtümlich unterschriebenen oder jetzt auf Wunsch des Inhabers zurückgezogenen Unterschriften'. Das ist eine Certificate Revokation List, CRL. Die  URL  der  CRL  einer  CA  sollte  in  jedem  Zertifikat  enthalten  sein,  und  es  sollte theoretisch  ein  Protokoll  (eine  API)  geben,  mit  der  man  das  Prädikat  'gültig?'  für  ein gegebenes Zertifikat effizient prüfen kann, und mit der man die gesamte CRL einer CA komplett für den Offline­Gebrauch runterladen kann. In der Praxis funktioniert beides nicht sehr gut...
  21. 21. Ebenfalls nicht sehr gut funktioniert das Lesen und Schreiben von Standards, besonders wenn  es  sich  um  ITU/CCITT­Normen  handelt:  Diese  sind  zu  optional  oder  zu  vage  für eine  Implementierung  oder  einfach  falsch  definiert.  Daher  gibt  es  eine  Reihe  von Dokumenten,  die  PKCS,  die  quasi  Richtigstellungen  und  Präzisierungen  zu  diesem Komplex unterhalten. Ohne sie ist der Standard nicht umsetzbar.
  22. 22. Soweit die Technik. Jetzt will man das Ganze noch in eine Form gießen, die in Deutschland auch juristisch anwendbar  ist.  Dazu  muß  man  quasi  das  Gesetz  mit  der  Technik  verkabeln.  Diese Aufgabe  hat  die  EU  Signaturrichtlinie,  das  deutsche  Signaturgesetz  und  die Durchführungsverordnung  dazu,  sowie  eine  Reihe  von  Gesetzen,  die  bestehende Gesetze  so  ändern,  daß  die  alte  Vokabel  "Unterschrift"  zu  einem  Hook  wird,  der wahlweise eine traditionelle Unterschrift oder eine digitale Signatur aufrufen kann.
  23. 23. Dazu definiert das Signaturgesetz drei Dinge: Die "Einfache elektronische Signatur", die vollkommen  nutzlos  ist,  die  "fortgeschrittene  elektronische  Signatur",  die  man  etwa  mit PGP oder einer OpenSSL­CA selber generieren kann, und die "Qualifizierte elektronische Signatur",  die  eine  solche  CA  nach  bestimmten  technischen  und  organisatorischen Richtlinien betrieben und zertifiziert verlangt. Geschrieben von Kristian Köhntopp in Security um 14:54 | Kommentare (6) | Trackbacks (4) | Eintrag bearbeiten Trackbacks Trackback­URL für diesen Eintrag PingBack Weblog: stefan.waidele.info Aufgenommen: Jun 03, 18:16 PingBack Weblog: blah.tamagothi.de Aufgenommen: Jun 03, 21:36 links for 2011­06­04 New ZFSSA 7000 code release today (ZFSSA ­ Tips & Tricks with your Oracle 7000 ZFS Storage Appliance) (tags: ifttt google reader) ongoing by Tim Bray · +1 Weblog: c0t0d0s0.org Aufgenommen: Jun 04, 08:01 PingBack Weblog: www.ein­schuh­fuer­schaeuble.de Aufgenommen: Jun 21, 17:03
  24. 24. Kommentare Ansicht der Kommentare: (Linear | Verschachtelt) Eine Anmerkung: So rosig ist das Leben mit AES256 nicht, es gibt einen Angriff mit 2^119. Wir haben (im Moment) also die etwas komische Situation, dass AES128 eine hoehere Angriffskomplexitaet hat als AES256. #1 Lalufu am 04.06.2011 10:41 Und das ist beides jenseits praktischer Anwendung, der Vollstaendigkeit halber. #1.1 Lalufu am 04.06.2011 10:43 Du schreibst, CSS sei so sicher, wie Klartext. Jedoch: CSS schützt, wie viele andere schlechte Algorithmen, immerhin vor versehentlichem Mitlesen. Das ist nicht viel, aber mehr als nichts. #2 Matthias Lange am 05.06.2011 13:18 An die "Vorlesung" kann ich mich noch gut erinnern. Danach hatte ich Angst vor Dir :) #3 Andy am 06.06.2011 07:52 Hier ist Diffie Hellman Key Exchange auf eine ganz wunderbare Weise erklärt: http://www.youtube.com/watch?v=3QnD2c4Xovk #4 Kristian Köhntopp (Link) am 20.03.2012 09:43 Hier gibt es den Illustrated Guide to Cryptographic Hashes #5 Kristian Köhntopp (Link) am 16.04.2012 10:28 (Kommentare für diesen Eintrag nicht mehr zulassen) Kommentar schreiben Name E­Mail Homepage Antwort zu [ Ursprung ] Kommentar Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden. BBCode­Formatierung erlaubt   Daten merken?   Kommentar abschicken   Vorschau

×