Beweis der RSA-Verschlüsselung

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

Chester

Betreff: Beweis der RSA-Verschlüsselung

BeitragSo, Mai 23, 2010 16:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

für meine Mathe-Facharbeit über Kryptographie mit Schwerpunkt auf dem Public-Key/RSA-Algorithmus bin ich momentan beim Beweis, dass die Verschlüsselungsfunktion die Umkehrfunktion der Entschlüsselung ist, angelangt.

Das Prinzip ist ja eigentlich recht einfach zu verstehen, jedoch habe ich das Problem, dass ich mir die Kentnisse über die Zahlentheorie selbst beibringen musste, da sowas in der Schule normalerweise nicht behandelt wird.

Deshalb bin ich momentan recht unsicher darüber, ob meine Formulierungen und Schreibweisen der Gleichungen wirklich korrekt sind.

Da ich mir aber sicher bin, dass es hier im Forum mehr Leute gibt, die davon wesentlich mehr Ahnung haben, bitte ich diese mal kurz drüber zu schauen(ist auch nur ein kurzer Auszug):

https://www.blitzforum.de/upload/file.php?id=8595

Vielen Dank für Eure Hilfe,
Chester

darth

BeitragSo, Mai 23, 2010 18:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ist zwar schon ein Weilchen her, aber wir haben das relativ kurz begründet (!= bewiesen..).

p, q seien Primzahlen,
N = p*q,
e mit ggT(e, (p-1)*(q-1)) = 1 (e muss teilerfremd sein zu (p-1)*(q-1).)

=> C=(x^e) mod N, c wird übermittelt

d ist Geheimschlüssel mit: (e*d) mod (p-1)*(q-1) = 1

C^d = (x^e)^d = x^(e*d) = x mod N

(das wird dir wohl bekannt sein, nur damit wir von den gleichen Buchstabenbedeutungen reden.)

Das Verfahren funktioniert weil folgender Satz gilt:

Zitat:
Sei N = p*q (p,q prim), e teilerfremd zu (p-q)*(q-1), d Element der natürlichen Zahlen mit e*d mod (p-1)*(q-1), dann gilt:
x^(e*d) mod N = x mod N für alle x.


Den Satz haben wir nie bewiesen und ich weiss auch nicht wie er heisst, daher kann ich den Beweis nicht nachschlagen.

Ich weiss noch, dass wir den kleinen Satz von Fermat benutzt haben:

Zitat:
Sei p eine Primzahl und a Element der natürlichen Zahlen mit ggT(p, a)=1, dann gilt: a^(p-1) mod p = 1


RSA funktioniert, weil das potenzieren modulo N für grosse N sehr schwierig umzukehren ist, die Primzahlenzerlegung für grosse Zahlen ist zeitaufwändig.

Dann haben wir eine Behauptung aufgestellt:

Zitat:
Es gibt Zahlen x, y Element der rationalen Zahlen mit ggT(a, b) = x*a + y*b (Linearkombination von a und b).


Der Beweis geht folgendermassen:

Zitat:
Allg: a>b (oBdA)
a-s_1*b = r_1
b-s_2*r_1 = r_2
r_1-s_3*r_2 = r_3
...
r_(n-2) - s_n * r_(n-1) = r_n (-> ggT)
r_(n-1) - s_(n+1) * r_n = 0

Ziel: r_n = x*a + y*b

r_n = r_(n-2) - s_n * r_(n-1) = 1* r_(n-2) + (-s_n) * r_(n-1) <- r_(n-1) einsetzen
= (-s_n) * r_(n-3) + (1 + s_n * s_(n-1) ) * r_(n-2) <- r_(n-2) einsetzen
..usw..


Daraus zogen wir die Folgerung: ggT(a,b) = 1, dann existiert d Element der natürlichen Zahlen mit a*d mod b = 1.

Beweis:
Zitat:
a*x + b*y = 1
a*x + b*y=1 = a*x mod b

mit d=x leistet die Zahl das gewünschte.

So, mittlerweilen ist der Beitrag ziemlich wirr geworden :/ ich hoffe es hilft dir etwas weiter, falls du den Überblick noch nicht verloren hast.

MfG,
Darth
Diese Signatur ist leer.

Chester

BeitragDi, Mai 25, 2010 18:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay vielen Dank! Das war zwar eigentlich nicht wirklich das, wonach ich gefragt habe, aber trotzdem hat dein Beitrag ein paar Verständnislücken gefüllt.

Deshalb nochmals Danke Smile

Skabus

BeitragDi, Mai 25, 2010 18:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Jap haben wir gerade erst gehabt...mit kleinem Fermat hat unser Prof das auch bewiesen!


MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu

Chester

BeitragDi, Mai 25, 2010 19:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur mal so aus Interesse ein paar optionale Fragen: Was studiert ihr,und in welchem Fach habt ihr das in welchem Semester gemacht?

Irgendwie finde ich es interessant, dass mir als Schüler eine solche Facharbeit gegeben wurde, während das Thema selbst eigentlich erst im Studium behandelt wird.

Skabus

BeitragDi, Mai 25, 2010 20:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich studier Computervisualistik und das ist quasi Informatik nur mit 3 mal mehr Mathe ^^

Aber Mathe haben wir ganz normal bei einem Prof aus der Mathefakultät und der macht manchmal
aber auch die ein oder andere Informatiksache.

Und der hat RSA eingeführt als er den kleinen fermatschen Satz eingeführt hat...

Bin übrigens im 2. Semester und hatte das im 1.

MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu
 

BBPro2

BeitragDi, Mai 25, 2010 20:54
Antworten mit Zitat
Benutzer-Profile anzeigen
@skabus
in saarbrücken?
planste deinen master in sb zu machen ?

europaweit beste uni für visual computing - wäre vlt interessant für dich

Skabus

BeitragDi, Mai 25, 2010 21:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh weh nein XD

Ich wohne quasi genau an der anderen Seite^^

Computervisualistik gibts nur in Koblenz und Magdeburg!


MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu
 

BBPro2

BeitragDi, Mai 25, 2010 22:30
Antworten mit Zitat
Benutzer-Profile anzeigen
http://www.golem.de/0905/67053.html

visual computing != computervisualistik ?

Chester

BeitragMi, Mai 26, 2010 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
x^(e*d) mod N = x mod N für alle x.


Hm weiß davon niemand die Quelle davon? Der Satz ist ja eigentlich essentiell für RSA Confused

Und danke für die Infos Smile

Edit:Okay, habe glaub ich selbst was gefunden: http://en.wikipedia.org/wiki/F...alizations

Edit: Okay, ich habe nun meine Herleitung selbst irgendwie zusammengebastelt:

Zitat:
Ein Produkt aus zwei nicht-trivialen natürlichen Zahlen ist immer größer als Eins, wodurch kein Inverses gebildet werden kann. Durch die Verwendung von Modulo kann dieses Problem jedoch umgangen und ein sogenanntes modulares multiplikatives Inverses gefunden werden:

a,b,n aus N
a*b mod n = 1

Jedoch trifft die Gleichung nur für bestimmte natürlichen Zahlen zu. Um nun diese möglichen Zahlen zu errechnen, nimmt man den Satz von Euler zur Hilfe, der lautet:

a^φ(n) mod n = 1

Durch die Umschreibung des Satzes in die Vielfachsummendarstellung entsteht die Gleichung k*φ(n)+1, mit deren Hilfe die Schlüsselinformationen durch Gleichsetzung definiert werden können. e steht hier für encrypt (engl. Verschlüsseln) und d für decrypt (engl. Entschlüsseln):

e*d = k*φ(n)+1


Der Satz von Euler ist allerdings nur eine Verallgemeinerung des Satzes von Fermat, der nur gilt, wenn p eine Primzahl ist:

a^(p-1) mod p = 1

Potenziert man die Kongruenzgleichung mit k und multipliziert danach mit a erhält man:

a^(k(p-1)) mod p=1^k mod p
a^(k(p-1)(*a mod p=1^(k*a) mod p
a^(k(p-1)+1) mod p=1^(k*a) mod p

Wendet man nun den Satz von Fermat auf eine zweite Primzahl q an, lässt sich die enstehende Gleichung mit der vorherigen multiplizieren:

a^(k(p-1)+1) mod q=(1^k)*a mod p
a^(q-1) mod q=1 mod q

a^(k(p-1)(q-1)+1) mod pq =(1^k)*a mod pq

Wenn man nun n aus der Gleichung der Schlüsselinformationen ( e*d=k*φ(n)+1) als das Produkt zweier Primzahlen p und q definiert, kann man sie in die neue Gleichung einsetzten:

e*d = k*φ(n)+1
e*d = k*(p-1)(q-1)+1

a^(k(p-1)(q-1)+1) mod pq=(1^k) *a mod pq
a^(e*d) mod pq= (1^k)*a mod pq

Da 1^k keinen Einfluss auf das Ergebnis hat, kann es als Faktor vernachlässigt werden. Definiert man a nun als numerischen Repräsentanten M eines Buchstabens, erhält man eine Kongruenzgleichung, die einem vollständigen kryptographischem Verfahren entspricht:

M^(e*d) mod pq = M

Aus dieser Gesamtgleichung lassen sich nun die Gleichungen für Ver- und Entschlüsselung ableiten. C entspricht dem Chiffrat, M dem Buchstaben und n dem Produkt aus pq:

C = M^e mod n
M = C^d mod n


Wer irgendwelche Fehler findet, dem wäre ich sehr dankbar Smile

Arrangemonk

BeitragMi, Mai 26, 2010 22:54
Antworten mit Zitat
Benutzer-Profile anzeigen
http://www.cryptool.de/
(ist ein ver/entschlüsselung lernprogramm)
das tool da visualisiert die algorithmen ganz gut, da kann man die gängigen verschlüsselungsmehtoden schritt für schritt durchackern, und möglicherweise auch nen beweis rausholen
ka, is aber geil das ding
ingeneur

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group