Ende der asymmetrischen Verschlüsselung?

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Ende der asymmetrischen Verschlüsselung?

Beitrag von Aliobaba »

Hallo,

Selbst von populärwissenschaftlichen Veröffentlichungen über die Quantentheorie und über Quantencomputer verstehe ich nur maximal 10% des Textes. Trotzdem setzen mich verschiedene Beiträge zu diesem Thema immer wieder in Erstaunen. Möglicherweise liegt es nicht einmal mehr in so ferner Zukunft, dass alle verschlüsselten und als sicher geglaubten Dokumente "interessierten Kreisen" offen zugänglich sind.
http://www.n-tv.de/technik/Die-NSA-hat- ... 11951.html
oder:
http://www.quantencomputer.de/ -->
"Eine Umsetzung dieses Algorithmus wäre eine Gefahr für die bestehende Kryptographie. Die Sicherheit des RSA-Algorithmus z.B. basiert darauf, daß es klassisch unmöglich ist, große Zahlen zu faktorisieren. Der Quantencomputer könnte dies aber. "

http://www.n-tv.de/wissen/Quantencomput ... 33141.html
http://www.n-tv.de/technik/IBM-macht-Qu ... 21796.html

http://www.welt.de/wissenschaft/article ... ennen.html -->
"Doch wenn man sich darüber im Klaren ist, dass es wohl nur noch eine Frage der Zeit ist, bis die besten heute üblichen Codes von Quantencomputern gebrochen werden können, tut auch gut daran, sich alternative Verschlüsselungsmethoden zu überlegen, mit denen auch im Zeitalter der Quantencomputer vertrauliche Nachrichten ausgetauscht werden können."

Kann es sein, dass der "geheime Schlüssel" in gar nicht so ferner Zukunft aus dem "öffentlichen Schlüssel" berechnet werden kann?
Wird man also in absehbarer Zeit seine Passwörter lieber wieder im persönlichen Kontakt austauschen (müssen)?
Muss man sich also schon mal Gedanken machen??
Was denkt ihr darüber?

Aliobaba

<<<<<<<<<<<<<<<<<<

Spaßeshalber habe ich mal mal folgende (sicher recht laienhafte) Funktion geschrieben, mit der ein mit "GPG" ASCII-verschlüsselter Text "bearbeitet" werden kann:

Man übergibt einen Codewort
Daraus wird ein MD5-Hashwert ermittelt.
Daraus werden die Zahlen extrahiert.
Ein mit GPG-ASCII-verschlüsselter Text wird eingelesen.
Und dann werden in bestimmten Zeilen des GPG-Files einfach und "willkürlich" einige Zeichen ausgetauscht.
Beim zweiten Aufruf ( Beim Entschlüsseln) werden die ausgetauschten Zeichen wieder "zurück getausch" und dann ganz "normal" mit GPG entschlüsselt.
Das veränderte GPG-File wird wieder gespeichert.


Dieser Vorgang ist bewusst "willkürlich" und unterliegt keinen mathematischen Algorithmen,so dass sie auch nicht "berechnet" werden können. Auf Grund des "Zeichensalats" eines ASCII-GPG-verschlüsselten Textes sind auch die Positionen, an denen der Austausch vorgenommen worden ist, nicht ermittelbar.

Code: Alles auswählen

 
Function Lineswap ( cod , pfad : string): integer;
Label
  sprung;
var
  lae1, lae2 , k , i , d: integer;
  t1, t2, t3, t4, t5, txt : string;
begin
   k := 0;
   d := 5;
   txt  := F_Extract_Zahlen(MD5Print(MD5String( cod )));
   lae1 := 3 + (strtoint ( copy (txt, 2 , 1 ))) + (strtoint ( copy (txt, 3 , 1 ))); // 2. und 3. Zahl addiert
   lae2 := 4 + (strtoint ( copy (txt, 5 , 1 ))) + (strtoint ( copy (txt, 6 , 1 )))// 5. und 6. Zahl addiert
   List := TStringList.Create;
   try
       List.LoadFromFile(pfad);
   finally
   end;
   for i := 0 to  (List.Count - 1) do
   begin
     if (i > 8) and (i Mod 20 <> 0 ) then goto Sprung;
     if length (List[i]) > 63 then
     begin
       k := k+1;
       txt := (List[i]);
       t1 := copy ( txt  , 1  ,  lae1  );
       t2 := copy ( txt  , lae1 + 1  ,  1  );
       t3 := copy ( txt  , lae1 + 2 ,  ( lae2 ));
       t4 := copy ( txt  , lae1 + lae2 + 2  ,  1  );
       t5 := copy ( txt  , lae1 + lae2 + 3    ,  length(txt) - ( lae1 + lae2 + 2  )  );
       List[i] := t1 + t4 + t3 + t2 + t5;
     end;
     Sprung:
   end;
   try
       List.SaveToFile(pfad);
   finally
   end;
   List.Free;
   Result := k;
   Zeilen_bearbeitet := inttostr(k);
   Zeilen_gesamt := inttostr(i + 1);
end;                     
 


Code: Alles auswählen

Function F_Extract_Zahlen(s : String) : String;
var
  i : Integer;
begin
 Result := '';
 for i := 1 to length(s) do
  if s[i] in ['0'..'9'] then Result := Result + s[i] ;
end;
 
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

fpGUIcoder
Beiträge: 199
Registriert: Di 20. Okt 2015, 23:13

Re: Ende der asymmetrischen Verschlüsselung?

Beitrag von fpGUIcoder »

Aliobaba hat geschrieben:Hallo,

Selbst von populärwissenschaftlichen Veröffentlichungen über die Quantentheorie und über Quantencomputer verstehe ich nur maximal 10% des Textes. Trotzdem setzen mich verschiedene Beiträge zu diesem Thema immer wieder in Erstaunen. Möglicherweise liegt es nicht einmal mehr in so ferner Zukunft, dass alle verschlüsselten und als sicher geglaubten Dokumente "interessierten Kreisen" offen zugänglich sind.
http://www.n-tv.de/technik/Die-NSA-hat- ... 11951.html
oder:
http://www.quantencomputer.de/ -->
"Eine Umsetzung dieses Algorithmus wäre eine Gefahr für die bestehende Kryptographie. Die Sicherheit des RSA-Algorithmus z.B. basiert darauf, daß es klassisch unmöglich ist, große Zahlen zu faktorisieren. Der Quantencomputer könnte dies aber. "

http://www.n-tv.de/wissen/Quantencomput ... 33141.html
http://www.n-tv.de/technik/IBM-macht-Qu ... 21796.html

Kann es sein, dass der "geheime Schlüssel" in gar nicht so ferner Zukunft aus dem "öffentlichen Schlüssel" berechnet werden kann?
Wird man also in absehbarer Zeit seine Passwörter lieber wieder im persönlichen Kontakt austauschen (müssen)?
Muss man sich also schon mal Gedanken machen??
Was denkt ihr darüber?


In dem Artikel über den Quantencomputer steht auch folgendes:
Erstmals kann ein Quantencomputer verschiedene Algorithmen ausführen und immer wieder neu programmiert werden.


Kann das nicht ein herkömmlicher Computer auch? Ich kann doch wie jetzt gerade, im Lazarusforum posten und danach irgendeine Berechnung ausführen oder Lazarus starten und ein Programm entwickeln. Ich kann sogar jetzt, wo ich hier schreibe, Lazarus gestartet halten und könnte hier posten, während Lazarus ein überaus umfangreiches Programm kompiliert.

Was ist da beim Quantencomputer anders?

Aliobaba hat geschrieben:Spaßeshalber habe ich mal mal folgende (sicher recht laienhafte) Funktion geschrieben, mit der ein mit "GPG" ASCII-verschlüsselter Text "bearbeitet" werden kann:

Man übergibt einen Codewort
Daraus wird ein MD5-Hashwert ermittelt.
Daraus werden die Zahlen extrahiert.
Ein mit GPG-ASCII-verschlüsselter Text wird eingelesen.
Und dann werden in bestimmten Zeilen des GPG-Files einfach und "willkürlich" einige Zeichen ausgetauscht.
Beim zweiten Aufruf ( Beim Entschlüsseln) werden die ausgetauschten Zeichen wieder "zurück getausch" und dann ganz "normal" mit GPG entschlüsselt.
Das veränderte GPG-File wird wieder gespeichert.


Dieser Vorgang ist bewusst "willkürlich" und unterliegt keinen mathematischen Algorithmen,so dass sie auch nicht "berechnet" werden können. Auf Grund des "Zeichensalats" eines ASCII-GPG-verschlüsselten Textes sind auch die Positionen, an denen der Austausch vorgenommen worden ist, nicht ermittelbar.

Code: Alles auswählen

 
Function Lineswap ( cod , pfad : string): integer;
Label
  sprung;
var
  lae1, lae2 , k , i , d: integer;
  t1, t2, t3, t4, t5, txt : string;
begin
   k := 0;
   d := 5;
   txt  := F_Extract_Zahlen(MD5Print(MD5String( cod )));
   lae1 := 3 + (strtoint ( copy (txt, 2 , 1 ))) + (strtoint ( copy (txt, 3 , 1 ))); // 2. und 3. Zahl addiert
   lae2 := 4 + (strtoint ( copy (txt, 5 , 1 ))) + (strtoint ( copy (txt, 6 , 1 )))// 5. und 6. Zahl addiert
   List := TStringList.Create;
   try
       List.LoadFromFile(pfad);
   finally
   end;
   for i := 0 to  (List.Count - 1) do
   begin
     if (i > 8) and (i Mod 20 <> 0 ) then goto Sprung;
     if length (List[i]) > 63 then
     begin
       k := k+1;
       txt := (List[i]);
       t1 := copy ( txt  , 1  ,  lae1  );
       t2 := copy ( txt  , lae1 + 1  ,  1  );
       t3 := copy ( txt  , lae1 + 2 ,  ( lae2 ));
       t4 := copy ( txt  , lae1 + lae2 + 2  ,  1  );
       t5 := copy ( txt  , lae1 + lae2 + 3    ,  length(txt) - ( lae1 + lae2 + 2  )  );
       List[i] := t1 + t4 + t3 + t2 + t5;
     end;
     Sprung:
   end;
   try
       List.SaveToFile(pfad);
   finally
   end;
   List.Free;
   Result := k;
   Zeilen_bearbeitet := inttostr(k);
   Zeilen_gesamt := inttostr(i + 1);
end;                     
 


Code: Alles auswählen

Function F_Extract_Zahlen(s : String) : String;
var
  i : Integer;
begin
 Result := '';
 for i := 1 to length(s) do
  if s[i] in ['0'..'9'] then Result := Result + s[i] ;
end;
 


Kommt auf das Problem an. Die geheim zu haltenden Daten könnten ebenso auf zum Quantencomputer inkompatibler Hardware in einem inkompatiblen Datenformat gespeichert werden.

Bin grad dabei ne DOS GUI für FPC zu realisieren. Mit inkompatibler Grafik schon mal ein Ding der Unmöglichkeit, das bei OpenSource. Der bisher einzige erfolgversprechende Ansatz ist da HXDOS mit fpGUI, da muss nur das Bibliotheksformat von dynamisch auf statisch veändert werden. Dann liefe die fpGUI von Herrn Geldenhuy auch mit DOS. Siehe Sourceforge die OPasGUI. Die einfach mal für Go32 verwenden und die Bibliotheken richtig linken.

Wenn aber auf dem Quantencomputer nichts zur vorherigen Hardware kompatibles läuft? Keine Dateibetrachter, die mit den alten Formaten noch was anfangen können, keine Softwarebibliotheken, die zur alten Hardware kompatibel sind.... ???? Wie soll der Quantencomputer dann die Daten lesen oder das alte inkompatible Programm ausführen, das vielleicht doe alten Daten lesen kann?

Wenn auch diese Sicherheitsschranke überwindbar ist, wozu dann noch Absicherung durch immer neue Codeformate, so dass alte Softwareibliotheken vom Laien nicht mehr zum Laufen zu kriegen sind, wenn doch dann ein Quantencomputer auch hier mit dieser Sicherheitsschranke Schluss macht. Vielleicht schon bald. Ich denke, da ist es besser, allen Programmcode, egal wie alt, für den Compiler, für den er geschrieben ist, allezeit kompatibel zu halten und die damit gesparte Programmierzeit in wirklich sinnvolle Neuerungen zu investieren! vHobby hin oder her!

Muss man sich dann wirklich noch über komplexe Verschlüsselung Gedanken machen. Wär es da nicht besser, Herrschaftsideologien endlich zu überwinden, den Wohlstand fair zu teilen, Kriege zu beenden? Diese Dinge sind es doch, die die schärfste Geheimhaltung erfordern, eventuell noch die Lohnabrechnungen, damit dort keiner betrügen kann und technische Neuentwicklungen, die aber auch nur, um in einer profitorientierten Gesellschaft der Erste zu sein, der die Neuheit auf dem Markt hat. Dieser Aspekt aber sollte bei Open Source Software keine Rolle spielen.

Wie lässt sich da noch die Privatspäre zuverlässig schützen?

MacWomble
Lazarusforum e. V.
Beiträge: 999
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
CPU-Target: Intel i7-10750 64Bit
Wohnort: Freiburg

Re: Ende der asymmetrischen Verschlüsselung?

Beitrag von MacWomble »

fpGUIcoder hat geschrieben:
Aliobaba hat geschrieben:Hallo,


Wenn aber auf dem Quantencomputer nichts zur vorherigen Hardware kompatibles läuft? Keine Dateibetrachter, die mit den alten Formaten noch was anfangen können, keine Softwarebibliotheken, die zur alten Hardware kompatibel sind.... ???? Wie soll der Quantencomputer dann die Daten lesen oder das alte inkompatible Programm ausführen, das vielleicht doe alten Daten lesen kann?



Ich denke mal, dass dies für die Stellen, die sich einen Quantencomputer leisten können wohl eines der kleinsten Probleme ist. Die Dateien sind grundsätzlich doch nicht von der Hard- sondern der Software abhängig ...
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Ende der asymmetrischen Verschlüsselung?

Beitrag von mschnell »

Quanten-Computer sind - wenn überhaupt - nur bei speziell dafür geeigneten Berechnungen schneller als normale Computer, ermöglichen aber keine grundsätzlich neuen Verfahren.

Ein verschlüsselter Text íst - unabhängig vom Verfahren - ohne Kenntnis des Schlüssels grundsätzlich nur lesbar zu machen, wenn der Schlüssel deutlich kürzer ist als die Information.

Will man bei einem kürzeren Schüssel einen Text dechiffrieren, geht das grundsätzlich nur, wenn man verlässliche Informationen über den Text selbst hat. Der Algorithmus muss ja irgend ein Kriterien haben, um zu überprüfen, ob der von ihm erratene Schlüssel stimmen könne.

-Michael
Zuletzt geändert von mschnell am Do 4. Aug 2016, 17:20, insgesamt 2-mal geändert.

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Ende der asymmetrischen Verschlüsselung?

Beitrag von Aliobaba »

Hallo,

Sorry, aber ich wollte gar nicht auf so idealistische Abwege mit meinem Thread:
"Wär es da nicht besser, Herrschaftsideologien endlich zu überwinden, den Wohlstand fair zu teilen, Kriege zu beenden?"
Das ist sicherlich alles wunderschön, aber eben leider recht weltfremde Träumerei.

Nein, mir geht es um eine viel banalere Frage: Die weit verbreiteten asymmetrischen Verschlüsselungsverfahren beruhen auf mathematischen Grundlagen (Primzahl-Mathematik - was immer das genau ist), die deshalb funktionieren, weil Berechnungen so enorm lange dauern (Alter des Universums etc.).
Aber es gibt eben mathematische Grundlagen! Und da ist der Knackpunkt, wie mir scheint.
Die Berechnungsdauer kann offenbar mit Quantencomputern dramatisch(!!) verkürzt werden und damit werden alle Verschlüsselungen, wie sie auch in der Wirtschaft weitest verbreitet sind, sinnlos!
Also - so meine Gedanken: Muss man sich auf Verschlüsselungsmethoden zurückziehen, die völlig "willkürlich" sind und absolut nicht auf mathematischen Grundlagen beruhen??

Aliobaba
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Ende der asymmetrischen Verschlüsselung?

Beitrag von Socke »

Aliobaba hat geschrieben:Die Berechnungsdauer kann offenbar mit Quantencomputern dramatisch(!!) verkürzt werden und damit werden alle Verschlüsselungen, wie sie auch in der Wirtschaft weitest verbreitet sind, sinnlos!

Hier sind insbesondere die Public-Key-Verfahren (RSA, DSA, GPG/PGP) zu nennen, da die hier verwendeten Primzahlen auf klassischen Computern nicht in einer realistischen Zeit erreichnet werden können. Auf Quantencomputern geht das mit dem Shor-Algorithmus wesentlich schneller.
Aus diesem Grund beschäftigt sich die aktuelle Forschung auch mit diesem Problem!
Aliobaba hat geschrieben:Also - so meine Gedanken: Muss man sich auf Verschlüsselungsmethoden zurückziehen, die völlig "willkürlich" sind und absolut nicht auf mathematischen Grundlagen beruhen??

Die Mathematik stellt hier die notwendigen Werkzeuge zur Verfügung, die Verschlüsselung und die Entschlüsselung in einer Formel auszudrücken. Computer sind am Ende nichts anderes als Maschinen, die mathematische Formeln abarbeiten. Wenn du eine "willkürliche" Verschlüsselung verwendest, kannst du diese nicht mehr entschlüsseln, da du nicht weist, wie du verschlüsselt hasst.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

indianer-frank
Beiträge: 134
Registriert: So 30. Nov 2008, 21:53

Re: Ende der asymmetrischen Verschlüsselung?

Beitrag von indianer-frank »

In der Praxis werden größere Datenmengen symmetrisch verschlüsselt, also zB mit AES. Die asymmetrische Verschlüsselung sollte i.d.R. nur für Protokolle etc benutzt werden (z.B. für den Austausch der symmetrischen Schlüssel).

Viele symmetrische Verfahren werden von Quantencomputern nur unwesentlich beeinflußt, und es gibt asymmetrische Verfahren, die als QC-sicher erachtet werden
(vgl. https://en.wikipedia.org/wiki/Post-quantum_cryptography oder die weniger ausführliche deutsche Seite).

Vom Ende der asymmetrischen Verschlüsselung kann also nicht wirklich die Rede sein.

fpGUIcoder
Beiträge: 199
Registriert: Di 20. Okt 2015, 23:13

Re: Ende der asymmetrischen Verschlüsselung?

Beitrag von fpGUIcoder »

Aliobaba hat geschrieben:Hallo,

Sorry, aber ich wollte gar nicht auf so idealistische Abwege mit meinem Thread:
"Wär es da nicht besser, Herrschaftsideologien endlich zu überwinden, den Wohlstand fair zu teilen, Kriege zu beenden?"
Das ist sicherlich alles wunderschön, aber eben leider recht weltfremde Träumerei.


Sorry, ich hatte aufgrund der Formulierung diese idealistischen Abwege vermutet. Ob das eine weltfremde Träumerei ist, überlass bitte anderen, wenn es das ist, dann ist OpenSource eine ebenso weltfremde Träumerei. Warum?:

- Nicht weil es keine idealistischen Programmierer gäbe, sondern weil der Mensch ist wie er eben ist. Klingt in der Theorie wunderschon: Jeder kann sich beteiligen, jeder kann nach Belieben den Code an seine Bedürfnisse anpassen. Kein Wort über den AUfwand, kein WOrt über die Programmierkenntnisse, die zum Verändern und zwingend zum Verstehen des Quellcodes unabdingbar sind. Für jemanden der langsamer lernt ist da schnell von den hohen Idealen nicht mehr viel übrig. Profis wollen nicht immer wieder die immer wiederkehrenden Anfängerfragen beantworten, da bleibt so mancher der da bissl schwer von Begriff ist schnell auf der Strecke. Davon aber gibt es bei der Hervorhebung der vorzüge von Open Source KEIN WORT. Idelae muss man deshalb einfordern, da wo sie zu offen gepredigt werden. Genau so wie das in der Ex DDR in jener denkwürdigen Nacht passiert ist, als Schabowski siene berühmten Worte zur zukünftigen Reisefreiheit gesprochen hatte.

Ich bin überzeugt davon, das ein Programmcode auch in OpenSource geschützt werden kann, wenn da einer zwar seinen Code weitergeben will, den aber nicht gleich jeder in Nullkommanix verstehen soll. Er muss dann nur komplex genug sein. Du praktizierst die künstliche Verkomplizierung Deines Codes ja auch mit der Goto Anweisung nämlich. Spagetti Code ist schlechter lesbar. Immerhin habe ich zwar das Recht auf den Quellcode, aber keein Recht auf Support. Der muss ggf. teuer bezahlt werden. Außerdem ist die Lizenzpolitik bei der Vielzahl von Lizenzen recht unübersichtlich, dazu hier mehr:

Da entsteht dann auch sehr schnell eine Kluft zwischen Ideal und Wirklichkeit.

was aber hat das nun mit der Verschlüsseluung zu tun?

SO viel, dass auch hier zuerst mal gefragt werden muss, was will ich schützen, wie lange soll es geschützt bleiben? Bei der Schnellebigkeit heutiger Sotftware ein nicht unwesentlicher Aspekt. Ich denke da an ein Awenderprogramm als Testversion. Wenn da derAufwand groß genung ist, damit die meisten entweder die Geduld zur illegalen Freischaltung verlieren oder die Verschlüsselung so gut ist, dass für mich als Entwickler der Software genug Zeit bleibt, die nächste, erheblich verbesserte Version zu entwickeln, kann mir nach Erscheinen der Folgeversion egal sein, wenn es dann gelungen ist die vorherige Version von der Testversion zur Vollversion frei zu schalten, solange ich nur die dann aktuelle Version oft genug verkaufe.

Heißt bezüglich des Verschlüsselungsverfahrens, ich brauche halt einen Schlüssel, der den Dekodierungsaufwand bei aktueller ode rauch zukünftig zu weraertender Rechentechnik immer noch hoch genug hält. Nehmen wir an, ich wollte Delphi 7 Testversion zur Vollversion freischalten, brauche aber zeitlich ebenso lange dazu, wie die Entwicklung von Lazarus bis zur heutigen akltuellen Version an Mannjahren gedauert hat. Dann hat diese illegale Freischaltung für mich keinen Sinn mehr.

Aliobaba hat geschrieben:Nein, mir geht es um eine viel banalere Frage: Die weit verbreiteten asymmetrischen Verschlüsselungsverfahren beruhen auf mathematischen Grundlagen (Primzahl-Mathematik - was immer das genau ist), die deshalb funktionieren, weil Berechnungen so enorm lange dauern (Alter des Universums etc.).
Aber es gibt eben mathematische Grundlagen! Und da ist der Knackpunkt, wie mir scheint.
Die Berechnungsdauer kann offenbar mit Quantencomputern dramatisch(!!) verkürzt werden und damit werden alle Verschlüsselungen, wie sie auch in der Wirtschaft weitest verbreitet sind, sinnlos!


Glaub ich nicht, man muss nur die Schlüssellänge anpassen.

Also - so meine Gedanken: Muss man sich auf Verschlüsselungsmethoden zurückziehen, die völlig "willkürlich" sind und absolut nicht auf mathematischen Grundlagen beruhen??[/quote]

Da schließe ich mich den anderen Kritikern an. Wie willst Du bei willkürlichem Schlüssel wieder dekodieren.

SO ein Verfahren könnte ich mir maximal derart vorstellen, dass der private und der zugehörige öffentliche Schlüssel im Public Key Verfahren per echtem Zufallsgenerator einmalig erzeugt wird, was sicher eh schon Standard ist.

@indianer_frank zeigt ja auch, dass es auch Quantencomputersichere Verschlüsselungsverfahren gibt.
Aliobaba[/quote]

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Ende der asymmetrischen Verschlüsselung?

Beitrag von Warf »

Quantencomputer sind ein tatsächliches Problem für die gesammte Kryptowelt, werden aber ein Segen für jeden anderen Teil der Informatik werden.

Für die die sich damit nicht allzusehr auskennen, ein Quantencomputer implementiert eine Nichtdeterministische Turingmaschiene. Ein Normales Programm ist eine ganz normale Turingmaschiene, die deterministisch genau das macht was man ihm sagt. Nach jedem Befehl wechselt der PC in einen Festen Zustand, und bei jedem Lauf des Programmes wird der selbe Zustand erreicht. Bei einer nichtdeterministischen Turingmaschiene ist es nun so, dass es zu jedem Schritt im Programmablauf mehrere Möglichkeiten gibt, und die NTM (nichtdeterministische Turingmaschine) nimmt genau die Möglichkeit, die zu dem Korrekten Ergebnis führt. Also letztlich ist es ein Computer der immer das richtige Ergebnis rät, und dann nur noch überprüfen muss ob es stimmt.

Um das am Beispiel RSA mal zu erläutern: Für RSA wird ein Öffentlicher Schlüssel e und ein n publiziert, wobei n das Produkt zweier Primzahlen ist (p und q) welche geheim gehalten werden. Die Sicherheit von RSA kommt nun daher, dass es so viele Primzahlen gibt, dass es mehr Zeit als im kompletten Universum verstrichen ist bräuchte diese alle durchzuprobieren. Eine NTM muss aber nicht alle durchprobieren, da die NTM durch ihre Eigenschaft des Nichtdeterminismus, immer richtig rät, lässt man diese einfach die beiden Primzahlen raten, und kann diese Überprüfen, und schwupps hat man in einem Rechenschritt RSA gelöst.

Das lässt sich übrigens auf jedes Eindeutige Bruteforce Problem anwenden, problematisch wird es nur, wenn das Ergebnis nicht eindeutig ist, z.B. wenn man 2 Nichtprimzahlen hätte und diese Raten muss, z.B. 6 kann sowohl durch 2*3 als auch durch 1*6 generiert werden, und eine NTM würde nur eine dieser Lösungen auspucken, und dann hätte man eine 50-50 Chance das es die richtige ist.

Um es mal genauer zu nehmen unterscheidet man in der Theoretischen Informatik Probleme in 3 Klassen, P: Die Klasse an Problemen welche mit einer normalen Turingmaschine in Polynomieller Zeit lösbar ist (also effizient lösbare Algorithmen wie z.B. Pfadfindung mittels Dijksta), NP: die Klasse der Probleme welche sich mit einer Nichtedeterministischen Turingmaschine in Polynomieller Zeit lösen lassen (z.B. Hohe Primzahlpotenzen/RSA oder diskreter Logarithmus/Diffie Hellman), und ExpTime, die Algorithmen die schlicht weg immer Lange brauchen.

Lustigerweise sind fast alle der Wichtigsten Probleme heutzutage in P oder NP, und nur sehr wenige in ExpTime. Und grade all diese Probleme die in NP liegen sind unglaublich wichtig. Dort liegen so gut wie alle Optimierungsfunktionen drin, wie das Backpack Problem, welches danach Fragt welcher Warenwert kann mit dem geringsten Gewicht Transportiert werden, Binpacking, welches danach Fragt was die Minimalle anzahl an Containern für eine Menge an Waren mit gewisser größe ist, oder Traveling Sales Person, welches danach Fragt was die Günstigste Route würe um alle Orte abzuklappern mit dem geringsten Weg.

Weitere Probleme in NP wären z.B. Zahlenprobleme, wie das Primzahlproblem (RSA) oder das Problem der Diskreten Logarithmen (Diffie Hellman), oder Graphprobleme, wie das Detektieren von Hammington Kreisen in Graphen

All diese Probleme sind nicht effizient lösbar, werden aber in der Praxis unglaublich oft benötigt, sodass sich die Numerik damit beschäftigt möglichst genaue und effiziente Approximationen zu finden, sodass sich diese Probleme wenigstens zum Teil effizient lösen lassen.

Und genau darum wird jetzt schon seit vielen Jahren an Quantencomputern geforscht, damit sich diese Probleme gut lösen lassen. Bisher gibt es auch schon ein Paar, IBM hat z.B. ihren Quantencomputer öffentlich zugänglich gemacht, damit viele Forscher/Entwickler damit arbeiten können, um ihn zu Testen, allerdings sind alle bisherigen Anläufe noch in den Kinderschuhen und können z.B. noch nicht mehr als 8 Bit berechnungen (was natürlich bedeutet das ein 2048 Bit RSA Schlüssel noch lange nicht Knackbar ist), aber in absehbarer Zukunft wird es soweit sein, das wir mit Quantencomputern statt normalen deterministischen Geräten rechnen werden. Die Frage ist nur, ob es überhaupt Verschlüsselungen gibt die dagegen gefeit sind, und wann die ersten davon entwickelt werden. Letztlich wirft diese Entwicklung die IT-Security zurück auf 0

fpGUIcoder
Beiträge: 199
Registriert: Di 20. Okt 2015, 23:13

Re: Ende der asymmetrischen Verschlüsselung?

Beitrag von fpGUIcoder »

Warf hat geschrieben:Quantencomputer sind ein tatsächliches Problem für die gesammte Kryptowelt, werden aber ein Segen für jeden anderen Teil der Informatik werden.

Für die die sich damit nicht allzusehr auskennen, ein Quantencomputer implementiert eine Nichtdeterministische Turingmaschiene. Ein Normales Programm ist eine ganz normale Turingmaschiene, die deterministisch genau das macht was man ihm sagt. Nach jedem Befehl wechselt der PC in einen Festen Zustand, und bei jedem Lauf des Programmes wird der selbe Zustand erreicht. Bei einer nichtdeterministischen Turingmaschiene ist es nun so, dass es zu jedem Schritt im Programmablauf mehrere Möglichkeiten gibt, und die NTM (nichtdeterministische Turingmaschine) nimmt genau die Möglichkeit, die zu dem Korrekten Ergebnis führt.


Letzteres glaube ich jetzt aber nicht. WOher weiß denn der QC, was ich mit meinem Programm will?

Warf hat geschrieben:Also letztlich ist es ein Computer der immer das richtige Ergebnis rät, und dann nur noch überprüfen muss ob es stimmt.


Ok, dann nimmt der QC das wahrscheinlichste Ergebnis an. Sonst könnte er ja meine Absichten ergünden und würde entweder das richtige Programm speichern oder ich könnte zumindest bei einem falschen Programm für mein Problem den Feler vom QC finden lassen. Das wäre bei so mancher unerklärlichen Exception allerdings praktisch. So manche Programmiererfrage in den Internetforen wäre damit erledigt. Der QC würde einem den richtigen Weg zur Lösung zeigen.

Warf hat geschrieben:Um das am Beispiel RSA mal zu erläutern: Für RSA wird ein Öffentlicher Schlüssel e und ein n publiziert, wobei n das Produkt zweier Primzahlen ist (p und q) welche geheim gehalten werden. Die Sicherheit von RSA kommt nun daher, dass es so viele Primzahlen gibt, dass es mehr Zeit als im kompletten Universum verstrichen ist bräuchte diese alle durchzuprobieren. Eine NTM muss aber nicht alle durchprobieren, da die NTM durch ihre Eigenschaft des Nichtdeterminismus, immer richtig rät, lässt man diese einfach die beiden Primzahlen raten, und kann diese Überprüfen, und schwupps hat man in einem Rechenschritt RSA gelöst.


Das möchte ich live auf einer Computermesse erleben.

Warf hat geschrieben:Dann nämlich könnte dieser Computer auch meine Programmfehler finden, warum habe ich mal wieder eine SISEGV-Exception. Oder geich mein Programm so korrigieren, dass es genau das tut, was ich haben wollte. Woher aber will der Computer das wissen. Ob ich ein Shutdown Porgramm haben will oder mit derselben TProcess Komponente einen Prozess starten will.

Das lässt sich übrigens auf jedes Eindeutige Bruteforce Problem anwenden, problematisch wird es nur, wenn das Ergebnis nicht eindeutig ist, z.B. wenn man 2 Nichtprimzahlen hätte und diese Raten muss, z.B. 6 kann sowohl durch 2*3 als auch durch 1*6 generiert werden, und eine NTM würde nur eine dieser Lösungen auspucken, und dann hätte man eine 50-50 Chance das es die richtige ist.

Um es mal genauer zu nehmen unterscheidet man in der Theoretischen Informatik Probleme in 3 Klassen, P: Die Klasse an Problemen welche mit einer normalen Turingmaschine in Polynomieller Zeit lösbar ist (also effizient lösbare Algorithmen wie z.B. Pfadfindung mittels Dijksta), NP: die Klasse der Probleme welche sich mit einer Nichtedeterministischen Turingmaschine in Polynomieller Zeit lösen lassen (z.B. Hohe Primzahlpotenzen/RSA oder diskreter Logarithmus/Diffie Hellman), und ExpTime, die Algorithmen die schlicht weg immer Lange brauchen.

Lustigerweise sind fast alle der Wichtigsten Probleme heutzutage in P oder NP, und nur sehr wenige in ExpTime. Und grade all diese Probleme die in NP liegen sind unglaublich wichtig. Dort liegen so gut wie alle Optimierungsfunktionen drin, wie das Backpack Problem, welches danach Fragt welcher Warenwert kann mit dem geringsten Gewicht Transportiert werden, Binpacking, welches danach Fragt was die Minimalle anzahl an Containern für eine Menge an Waren mit gewisser größe ist, oder Traveling Sales Person, welches danach Fragt was die Günstigste Route würe um alle Orte abzuklappern mit dem geringsten Weg.

Weitere Probleme in NP wären z.B. Zahlenprobleme, wie das Primzahlproblem (RSA) oder das Problem der Diskreten Logarithmen (Diffie Hellman), oder Graphprobleme, wie das Detektieren von Hammington Kreisen in Graphen

All diese Probleme sind nicht effizient lösbar, werden aber in der Praxis unglaublich oft benötigt, sodass sich die Numerik damit beschäftigt möglichst genaue und effiziente Approximationen zu finden, sodass sich diese Probleme wenigstens zum Teil effizient lösen lassen.


Sowas kann ich mir schon eher vorstellen.

Warf hat geschrieben:Und genau darum wird jetzt schon seit vielen Jahren an Quantencomputern geforscht, damit sich diese Probleme gut lösen lassen. Bisher gibt es auch schon ein Paar, IBM hat z.B. ihren Quantencomputer öffentlich zugänglich gemacht, damit viele Forscher/Entwickler damit arbeiten können, um ihn zu Testen, allerdings sind alle bisherigen Anläufe noch in den Kinderschuhen und können z.B. noch nicht mehr als 8 Bit berechnungen (was natürlich bedeutet das ein 2048 Bit RSA Schlüssel noch lange nicht Knackbar ist), aber in absehbarer Zukunft wird es soweit sein, das wir mit Quantencomputern statt normalen deterministischen Geräten rechnen werden. Die Frage ist nur, ob es überhaupt Verschlüsselungen gibt die dagegen gefeit sind, und wann die ersten davon entwickelt werden. Letztlich wirft diese Entwicklung die IT-Security zurück auf 0


Theoretisch vielleicht, aber in der Praxis genügt es, wenn der Schlüssel, wenn auch knackbar, in unwirtschaftlich langer Zeit erst geknackt werden kann. Wäre ich Hartz IV Empfänder, aber dank Lazarus hätte ich ein Progemm entwickelt, das sich durchaus verkaufen lässt, sogar so gut, dass ich die nächsten ARGE Termine gar nicht wahrzunehmen brauche, dann will ich ja nicht dass jemand das Programm illegal kopiert, aber eine Zeitbegrentze Testversion wäre sicher nicht schlecht, um den Interessentenkreis viellicht zu vergrßern. Ich baue also einen ALgorythmus ein, der das Programm nach Ablauf der voreigestellten Testperiode unbrauchbar macht. Inzwischen entwickle ich beriets an der Folgeversion. Sagen wir dazu brauche ich 1 Jahr. SO genügt es, wenn der Testzeitschutz frühestens in einem Jahr geknackt werden kann, vielleicht mit einem Sicherheitscode, der das Programm ganz zerstört, wenn manipuliert wurde, dies aber fehlerhaft. Der dann folgende Ausstieg der Software in diesem Fall vor Ablauf der Testperiode müsste nun noch mit einer definierten Fehlermeldung erfolgen, die mir sofort sagt, dass der User manipuliert hat. Aber hier ist es gar nicht notwendig, dass mein Schutz auch in 10 Jahren nicht geknackt werden kann. Diese eine Jahr, bis zur Fertigstellung der Folgeversion genügt völlig.

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Ende der asymmetrischen Verschlüsselung?

Beitrag von Warf »

fpGUIcoder hat geschrieben:Letzteres glaube ich jetzt aber nicht. WOher weiß denn der QC, was ich mit meinem Programm will?

Ok, dann nimmt der QC das wahrscheinlichste Ergebnis an. Sonst könnte er ja meine Absichten ergünden und würde entweder das richtige Programm speichern oder ich könnte zumindest bei einem falschen Programm für mein Problem den Feler vom QC finden lassen. Das wäre bei so mancher unerklärlichen Exception allerdings praktisch. So manche Programmiererfrage in den Internetforen wäre damit erledigt. Der QC würde einem den richtigen Weg zur Lösung zeigen.


Schön wenn du mir nicht glaubst, da kann ich dir auch nicht helfen. Aber ich versuche mal es noch ein wenig Klarer zu machen. Das der Computer immer das richtige rät hat nichts mit Wahrscheinlichkeitsberechnung zu tun, sondern das liegt an dem Nichtdeterministischen verhalten der Quanten. Während Strom sich deterministisch verhält und sich damit Deterministische Berechnungen Durchführen lassen, verhalten sich Quanten nichtdeterministisch, und haben jeden zustand zum selben Zeitpunkt. Das heißt, das wenn du sagst rate die Primzahlen, wird diese Berechnung Gleichzeitig auf allen Zahlen ausgeführt, also hat der PC zu jedem Zeitpunkt unendlich viele Zustände, jeder Zustand repräsentiert eine Primzahl. Jetzt machst du nach dem Raten eine Überprüfung, in dem Fall von RSA also if p*q = n then Accept(p,q) else Reject;. Da der QuantenComputer jetzt diese Berechnung für jedes p und jedes q zur gleichen Zeit ausführt wird eines dabei sein für das die if Abfrage erfüllt ist, und dann wird die Ausgabe vollzogen und Akzeptiert. Wenn die Berechnung nicht Stimmt wird dieser Pfad verworfen. Durch den Nichtdeterminismus der Quanten wird jetzt nur die Rechnung ausgeführt die tatsächlich zu einer Akzeptanz führt. Das heißt, sobald es ein p und ein q gibt für das diese if-Abfrage gilt, wird damit terminiert, falls es mehr als eine Lösung gibt ist nicht definiert welche ausgegeben wird (kann man auch nicht, da wir immernoch Nichtdeterministisch sind).

Also ganz einfach heißt das, der Quantencomputer macht unendlich viele Berechnungen gleichzeitig und verwendet nur die die zum ziel führen. Man kann Nichtdeterminismus und determinismus auch beliebig verknüpfen, am ende jeder Nichtdeterministischen Berechnung muss nur eine determinisitische Überprüfung stehen welche dann sagt ob das Ergebnis stimmt oder nicht.
Daraus ergbit sich auch die zweite Eigenschaft von NP, jedes Problem in NP lässt sich in Polynomieller zeit deterministisch überprüfen.

Und wenn du mir das nicht glauben möchtest ist das deine Sache, ich habe nur versucht es zu erklären.

fpGUIcoder hat geschrieben:
Das möchte ich live auf einer Computermesse erleben.

[...]

Sowas kann ich mir schon eher vorstellen.

[...]

Wenn die Forschung so weiter geht dürften wir das in 15-20 Jahren eventuell schon auf Computermessen sehen können

fpGUIcoder hat geschrieben:Theoretisch vielleicht, aber in der Praxis genügt es, wenn der Schlüssel, wenn auch knackbar, in unwirtschaftlich langer Zeit erst geknackt werden kann. Wäre ich Hartz IV Empfänder, aber dank Lazarus hätte ich ein Progemm entwickelt, das sich durchaus verkaufen lässt, sogar so gut, dass ich die nächsten ARGE Termine gar nicht wahrzunehmen brauche, dann will ich ja nicht dass jemand das Programm illegal kopiert, aber eine Zeitbegrentze Testversion wäre sicher nicht schlecht, um den Interessentenkreis viellicht zu vergrßern. Ich baue also einen ALgorythmus ein, der das Programm nach Ablauf der voreigestellten Testperiode unbrauchbar macht. Inzwischen entwickle ich beriets an der Folgeversion. Sagen wir dazu brauche ich 1 Jahr. SO genügt es, wenn der Testzeitschutz frühestens in einem Jahr geknackt werden kann, vielleicht mit einem Sicherheitscode, der das Programm ganz zerstört, wenn manipuliert wurde, dies aber fehlerhaft. Der dann folgende Ausstieg der Software in diesem Fall vor Ablauf der Testperiode müsste nun noch mit einer definierten Fehlermeldung erfolgen, die mir sofort sagt, dass der User manipuliert hat. Aber hier ist es gar nicht notwendig, dass mein Schutz auch in 10 Jahren nicht geknackt werden kann. Diese eine Jahr, bis zur Fertigstellung der Folgeversion genügt völlig.


Die Idee hinter Quantencomputern ist es das der Berechnungssaufwand unabhängig von der Schlüssellänge wird. Ein kleines Beispiel, die Berechnung von BPP (Binpacking) ist deterministisch Exponentiell mit der Anzahl der elemene, das heißt, pro Element verdoppelt sich die Laufzeit. Das bedeutet Gleichzeitig, das wenn man einen PC hat der um einen Faktor 10 Schneller ist, die Laufzeit allerdings nur konstant abnimmt (also z.B. die Berechnung dauert bei 200 elmenten 40 Sekunden, dann dauert sie mit einem 10x schnelleren PC nur noch 35 sekunden, bei 201 elment würde die Berechnung dann 80 Sekunden dauern, mit dem schnelleren PC dann nur noch 75 Sekunden). Diese Aussagen lassen sich Analytisch sehr leicht zeigen. Nichtdeterministisch also mit einer NTM oder einem QC benötigt BPP allerdings nur noch linearen Zeitaufwand, das heißt: Doppelt so viele Elemente->Doppelt so lange. Das bedeutet Gleichzeitig das mit einem 10x Schnelleren PC man auch nur ein Zehntel der Zeit benätigt.

RSA ist sicher, da man durch das erhöhen der Bitzahl um geringe werte, den Berechnungsaufwand, und die damit verbundene Laufzeit verdoppelt. Mit einem QC wäre es allerdings jetzt so, das wenn man die Schlüssellänge verdoppelt der angreifer einfach nur in den Mediamarkt gehen muss und sich einen Doppelt so schnellen Rechner kaufen muss, oder eben 20 statt 10 Minuten warten muss.

Und an dieser stelle sag ich einfach mal, entweder du glaubst mir (immerhin habe ich im letzen Semester an der Uni all diese Behauptungen selbst beweisen dürfen), oder nicht. Deine Sache.

Aber ich kann dir Technisch das ganze auch nicht so genau erklären, da wie Maxwell in seiner Abhandlung über Quantenmechanik (welche bis heute als das beste Werk auf diesem Gebiet gilt) sinngemäß schrieb:
Selbst ich, der sein Leben mit den Quanten beschäftigt hat, kann diese nicht verstehen, eventuell kann das niemand, aber wir können sie beobachten.


Und genau diese Beobachtungen haben gezeigt das diese Nichtdeterministischen Berechnungen (aus der Theoretischen Informatik) mit Quanten möglich sind. Aber eventuell gibt es keine Person auf diesem Planeten die es dir wirklich erklären kann.

Aber der Hauptunterschied zwischen der Klassischen Physik (z.B. Elektrotechnik) und der Quantenmechanik ist, in der Klassischen Physik ist zu jedem Zeitpunkt der Zustand bekannt, und jeder Schritt davor und danach lässt sich daraus ableiten(das ist Determinismus). In der Quantenmechanik ist das nicht so, da ist zu jedem Zeitpunkt jeder Zustand exsistent, und erst beim Messen (also bei dem Quantencomputer z.B. bei der Ausgabe) ergibt sich welcher Zustand und welcher weg über Vorherige Zustände der richtige ist. Dazwischen ist alles zugleich Präsent. Und genau das beschreibt der Nichtdeterminismus
Zuletzt geändert von Warf am Do 4. Aug 2016, 17:34, insgesamt 3-mal geändert.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Ende der asymmetrischen Verschlüsselung?

Beitrag von mschnell »

Warf hat geschrieben:. Also letztlich ist es ein Computer der immer das richtige Ergebnis rät,


Klasse !
Dann sagt er mir die Lottozahlen von morgen :)

-Michael

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Ende der asymmetrischen Verschlüsselung?

Beitrag von Warf »

mschnell hat geschrieben:
Warf hat geschrieben:. Also letztlich ist es ein Computer der immer das richtige Ergebnis rät,


Klasse !
Dann sagt er mir die Lottozahlen von morgen :)

-Michael


Wenn du heute schon überprüfen kannst ob die Zahlen morgen stimmen werden, dann ja :)

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Ende der asymmetrischen Verschlüsselung?

Beitrag von Aliobaba »

fpGUIcoder hat geschrieben:.... Wie willst Du bei willkürlichem Schlüssel wieder dekodieren.

Wie gewohnt: Mit dem Schlüssel=Passwort.
(Den ich aber per "pyhsikalischen Kontakt" weiter geben muss; eben nicht "asymmetrisch" per private und public key)
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Ende der asymmetrischen Verschlüsselung?

Beitrag von Aliobaba »

Hallo Warf,

Danke für Deine Erklärungen!
Hier blltzt eine Welt auf, die (für mich jedenfalls) nicht erklärbar und nicht vorstellbar ist.
Dies vermittelt mir immer wieder das Gefühl, dass wir - bei all unserem technischen Fortschritt - in Wirklichkeit noch in der Steinzeit leben.
Von den Erfahrungen in unserer Umwelt und auch von der klassischen Physik muss man sich so was von verabschieden :cry:

Gruß
Aliobaba
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

Antworten