AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein RSA Verfahren durch Häufigkeitsanalyse angreifbar?

RSA Verfahren durch Häufigkeitsanalyse angreifbar?

Ein Thema von EdAdvokat · begonnen am 27. Dez 2019 · letzter Beitrag vom 28. Dez 2019
Antwort Antwort
EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
414 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

RSA Verfahren durch Häufigkeitsanalyse angreifbar?

  Alt 27. Dez 2019, 19:03
Beim Experimentieren mit dem RSA-Verfahren unter Nutzung der hervorragenden Seite von Joachim Mohr und dem ebenfalls hervorragenden Programm
Mathe-Alpha von Steffen Polster ist mir aufgefallen, dass bei einer Verschlüsselung eines Klartextes die jeweiligen Buchstaben mit der gleichen
Zahlenfolge belegt sind und damit m.E. durch eine Häufigkeitsanalyse zu brechen wäre, sofern ein relativ langer chiffrierter Text für eine
Analyse zur Verfügung stehen würde.
Um es konkret zu veranschaulichen hier ein Beispiel unter Nutzung des Programms von Steffen Polster in Mathe-Alpha:
n(öffentlicher Schlüssel): 38767697, e(öffentlicher Schlüssel) 6221, d (geheimer Schlüssel) 21237065. p 5099 und q 7603.
Verschlüssele ich also die Buchstaben ab ergibt sich daraus:
23683234
21556290
schreibe ich dann an anderer Stelle erneut die Buchstaben ab werden sie wie oben verschlüsselt dargestellt:
23683234
21556290
Natürlich werden diese Buchstaben auch einzeln jeweils mit den gleichen Zahlenfolgen dargestellt. Dies ist auch mathematisch zu belegen.
Somit nehme ich an, dass ein genügend langer verschlüsselter Text eine Angriffsmöglichkeit durch eine Häufigkeitsanalyse (Buchstabenhäufigkeit im
deutschen Alphabet...) bieten würde. Ist das tatsächlich so oder irre ich mich da?
Im Programm von J. Mohr werden jeweils 2 Buchstaben vor der Verschlüsselung zu einem Block zusammengefaßt, so dass man dann nunmehr nur die Häufigkeit dieses Blocks mit 2 Buchstaben herausfiltern könnte.
Mir ist klar, dass all dies nur im Rahmen eines relativ langen verschlüsselten Textes möglich ist und nicht auf weitere Sprüche übertragen werden kann.
Doch bei allen symetrischen Chiffrierverfahren wird größter Wert auf die Verhinderung des Erkennens einer Buchstabenhäufigkeit gelegt und das ist
m.E. gut so.
Liege ich mit meiner Auffassung richtig?
Norbert
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#2

AW: RSA Verfahren durch Häufigkeitsanalyse angreifbar?

  Alt 27. Dez 2019, 21:47
Solche kurzen Schlüssellängen dienen doch in deinen Beispielen nur zum Verständnis der dahinter steheneden Mathematik, und die wird wirklich erst sicher wenn zur Analyse der rechentechnisch & zeitlich beherrschbare Zahlenraum "gesprengt wird"!
=> "gerade noch sicher" ist RSA1024bit, aktuell wäre RSA2048bit und bzw. empfohlen RSA3072... für ein paar Jahre Ruhe gleich RSA4096bit

=> bei asymetrischen Verfahren benötigst du unbedingt große Schlüssellängen... man erkauft sich den "einfachen&schönen" PublicKey Austausch mit sehr hohem Rechenaufwand

-> symetrisch gilt ein AES128 auch gerade noch als sicher, da ist die aktuelle Empfehlung AES192 oder AES256... merkst du was?... da reichen Faktor 10 weniger Bits

Wenn du asymetrisch was aktuell sicheres und mit 256Bit noch über schaubares(bzgl. Speicherplatz und Rechenleistung) suchst... dann google mal nach ECC(ElipticCurve).


-------
..."Doch bei allen symetrischen Chiffrierverfahren wird größter Wert auf die Verhinderung des Erkennens einer Buchstabenhäufigkeit gelegt und das ist
m.E. gut so."...
weil es bei symetrischen Verfahren ja nur einen Schlüssell zum kodieren und dekodieren gibt, legt man da auch größten Wert auf die "gute Verteilung" der verschlüsselten Werte... speziell kurze Texte sowie lange Text bei schlechter MultiBlockVerkettung sind stets anfällig für "Analysen" verschiedenster Art.

-> beschäftige dich also unbedingt auch mit den verschiedenen Blockverfahren... alle haben Vor-&Nachteile... eine zum Einsatzzweck unpassende Methode kann die Sicherheit extrem negativ beeinflussen!
-> https://de.wikipedia.org/wiki/Betrie...(Kryptographie)
-> das was da steht, gilt "immer" und völlig unabhängig vom CryptoVerfahren... daher hat die passende Auswahl/Kombination aus meiner Sicht die gleiche Bedeutung wie die Entscheidung AES192/3DES192 bzw. ECC256(curveXY)/RSA2028

Geändert von mensch72 (27. Dez 2019 um 21:58 Uhr)
  Mit Zitat antworten Zitat
stpolster

Registriert seit: 18. Okt 2011
30 Beiträge
 
#3

AW: RSA Verfahren durch Häufigkeitsanalyse angreifbar?

  Alt 27. Dez 2019, 22:06
...
und dem ebenfalls hervorragenden Programm
Mathe-Alpha von Steffen Polster ... bei einer Verschlüsselung eines Klartextes die jeweiligen Buchstaben mit der gleichen
Zahlenfolge belegt sind
Danke für das Lob.
In dem Teilprogramm wird nur das Wirkungsprinzip dargestellt. Konkret sollen meine Schüler (Klasse 12) RSA selbst programmieren, natürlich nur mit kleinen (maximal 4-5 stelligen) Primzahlen.
Die Verschlüsselung erfolgt daher byteweise, was natürlich eigentlich sinnlos ist, da die ganze Verschlüsselung dann monoalphabetisch wird. Das Teilprogramm ist zur Kontrolle der Ergebnisse gedacht.

Im richtigen Einsatz kann keine Häufigkeitsanalyse etwas ausrichten.
Ich habe einmal mit Aribas (Modula 2) 150stellige Primzahlen erzeugen lassen.
P, Q sind die Primzahlen, N und E die öffentlichen und D der geheime Schlüssel.
Die kodierte Nachricht ist dann die Riesenzahl unter "Code". Der Klartext besteht nur aus Buchstaben A.
Da kann keine Analyse (in vertretbarer Zeit) etwas bewirken.

==> rsatxt(150,"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ).
P: 92406_70236_88652_48194_14806_11944_17085_51693_42 317_13719_84201_99986_
15144_00296_66245_68303_02887_03950_00198_86910_17 326_80738_60880_82358_16557_
97929_52415_02029_90294_22737
Q: 67166_41590_45980_93399_82077_48175_48514_98480_65 999_87279_38722_51212_
08398_56207_71282_32362_11479_74215_12286_22784_86 560_40735_49124_27475_27495_
23912_02545_21430_50790_39973

N: 62066_27003_67961_31195_26354_67948_19428_96033_06 594_08632_88906_77962_
67746_39055_88639_82667_66053_68399_19299_20324_48 137_73970_02851_73840_63498_
06406_53814_64830_27199_54541_89233_92595_46446_94 693_95057_27671_37520_41583_
73740_35859_17707_40387_23803_43747_24462_31117_78 422_34325_95487_14440_72367_
95653_54957_86546_02005_82522_55334_39028_43380_66 101
E: 28830_13868_34926_81184_42873_13785_52789_34955_78 327_80288_97122_93073_
75754_49301_05140_29179_86902_19513_67733_34754_52 014_18231_87217_33993_55100_
77348_74387_54867_30903_77671
D: 56345_53022_93215_65811_58535_59320_12481_73768_08 246_22282_44884_95674_
85078_43540_55029_65091_51518_91323_08584_63631_00 763_57098_43454_22549_33344_
12099_91323_79775_80437_64622_82530_03982_96902_55 438_75008_06258_65517_86831_
99556_12921_72378_02947_58702_26352_52500_56543_75 523_64103_52408_47758_31390_
52357_46831_61741_59361_81056_26473_98068_57356_32 055

Text: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Text: 3245_27790_34740_58715_86884_72977_11019_12912_611 38_62457_98667_38075_
76696_27536_23648_19041_32112_55105
Code: 22124_78649_89629_53857_24862_38540_74953_88868_59 958_10687_06168_
48315_47907_42752_99337_51605_01474_97699_61447_57 931_69825_86482_46801_61706_
70489_99011_07871_31985_83734_81961_42325_96492_70 857_27493_37212_63745_21115_
41913_74471_33198_10086_86556_59646_42294_81682_51 219_99052_09099_85587_01052_
66151_20616_91839_76318_79328_97911_28539_65949_61 000_78241
Decode: 3245_27790_34740_58715_86884_72977_11019_12912_611 38_62457_98667_
38075_76696_27536_23648_19041_32112_55105

Ergebnis: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

LG Steffen

Geändert von stpolster (27. Dez 2019 um 22:09 Uhr)
  Mit Zitat antworten Zitat
EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
414 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: RSA Verfahren durch Häufigkeitsanalyse angreifbar?

  Alt 28. Dez 2019, 10:20
Hallo zusammen,
vielen Dank für Eure Beiträge. Mir ist durchaus klar, dass die in den angeführten Beispielen verwendeten Primzahlen zur Verdeutlichung des Prinzips
recht klein gewählt wurden. Doch mir ging es darum, darauf hinzuweisen dass jeder Klartextbuchstabe mit dem gleichen "Code"
(Geheimtextbuchstabe = Klartextbuchstabe ^ e mod n) verschlüsselt wird. Die Tatsache, dass dabei große Primzahlen verwendet werden verhindert sicher
eine "Haufigkeitsanalyse", obwohl rein theoretisch beim Verschlüsseln von a und a diese großen Geheimtextzahlen exakt gleich sind.
Nur die Größe dieser sich wiederholenden großen Zahlen in einem chiffrierten Text verhindert eine sinnvolle Analyse.
Ein neuer Chiffretext mit anderen p und q , e und d bringt daher für a und a dann völlig andere, jedoch wieder gleiche große Werte.
Somit hätte rein theoretisch eine Häufigkeitsanalyse nur für einen sehr langen Text mit sehr sehr hohem Aufwand einen Sinn.

Mit AES habe ich mich zurückliegend auch beschäftigt. Das ist jedoch ein ganz anderes Thema der symetrischen Chiffrierung. Auch sehr interessant.

Noch ein Wort an Steffen: vielen Dank neben Deinem Programm Mathe-Alpha auch für die veröffentlichten alten Schullehrbücher. Ich habe dort auch
mein Mathebuch der 12. Klasse zum Abitur 1968 wiedergefunden und dies auch meinen ehemaligen Mitschülern, mit denen ich heute noch in Verbindung
stehe mitgeteilt. Sie waren ebenso wie ich begeistert, doch nicht alle wollten darin nochmals lesen....

Nochmals vielen Dank für Eure Beiträge
Norbert
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz