El Gamal Verschlüsselung und seine Anwendungen

Ähnliche Dokumente
Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau

11. Das RSA Verfahren und andere Verfahren

Erste Vorlesung Kryptographie

Authentikation und digitale Signatur

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am

Kryptographie mit elliptischen Kurven

IT-Sicherheit Kapitel 3 Public Key Kryptographie

Grundlagen der Kryptographie

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

Public-Key-Kryptosystem

10. Kryptographie. Was ist Kryptographie?

1. Asymmetrische Verschlüsselung einfach erklärt

Modul Diskrete Mathematik WiSe 2011/12

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

Programmiertechnik II

Mitschrift Vorlesung Einführung in die Kryptographie vom 18. Januar 2011

Konzepte von Betriebssystem-Komponenten: Schwerpunkt Sicherheit Grundlagen: Asymmetrische Verschlüsslung, Digitale Signatur

5. Signaturen und Zertifikate

Kurze Einführung in kryptographische Grundlagen.

Wiederholung Symmetrische Verschlüsselung klassische Verfahren: Substitutionschiffren Transpositionschiffren Vigenère-Chiffre One-Time-Pad moderne

RSA Verfahren. Kapitel 7 p. 103

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur

und Digitale Signatur

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Grundlagen der Verschlüsselung und Authentifizierung (2)

Datensicherheit durch Kryptographie

Kryptographie Reine Mathematik in den Geheimdiensten

Seminar zur Kryptologie

SSL/TLS Sicherheit Warum es sich lohnt, sich mit Ciphersuites zu beschäftigen

Verschlüsselung. Chiffrat. Eve

Verschlüsselungsverfahren

Übungen zu. Grundlagen der Kryptologie SS Hochschule Konstanz. Dr.-Ing. Harald Vater. Giesecke & Devrient GmbH Prinzregentenstraße 159

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

12 Kryptologie. hier: Geheimhaltung, Authentifizierung, Integriät (Echtheit).

Über das Hüten von Geheimnissen

Digitale Unterschriften Grundlagen der digitalen Unterschriften Hash-Then-Sign Unterschriften Public-Key Infrastrukturen (PKI) Digitale Signaturen

8. Von den Grundbausteinen zu sicheren Systemen

PKI (public key infrastructure)

Verschlüsselung. Kirchstraße 18 Steinfelderstraße Birkweiler Bad Bergzabern Fabian Simon Bfit09

Probabilistische Primzahlensuche. Marco Berger

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce

Public-Key Verschlüsselung

Elliptische Kurven in der Kryptographie

Wiederholung: Informationssicherheit Ziele

Kryptographie oder Verschlüsselungstechniken

Digitale Signatur. Dr. med. András Jávor

27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln

Workshop Experimente zur Kryptographie

Symmetrische und Asymmetrische Kryptographie. Technik Seminar 2012

Gnu Privacy Guard I. Öffentliche Schlüssel Digitale Unterschrift. Schutz der Privatsphäre durch Kryptographie. von Gerhard Öttl

Was ist Kryptographie

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

Mit Python von Caesar zur Public-Key Kryptographie

Schlüsselvereinbarung

Voll homomorpe Verschlüsselung

Anleitung Thunderbird Verschlu sselung

Digital Signature and Public Key Infrastructure

Algorithmische Kryptographie

RSA Full Domain Hash (RSA-FDH) Signaturen

Kryptografische Protokolle

Cryptoparty: Einführung

Grundlagen der Verschlüsselung und Authentifizierung (2)

Das wichtigste Kennzeichen asymmetrischer Verschlüsselungsverfahren ist, dass die Kommunikationspartner dabei anstelle eines

Grundlegende Protokolle

1. Klassische Kryptographie: Caesar-Verschlüsselung

Lenstras Algorithmus für Faktorisierung

Elektronische Signaturen

Kryptographie. nur mit. Freier Software!

Einführung in Computer Microsystems

Seminar Kryptographie

Linux User Group Tübingen

6 asymmetrische Verfahren. Public Key Kryptosysteme, RSA, ElGamal

Proseminar: Electronic Commerce und Digitale Unterschriften Public-Key-Kryptographie

Digitale Signaturen Einführung und das Schnorr Signaturschema

Wiederholung: Informationssicherheit Ziele

Semantic Web Technologien. Security and Trust. Sebastian Henke. Betreuer: Mark Giereth VIS 06

Anhang IV zur Vorlesung Kryptologie: Public-Key Kryptographie

Klassische Verschlüsselungsverfahren

Exkurs Kryptographie

Allgemeine Erläuterungen zu

Vortrag Keysigning Party

Computeralgebra in der Lehre am Beispiel Kryptografie

Kap. 2: Fail-Stop Unterschriften

Homomorphe Verschlüsselung

II. Primzahltests und Faktorisierungsalgorithmen (mit Anwendungen in der Kryptographie) 1. Public Key Kryptosysteme: Grundprinzip und Beispiele

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus

IT-Sicherheitsmanagement. Teil 12: Asymmetrische Verschlüsselung

Seminar Kryptographie und Datensicherheit

-Verschlüsselung mit GPG. Von der Key-Erzeugung zur verschlüsselten . Chemnitzer Linux-Tage März 2010 Vortrag

Entwicklung der Asymmetrischen Kryptographie und deren Einsatz

10. Public-Key Kryptographie

Grundbegriffe der Kryptographie II Technisches Seminar SS 2012 Deniz Bilen

Einfache kryptographische Verfahren

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

Zur Sicherheit von RSA

Untersuchung der Gruppen GL(s, Z n ) und SL(s, Z n ) zur Nutzung in der Kryptographie

Verschlüsselungsverfahren

Digitale Signaturen. Sven Tabbert

Kryptographie und Komplexität

Das Verschlüsseln verstehen

Transkript:

El Gamal Verschlüsselung und seine Anwendungen Andrés Guevara July 11, 2005 1 Kurze Einführung in die Kryptographie Situation: Absender will Empfänger eine Nachricht schicken. Einige Ziele der Kryptographie sind: Niemand außer dem Empfänger soll die Nachricht lesen können. Der Empfänger soll überprüfen können, ob die Nachricht während der Übertragung geändert wurde. Die Parteien sollen sich identifizieren können Der Absender kann danach nicht ablehnen, dass er die Nachricht geschickt hat. Lösung des ersten Problems (nur der Empfänger kann die Daten lesen und verstehen): Dazu wurden die symmetrischen Verfahren entwickelt. Die heißen symmetrisch, weil die Parteien sich auf einen gemeinsamen Schlüssel einigen, womit die Nachricht verschlüsselt bzw. entschlüsselt wird. Neues Problem: Bevor sie einen Schlüssel gewählt haben, ist die Verbindung unsicher, jeder andere kann die Übertragung des Schlüssels ablesen, also, wie gelingt es, die Kommunikation für die Wahl und besonders für die Übertragung des Schlüssels sicher zu machen? Dafür wurden die asymmetrischen Verfahren entwickelt. Jedes Individuum verfügt über 2 Schlüssel, einen öffentlichen und einen privaten. Will der Absender dem Empfänger eine Nachricht schicken, so verschlüsselt 1

er sie mit dem öffentlichen Schlüssels des Empfängers. Er seinerseits ist der einzige, der sie entschlüsseln kann, denn man braucht dafür seinen privaten Schlüssel; somit ist die Übertragung der Nachricht sicher. Das heißt: Wir wählen für die Kommunikation einen symmetrischen Verfahren. Um den gemeinsamen Schlüssel zu vereinbaren benützen wir aber ein asymmetrisches Verfahren, d.h. die beiden Verfahren komplementieren sich. Wieso wird nur der Schlüssel und nicht die ganze Nachricht mit dem asymmetrischen Verfahren geschickt? Weil die Berechnungen bei den asymmetrischen Verfahren viel komplizierter sind als bei den symmetrischen, d.h. für große Datenmengen wären sie sehr ineffizient. El Gamal ist ein asymmetrisches oder Public-Key Verfahren. Diese Verfahren beruhen auf sogennante Einwegfunktionen. f wird Einwegfunktion gennant falls man f(x) effizient berechnen kann aber es kein effizientes Verfahren gibt, um x aus f(x) zu berechnen Möchte man also x mit Hilfe von einer Einwegfunktion f verschlüsseln, so kann man f(x) schnell berechnen, und aus f(x) kann man nicht die ürsprüngliche Information x berechen. Bei El Gamal ist diese Funktion Exp: Z p 1 Z p, x g x wobei p eine Primzahl ist, Z p 1 die Restklassengruppe modulo p 1 Elementen ist, Z p die Menge der Einheiten oder invertierbaren Elementen in Z p ist g ein Generator von Z p ist, d.h; man kann die Menge Z p schreiben als Z p = {g, g 2,..., g p 1 } 2

Die Umkehrfunktion von Exp wird der diskrete Logarithmus genannt (diskret weil es um endliche Körper geht), und es ist kein effizienter Algorithmus bekannt, der diese Funktion für eine große Primzahl p berechnen kann. Der Empfänger einer Nachricht generiert seine Schlüssel so: Er wählt 1. Eine große Primzahl p, so dass p 1 einen großen Primfaktor hat. 2. Einen Generator g Z p 3. Eine ganze Zahl x, 0 x p 2 zufällig Das 3-Tuppel (p, g, x) ist der private Schlüssel des Empfängers 4. Er berechnet y = g x mod p. Der öffentliche Schlüssel ist das 3-Tupel (p, g, y) und x bleibt geheim. 2 Verschlüsselung Der Absender will eine Nachricht m schicken, wobei m Z p. Der Absender verfügt über den öffentlichen Schlüssel vom Empfänger (p, g, y). Dann wählt er eine Zahl k, 1 k p 2 zufällig. Die verschlüsselte Nachricht ist dann das Tupel (g k, mg xk ) = (g k, my k ) Z 2 p 3 Entschlüsselung Der Empfänger bekommt (g k, mg xk ) vom Absender und hat den privaten Schlüssel (p, g, x). Aus x und p berechnet er x. Dann berechnet er (g k ) x = (g xk ). Multipliziert er dann mg xk g xk = m bekommt er die Nachricht m entschlüsselt. 3

4 Signatur Damit der Empfänger sicher sein kann, dass der Absender die Nachricht geschickt hat und niemand anders, soll der Absender die Nachricht unterschreiben. Die Nachricht wird mit Hilfe des privaten Schlüssels des Absenders untergeschrieben. Der Absender generiert genauso wie der Empfänger einen öffentlichen und einen privaten Schlüssel (p, g, y) bzw. (p, g, x). Die Nachricht wird mit einer Hash-Funktion auf eine Zahl m Z p abgebildet und dieser Wert m wird unterschrieben. Der Absender geht folgendermassen vor: 1. Er wählt zufällig eine Zahl k, 1 k p 2 mit ggt(k, p 1) = 1. 2. Er berechnet r := g k mod (p 1) und s := k 1 (m rx) mod (p 1) 3. (m, r, s) ist die unterzeichnete Nachricht 4.1 Verifikation der Signatur Der Empfänger hat dann zur Verfügung Der öffentliche Schlüssel des Absenders: (p, g, y) Die Signatur des Absenders: (m, r, s) Er verifiziert dass der Absender m untergeschrieben hat, indem er überprüft 1. Ob 1 r p 1. Wenn nicht dann akzeptiert er die Signatur nicht 2. Er berechnet v := g m und w := y r r s Die Signatur wird akzeptiert wenn v = w, denn w = y r r s = (g x ) r (g k ) s = g rx g kk 1 (m rx) = g m = v Bemerkung zur Berechnung: Die Exponenten von g können mod (p 1) verkürzt werden, denn g p 1 = 1 4

5 Gefahren Bei der Signatur muss der Absender sehr viel darauf aufpassen, dass niemand die zufällige Zahl k herausfinden kann, denn man kann mit Hilfe von k, r, m und s die Zahl x aus s = k 1 (m rx) mod (p 1) berechnen, wenn r in Z p 1 invertierbar ist Jedes Mal muss diese Zahl k neu gewählt werden, denn wählt man 2 Mal die gleiche Zahl k für 2 Signaturen (m, r, s) und ( ˆm, r, ŝ) so ist: s ŝ (m ˆm)k 1 mod (p 1) k (s ŝ) 1 (m ˆm) mod (p 1) und man kann wiederum k berechnen Wird keine Hash Funktion für die Signatur der Nachricht verwendet, so kann einen Angreifer eine Nachricht m mit einer gültigen Signatur schicken. Seien b und c Zahlen mit gcd(c, p 1) = 1. Setze: r = g b y c, s = rc 1 mod (p 1) und m = rbc 1 mod (p 1). Es gilt dann g m = y r r s Ohne den ersten Schritt der Verifikation und mit der Annahme, dass der Hashwert m in Z p 1 invertierbar ist, so kann ein Angreifer, der die Signatur (m, r, s) liest, eine eigene Nachricht ˆm verschicken. Er setzt: u = ˆmm 1 mod (p 1); ŝ = su mod (p 1); ˆr Z mit ˆr r mod p und ˆr ru mod (p 1) und ( ˆm, ˆr, ŝ) ist eine gültige Nachricht. 5.1 Letzte Bemerkung Für die Konstruktion der gewünschten Primzahl p bei der Generierung der Schlüsseln kann wie folgt vorgehen: Der Empfänger sucht sich eine grosse Primzahl q Er sucht eine Zahl k, so dass z = 2kq + 1 eine Primzahl ist (in O(lnz) zu finden) 5

Er sucht zufällig einen Generator g in Z p. Damit dass effizient verläuft muss q sehr gross und k klein sein, denn man braucht die Faktorisierung von k dafür 6 Literatur [DelKne2002] H. Delfs, H. Knebl: Introduction to Cryptographie. Berlin: Springer-Verlag, 2002. 6