Kryptologie "Lehre vom Verborgenen"

Kryptologie ("Lehre vom Verborgenen") besteht aus Kryptographie und Kryptoanalyse. Kryptographie beschäftigt sich mit der Konstruktion von Chiffren ("Verbergendes Schreiben"), Kryptoanalyse mit dem Brechen von Chiffren ("Untersuchung des Verborgenen"). Der Sprachgebrauch ist uneinheitlich. Die Begriffe "Code" und "Chiffre", und ebenso "Codierung/Verschlüsselung" und "Chiffrierung", sowie "Rückumwandlung" und "Dechiffrierung" werden oft nebeneinander (überdeckend) verwendet.

Datensicherheit ist ein komplexes Themenfeld, das alle modernen Lebensbereiche und die IT betrifft. Hierzu gehören Kommunikationsdaten und technologische Daten wie z.B. bei Unternehmen, Militär, weltweite Transaktionen, Wissenschaft, industrielle Forschung, Flugverbindungen, Geldströme, Infrastruktur, usw. Das unbemerkte Angreifen und Abgreifen von privaten Daten und von kritischer Firmendaten erfolgt meist unbemerkt. Das Sammeln aller Personendaten führt zu unermeßlichem Datenmengen ( Clouds fürs "Datengold" ). Verschlüsselungstechnologien kennen keinen Entwicklungsstillstand. Es gibt kein felerfreies Programm. Die Komplexität zum auffinden und beseitigen von Fehlern wächst. Gefährdungen können grenzenlos sein. Eine vollkommene Schwachstellenanalysen ist unmöglich.

:: Kryptologie
Einsatzbereiche Warum, Wo verwendet?

Kryptographie versucht zu verhindern, daß Unberechtigte keine Einblicke in geheime Informationen erlangen können Für Außenstehende, die in den Besitz der verschlüsselten Nachrichten kommen, soll ein entschlüsseln der Nachricht "unmöglich" sein.

Ein System ist in gewisser Weise "sicher", wenn die Kosten eines Angriffs erheblich den erzielbaren Nutzen übersteigen, d.h. wenn ein Angreifer in die "Kosten-Sack-Gasse" läuft.

Beispiele sind: Militärische Strategien und Aktionen, Terroristen, interne Geheimnisse bei Regierungen, Konzernen, Parteien, Firmen, private Personen, usw. Telefonkarten, Handys, Fernbedienungen, Geldautomaten, Geldverkehr zwischen Banken, Electronic cash, Online-Banking, Sichere E-Mail, Satellitenfernsehen, PayTV, Wegfahrsperre im Auto, Digital Rights Management (DRM), usw.

Es gibt zahlreiche legitime Gründe für die Verwendung eines Kryptosystems ( Softwar, Hardware ). Warum sollen Informationen lediglich bestimmten Personen zugänglich sein und anderen verborgen bleiben? Warum werden Daten verschlüsselt? Einige Beispiele:

  • Zwei Personen möchten privat per E-Mail korrespondieren ohne daß "geile Zaungäste" mitlesen können.
  • Jede Person ist Teil einer Gemeinschaft (Familie, Gruppe, usw.). Jede Person braucht eine Bereich geschützter Privatheit. Zu jeder Person gehört ein Recht auf Informationelle Selbstbestimmung.
  • Die Teilnehmer einer Familienfeier möchten sich z.B. "in stiller Trauer" von einem verstorbenen Familienmitglied verabschieden und in ihrer Trauer weder verborgen gefilmt, noch geheim abgehört, nocht öffentlich in Überwachungseinrichtungen ( "nackt gescannt" ) oder in öffentlichen Medien präsentiert werden.
  • In einer Firma kann eine Datenbank vertrauliche Daten über Angestellte enthalten ( Gehaltslisten, medizinische Aufzeichnungen, persönliche Betriesdarlehen, usw. ). Diese Daten werden "gepflegt" ( ergänzt, aktualisiert, geändert ) und für bestimmten elektronischen Verarbeitungen benötigt und sollten i.a. dennoch nicht allgemein und öffentlich zugänglich sein.
  • Bestimmte Daten sollen verschlüsselt sein, damit auch bei Anwesenheit der Zugangsberechtigen ein "massemhafter Datenklau" nicht nutzbar ist.
  • Die Zugangsberechtigungen können bei Arbeitsplatz-Teilung ( z.B. bereichsweise Zuständigkeiten; Vertrauenswürdigkeiten ) unterschiedlich sein.
  • Vertrauliche Informationen, wie z.B. Verhandlungspositionen, Eigentumsnachweise unabhängige Angebote bei Großprojekten oder Verfahrensweisen sollen unentzifferbar bleiben.
  • Ein Ausspähen von sensiblen Daten auf dem elektronischen Übertragungsweg ( Bezahlen mit "Karte" ) zu einem anderen Standort oder Adressaten soll verhindert werden.
  • Die Entwicklung neuer Produkte soll der Konkurenz verborgen bleiben.
  • Das "Know How" von komplexen Herstellungsprozessen soll als Betriebsgeheimnis bewahrt werden.
  • Patentierbares Wissen soll bis zur Patenterteilung geheim bleiben.
  • Waffentechnologien und Kenntnisse von militärischen Aktionen sollen geheim bleiben.
  • Expansionspläne und Übernahmebemühungen eines Konzerns sollen nicht vorzeitig öffentlich werden.
Verschlüsselte Kommunikation verständlich

Wie unterscheiden sich symmetrische und asymmetrische Verschlüsselungen? Warum brauchen asymmetrische Verschlüsselungen einen öffentlicher und einen privaten Schlüssel?

Symmetrische Verschlüsselung3n sind einfach und effizient und beruhen darauf, dass Absender und Empfänger einer Geheimbotschaft den gleichen Schlüssel verwenden. Jeder, der über diesen Schlüssel verfügt, kann daher die Nachricht entschlüsseln - auch dann, wenn er/sie diese Nachricht nicht lesen dürfte.

Asymmetrische Verschlüsselungen sind übersichtlich und aufwändig, brauchen mehr Rechenleistung. Asymmetrische Verschlüsselung beseitigt das Problem der Verteilung geheimer Schlüssel. Allerdings benötigen asymmetrische Verschlüsselungsverfahren für Verschlüsselung und Entschlüsselung der übertragenen Daten bei weitem mehr Rechenleistung als symmetrische Verfahren. Vielfach werden in der Praxis asymmetrische Verfahren lediglich nur zur Verteilung geheimer symmetrischer Schlüssel verwendet ( Problem einer manipulationssicheren Verteilung von öffentlichen Schlüsseln bleibt ). PKI und Digitale Signatur ( Schlüssel mit Fingerabdruck ): Mit einer Public Key Infrastruktur und Digitalen Signaturen soll sichergestellt werden, dass Nachrichten zwischen den richtigen Sendern und Empfängern ausgetauscht und auf dem Weg nicht manipuliert werden.


Zugriffsschutz und Zutrittskontrolle Login, Passwort, Überwachung, Datenträger-Diebstahl

Heute ( 2013 ) sind Vertraulichkeit, Integrität und Verfügbarkeit unscharfe, hinterfragungswürdige und doch auch wichtige Begriffe.

Der Zugriffsschutz (Login) umfasst die System-Zugangskontrolle (Zugriffsrechte, Zugriffsprofile, Passwort, Kennwort). Ein Passwort ist ein meist acht- oder mehrstelliges Wort, mit dem man gegenüber einem Rechnersystem seine Identität ( Identity ) nachweist. Auch das Dateisystem erlaubt es, eine Datei mit einem Passwort zur Überprüfung der Identität des berechtigten Nutzers zu versehen (Rechte für Lesen, Schreiben, Ausführen). Ein hirarchisches Schutzschema hat unabhängige und sich ergänzende Ebenen:

  1. Zugriffskontrolle:
    elaubt/verbietet Zugriff auf die Information (Paßwort bei Verbindungsaufbau)
  2. Verwendungskontrolle:
    Der Bunutzer muß für jede Daten-Aktion autorisiert werden (Protokollierung von Benutzeraktionen, keine Überwachungsmöglichkeit von Kopien)
  3. Markierung:
    ermöglicht den Nachweis der Urheberschaft bei illegaler Nutzung und Verteilung (Logo, Copyright-Vermerk, Header-Info, Kryptologie)
Kriterien der Verschlüsselungsverfahren Wie kann was verborgen werden?

Wesentlich für ein Verschlüsselungsverfahren ist die erzielte Sicherheit gegenüber einer unberechtigten Einsicht.

  • Mit welchen Aufwand (Rechenzeit/Speicher/Spezialwissen) kann der unbekannte Schlüssel ermittelt werden?
  • Wie ist der Zugang des Wartungspersonals?
  • Funktionale Sicherheit: Wie ist das Verhalten in Grenzsitutionen?
  • Welche Absicherungen sind für die schützenswerten Daten und Speicherformen vorhanden?
"Geheim, Vertraulich, Intern, Öffentlich" Confidentiality, Authentication, Integrity

Es geht um die Begriffe Identität, Vertraulichkeit, Authentifizierung, Integrität, Verbindlichkeit, Geheim, Vertraulich, Intern, Öffentlich, Confidentiality, Authentication, Integrity.

Schützenswerte Daten können verschlüsselt werden

  • Data-in-Motion: Verschlüsselung ausschließlich auf dem Transportweg,
  • Data-at-Rest: Verschlüsselung am ZielSpeicherort Server
  • Data-at-Rest: Verschlüsselung bereits auf dem Client des Benutzers

Welche Vorgänge können kritisch sein? Wer/was kann gefährdet sein?

Was ist "Sicherheit"? Sicherheit ist ein fasettenreicher Begriff. Sicherheit umfaßt z.B. Technische Aspekte, Sicherheitstechniken, Angriffssicherheit, Betriebssicherheit, Systemsicherheit, und auch individuelle/zwischenmenschliche/kollektive/wirtschaftliche Sicherheiten.

Besonders gefährdete "Kontext-Bereiche" sind: Endpoint Security, Remote Management, File Security, Mail Security, Gateway Security, SharePoint Security, Secure Authentication, Data Encryption, Disaster Recovery und Mobile Security.

 
 Authentifizierung   
   möchte das "von wem" zusichern. 
 
  Integrität            
   möchte die "Unveränderbarkeit" zusichern.
 
  Verbindlichkeit     
   möchte die "Unabstreitbarkeit" zusichern.
 
  Vertraulichkeit     
   möchte das "unbefugte Verbreiten von Geheimen" verhindern.

Wer ist die "verbürgende Vertrauensautorität" ( propritär?, staatlich?, ... ) ? Zertifizierungsstellen und Zertifikate ( engl. CA = Certification Authority, siehe z.B. Windows Zertifikate: Start certmgr.msc ). Zertifizierung und Stichworte, wie Gütesiegel‚ Gütezeichen oder Qualitätssiegel, Prüfzeichen oder Prüfsiegel. Siehe z.B. Prüfsiegel . Es wird unterschieden zwischen User-zentrierten und Server-zentrierten Authorisierungen (user-consent, server-centric, user-to-user, server-to-server). zation and authentication flows. Zur Verbesserung der Informationssicherheit kann eine internationale Zertifizierung von Informationssystemen beitragen. Ein "sichers System" möchte die interne/externe Integrität und Konsistenz bewahren und unzulässige System-Modifikationen durch autorisierte/unautorisierte Anwender verhindern. Oft werden die folgenden Zustände unterschieden:

  Geheim    
 Vertraulich 
↑ nicht nach oben schreiben ↓ nicht nach unten lesen   
Intern Öffentlich

Die Sicherheit von verschlüsselten Informationen hängt von zahlreichen Faktoren ab, wie z.B. der "Stärke der Paßwortes".

  • Vertraulichkeit ( Confidentiality ): Es ist sicher, daß kein Unbefugter die Nachricht lesen kann (Geheimniswahrung). Schutz der Vertraulichkeit: Die Nachricht ist nur für denjenigen lesbar, für den sie bestimmt ist.
  • Authentifizierung ( Authentication ): Es ist sicher, daß der Absender stimmt ( Identität des Senders ) Schutz der Authentizität: Die Echtheit des Absenders wird gewahrt. Der Absender ist wirklich die Person, die als Absender angegeben wird.
  • Integrität ( Integrity ): Es ist sicher, daß die Nachricht nicht verändert wurde (Identität der Nachricht) Schutz der Integrität: Die Nachricht wird auf dem Weg vom Absender zum Empfänger nicht verändert.
  • Verbindlichkeit ( Non-Repudiation, Elektronische Signatur ): Der Empfänger kann beweisen, daß der Sender die Nachricht mit identischem Inhalt abgeschickt hat (Leugnen zwecklos)
Authentifizierung Zwei-Faktor-Authentifikation

Was meint der Begriff Identität? Was ist ein Identitätsdiebstahl? In der Logik bezeichnet Identität das Prinzip der Ununterscheidbarkeit. In der Mathematik gibt die "Identische Abbildung" genau die Argumente zurück. Im Alltag bezeichnet Identität ausgewählte Eigenschaften und Eigentümlichkeiten, die die Identität mit Hilfe von Attributen festlegen sollen. Zu jedem Menschen gehört eine ( biologische Identität . Siehe aus de.wikipedia: Genom und Genetischer Code .

Bei einer vertrauenswürdigen Kommunikation ( z.B. Bankgeschäfte ) ist es heute ( 2015 ) ein vorrangiges Anliegen, die Kommunikationsdaten und die persönlichen Daten vor "Auskundschaftung und unbefugten Bespitzelungen" zu schützen und natürlich auch die handelnde Person ( Bankgeschäfte ) "hinreichend exakt" zu identifizieren.

Wie können Authentifizierung ( möchte das "von wem" zusichern ), Integrität ( möchte die "Unveränderbarkeit" zusichern ), Verbindlichkeit ( möchte die "Unabstreitbarkeit" zusichern ) und die Vertraulichkeit ( möchte das "unbefugte Verbreiten von Geheimen" verhindern) gewährleistet werden?

Eine Authentifizierung (griechisch echt) ist ein Nachweis einer Behauptung ( Verifizierung, Zugangskontrolle, Zugriffsrecht ). Die FIDO-Allianz ( fidoalliance.org ) hat überwiegend multinationale Unternehmen und unterliegt keiner Geheimhaltung, wie die die Industrie-Initiative OATH ( Open Authentication ).

FIDO ( Fast IDentity Online ) macht U2f ( Universal Second Factor, universeller zweiter Faktor ). Die Zwei-Faktor-Authentifikation nutzt z.B. für eine Transaktion die Kombination von Bankkarte und PIN. Bei einer Anfrage an den Server verschlüsselt der FIDO-Authenticator mit dem privaten Schlüssel und antwortet mit dem erzielten Ergebnis die Anfrage. Der Server benutzt dann den hinterlegten öffentlichen Schlüssels für die Benutzer-Identifizierung. Für die Authentifizierung wird eine Kombination von "Geheimnissen" verwendet:

  • Benutzer-Wissen ( persönliches wie Kennwörter/Identifikationsnummern )
  • Benutzer-Besitztümer ( Security-Token nach U2F, Gerätefingerabdruck, Hardware-Token, Bankkarte, einen Schlüssel )
  • Benutzer-Eigenschaften ( "was zum Benutzer gehört, etwas, das der Nutzer weiss", Fingerabdruck, Gesicht, Regenbogenhaut/Iris-Scanner, Automatic Iris Capturing, Biometrie, Tippverhalten, menschlichen Stimme, Benutzernamen und Kennwort, Einmalkennwort, Persönliche Identifikationsnummer, PIN, Transaktionsnummer,TAN )

Individuelle Fingerabdrücke identifizieren Individuen. Das Wort "Fingerabdruck" wird auch im übertragenen Sinne metaphorisch und/oder als Akronym verwendet. Beipiele: Barcode for Digital Music, Audio Identifikationen und Sprachanalyse,
individuelle Parameter aus der räumlich-farbigen Spektralverteilung bei zertifizierten Iris-Scannern, Automatic Iris Capturing, individuelle Augenbewegungsmuster, Gesichteserkennung,
Fingerabdruckscanner ,
genetischer Fingerabdruck per DNA-Sequenzen,
identifizierende Muster von Geräte-Einstellungen und Geräte-Fähigeiten und Geräte-Nutzungs-Spektren,
individuelle Browser- und Software-Einstellungen, Nutzungsmuster der TCP/UDP-Ports ,
Umfang der aktivierten MIME-Typen, individuelle Nutzungsgewohnheiten, digitale Signaturkollektionen für Metadaten + Inhalt + Gerät + User + RFID+Sensornetze,
Big-Data-Cloud Klassifikationsverfahren und Musteranalysen, individuelle "Face Recognition" in verfügbaren Bilduploads, usw. ).

Was gehört wird besteht aus vielfältigen Audio-Spektren.
Was gesprochen wird besteht aus Metadaten ( Ort, Zeit ) und vielfältigen Audio-Spektren.
Was gesehen wird hat speicherbare Unterscheidungsmerkmale und Muster.
Was abgebildet wird besteht aus Metadaten (Ort, Zeit) und geometrischen Formen und Farbmustern.
Chronologisches Tun hat typische, individuelle Gewohnheitsmuster.
Was "begriffen" wird hinterlässt "individuelle Eigenheiten" bei Lehrgängen, Schulungen, Gesprächen.
Fingerabdrücke sind überall hinterlegt/gespeichert. 

Wer kann heute als faire, unabhängige Vertauensinstanz wirken, und ein humanes Bildungniveau und hinreichendes Bürgervertrauen befördern, wenn stets auf andere verwiesen wird, deren vielfältigen Fingerabdrücke sammeln und als "Sündenböcke" alle eignen Unzulänglichkeiten begehen? Welches Bildungniveau wird ein Staatssystem für seine Bürger anstreben, wenn die eigene Bevölkerung als bedingt ausgepähungswürdig behandelt werden muss? Welchen Ausspähungsgrad sollte dann für andere gelten?

Fragen zum Datenschutz Was soll beachtet werden?

Datenschutz hat viele Fasetten. Einige Fragen zum Datenschutz:

  • Wer ist Verantwortlich, welche Stelle zuständig?
  • Hat die Organisation ein Datenschutzbeauftragten? Wer?
  • Sollen Provider Zugriffsdaten erhoben werden?
  • Können Webnutzer ein Konto anlegen und sich persönlich registrieren?
  • Können Newsletter versendet werden?
  • Sollen auf der Webseite kostenpflichtige Leistungen/Dienste angeboten werden?
  • Sollen auf der Webseite Spenden gesammelt werden?
  • Gibt es Verschlüsselungsverfahren mit eigenen bzw. fremden Verantwortlichkeiten?
  • Sollen auf der Website ein freies Kommentieren möglich sein?
  • Sollen auf der Website Formulare verwendet werden?
  • Sollen Kontaktformulare verwendet werden?
  • Gilt bei nicht-EU Angeboten und Diensten uneingeschränkt das EU-Recht? Ausnahmen?
  • Wer verantwortet Rechtsunsicherheiten, Datenverluste infolge von Dritten und unvorhersehbare Gefährdungen?
  • Sollen eigene bzw. fremde Cookies ( auch sog. "Monster-Cookies" ) eingesetzt werden? Welche?
  • Können personenbezogene Daten sicher überwacht, nach Ablauf des Erhebungszwecks bzw. der Aufbewahrungsfrist gelöscht werden? Wer ist hierfür verantworltlich?
  • Werden Setzen auf den Webseiten analytische Nutzungs- und Nutzer-Informationen erhoben?
  • Sollen Retargeting-Funktionen von Dritten für ein Remarketing eingesetzt werden?
  • Sollen Standortdaten erfasst werden?
  • Werden Setzen auf den Webseiten analytische Nutzungs- und Nutzer-Informationen erhoben?
  • Sollen Social Plugin (wie z.B. den Like-Button) eingesetzt werden? Welche?
Digitale Rechteverwaltung Verwertungsrechte bei Bild-, Ton- oder Videoaufnahmen

Eine Digitale Rechteverwaltung ( DRM, Digital Rights Management ) möchten den Schutz an Verwertungsrechten bei Bild-, Ton- oder Videoaufnahmen gewährleisten und dazu beitragen, rechtliche Ansprüche durchzusetzen. Oft möchte DRM eine "grobe Pauschalvergütungen feiner Granulieren" nach Häufigkeit, Dauer, Umfang und die User-Nutzungen individuell abrechnen.

DRM kann als eine "Digitale Beschränkungsverwaltung" oder ein "Digitales Rechtemanagement" gesehen werden. DRMS nutzt zur Kontrolle der User eingebaute technische ( Hardware- ) Lösungen, die mit einem "garantierten Eigen-Zugang" die Nutzung von Distributionen kontrollieren und Abrechnung und Verwaltung von digitalem und physischem Content ermöglichen möchte.


:: Grundlagen der Kryptologie Historische Verfahren
Grundlagen (Zeichen und Alphabet) "Geheimschriften"

Die Kryptologie kommt aus dem Griechischen und behandelte die Lehre von den Geheimschriften und deren Gebrauch. Kryptologie entspricht einer Datenverschlüsselung. Daten werden in eine scheinbar sinnlose Anordnung oder Folge von Informationen umgeformt und dadurch ein unberechtigtes Lesen der Daten "verhindert". Die Kryptologie behandelt Methoden zum Ver- und Entschlüsselung von Informationen. Eine Verschlüsselung (ebenso Entschlüsselung) entspricht einer geeigneten Codierung.

Die Buchstaben eines Alphabets werden bei einer konkreten Verwendung (sprach- und kulturabhängig) unterschiedlich häufig eingesetzt. Auch zu Buchstaben-Paaren (Bigramme) gehören zugeordnete Häufigkeiten. Ähnliches gilt für Code-Tabellen (wie z.B. ASCI, ISO-7-Bit, UTF-8, usw.).

Heute behandelt die Kryptologie Verfahren zum Verschlüsseln (injektive Abbildung, Chiffren) von Daten mit dem Ziel, diese (geheimen) Daten der unberechtigten Nutzung zu entziehen. Unbefugte können diese Daten besitzen aber nicht entschlüsseln. Die Daten sind durch Verschlüsselungsverfahren nur den Personen zugänglich, die den entsprechenden Schlüsselcode besitzen. Der Klartext wird verschlüsselt (Hardware/Software). Die Rückgewinnung benötigt

  • die unleserlichen Chiffren
  • den Schlüssel
  • das Dechiffrierungsverfahren
Teste Zeichen-Häufigkeiten Dichte, Verteilungsfunktion

Anders als in dem Beispiel aus der ägyptischen Mythologie wird heute ( 2015 ) bei "Big-Date-Monopolisierungsbestrebungen" auch versucht, das "universellste-super-stärkste Ver-/Ent-Schlüsselungsverfahren anzupreisen und "für alle kostenfrei-günstig" anzubieten und systematisch einzusetzen. Also: Was ist anders, wenn vorrangig in Folgen, Abfolgen und Zusammenhängen gedacht wird? Hier beispielhaft ein grober Versuch mit Literatur und Häufigkeiten ... Welcher "digitale Fingerabdruck" gehört zu einer Literaurstelle, zu einem Autor, zu einer Sprachkultur?

sortiere Text nach Zeichen-Häufigkeiten


Grundlagen ( Steganographie ) "Schreiben mit Licht"

Das "geheime Schreiben mit Licht" ( Geheimtinte ) bzw. elektromagnetischen Wellen ( Telegrafie, Nachrichtentechnik ) wird auch als Stenographia/Cryptologia bezeichnet. Die verborgene Übermittlung und Speicherung von Informationen in Bildern oder anderen Trägern wird als Steganographie ( de.wikipedia ) bezeichnet. Es wird unter anderem als Form der Steganographie verwendet. Die Verschlüsselung von Nachrichten durch Einbettung in eine andere Darstellungsform entspricht etwa dem "systematisch-intelligenten Verstecken von wenigen Sandkörnern am Urlaubsstrand". Beispiel Machine Identification Code ( de.wikipedia ).

Weblinks: Siehe z.B. de.wikipedia: Computergestützte Steganographie , en.wikipedia OpenPuff , hierher gehören auch Möglichkeiten von Plagiatsfallen , Westerlinck-Code (Schutzmaßnahme gegen Copy&Paste-Plagiieren) und Digitale Wasserzeichen .

Kryptographie-Bezeichnungen (Synonyma) Geheim-,Klartext,Ver-/Entschlüsselung

In der Kryptographie werden unterschiedliche Bezeichner für das Gleiche verwendet:

Synonyma
Verschlüsselungsfunktion f Entschlüsselungsfunktion g
Chiffrierfunktion
encryption function
Dechiffrierfunktion
decryption function
 
KT = Klartext
GT = Geheimtext
S = Schlüssel H = Horcher
Urtext
Botschaft
Nachricht
clear text
Bildtext
Schlüsseltext
Kryptogramm
Chiffrat
cipher text
Schlüsselwort
key
Krytoanalyst
Kryto-Analytiker
crytoanalyst

Ist A das Alphabet für den Klartext und B das Alphabet für den Geheimtext und S die Schlüsselmenge S, so gilt die vereinfachte Darstellung:


f: S x A* --> B*

GT = f(KT, S)




Unsichere
Übertragung

g: S x B* --> A*

KT = g(GT, S) = g(f(KT, S), S)

f ist eine bijektive Funktion g ist die Umkehrfunktion zu f
A kann gleich B sein
Mathematische Schreibweisen y = Vs(x) und x = Es(y) = Es(Vs (x))

In der Kryptologie werden Codes f untersucht

 f := { f | x aus X, y aus Y, y := f(x) } 

die zusätzlichen Kriterien genügen:

  • die Vorschrift f(x) soll trotz Kenntnis der Menge Y nicht berechenbar sein
  • die Werte y sollen klein sein
  • die Vorschrift f soll schnell ausführbar sein
    und eine ausreichende Redundanz aufweisen.

Ist x eine unverschlüsselte Nachricht (Klartext), y die verschlüsselte Nachricht und s der Schlüssel, so bezeichnet

Vs die Verschlüsselungsfunktion, d.h. y = Vs(x)
Es die Entschlüsselungsfunktion, d.h. x = Es(y) = Es(Vs (x)).

Ein Kryptosystem KS ist ein Tripel KS := { X, Y, S }, wobei x aus X, y aus Y und s aus S ist. Zu jedem s gibt es eine Verschlüsselungsfunktion Vs und eine Entschlüsselungsfunktion Es. Ein gutes Kryptosystem erfüllt die folgenden Bedingungen:

  • die Funktion Vs ist einfach zu berechnen
  • y ist nicht wesentlich länger als x
  • ... ist sicher (falls s nicht bekannt ist, kann aus y nur sehr schwer x erhalten werden)

Es werden zwei Arten von Verschlüsselungsprinzipien unterschieden bei symmetrischen Verschlüsselungsverfahren kennt der Empfänger den Schlüssel und macht damit die Chiffrierung des Senders rückgängig. Bei asymmetrischen Verschlüsselungsverfahren gibt es zwei Schlüssel: einen zum Chiffrieren, einen zum Dechiffrieren. Die Schlüssel entstehen durch Multiplikation zweier sehr großer Primzahlen.

Zeichen-Permutationen Fakultätsbasis

Eine bijektive Abbildung einer endlichen Menge M auf sich wird Permutation genannt. zu jedem x aus M gehört genau ein Bild (bijektiv meint eindeutig auf).

Beispiel: 23 soll in die Fakultätsbasis zerlegt werden, d.h. In 23 = k3.3! + k2*2! + k1*1! + k0*0! sind die Zahlen [k4,k3,k2,k1,k0] gesucht.

23/1 = 23,                       Rest=0
23/2 = 11,                Rest=1 
11/3 = 3,          Rest=2
3/4= 0,     Rest=3
0/5=0, Rest=0

Die Zerlegung ergibt den Restvektor V = [k3,k2,k1,k0] = [3,2,1,0] d.h. 23 = 3.3! + 2*2! + 1*1! + 0*0!

Die Rotation ist eine spezielle Permutation.

Cantorsche Paarungsfunktion

Die Menge N ={0,1,2,3,4,5,6,...} und die Menge N x N = {[i,j]: i,j, aus N } haben gleich viele Elemente, woraus gefolgert werden kann, dass es nur abzählbar-unendlich viele Funktionen gibt. Z.B. ist für die Elemente der "graue hinterlegten Diagonalen" i+j = 4 . Die Zahl d(i,j) bei [i,j] auf der Diagonalen ist d(i,j) := j + (i+j)(i+j+1)/2; .

  j=0 1 2 3 4 5 6
i=0 0
[0,0]
2
[0,1]
5
[0,2]
9
[0,3]
14
[0,4]
20
[0,5]
27
[0,6]
1 1
[1,0]
4
[1,1]
8
[1,2]
13
[1,3]
19
[1,4]
26
[1,5]
...
2 3
[1,0]
7
[2,1]
12
[2,2]
18
[2,3]
25
[2,4]
... ...
3 6
[3,0]
11
[3,1]
17
[3,2]
24
[3,3]
... ... ...
4 10
[4,0]
16
[4,1]
23
[4,2]
... ... ... ...
5 15
[5,0]
22
[4,1]
... ... ... ... ...
6 21
[6,0]
... ... ... ... ... ...
Aus [i,j] ergibt sich
  d(i,j) := j + (i+j)(i+j+1)/2; 
Aus der Zahl d auf der Diagonalen
ergeben sich i und j:
 k := floor(sqrt(2*d+0.25)-0.5);
j := d - k*(k+1)/2; 
i := k - j;
Monoalphabetischen Verschlüsselungen

Wenn jeder Buchstabe des Alphabets stets zu demselben Geheimtextzeichen verschlüsselt wird, so heißt ein solches Verschlüsselungverfahren monoalphabetisch. Versuche mit Hilfe statistischer Analyse den folgenden deutschen Text ( Zum "Knacken einer monoalphabetischen Verschlüsselung wird die Häufigkeitsanalyse eingesetzt. Für deutsche Texte gelten die folgenden Häufigkeiten der Buchstaben (in Prozent)

  e   n   i   s   r   a   t   d   h   u   l   g   m   o   b   w   f   k   z   ...
17.7 9.8 7.6 7.3 7.0 6.5 6.2 5.1 4.8 4.4 3.4 3.0 2.5 2.5 1.9 1.9 1.7 1.2 1.1 <0.01
Transposition und Substitution

Die Kryptologie behandelt Methoden zum Ver- und Entschlüsselung von Informationen. Es gibt die Verfahren der Transposition oder/und der Substitution.

  • Die Transposition benutzt
    die Umstellung von Buchstaben des Klartextes bzw. der unchiffrierten Mitteilung.
  • Die Substitution ersetzt Originalbuchstaben
    durch andere Buchstaben oder Symbole.

Eine Transposition T[i,j] ist eine Permutation, bei der nur an 2 Stellen die Bilder vertauscht werden. Sind i und j diese Stellen (und i verschieden von j), so gilt z.B.

T[1,5](1,2,3,4,5) = (5,2,3,4,1)
T[2,4](5,2,3,4,1) = (5,4,3,2,1)

Eine Komposition (=Hintereinanderausführung=Verkettung=Verknüpfung=Zusammensetzung). Die Inversen machen die Verkettungen rücklgängig.

        f macht aus: 1 2 3  
dies: 3 1 2
g macht aus: 1 2 3
dies: 2 3 1
f(g) macht dann aus: 1 2 3
dies: 1 2 3
Substitutions-Beispiele

Bereits Cäsar benutzte das folgende (einfache) Verfahren mit einem Buchstabenversatz s. Die 26 Buchstaben des Alphabets werden in einem Kreis angeordnen. Zur Verschlüsselung wird jeder Buchstabe z.B. um den Versatz s = 5 Stellen im Alphabet im Uhrzeigersinn verschoben. Der Schlüssel entspricht hier die Anweisung, wie die Buchstaben verschoben werden. Diese sog. Cäsar-Verschlüsselung ist sehr unsicher, weil aus der Häufigkeitsverteilung der Buchstaben die dahinter steckende Zuordnung erschlossen werden kann.

Gegeben sei ein geordnete Menge von 26 Buchstaben X:={ a, b, c, ..., z }, die durch S:={0, 1, 2, ...,25 } auf Y abgebildet werden, indem s den zyklischen Versatz (mod 26) angibt. Zu s gehört die Entschlüsselungszahl (26-s).

Codierung (Verschlüsselung):
y[i] = x[(i + s) mod 26] liefert V5("WALTERBACHMANN") = "txiqboyxzejxkk"

Decodierung (Entschlüsselung):
x[i] = y[(i - s) mod 26] liefert E5("txiqboyxzejxkk") = "WALTERBACHMANN",

Bei einfachen Stubstitutions-chiffren wird jeder Buchstabe durch einen zugeordnetes Zeichen ersetzt. Die Buchstaben werden in ihrer normalen Reihenfolge belassen. Worttrennungen (blanks) bleiben meistens erhalten.

Kryptologie mit zyklisch rotierten Ersatz-Buchstaben
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
x y z a b c d e f g h i j k l m n o p q r s t u v w
Beispiel mit Klartext:
W A L T E R  B A C H M A N N
Verschlüsselter Geheimtext:
t x i q b o  y x z e j x k k

Das Cäsar-verfahren kann einfach programmiert werden. Das folgende Beispiel zeigt auch, wie mit ECMAScript der 2. Parameter von .replace(), der normalerweise ein ersetzender String ist, auch eine Funktion sein kann, die die "geklammerten Werte" des regulären Ausdruckes übergibt.

Der 2. Parameter von .replace() kann eine Funktion ( hier caesar_rotation ) sein, die die "geklammerten" Werte des regulären Ausdruckes übergibt.

function func(s0, s1, s2) {
var s="";
s += "<br />s0=" + s0
s += "<br />s1=" + s1
s += "<br />s2=" + s2; 
document.write(s)
}
var str = "abc-ABC-123-UVW";
str.replace(/([a-z]+).*?(\d+)/g, func); 

function caesar_rotation(str) {
var key = get_string_from_key();
var v = parseInt(key); 
if (!v) {v = 1; set_string_to_key(v); }
var n, nA=65, nZ=90, na=97, nz=122;
var d = str.charCodeAt(0)
n = d + v;
if((nA <= d)&&(d <= nZ)){ // A=65..Z=90
if (n > nZ) {n = (nA - 1) + (n - nZ);}
}  
if((na <= d)&&(d <= nz)) {//a=97..z=122
if(n > nz) {n = (na-1) + (n-nz);}
} return String.fromCharCode(n);
}
function caesar_chiffrierung() {
var str = get_string_from_src();
dst = str.replace(/[A-Z,a-z]/g, caesar_rotation); 
set_string_to_dst(dst);
}
Häufigkeiten bei Transposition und Substitution

Die Häufigkeiten bleiben erhalten. Z.B. kommt der Buchstabe A und auch x jeweils 3 mal vor. Diese Chiffren erkennt man an den normalen Buchstabenhäufungen. Sie werden mit Hilfe der Häufigkeitsanalyse und durch das Feststellen der Merkmale von bestimmten Buchstabengruppen, wie z.B. folgend, gelöst:

  • das Auftreten von Doppellauten
  • durch das Erkennen gebräuchlicher Vorsilben und Nachsilben,
  • durch übliche Wortanfangs- und Wortend-Buchstaben und
  • oft benutzten Buchstabenkombinationen wie z.B. QU, CH, ER, EI

Das "Knacken" ist einfach, weil Buchstaben-Kombinationen wie z.B. "QJ" praktisch nicht in einem natürlichen Text erscheinen, während ander Folgen, wie z.B. "ER" häufig sind. Bei diesem Verfahren bleiben die Buchstaben-Häufigkeiten erhalten.

Anstelle der Buchstaben-Buchstaben-Codierung kann auch eine Buchstaben-Zahl-Codierung verwendet werden. Weil auch hier die Zeichen-Häufigkeiten erhalten bleiben, ist auch das folgenden einfachen Ersatz-Verfahren leicht zu entschlüsseln.

Kryptologie mit Ersatz-Ziffern
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Beispiel mit Klartext:
W  A  L  T  E  R     B A  C  H  M  A  N  N
Verschlüsselter Geheimtext:
22 0  11 19  4  17    1 0 2  7  12  0 13 13

Die Häufigkeiten bleiben erhalten. Z.B. kommt der Buchstabe A und auch die Zahl 0 jeweils 3 mal vor. Günstiger ist es, eine Schlüssel-Zuordnungstabelle zu verwenden, wie z.B. S:={ 2, 1, 0, 2, 1, 0, ..., 2, 1 }. Dieses Verfahren ist sicher, wenn die Schlüssel-Tabelle ebenso lang ist wie der Klartext.

XOR-Beispiel

Bei binären Daten kann jedes Byte ein XOR mit einem Schlüssel (z.B. bin 0010 1011) durchgeführt werden. Für das Ver- und Entschlüsseln kann das gleiche, schnelle XOR-Verfahren benutzt werden. Schlüssel-Byte = (hex) 2b = (bin) 0010 1011

  hex
Code
bin
Code
XOR mit
0010 1011
hex
Code
 
A 41 0100 0001 0110 1010 6a j
B 42 0100 0010 0110 1001 69 i
C 43 0100 0011 0110 1000 68 h
D 44 0100 0100 0110 1111 6f o
E 45 0100 0101 0110 1110 6e n
F 46 0100 0110 0110 1101 6d m
G 47 0100 0111 0110 1100 6c l
H 48 0100 1000 0110 0011 63 c
I 49 0100 1001 0110 0010 62 b
J 4a 0100 1010 0110 0001 61 a
K 4b 0100 1011 0110 0000 60 @
L 4c 0100 1100 0110 0111 67 g
M 4d 0100 1101 0110 0110 66 f
N 4e 0100 1110 0110 0101 65 e
  hex
Code
bin
Code
XOR mit
0010 1011
hex
Code
 
O 4f 0100 1111 0110 0100 64 d
P 50 0101 0000 0111 1011 7b {
Q 51 0101 0001 0111 1010 7a z
R 52 0101 0010 0111 1001 79 y
S 53 0101 0011 0111 1000 78 x
T 54 0101 0100 0111 1111 7f (1)
U 55 0101 0101 0111 1110 7e ~
V 56 0101 0110 0111 1101 7d }
W 57 0101 0111 0111 1100 7c |
X 58 0101 1000 0111 0011 73 s
Y 59 0101 1001 0111 0010 72 r
Z 5a 0101 1010 0111 0001 71 q
 
blank 20 0010 0000 0000 1011 0b (2)
 
Beispiel: ======== WALTER BACHMANN |jg1ny2ijhcfjee

Dieses Verfahren kann verbessert werden, indem der Byte-Source-Strom nicht mit einem einzigen Byte, sondern mit einem binären Schlüssel aus z.B. 16 Byte XOR-gefaltet wird. Die Buchstaben-Häufigkeiten ändern sich. Ist src der zu verschlüsselnde Text (ASCII) und key die Schlüssel-Zeichenkette (ASCII), so kann key zyklisch wiederholt auf src gelegt werden und die jeweils aufeinander fallenden Zeichen xor-verknüft werden und ergeben den String enc.

 //Pseudo-Code:
var enc = "", len = key.length;
for (i = 0; i < src.length; i++) { 
ch   = src.charCodeAt(i);
enc += String.fromCharCode( ch^(i%len) );
}
 Beispiel:
Quelltext src = "Walter Bachmann"
Sclüssel  key = "abc"
Ausgabe   enc = "Oytl}j8Zy{puyvv"
Einfaches Tabellen-Ersatz-Verfahren

Gegeben sei ein geordnete Menge von 26 Buchstaben X:={ A, B, C, ..., Z }, die durch die zugeordnete Tabelle Y:={ w,c,d,e,f,g,x,y,z,a,b,r,s,t,p,q,u,v,h,i,j,m,n,o,k,l } auf Y abgebildet werden.

Kryptologie mit Ersatz-Buchstaben-Tabelle
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
w c d e f g x y z a b r s t p q u v h i j m n o k l
Beispiel mit Klartext:
W A L T E R  B A C H M A N N
Verschlüsselter Geheimtext:
n w r i f v  c w d y b w t t

Codierung (Verschlüsselung): y[i] = y[tab(x[i])] liefert VS("WALTERBACHMANN") = "nwrifvcwdybwtt"
Decodierung (Entschlüsselung): x[i] = x[tab(y[i])] liefert ES("nwrifvcwdybwtt") = "WALTERBACHMANN",

<script> //
var alphabet  = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var geheimtab = "wcdefgxyzabrstpquvhijmnokl";
var na0       = 'A'.charCodeAt(0); // na0 = 65
function verschluesselung_mit_tab(klartext){
var i, j, geheimtext = "";
for (i = 0; i < klartext.length; i += 1) {
j = klartext.charCodeAt(i);
geheimtext += geheimtab.charAt(j-na0);
} return geheimtext;
}
function entschluesselung_mit_tab(geheimtext) {
var i, j, c, klartext = "";
for (i = 0; i < geheimtext.length; i += 1) {
c = geheimtext.charAt(i);
j = geheimtab.indexOf(c);
klartext += String.fromCharCode(j + na0);
} return klartext;
}
</script>


verschluesselung_mit_tab("BACHMANN") liefert "cwdyswtt" und
entschluesselung_mit_tab("cwdyswtt") liefert "BACHMANN". Die Häufigkeiten bleiben erhalten. Z.B. kommt der Buchstabe A und auch w jeweils 3 mal vor.

Vigenère Crypto-System

Das folgende Vigenère Crypto-System stammt aus dem 16. Jh ( Siehe z.B. en.wikipedia: Vigenère Cipher , de.wikipedia: Vigenère Verschlüsselung ) Es benutzt ein Schlüsselwort, bei dem Buchstaben nicht mehrfach vorkommen (oder gestrichen werden). Das Schlüsselwort habe 4 Zeichen, wie z.b. B A C H. Das (i mod 4)-Zeichen des zu verschlüssernden Textes wird aus der jeweiligen Zeile entnommen, die zu diesem Schlüsselbuchstaben gehört. Der chiffrierte Buchstabe steht in der Position (Zeile,Spalte) der quadratischen Matrix. Für den Klartext Das 0.,4.,8.,...
Ist die Schlüssellänge bekannt, so kann dieses Verfahren mit der statistischen Analyse "geknackt" werden.

0         1         2        
01234567890123456789012345
0.Zeile: ABCDEFGHIJKLMNOPQRSTUVWXYZ 
1.Zeile: BCDEFGHIJKLMNOPQRSTUVWXYZA 
2.Zeile: CDEFGHIJKLMNOPQRSTUVWXYZAB 
4.Zeile: EFGHIJKLMNOPQRSTUVWXYZABCD
5.Zeile: FGHIJKLMNOPQRSTUVWXYZABCDE
6.Zeile: GHIJKLMNOPQRSTUVWXYZABCDEF
7.Zeile: HIJKLMNOPQRSTUVWXYZABCDEFG 
8.Zeile: IJKLMNOPQRSTUVWXYZABCDEFGH
9.Zeile: JKLMNOPQRSTUVWXYZABCDEFGHI
10.Zeile: KLMNOPQRSTUVWXYZABCDEFGHIJ
11.Zeile: LMNOPQRSTUVWXYZABCDEFGHIJK
12.Zeile: MNOPQRSTUVWXYZABCDEFGHIJKL
13.Zeile: NOPQRSTUVWXYZABCDEFGHIJKLM
14.Zeile: OPQRSTUVWXYZABCDEFGHIJKLMN
15.Zeile: PQRSTUVWXYZABCDEFGHIJKLMNO
16.Zeile: QRSTUVWXYZABCDEFGHIJKLMNOP
17.Zeile: RSTUVWXYZABCDEFGHIJKLMNOPQ
18.Zeile: STUVWXYZABCDEFGHIJKLMNOPQR
19.Zeile: TUVWXYZABCDEFGHIJKLMNOPQRS
20.Zeile: UVWXYZABCDEFGHIJKLMNOPQRST
21.Zeile: VWXYZABCDEFGHIJKLMNOPQRSTU
22.Zeile: WXYZABCDEFGHIJKLMNOPQRSTUV
23.Zeile: XYZABCDEFGHIJKLMNOPQRSTUVW
24.Zeile: YZABCDEFGHIJKLMNOPQRSTUVWX
25.Zeile: ZABCDEFGHIJKLMNOPQRSTUVWXY

Das Vigenère Crypto-System verwendet die folgenden Formeln, wobei GT für Geheimtext, KT für Klartext und S für Schlüssel steht.

GTi = ( KTi + (Si % s.length) ) % 26
KTi = ( GTi - (Si % s.length) ) % 26

Die nachfolgend ECMAScript-Funktionen dienem dem Ver- und Entschlüsseln. Als Alphabet gelte var alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
vigenere_verschluesselung("KLARTEXT", "BACH") gibt "LLCYUEZA" aus.
vigenere_entschluesselung("LLCYUEZA", "BACH") gibt "KLARTEXT" aus.
vigenere_verschluesselung("WACHBLEIBEN", "BACH") gibt "XAEOCLGPCEP" aus.

<script> var alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
function vigenere_verschluesselung(klartext, schluessel) {
var i, j, k, len = alphabet.length, geheimtext = "";
for (i = 0; i < klartext.length; i += 1) {
j = i % schluessel.length;
s = schluessel.charCodeAt(j) - 65;
k = klartext.charCodeAt(i) - 65;
geheimtext += String.fromCharCode(65 + (k + s) % len);
} return geheimtext;
}
function vigenere_entschluesselung(geheimtext, schluessel) {
var i, j, g, len = alphabet.length, klartext = "";
for (i = 0; i < geheimtext.length; i += 1) {
j = i % schluessel.length;
s = schluessel.charCodeAt(j) - 65;
g = geheimtext.charCodeAt(i) - 65;
klartext += String.fromCharCode(65 + (len + g - s) % len);
} return klartext;
}
</script>
Transpositionschiffren

Bei Transpositionschiffren wird die geometrische Position der Zeichen umgestellt, d.h. die Zeichen werden nach einem festgelegten Verfahren umgeordnet. Z.B. kann die Mitteilung in Buchstabenreihen geschrieben und in einem rechteckigen Block angeordnet werden. Dann werde die Buchstaben in einer vorher festgelegten Art und Weise um-positioniert, z.B.

  • in andere waagerechten Zeilen,
  • in Diagonalen oder
  • in Spiralen oder
  • nach anderen komplizierteren Positions-Umstellungsverfahren

Die Anordnung der Buchstaben in der chiffrierten Mitteilung hängt von der Größe des Blockes und von der gewählten Schreib- und Umstellmethoden ab. Um eine Chiffre noch sicherer zu machen, kann ein Schlüsselwort oder eine Zahl verwendet werden. Die Buchstabenhäufigkeit der Zeichen entspricht der verwendeten Sprache. Zum "Knacken" müssen die Buchstaben in verschiedenen geometrischen Formen anordnet und gleichzeitig Anagramme möglicher Wörter gelöst werden.

  Orginal in
3 Spalten
tausche
Zeilen
1,2; 3,4
tausche
Spalten
1,2
 
  W A L   t e r   e t r  
  T E R   w a l   a w l  
    B A   c h m   h c m  
  C H M     b a   b   a  
  A N N   a n n   n a n  
Mehrfache Ersatz-Verfahren

Wenn das Passwort geheim bleibt, ist das folgende Verfahren schwieriger zu entschlüsseln, denn die Zeichen-Häufigkeiten bleiben nicht erhalten. Im folgenden Beispiel wird das Passwort "paswd" verwendet.

Kryptologie mit mehrfachem Ersatzverfahren
  Beispiel-Text Verfahren: (addieren mit paswd) mod 26
Source-
Text
W A L T E R B A C H M A N N = 22 0 11 19 4 17 1 0 2 7 12 0 13 13
Pass-
Wort
p a s w d p a s w d p a s w + 15 0 18 22 3 15 0 18 22 3 15 0 18 22
  Summe der Ersatzzahlen:   37 0 29 41 7 32 1 18 24 10 27 0 31 35
  Modulo 26: = 11 0 3 15 7 6 1 18 24 10 1 0 5 9
  Ergebnis der Verschlüsselung:   L A D P H G B S Y K B A F J
  Entschlüsselung:   L A D P H G B S Y K B A F J
= 11 0 3 15 7 6 1 18 24 10 1 0 5 9
- 15 0 18 22 3 15 0 18 22 3 15 0 18 22
  22 0 11 19 4 17 1 0 2 7 12 0 13 13
  W A L T E R B A C H M A N N
Autochiffrierung

Bei der Autochiffrierung wird mit einem Schlüsselbuchstaben begonnen. Der chiffrierte erste Buchstabe wird dann verwendet, um den zweiten Buchstaben zu chiffrieren (automatischer Schlüssel für Chiffretext) usw., bis die ganze Mitteilung chiffriert ist.

Brute-Force-Angriffe Durchprobieren? Wie lang?

Mit einer "erschöpfenden Folge" von Zeichen-Kombinationen kann ein unbekanntes Passwort aufgespürt werden. Der Algorithmus ist einfach. Die Anzahl der Zeichenkombinationen kann gross sein. Syszematisch werden alle möglichen Schlüssel durchprobiert, bis der passende Schlüssel gefunden wird. Es können z.B. 2 000 000 000 Schlüsseln pro Sekunde generiert werden. Zeit für einen Schlüssel ist t1 = 1 sec/2 000 000 000. Bei "längeren" Passwörtern werden zum Durchprobieren werden viele Rechner und/oder Hochleistungsrechner eingesetzt.

- Bei Dezimalzahlen gibt es 10 verschiedene Zeichen, d.h. 
jede Ziffer 0-9 kann die Werte 0, 1,2 ,3, 4, 5, 6 ,7, 8, 9 haben.
- Bei den Buchstaben A-Z und a-z gibt es 52 verschiedene Zeichen.
- Bei den Sonderzeichen gibt es z.B.

Die Anzahl der möglichen Kombinationen kann mit Hilfe von zeichen_anzahl ^ kennwort_laenge berechnet werden:

Eingabe-Beispiel: 2:A-Z, 3:a-z, 3:0-9 bedeutet 2 Großbuchstaben, 4 Kleinbuchstaben und 2 Ziffern
:
:
...

Einige Beispiele:

5 Zeichen (3 Kleinbuchstaben,2 Zahlen)                             0,03 Sekunden
7 Zeichen (1 Groß-, 6 Kleinbuchstaben)                             ca. 9 Minuten
8 Zeichen (4 Kleinbuchstaben, 2 Sonderzeichen, 2 Zahlen)           ca. 2,6 Tage
9 Zeichen (2 Groß-, 3 Kleinbuchstaben, 2 Sonderzeichen, 2 Zahlen)  ca. 9,1 Jahre
12 Zeichen (3 Groß-, 4 Kleinbuchstaben, 3 Sonderzeichen, 2 Zahlen)  ca. 7,5 Millionen Jahre

Ein großer Teil vertraulicher Informationen wird routinemäßig in Form von Datenkommunikation von einem Computer zu einem anderen gesendet (staatliche Stellen, Banken, Unternehmen). Solche Daten über Telefonleitungen können abgefangen werden. Bei praktischen Anwendungen wird zwischen dem notwendige Aufwand und der gewünschten, hinreichender Sicherheit gewogen. In diesem Sinne gibt es kein perfektes Verschlüsselungsverfahren.

Ein zeitaufwendiges, sicheres Verfahren, bei dem der Schlüssel die Länge der Nachricht hat, ist das 1917 für telegrafische Einsätze entwickelt "One Time Pad" - Verfahren. Hierbei macht die sichere, offline Verteilung der Schlüssel einen erheblichen Aufwand. Die zu verschlüsselnde Text-Bit-Folge wird bitweise mit einer zufälligen Schlüssel-Bitfolge verknüpft (binäre Addition oder Operation Exclusive Or). Die Entschlüsselung erfolgt, indem die gleiche Schlüssel-Folge mit der umgekehrten Verknüpfungsvorschrift auf die kodierte Nachricht anwendet wird.

Zum "Knacken" der Geheimhaltungsverfahren müssen (bei bekanntem Verknüpfungsalgorithmus), alle möglichen Schlüssel durchprobiert werden (Brute-Force-Verfahren). Beträgt die Länge des Schlüssels z.B. 40 bit, so gibt es 240 = 1 099 511 627 776 mögliche Schlüssel. Kann ein Computer 106 Schlüssel pro Sekunde durchprobieren, so benötigt er ca. 13 Tage um alle Schlüssel auszuprobieren. Schlüssellängen von 40 bit gelten daher als unsicher. Dagegen erscheint es derzeit aussichtslos einen Schlüssel von 128 bit Länge und mehr nach dem Brute-Force-Verfahren zu knacken. Ein Computer benötigt bei einem 128 bit-Schlüssel 1025 Jahre.

Anzahl
Schlüssel-
bits
2bits mögliche Schlüssel etwa
10 1024 103
20 1048576 106
30 1073741824 109
40 1099511627776 1012
50 1125899906842624 1015
60 1152921504606846976 1018
70 1180591620717411303424 1021
80 1208925819614629174706176 1024
90 1237940039285380274899124224 1027
100 1267650600228229401496703205376 1030
110 1298074214633706907132624082305024 1033
120 1329227995784915872903807060280344576 1036
DES (Data Encryption Standard)

DES (Data Encryption Standard) ist ein symmetrisches Verschlüsselungsverfahren, welches Anfang der 70er Jahre von der Firma IBM entwickelt und 1974 von der US-Regierung veröffentlicht wurde. Anfang der siebziger Jahre wurde in den USA das Verschlüsselungssystem LUCIFER entwickelt, bei dem sowohl die Substitutions- als auch die Transpositionsmethode zum Einsatz kam. 1976 entwickelte IBM, aufbauend auf dem LUCIFER-System, eine kryptographische Technik mit dem Namen DES (Data Encryption Standard, Datenverschlüsselungsstandard). Mit dem DES werden 64-Bit-Segmente der Mitteilung in 64-Bit-Segmente des Chiffretextes umgewandelt, wobei ein 56-Bit-Schlüssel (7 Byte) verwendet wird. Es gibt mehr als 70 Billiarden mögliche 56-Bit-Kombinationen.

Jeder Nutzer sucht mittels Zufallsgenerator einen 7 Byte - Schlüssel aus und macht ihn denjenigen zugänglich, die befugt sind, diese geschützten Daten zu lesen. Bei DES müssen sowohl der Verschlüsselungs- und Entschlüsselungs-Zahl geheim gehalten werden, weil ein Unbekannter aus der Verschlüsselung auch die Entschlüsselung"knacken kann" .

PKK (Public-Key-Kryptosystem)

Das Public-Key-Kryptosystem (PKK) ist ein sehr sicheres asymmetrisches Verschlüsselungsverfahren, welches 1976 von WHITFIELD DIFFIE und MARTIN HELMAN entwickelt wurde. Es gibt zwei Schlüssel, den einen benutzt man zum Chiffrieren, den anderen zum Dechiffrieren. Einen der beiden Schlüssel kann man öffentlich zugänglich machen, daher auch der Name. Meistens ist der Entschlüsselung geheim. Dadurch ist das Versenden von Nachrichten zwischen vielen Teilnehmern erleichtert. Jeder stellt seine Verschlüsselung öffentlich zur Verfügung. Ist z.B. x eine Unterschrift des Absenders src, die geheim zum Empfänger dst gelangen soll, so kann wie folgt vorgegangen werden:

öffentlche Funktionen: Vsrc, Vdst,
Private Funktionen: Esrc, Edst,
Gesendete Nachricht: x
Verschlüsselte Nachricht: xs

Sender:
src sendet xs = Vdst (Esrc(x))

Empfänger:
dst empfängt xs und erhält
y = Edst(xs) = Edst(Vdst(Esrc(x))) = Esrc(x)

und dann mit der öffentlchen Funktion Vsrc die Unterschrift
x = Vsrc(y).

Der Sender kann nicht abstreiten, die Unterschrift gesendet zu haben. Obwohl es grundsätzlich möglich ist, die PKK-Entschlüsselung zu "knacken", ist dies trotz Computer-Unterstützung z.Z. mit einem vertretbaren Aufwand nicht möglich.

Protokolle und Codierung

RTP (Real-Time Protocol) kann Datenpakete von Multicast-Routinen nach Unicast umsetzten (und umgekehrt). Ein Bit im Header gibt an, dass die Nutzdaten DES verschlüsselt sind.

Das IPv6 sieht für verschlüsselte Datepakete einen Erweiterungsheader vor. Dieser ESP-header (Encapsulated Security Payload) definiert, dass das folgende Paket verschlüsselt ist. Dann kann mit dem AH (Authentication Header) die Authentifizierung und der Integritätsschutz ermöglicht werden.

Der ATM (Asynchronous Transfer Mode) definiert ein eigenes Sicherheitsmodell für Ende-zu-Ende- und Leitungs-Verschlüsselungen.

MIME (Multipurpose Internet Mail Extensions)

MIME ist eine Abkürzung für Multipurpose Internet Mail Extensions, dt. Mehrzweckerweiterungen für Internetpost. MIME ist Bestandteil von HTTP und wird in den Requests for Comments (RFC) der Internet Engineering Task Force (IETF) definiert. S/MIME enthält eine symmetrische Datenverschlüsselung.

Standardverfahren zur Kodierung von E-Mails, die nicht nur aus einfachem Text bestehen, sondern auch noch aus Dateianhängen (Anhang) in unterschiedlichen Formaten. Damit solche sog. Multipart-Mails (dt. Mails aus unterschiedlichen Bestandteilen) verschickt werden können, müssen die Einzelkomponenten in einer einzigen Datei zusammengefasst werden. Beim Empfänger müssen diese Teile dann wieder eindeutig voneinander getrennt werden können. Außerdem muss die Empfangs-Software in der Lage sein zu erkennen, um welchen Datentyp (also welches Format) es sich bei dem jeweils nächsten Teil der Mail handelt.

Codebücher

Chiffren, die auf Schlüsseln beruhen sind einfacher zu handhaben als Codes. Aber sowohl Sender und Empfänger müssen im Besitz identischer Codebücher sein. Codebücher werden aus Gründen der Bequemlichkeit und nicht so sehr der Geheimhaltung benutzt. Die Codebücher müssen sicher aufbewahrt werden. Die Verteilung enthält ein Risiko.

RSA (1978, R.Rivest, A. Shamir, L. Adleman)

Das wichtigste PKK-Verfahen ist das RSA-Verfahren (1978, R.Rivest, A. Shamir, L. Adleman). Dieses System beruht auf der Tatsache, daß es praktisch unmöglich ist 2 große Primzahlen p, q (z.B. 100 Stellen) aus der Kenntnis des Produktes n = p*q zurück zu gewinnen. Zur Verschlüsselung genügt im wesentlichen die Bekanntgabe von n. Zur Entschlüsselung müssen beide Primzahlen bekannt sein.

IDEA (International Data Encryption Algorithmus)

IDEA (International Data Encryption Algorithmus) ist ein relativ sicheres symmetrisches Verschlüsselungsverfahren, welches ab 1990 von XUAIJA LAI und JAMES MASSEY entwickelt wurde.

PGP (Pretty Good Privacy, Philip Zimmermann)

Zur Verschlüsselung sensibler Daten für das Internet wird heute meist das von Philip Zimmermann entwickelte Pretty Good Privacy (PGP, "ziemlich gute Vertraulichkeit") benutzt. PGP kombiniert symmetrische und asymmetrische Verfahren: Die Nachricht wird mit IDEA (symmetrisches Verschlüsselungsverfahren) verschlüsselt, es werden also Zeichengruppen vertauscht und durch andere Zeichen ersetzt. Für jede Nachricht gibt einen eigenen IDEA-Schlüssel. Der für den Empfänger bestimmte öffentliche Schlüssel wird mit RSA (asymmetrisches Verschlüsselungsverfahren) erzeugt und mit der chiffrierten Nachricht versandt.

ESP-IEEE-Standard

[Abk. für Encapsulating Security Payload IEEE Standard, dt. IEEE-Standard für Nutzlast mit eingebetteter Sicherheit], Der ESP-IEEE-Standard ist eine vorgeschlagene Ergänzung zum Internetprotokoll (IP), die Vertraulichkeit, Datenintegrität und Authentizität von Datagrammen sicherstellt. Dabei wird ein Teil des Headers und die Nutzlast (engl. Payload=gesamtes Datagramm) verschlüsselt und mit einer Prüfsumme versehen. Dadurch kann weder die Senderadresse noch die Nutzlast verändert werden, ohne dass der Empfänger dies bemerken würde. Abhängig vom verwendeten Kryptologieverfahren ist auch eine Authentifizierung möglich.

Digitaler Fingerabdruck

Ein Nachrichtenbeglaubigungscode [MAC steht für Message Authentication Code] wird auch Digitaler Fingerabdruck (Message Digest, Message Authentication Code, MAC) genannt. Ein Nachrichtenbeglaubigungscode wird aus einer beliebig langen Nachricht generiert, indem mit einer Hash-Funktion eine "Prüfsumme" (oft 128 Bit = 16 Byte) ermittelt wird. Das Verfahren ist sicher, wenn es nicht gelingt, aus dem Hash-Wert die Nachricht zu generieren, die denselben Hash-Wert besitzt. Der Hash-Wert identifiziert die Nachricht wie wie ein Fingerabdruck die ursprünglichen Daten. Die bekanntesten Sicheren Hash-Funktionen sind SHA-1 (Secure Hash Algorithm), und RIPEMD-160 und für "kurzlebige MACs" auch MD5.

Die folgende C-Funktion ist ein Beispiel für eine "hash"-Kontroll-Zahl-Ermittlung. Jeder Buchstabe aktChar verändert den Wert code_old und liefert code_new.

int code_new (int code_old , char aktChr)
{ int akt_char = (int) aktChr ;
akt_char ^= code_old ;
if (code_old < 0) { code_old <<= 1 ; code_old ++ ; }
else { code_old <<= 1 ; }
code_old ^= akt_char ;
akt_char = (akt_char << 8) | (akt_char >> 8) ;
if (code_old < 0) { code_old <<= 1 ; code_old ++ ; }
else { code_old <<= 1 ; }
code_old ^= akt_char ; 
return code_old ;
}

Hier eine andere Hash-Funktion, die einen String aus Ziffern zurück gibt.

function calcHash(s) {
if (!s || s=="") return 1;
var h=0, g=0;
for (var i = s.length-1; i>=0; i-=1) {
var c = parseInt(s.charCodeAt(i));
h = ((h << 6) & 0xfffffff) + c + (c << 14);
if ((g=h & 0xfe00000)!=0) h=(h ^ (g >> 21));
} return h;
}
Digitale Unterschrift

Oft werden die Begriffe digitale Unterschrift und Digitale Signatur [engl. digital signature] synonym verwendet. In eine eine Bilddatei (Bild der Unterschrift) können mit geeigneten Verschlüsselungsverfahren fälschungssichere Kennzeichen eingefügt werden (MAC, Digitale Signatur, Nachrichtenbeglaubigungscode). Die Digitale Signatur kann die Echtheit und die Herkunft des Bildes belegen. Eine Vertraulichkeit der Nachricht und Schutz vor unbefugtem Lesen durch Dritte bietet nur eine zusätzliche Verschlüsselung. Bekannte Verfahren für die digitale Signatur sind der Digital Signature Standard (DSS) und S/MIME (MIME). Das populärste Programm zur Erzeugung einer digitalen Signatur ist das Verschlüsselungsprogramm Pretty Good Privacy (PGP).

Authentizität

Unter der Authentizität ist der Nachweis der Identität des Urhebers zu verstehen (digitale Unterschrift, digitale Signatur, Fingerprint, digitale Wasserzeichen, Chipkarten). Die Vertraulichkeit verhindert, dass Unberechtigte die Informationen lesen können. Die Integrität sichert die Unversehrtheit der übertragenen Daten (Prüfziffern, digitale Zeitstempel).

Zertifizierungsinstanz

Die Glaubwürdigkeit von Computerdaten wird Authentizität genannt. Hierbei ist gemeint:

  1. die Datenintegrität:
    Übereinstimmung der betrachteten Daten mit den Ursprungsdaten
  2. die Authentifizierung:
    der Nachweis der Identität ( Identity ) eines Benutzers

Für die Gewährleistung der Authentizität wird oft ein vertrauenswürdiger, dritter Partner (Trusted Third Party) benutzt. Dieser wird auch als Vertrauens- oder Zertifizierungsinstanz (Registrierung, Personalisierung, Zertifizierung) bezeichnet. Diese Instanz erstellt ein Berechtigungs-Zertifikat und führt Datensätze, wie z.B. Namen und Adresse, öffentlichen Schlüssel des Teilnehmers. Ziele sind der Nachweis des Urheberrechtes, der Nachweis der Echtheit/Authenzität ( siehe z.B. Windows Zertifikate: Start certmgr.msc ).

:: Verschlüsselungs-Algorithmen (Tabellen)

Die folgenden Daten und Tabellen sind z.T ohne Quellenangaben aus alten Internetseiten ( z.B. Heise-Security-Artikel aus 2012 ) zusammengetragenworden. Diese Daten sind z.T nicht mehr aktuell. Neuere Angaben finden sich bei wikipedia. In der Kryptographie gibt es zahlreiche Algorithmen, siehe z.B. de.wikipedia Kryptographie-Algorithmen .

Symmetrische Verschlüsselungs-Algorithmen
Name Art Schlüssel-
länge
Geschw. Sicherh. Anwendg Bemerkungen
One-Time-Pad Strom Klartextlänge hoch perfekt nur in Sonderfällen einziger beweisbar sicherer Algorithmus
Substitutionschiffre zeichen-
weise
theoretisch 88 Bit (=26!) uninteressant extrem niedrig historisch, Denkaufgaben bei Rätseln noch beliebt
Vigenère zeichen-
weise
variabel hoch sehr niedrig historisch, vereinzelt noch heute sehr leicht zu brechen
DES Block 56 Bit Hardware: hoch
Software: niedrig
mit Spezialhardware angreifbar (hoher Aufwand) verbreitet, war 20 Jahre lang Standard Schlüssellänge ist einziger
praktisch ausnutzbarer Schwachpunkt

3DES Block 112 Bit Hardware: hoch
Software: sehr niedrig
kein Angriff bekannt verbreitet zu langsam in Software, veraltet
IDEA Block 128 Bit schneller als DES sehr hoch verbreitet patentiert, auch in Europa
RC4 Strom variabel Software: hoch bei richtiger Anwendung hoch, Angriffspunkte bekannt in vielen Produkten (SSL, Windows-Applikationen) bei drahtloser Datenübertragung mit WEP
effektive Angriffe möglich

pkzip-Chiffr. Strom variabel Software: hoch wurde gebrochen in PKZIP Eigenbau-Algorithmus”, Crackprogramme
A5 Strom 64 Bit Hardware: sehr hoch wurde gebrochen in allen GSM Handys eine Sekunde reicht zum Knacken
Kasumi Block 128 Bit Hardware: hoch kein Angriff bekannt in allen UMTS-Handys Anwendung als Stromchiffre
RC5 Block variabel Software: hoch praktisch sicher in einigen Produkten nutzt (neu) variable Rotation, US-Patent
RC5a Block variabel Software: hoch sicherer als RC5 eine Anwendung im Bankwesen Verbesserung von RC5,
fällt auch unter RC5-Patent

RC6 Block variabel Software: hoch kein Angriff bekannt ? Weiterentwicklung von RC5,
AES-Endkandidat, US-Patent

Blowfish Block variabel Software: hoch kein Angriff bekannt verbreitet, u.a. in OpenSource-Software frei verfügbar für jede Nutzung
Twofish Block variabel Software und Hardware: hoch kein Angriff bekannt, noch sicherer als Blowfish ? frei wie Blowfish,
AES-Endkanditat

AES Block 128-256 Bit Software und Hardware: sehr hoch bisher nur theoretische Schwächen schon sehr verbreitet, Standardalgorithmus Nachfolger von DES
Asymmetrische Verschlüsselungs-Algorithmen
Name Art Schlüssel-
länge
Geschw. Sicherh. Anwendg Bemerkungen
RSA - oft 1024 oder 2048 Bit sehr niedrig bis heute sicher wichtigstes Public-Key-Verfahren basiert auf Problem der Faktorisierung (s.Text)
EIGamal - wie RSA sehr niedrig bis heute sicher sehr verbreitet nutzt diskr. Logarithmus
Diffie-
Hellmann
- keine sehr niedrig bis heute sicher sehr verbreitet (z.B. Ipsec, SSH) wie ElGamal, einfach und robust