Solange wie es GnuPG und PGP gibt, solange gibt es die Diskussionen um die Fragen, welche Längen bei Elgamal und RSA Verschlüsselungs- und DSA und RSA Signierkeys sinnvoll oder notwendig sind, wie groß der verwendete Hashalgorithmus sein sollte und welchen symmetrischen Algorithmus man wählt, um die maximale Sicherheit mit GnuPG verschlüsselter und signierter Daten für einen bestimmten Zeitraum bei vertretbaren Verarbeitungsgeschwindigkeiten zu erhalten.
Diese Seite sammelt zu diesem Fragenkomplex Vergleiche, Untersuchungen und Aussagen von Kryptologen, Wissenschaftlern, Programmierern und Institutionen wie dem NIST (National Institute of Standards and Technology), um dem GnuPG Anwender - bevor er seine Schlüssel mit GnuPG erstellt - Perspektiven und Informationen am die Hand zu geben.
Neben den Längen von Schlüsseln und Algorithmen sind zwei Faktoren für die Sicherheit eines GnuPG Schlüssels genauso wichtig: Die Länge und die Qualität der Passphrase und der Schutzlevel des Kontexts (notierte oder memorierte Passphrase, Speicherort des privaten Schlüssels, eingesetztes Betriebssystem und dessen Absicherung, Wahrscheinlichkeit eines direkten Angriffs oder Zugriffs etc.) in dem GnuPG angewendet wird.
Also: Um die 3000-bit RSA/DH, 2048-bit DSA und SHA-2 könnten es laut Zimmermann schon sein.
Aus dem Kapitel "Lange Schlüssel":
| RSA Modulus |
<=> | sym- metrisch |
DLP Modulus |
<=> | sym- metrisch |
|
|---|---|---|---|---|---|---|
| 512 786 1024 2048 2500 3072 4096 |
63 76 86 117 128 139 157 |
1024 2048 3072 4096 |
56 112 128 168 |
|||
| Bitlängen gleicher Kryptoresistenz | ||||||
Empfohlene Schlüsselgrößen, die im Jahr X noch als sicher angesehen werden können, gemessen an Moore's Law (das besagt, dass sich die Rechenkapazität eines Prozessors durch neue Typen des gleichen Prozessors alle 18 Monate verdoppelt), der Berechnungszeit mit einem 450 Mhz Pentium II Prozessor, bzw. der Berechnungszeit in Mips Jahren und der Höhe des zur Verfügung stehenden Bugets auf Seiten des Angreifers (das sich alle 10 Jahre verdoppelt) nach Lenstra und Verheul.
Beide Autoren sagen auch, dass durch eine zukünftige Weiterentwicklung in der Computertechnik, wie Quantencomputer, die bis jetzt nur in hypothetischer Form existieren, das Modell hinfällig werden könnte.
| Jahr | Länge sym. Schlüssel (Bits) (IDEA,CAST) |
<=> | Länge asym. Schlüssel (Bits) (RSA,Elgamal,DH) |
<=> | Subgroup DLP Schlüssellänge (DSA,DSS) |
|---|---|---|---|---|---|
| 2000 | 70 | 952 | 125 | ||
| 2002 | 72 | 1028 | 127 | ||
| 2005 | 74 | 1149 | 131 | ||
| 2010 | 78 | 1369 | 138 | ||
| 2015 | 82 | 1613 | 145 | ||
| 2020 | 86 | 1881 | 151 | ||
| 2023 | 88 | 2054 | 156 | ||
| 2025 | 89 | 2174 | 158 | ||
| 2026 | 90 | 2236 | 160 | ||
| 2030 | 93 | 2493 | 165 | ||
| 2035 | 97 | 2840 | 172 | ||
| 2040 | 101 | 3214 | 179 |
| Grad | Block Cipher | RSA | DSA/DSS |
|---|---|---|---|
| nach US-Exportgesetz | 40 Bits | 512-Bit | 512/80 Bits |
| persönlicher Bereich (E-Mail, unwichtige Daten) |
56/64 Bits | 768 Bits | 768/136 Bits |
| kommerzieller Bereich | 128 Bits | 1024 Bits | 1024/160 Bits |
| militärischer Bereich | 160 Bits | 2048 Bits | 2048/200 Bits |
| Grade | Block Cipher | RSA | Elliptic Curve | DSA |
|---|---|---|---|---|
| Export Grade | 56 | 512 | 112 | 512 / 112 |
| Traditional recommendations |
80 | 1024 | 160 | 1024 / 160 |
| 112 | 2048 | 224 | 2048 / 224 | |
| Lenstra/Verheul 2000 | 70 | 952 | 132 | 952 / 125 |
| Lenstra/Verheul 2010 | 78 | 1369 | 146 /160 | 1369 / 138 |
| Protection Lifetime of Data | Present - 2010 | Present - 2030 | Present - 2031 and Beyond |
| Minimum symmetric security level | 80 bits | 112 bits | 128 bits |
| Minimum RSA key size | 1024 bits | 2048 bits | 3072 bits |
Kapitel A.3.10 Parameters for Common Key Sizes:
| Key size: | m | r |
|---|---|---|
| 40 | 189 | 207617485544258392970753527 |
| 56 | 384 | 442499826945303593556473164 314770689 |
| 64 | 506 | 282255152946033084760426208 6149015242689 |
| 80 | 1024 | 745560282564788420833739573 6200454918783366342657 |
| 112 | 2068 | 162845635541041154750961337 415015805123165674305234451 3161858038422883778013 |
| 128 | 2880 | 1919487818858585561290806193 6944281464039294965346491767 953330250249208842371201 |
Nach dem IEEE würde also ein RSA Schlüssel mit 1024-bit Länge einem symmetrischen Schlüssel von 80-bit Länge entsprechen. Der DSA/DSS Hauptsignierschlüssel hätte also die Stärke eines symmetrischen Schlüssels mit einer Länge von 80-bit.
Erst Schlüssel mit einer Mindestlänge von 2880-bit würden einem symmetrischen Schlüssel mit der als (zukunfts)sicher eingestuften Länge von 128-bit entsprechen. Das IEEE erwähnt, dass 1024-bit das heute als üblich akzeptierte Minimum darstellen.
Die Studie trifft Aussagen zu den Hashfunktionen SHA, RIPEMD und den Signieralgorithmen RSA und DSA. Bei der Betrachtung stützen sich die Autoren neben anderen Studien stark auf die Untersuchung Selecting Cryptographic Key Sizes von Lenstra und Verheul, November 1999.
Der Studie nach entsprechen für die Hashfunktionen 160-bit einer Blockchiffre von 80-bit und sind bis 2012 als sicher anzusehen.
Es wird die Empfehlung ausgesprochen, "...die aktuellen Entwicklungen von Hashfunktionen mit mehr als 160-bit Ausgabe zu verfolgen und ggf. voranzutreiben..."
Für RSA als Signieralgorithmus treffen die Autoren die Aussage, dass mit der Faktorisierung eines RSA Schlüssels mit 1024-bit frühestens 2020 und mit 1280-bit 2027 zu rechnen sei.
Für die Sicherheit von DSA wird die Aussage getroffen, eine Sicherheit von 160-bit Schlüssellänge erscheine bis 2007/2008 als ausreichend.
Die Studie vom 6. Juli 1999 von Don B. Johnson hat die Merkmale und Vorteile der Nutzung von Elliptic Curve Cryptography (ECC) zum Thema.
Die Studie enthält u. a. die Tabelle "Ungefähre Gleichwertigkeit von Keys in Bits in Bezug auf bekannte allgemeine Angriffe"
| Symmetrisch | 56 | 80 | 112 | 128 | 192 | 256 |
|---|---|---|---|---|---|---|
| RSA n | 512 | 1024 | 2048 | 3072 | 7680 | 15360 |
| DSA p | 512 | 1024 | 2048 | 3072 | 7680 | 15360 |
| DSA q | 112 | 160 | 224 | 256 | 384 | 512 |
| ECC n | 112 | 161 | 224 | 256 | 384 | 512 |
Cryptographic algorithms provide different strengths of security, depending on the algorithm and the key size used. In this discussion, two algorithms are considered to be of equivalent strength for the given key sizes (X and Y) if the amount of work needed to break the algorithms or determine the keys (with the given key sizes) is approximately the same using a given resource. The strength of an algorithm (sometimes called the work factor) for a given key size is traditionally described in terms of the amount of work it takes to try all keys for a symmetric algorithm with a key size of "X" that has no short cut attacks (i.e., the most efficient attack is to try all possible keys). In this case, the best attack is said to be the exhaustion attack. An algorithm that has a "Y" bit key, but whose strength is equivalent to an "X" bit key of such a symmetric algorithm is said to provide X bits of security or to provide "X-bits of strength". An algorithm that provides X bits of strength would, on average, take 2X-1T to attack, where T is the amount of time that is required to perform one encryption of a plaintext value and comparison of the result against the corresponding ciphertext value.
(...)
The recommended key size equivalencies discussed in this section are based on assessments made as of the publication of this guideline. Advances in factoring algorithms, advances in general discrete logarithm attacks, elliptic curve discrete logarithm attacks and quantum computing may affect these equivalencies in the future. New or improved attacks or technologies may be developed that leave some of the current algorithms completely insecure. In the case of quantum computing, the asymmetric techniques may no longer be secure. Periodic reviews will be performed to determine whether the stated equivalencies need to be revised (e.g., the key sizes need to be increased) or the algorithms are no longer secure.
When selecting a block cipher cryptographic algorithm (e.g., AES or TDES), the block size may also be a factor that should be considered, since the amount of security provided by several of the modes defined in [SP 800-38] is dependent on the block size.
Spalten 1 + 2 sollten selbsterklärend sein.
Spalte 3: provides the equivalent hash functions that are specified in FIPS180-2 for the given level of security for applications where collisions are a concern (e.g., for digital signature and MAC applications). For these applications, the maximum strength is achieved when at least b/2 bits of random data are input into the hash function, where b is the size of the output block of the hash function.
Spalte 4: provides the equivalent hash functions that are specified in FIPS180-2 for the given level of security for applications where collisions are not a concern (e.g., for the computation of random numbers in some cases). For these applications, the maximum strength is achieved when at least b bits of random data are input into the hash function, where b is the size of the output block of the hash function.
Spalte 5: indicates the size of the parameters associated with the standards that use discrete logs and finite field arithmetic (DSA as defined in [FIPS186-3] for digital signatures, and Diffie-Hellman (DH) and MQV key agreement as defined in [ANSI X9.42] and [SP 800-56]), where L is the size of the modulus p and the public key, and N is the size of q and the private key.
Spalte 6: defines the value for k (the size of the modulus n) for the RSA algorithm specified in [ANSI X9.31] and [PKCS #1] and adopted in [FIPS 186-2] for digital signatures, and specified in [ANSI X9.44] and adopted in [SP 800-56] for key establishment. The value of k is commonly considered to be the key size.
Spalte 7: defines the order of ∫ (the size of n, where n is the order of the base point G) for the discrete log algorithms using elliptic curve arithmetic that are specified for digital signatures in [ANSI X9.62] and adopted in [FIPS 186-2], and for key establishment as specified in [ANSI X9.63] and adopted in [SP 800-56]. The value of ∫ is commonly considered to be the key size.
| Bits of Security |
Symmetric key algs. |
Hash functions (collision concerns) |
Hash functions (no collision concerns) |
DSA, D-H, MQV | RSA | Elliptic Curves |
| 80 | 2TDES | SHA-1 | L = 1024 N = 160 |
k = 1024 | ∫ = 160 | |
| 112 | 3TDES | L = 2048 N = 224 |
k = 2048 | ∫ = 224 | ||
| 128 | AES-128 | SHA-256 | L = 3072 N = 256 |
k = 3072 | ∫ = 256 | |
| 160 | SHA-1 | |||||
| 192 | AES-192 | SHA-384 | L = 7680 N = 384 |
k = 7680 | ∫ = 384 | |
| 256 | AES-256 | SHA-512 | SHA-256 | L = 15360 N = 512 |
k = 15360 | ∫ = 512 |
| 384 | SHA-384 | |||||
| 512 | SHA-512 |
15 When no algorithm or key size is available to provide a given security strength, the cell is left empty.
| Year | Sym- metric key algs. (Encr. & MAC) |
Hash functi. (colli- sions) |
Hash funct. (no colli- sions) |
DSA, D-H, MQV | RSA | Elliptic Curves |
| Present - 2015 (min. of 80 bits of strength) |
2TDES 3TDES AES-128 AES-192 AES-256 |
SHA-1 SHA-256 SHA-384 SHA-512 |
SHA-1 SHA-256 SHA-384 SHA-512 |
Min.: L = 1024; N =160 |
Min.: k=1024 |
Min.: ∫=160 |
| 2016 - 2035 (min. of 112 bits of strength) |
3TDES AES-128 AES-192 AES-256 |
SHA-256 SHA-384 SHA-512 |
SHA-1 SHA-256 SHA-384 SHA-512 |
Min.: L = 2048 N = 224 |
Min.: k=2048 |
Min.: ∫=224 |
Vorab ein wenig grobe Mathematik [als nicht der Mathematik zugetan, bitte ich Ungenauigkeiten zu entschuldigen und mir Fehler mitzuteilen].
Die Sicherheit des RSA-Algorithmus, bzw. der RSA-Schlüssel beruht auf dem Faktorisierungsproblem.
Der öffentliche und private Schlüssel wird durch die Multiplikation zweier großer Primzahlen (p und q) und der Berechnung zweier weiterer Zahlen (e und d), die sowohl untereinander als auch mit dem Produkt der beiden Primzahlen (dem sogenannten Modulus oder n) in Beziehung stehen, errechnet. Die beidem Primzahlen nennt man auch die Primfaktoren des Produktes n. Der private Schlüssel besteht danach aus dem Zahlenpaar des Modulus n und der Zahl d (n,d), der öffentliche Schlüssel aus dem Zahlenpaar des Modulus n und der Zahl e (n,e). Wenn ein Angreifer nun aus dem Modulus n, der ja Bestandteil des öffentlichen Schlüssels (n,e) ist, die ursprünglichen Bestandteile berechnen, d. h. den Modulus n wieder in die beiden Primfaktoren p und q zerlegen kann, dann ist es ihm auch möglich mit der ebenfalls bekannten Zahl e des öffentlichen Schlüssels aus denn dann vorliegenden Zahlen p, q und e die Zahl d und damit den privaten Schlüssel zu berechnen. Diese Rechenoperation wird auch Faktorisierung oder Primfaktorzerlegung genannt.
Was sich hier so einfach anhört, stellt in der mathematischen Welt ein großes Problem dar. Einen universalen Algorithmus, mit dem man in überschaubarer Zeit jede große Zahl faktorisieren könnte, gibt es nicht.
Zur Faktorisierung bedient man sich aktuell dem sogenannten General Number Field Sieve (GNFS, "Zahlkörpersieb") Verfahren, bei dem in einem Siebungsschritt "...eine große Zahl von Quadratzahlen mit bestimmten algebraischen Eigenschaften (smoothness) gesucht, bzw. bestimmte 'Relationen gesammelt' werden" und in dem Schritt der Matrix-Reduktion, bei der "...Abhängigkeiten in einer sehr grossen Matrix (in der Praxis mehrere Millionen Zeilen und Spalten) gesucht" werden. Der Rechenaufwand für den Siebungsschritt ist dabei am größten.
Das Problem wird auch für Laien erahnbar, wenn man sich einmal die Zahl RSA-155 (512-bit RSA Schlüssel) ansieht, die im Rahmen des Wettbewerbs zur Faktorisierung von RSA im Jahr 1999 faktorisiert wurde und die gefunden Primfaktoren:
109417386415705274218097073220403576120037329454492059909138421314763499842889 34784717997257891267332497625752899781833797076537244027146743531593354333897 =
102639592829741105772054196573991675900716567808038066803341933521790711307779 *
106603488380168454820927220360012878679207958575989291522270608237193062808643
Für die Faktorisierung wurden im Jahr 1999 sieben Monate gebraucht, daran beteiligt waren 160 175-400 MHz SGI und Sun Workstations, 8 250 MHz SGI Origin 2000 Prozessoren, 120 300-450 MHz Pentium II PCs und 4 500 MHz Digital/Compaq Computer.
Aufgrund der gegebenen und kaum zu verbessernden Verfahren und Algorithmen zur Faktorisierung konzentrierte man sich auf Möglichkeiten zur Verbesserung, bzw. Beschleunigung des Verfahrens, speziell des rechenintensiven Siebungsschrittes, die sich durch Entwicklung und Einsatz von spezieller Hardware ergeben können. Dabei spielen auch Annahmen eine Rolle, über welche Mittel an Know-How, Finanzen und Hardware Angreifer wie die NSA mit ihrem Milliarden Dollar Etat verfügen.
Am 21. Mai 2007 konnten Kazumaro Aoki, Jens Franke, Thorsten Kleinjung, Arjen K. Lenstra und Dag Arne Osvik die Faktorisierung der 307-stelligen Mersenne-Primzahl 21039 -1, die – von der Größe her – einer 1024-bit RSA Zahl vergleichbar ist, bekanntgeben.
Dazu mussten zuvor an der Universität von Bonn, der Ecole Polytechnique Fédérale de Lausanne
und beim japanischen Konzern NTT elf Monate lang Berechnungen auf einzelnen Mehrkern-PCs im Leerlauf und Computer-Clustern durchgeführt werden, um mit dem Special Number Field Sieve (SNFS) Verfahren neben dem bereits bekannten 7-stelligen Faktor 5080711 die beiden anderen Primfaktoren mit 80 und 227 Stellen zu finden.
Das SNFS Verfahren kann im Gegensatz zum GNFS nur auf Primzahlen angelegt werden, die eine spezielle mathematische Form aufweisen, deren Primfaktoren relativ klein sind und unterschiedliche Größen aufweisen können, wie es bei der untersuchten Mersenne-Primzahl der Fall ist. Dadurch kommt man mit SNFS schneller zu Resultaten, es kann aber nicht zur Faktorisierung von RSA-Zahlen mit zwei großen Primfaktoren angewendet werden.
Dennoch haben Fortschritte bei der Weiterentwicklung von Techniken und Methoden für SNFS auch Auswirkungen auf GNFS, das vom SNFS abgeleitet wurde und damit auch auf die Faktorisierung von RSA-Zahlen.
Zu den Auswirkungen auf die Sicherheit bzw. Faktorisierung von RSA "Schlüsseln" mit 1024-bit schreiben die Wissenschafler in A kilobit special number field sieve factorization:
Ausgehend von dieser Herangehensweise beschrieb Adi Shamir (das 'S' in RSA) 1999 das (theoretische) TWINKLE (Abkürzung für "The Weizmann Institute Key Locating Engine" - Adi Shamir lehrt und forscht am Weizmann Institut in Israel) Gerät, das aus einem LED-Array besteht, das mit einem Gallium-Arsenid (GaA) Chip-Wafer verbunden ist, mit einer sehr hohen Taktrate arbeitet und eine hohe Parallelisierung von Rechenschritten bietet, wodurch der Siebungsschritt drastisch beschleunigt würde. Allerdings sind GaA Chip-Wafer nur in kleinen Mengen herstellbar und setzen zur Funktionsfähigkeit absolute Fehlerfreiheit des Wafers voraus, d. h. ein TWINKLE Gerät wäre mit sehr hohen Kosten verbunden.
Im Jahr 2001 beschrieb E. Daniel J. Bernstein in seinem Papier E. Daniel J. Bernstein: Circuits for integer factorisation den Versuch, sich ebenfalls mit Hilfe von Spezialhardware, die auf den Einsatz von Spezialchips und der Parallelisierung von Rechenoperationen baut, zahlentheoretischer Probleme zu nähern, die - ähnlich dem TWINKLE Gerät - zu einer Verkürzung der Rechenzeit für die Faktorisierung von Zahlen um 2/3, vor allem für den Schritt der Matrix-Reduktion, führen würde. Daneben ergaben sich aufgrund von Bernsteins Untersuchungen Optimierungen für die bereits verwendeten Algorithmen.
Eine einfache Erläuterung des Papiers findet sich im Artikel Spezialhardware bedroht möglicherweise RSA-Sicherheit. Eine Betrachtung zu Bersteins Untersuchungen liefert der RSA Security Artikel Has the RSA algorithm been compromised as a result of Bernstein's Paper?
In Kryptografiekreisen entspannte sich eine Debatte über die Auswirkungen auf die Sicherheit heutiger Public-Key Kryptografie und es wurde zum Teil die Empfehlung ausgesprochen, RSA Schlüssel sollten mindestens 2048-Bit groß sein, besser darüber liegen.
Im Artikel "Bernstein's Factoring Breakthrough?" des Crypto-Gram Newsletters vom 15. 03.02 kommentiert Bruce Schneier die Diskussionen zum Bernstein-Papier und ging noch einmal im Artikel "Is 1024 Bits Enough?" des Crypto-Gram Newsletters vom 15.04.02 auf die Debatte ein:
| Year | Individual | Corporation | Government |
|---|---|---|---|
| 1995 | 768 | 1280 | 1536 |
| 2000 | 1024 | 1280 | 1536 |
| 2005 | 1280 | 1536 | 2048 |
| 2010 | 1280 | 1536 | 2048 |
| 2015 | 1536 | 2048 | 2048 |
Der "Hardware" Ansatz von Bernstein wurde u. a. auch von den Kryptologen A. Lenstra und A. Shamir im Jahr 2002 analysiert und von den Kryptologen Dr. Willi Geiselmann und Dr. Rainer Steinwandt in ihrem Papier "A dedicated Sieving Hardware" 2003 aufgegriffen.
Im Januar 2003 präsentierte Adi Shamir zusammen mit Eran Tromer Überlegungen zum (theoretischen) TWIRL (Abkürzung für "The Weizmann Institute Relation Locator") Gerät, die Ideen von Geiselmann und Steinwandt aufnahmen und verbesserten. Mit dem TWIRL Gerät als Überarbeitung des TWINKLE Designs von 1999, beschreiben Shamir und Tromer die Hardwareausstattung von Spezialcomputern, die ebenfalls über die kostengünstige Verwendung aktueller Hardwarebausteine, Paralellisierung von Rechenoperationen, besserer Ausnutzung von Speicherbausteinen und Speicherprozessen und optimierten Algorithmen zu einer drastischen Reduzierung des Rechen- und Kostenaufwandes für den Siebungsschritt und damit für die Faktorisierung von RSA-Moduli führen würden. Über die Bildung von TWIRL-Clustern, also dem parallelen Einsatz vieler TWIRL Geräte ließen sich bei höherem Einsatz an Geldern und Hardware die positiven Berechnungs-Effekte noch vervielfachen.
Dabei wird beim TWIRL Gerät nicht mehr von opto-elektronischen Komponenten auf GaA-Basis ausgegangen wie beim TWINKLE Gerät, sondern von Chips auf Silikon-Wafern, die in der sogenannten VLSI ("Very Large Scale Integration" Technologie gefertigt werden.
Für die Berechnung von 1024-Bit großen Schlüsseln würden 1423 mm2 große Cips ausreichen, wodurch mehr Chips pro Wafer untergebracht werden können. Weitere Komponenten sind hintereinandergeschaltete Digital-Addierer, DRAM mit einer Strukturgröße von 0.13µ, die heutzutage produziert werden können, Multiplexer und kleine Prozessoren.
Von einigen Kryptologen, Mathematikern und Informatikern wird das Hardwaredesign des TWIRL Geräts als realisierbar betrachtet.
Geht man von der Realisierbarkeit des theoretischen TWIRL Geräts aus, wären TWIRL-basierte Computer bei einem Kostenaufwand von 10 bis 50 Millionen Euro für die Hardware in der Lage, eine 1024-Bit Zahl in einem Jahr zu faktorisieren. Bei einem parallelen Einsatz mehrerer TWIRL Geräte und größerem Finazeinsatz würde sich dementsprechend der Zeitaufwand verringern lassen.
Bei der Betrachtung TWIRL basierter Computer muss man außerdem miteinbeziehen, dass z. B. für den Geheimdienst NSA der Etat auf mehrere Milliarden US$ geschätzt wird und die NSA selbst oder mit Auftragsvergaben an andere Firmen Hardware entwickelt, die dem "Markt" noch gar nicht bekannt ist.
Die Vorstellung des Faktorisierungsproblems basieren auf der RSA FAQ 4.1 und des TWINKLE / TWIRL Geräts auf den Veröffentlichungen von Rüdiger Weis, Stefan Lucks und Andreas Bogk.
Eine gute Möglichkeit zur Beurteilung des Anspruchs, den der U.S. Geheimdienst NSA an einzusetzende Kryptografie stellt, bietet das Geschäft, das die NSA im Oktober 2003 mit dem Unternehmen Certicom abschloß. Dieses Geschäft erregte deshalb große Aufmerksamkeit, weil die NSA selbst eine große Kryptografieabteilung unterhält und kryptographische Verfahren und Algorithmen im eigenen Haus entwickelt. Obgleich man hinzufügen muss, dass Certicom bereits in der Vergangenheit öfters im Auftrag der NSA an geheimen Projekten beteiligt war.
Nach einer Aussage des Certicom Präsidenten und CEO, Ian McKinnon, besitzt die NSA Lizenzen für 130 Certicom Patente.
Mit dem Deal erhielt die NSA für 25 Millionen US$ eine Lizenz für das MQV (Menezes-Qu-Vanstone, ein Schlüsseleinigungsverfahren zur Erzeugung eines gemeinsamen Sitzungsschlüssels) basierte Elliptic Curve Cryptography (ECC) System, das Certicom entwickelt und patentiert hatte. Die Lizenz umfasst Rechte an 14 Patentfamilien, die 26 Patente von Certicom beinhalten.
ECC sind Public-Key Kryptoalgorithmen, die aber, im Gegensatz zu RSA, Schlüssel von großer Sicherheit bei wesentlich kürzeren Schlüssellängen hervorbringen und als Zukunft der Public-Key Kryptografie betrachtet werden. Der Anwendungsbereich, den die Lizenz festlegt, bezieht sich auf Implementierungen durch die NSA, wo ECC größer als GF(2256) ist, d. h. auf arithemtische Verfahren mit Primzahlen größer 2256.
Wie u. a. das Magazin eWeek berichtete, will die NSA (und damit andere U.S. Geheimdienste) 512-bit ECC Schlüssel mit dem Certicom ECC Verfahren nutzen, um als Top-Secret eingestufte Dokumente zu schützen und Daten sicher zu übertragen. Ein 512-bit ECC Schlüssel entspricht, wie aus anderen Darstellungen auf dieser Seite hervorgeht, einem 15360-bit langen RSA- oder 256-bit langen AES Schlüssel.
Auf der 14. RSA Konferenz in San Francisco stellte Daniel G. Wolf, Leiter des Direktoriums für die Absicherung von Informationssystemen (IAD) der NSA, am 16.02.2005 die neue Strategie der NSA zur Absicherung der Kommunikation der U. S. Regierungsbehörden vor, die zum U. S. Standard der kryptografischen Absicherung für das nächste Jahrzehnt wird. U. a. dienen die ECC Algorithmen der Verschlüsselung der Kommunikation und des Datentransfers innerhalb des globalen Informationsnetzwerkes Global Information Grid (GIG) des U. S. Verteidigungsministeriums.
Die Strategie sieht vor, dass für die Absicherung nur noch bestimmte Algorithmen benutzt werden, die in einer als Suite B genannten Klasse zusammengefasst sind. Dazu gehören als Public-Key Algorithmen Elliptic Curve Menezes-Qu-Vanstone (ECMQV) und Elliptic Curve Diffie-Hellman (ECDH), Elliptic Curve Digital Signature Algorithm (ECDSA) für Signaturen, AES-128/256 für die symmetrischen Schlüssel und SHA-256/384 für das Hashing.
Die ECC Algorithmen der Suite B basieren auf den Certicom Entwicklungen.
Der Certicom Gründer Dr. Scott Vanstone deutete in der Pressemitteilung NSA Names ECC as the Exclusive Technology for Key Agreement and Digital Signature Standards for the U.S. Government zur Ankündigung der neuen NSA Kryptostrategie an, dass ECC in 75% der 1,3 Millionen Kryptogeräte, die zum Invetar der U. S. Behörden gehören, eingesetzt würden, die im nächsten Jahrzehnt im Zuge des U. S. Kryptografie Modernisierungsprogramms (CMP) ausgetauscht werden.
Im OpenPGP Standard ist ECC bereits für Public-Key Algorithmen reserviert, bis jetzt implementieren aber weder GnuPG noch PGP ECC. Der Einsatz von ECC mit GnuPG wird im Rahmen des ECCGnuPG Projekts erprobt. Zur Standardisierung von ECC für OpenPGP gibt es den IETF Internet Draft ECC in OpenPGP.
Das ECRYPT (Europäisches Kompetenznetzwerk für Kryptografie) ist ein Programm der Europäischen Kommission, das von 2004 - 2008 läuft und an dem zahlreiche technische Universitäten und IT-Unternehmen aus ganz Europa beteiligt sind. Das Ziel des Programms besteht in der Intensivierung der Zusammenarbeit europäischer Wissenschaftler auf dem Gebiet der Kryptografie und des "Digital Watermarking".
In den ENCRYPT Jahresberichten wird eine ähnliche aber ausführlichere Abschätzung unter Einbeziehung aktueller Entwicklungen im Bereich der theoretischen und praktisch-technischen Kryptoanalyse vorgenommen wie auf dieser Seite. Einschätzungen zur Stärke und Sicherheit symmetrischer und Public-Key Schlüssel sind ebenfalls Bestandteil der Jahresberichte:
| Angreifer | Budget | Hardware | Min. Sicherheit |
|---|---|---|---|
| "Hacker" | 0 < $400 0 |
PC PC(s)/FPGA "Malware" |
51 56 59 |
| Kleine Organisation | $10000 | PC(s)/FPGA | 62 |
| Mittelgroße Organisation | $300000 | FPGA/ASIC | 66 |
| Große Organisation | $10000000 | FPGA/ASIC | 76 |
| Geheimdienst | $300000000 | ASIC | 81 |
Die minimale Sicherheit bezieht sich dabei auf die Zeitdauer, die eine Organisation mit entsprechenden finanziellen und technischen Ressourcen benötigt, um einen symmetrischen Schlüssel mit bestimmter Länge zu berechnen. In dem ENCRYPT Bericht auf Seite 25 heißt es dazu, dass im Jahr 2004 bei einem finanziellen Aufwand, den ein Geheimdienst betreibt, ein 81-bit Schlüssel in 73 Tagen zu berechnen wäre.
FPGAs und ASICs sind programmierbare Schaltkreise bzw. kunden- und anwendungsspezifische, integrierte Schaltungen. FPGA steht für Field Programmable Gate Array und ASIC für Application Specific Integrated Circuits.
| Sicherheit (bits) | RSA | DLOG field size |
DLOG subfield |
EC |
|---|---|---|---|---|
| 48 56 64 80 112 128 160 192 256 |
480 640 816 1248 2432 3248 5312 7936 15424 |
480 640 816 1248 2432 3248 5312 7936 15424 |
96 112 128 160 224 256 320 384 512 |
96 112 128 160 224 256 320 384 512 |
Die Sicherheit (bits) bezieht sich auf die Größen symmetrischer Schlüssel, DLOG bezieht sich auf Schlüssel, deren Algorithmen auf dem Discrete Logarithm Problem (DLP) beruhen wie z. B. die Elgamal Schlüssel bei GnuPG. EC steht für Schlüssel, die auf Elliptic Curve Cryptography (ECC) Algorithmen beruhen.
| Sicherheits- Niveau |
Sicherheit (bits) | Schutz | Kommentar |
|---|---|---|---|
| 1 | 32 | gegen Angriffe von Individuen in "Realzeit" | Only acceptable for auth. tag size |
| 2 | 64 | Sehr kurzzeitiger Schutz gegen kleine Organisationen | Sollte nicht bei neuen Systemen zur Wahrung vertraulicher Informationen benutzt werden |
| 3 | 72 | Kurzzeitiger Schutz gegen mittelgroße Organisationen, mittelfristiger Schutz gegen kleine Organisationen | |
| 4 | 80 | Sehr kurzzeitiger Schutz gegen Geheimdienste, langzeitiger Schutz gegen alle kleinen Organisationen | Kleinstes, generelles Sicherheitsniveau, < 5 Jahre |
| 5 | 112 | Mittelfristiger Schutz | |
| 6 | 128 | Langzeitschutz | Gut, generelle, applikationsunabhängige Empfehlung, ≈ 30 Jahre |
| 7 | 256 | "Absehbare Zukunft" | Guter Schutz gegen Quantencomputer |
Der Bericht merkt hierzu an, dass es z. B. angesichts neuer oder zukünftiger Verfahren zur Kryptoanalsye, der Abhängigkeit der verwendeten Mthoden und von Entwicklungen im Hardwarebereich natürlich schwierig ist, allgemein gültige Empfehlungen auszusprechen.
Zum Gefährdungspotential und der Realisierbarkeit von Quantencomputern heißt es in dem Bericht auf Seite 31:
Das NIST hatte im August 2002 den Secure Hash Signature (SHS) Standard FIPS-180-2 veröffentlicht, der neben SHA-1 die zusätzlichen Hashalgorithmen SHA-256, SHA-384 und SHA-512 spezifiziert. Algorithmen, die größere Message Digests erzeugen, sind Voraussetzung für das sichere Signieren von Daten bestimmter Größe und der Verwendung größerer DSA und RSA Signierschlüssel, bzw. muss die Größe des Hashalgorithmus und des Message Digest der Größe eines Schlüssels, der mit einem Public-Key Algorithmus erstellt wurde und die vergleichbare Sicherheit des Schlüssels eines symmetrischen Algorithmus bietet, entsprechen.
Das NIST schreibt dazu in der Einführung zu FIPS-180-2:
| Algorithm | Message Size (bits) | Block Size (bits) | Word Size (bits) | Message Digest Size (bits) | Security2 (bits) |
| SHA-1 | < 264 | 512 | 32 | 160 | 80 |
| SHA-224* | < 264 | 512 | 32 | 224 | 112 |
| SHA-256 | < 264 | 512 | 32 | 256 | 128 |
| SHA-384 | < 2128 | 1024 | 64 | 384 | 192 |
| SHA-512 | < 2128 | 1024 | 64 | 512 | 256 |
Im Februar 2005 veröffentlichten die chinesischen Wissenschaftler Xiaoyun Wang, Yiqun Lisa Yin und Hongbo Yu ihre Forschungsergebnisse zu Angriffen auf den SHA-1 Hashalgorithmus im Dokument Collision Search Attacks on SHA1. Im August 2005 ergänzt durch Finding Collisions in the Full SHA-1 - Collision Search Attacks on SHA1.
Den Dokumenten zufolge ist es der Forschergruppe gelungen, ein Verfahren zu entwicklen, mit dem man SHA-1 Kollisionen - also zwei Daten mit demselben SHA-1 Hashwert - mit 269 statt 280 Operationen finden kann. Damit gilt der SHA-1 Algorithmus als geschwächt, der Rechenaufwand zur Erzeugung von Kollisionen ist aber immer noch enorm. Unter Kryptologen rechnet man jedoch damit, dass sich aus dem Verfahren der chinesischen Forschergruppe weitere, optimierte Verfahren ergeben werden, die in der nächsten Zeit den Rechenaufwand zur Erzeugung von Kollisionen weiter reduzieren werden, so daß SHA-1 mittelfristig als gebrochen eingestuft werden muss.
Im März hatte William Burr, Manager der Security Technology Group beim U. S. National Institute of Standards and Technology (NIST) in NIST brief comment on recent cryptanalytic attacks on SHA 1 and NIST plans angekündigt, die Nutzung von SHA-1 als Hashalgorithmus bis 2010 zu beenden und durch SHA-256 bis SHA-512 zu ersetzen. Außerdem hatte er in Interviews dazu geraten, die Nutzung von MD5 als Hashalgorithmus ganz einzustellen.
In der NIST Veröffentlichung SP-800-57 Recommendation for Key Management – Part 1: General ist dann auch auf Seite 64 in einer Fußnote zu lesen:
Im Oktober 2008 wurde FIPS 186-3 vom NIST und dem US-Handelsministerium angenommen, der für den DSA drei Schlüssellängen mit korrespondierenden Hashgrößen definiert:
| Schlüssel | Hash |
|---|---|
| 1024 | 160 |
| 2048 | 224 |
| 2048 | 256 |
| 3072 | 256 |
Für RSA Hauptsignierschlüssel definiert FIPS-186-3 folgende Schlüssellängen mit Hashgrößen (nach SP 800-57) und Hashalgorithmen nach FIPS 186-2:
| Schlüssel | Hash |
|---|---|
| 1024 | 160 (SHA-1) |
| 2048 | 224 (SHA-224) |
| 3072 | 256 (SHA-256) |
Im August 2005 ließ die chinesische Forschergruppe um Prof. Xiaoyun Wang durch Adi Shamir auf der Crypto 2005 Konferenz mitteilen (denn die chinesichen Wissenschaftler hatten von der U. S. Regierung kein Visa erhalten), man habe durch Optimierung der Verfahren gegen SHA-1 den Aufwand zur Erzeugung von Kollisionen auf 263 Aufrufe senken können.
Das NIST hatte Anfang November 2007 wie für den AES den offenen Wettbewerb für den Nachfolger "SHA-3" der jetzigen SHA Algorithmen ausgeschrieben, der laut Zeitplan bis 2012 festgestellt werden soll. Bis dahin hatte das NIST im März 2006 für Bundesbehörden die Richtlinie ausgegeben, SHA-1 so schnell wie möglich durch die SHA-2 Hashfunktionen zu ersetzen und spätestens ab 2010 mit ein paar Ausnahmen für SHA-1 ausschließlich SHA-2 Hashfunktionen zu nutzen.
Auf der Webseite Cryptographic Key Length Recommendation von BlueKrypt werden nach Auswahl der "Methode" alle veröffentlichten Studien und ihre Empfehlungen zur Schlüssellänge im Überblick dargestellt.

Wenn man Schlüssel zur Verschlüsselung und Signierung mit maximaler Stärke/Sicherheit einsetzen will, die, gemessen an den Informationen, die auf dieser Seite stehen, den Vermutungen über die technologischen Kapazitäten eines Geheimdienstes wie der NSA (eine Annahme geht von einem technischen Vorsprung von ca. 10 Jahren aus), den kryptografischen Anforderungen, die von ihm formuliert werden und den Möglichkeiten, die durch die OpenPGP Spezifikation definiert werden, zukunftssicher für die nächsten Jahrzente sein sollen:
Die Kombination, die den Darstellungen nach maximale Sicherheit bei größten Performanceeinbußen bieten würde, wären RSA / Elgamal Schlüssel mit 15360-bit oder ECC-512, SHA512, AES-256 / Twofish. Keine GnuPG Version bietet diese Kombination an.
Abseits diese Fazits wird von einem großen Teil der Kryptografiexperten das Minimum, bestehend aus Hautpt- und Unterschlüssel mit einer Länge von 1024- bis 2048-bit, symmetrische Schlüssel mit 128-bit und SHA-1, als hinreichend sicher für den täglichen Gebrauch eingeschätzt.