Changeset 1650


Ignore:
Timestamp:
Jun 15, 2010, 8:35:22 PM (11 years ago)
Author:
schomburg
Message:

initial commit of PKCS1 Plugin

Location:
trunk/PKCS1
Files:
87 added
19 copied

Legend:

Unmodified
Added
Removed
  • trunk/PKCS1/DetailedDescription/Description.xaml

    r1238 r1650  
    99            <Span.TextDecorations>
    1010                <TextDecoration Location="Underline" />
    11             </Span.TextDecorations> PKCS#5
     11            </Span.TextDecorations> PKCS#1
    1212        </Span>
    1313    </Paragraph>
     
    1616    <Paragraph Margin="0,0,0,0" TextAlignment="Left" FontFamily="Times New Roman" FontSize="16">
    1717      <Span Foreground="#FF0000FF" xml:lang="en-us">
    18         <misc:DescriptionHyperlink NavigateUri="http://www.schneier.com/twofish.html">http://tools.ietf.org/html/rfc2898</misc:DescriptionHyperlink>
     18        blafsel test
    1919      </Span>
    2020    </Paragraph>
  • trunk/PKCS1/OnlineHelp/HelpFiles/de/Gen_Bleichenb_Sig_Tab.html

    r1238 r1650  
    1 <h2>Generierung von Zufallszahlen zur Faktorisierung</h2>
    2 Ihre Wahl der Methode zur Faktorisierung  bestimmt die Laufzeit und den Resourcenverbrauch der Faktorisierung.
     1<h2>Bleichenbacher Signatur generieren</h2>
     2In diesem Tab wird eine gefälschte Signatur generiert, welche in ver- und entschlüsselter Form dargestellt wird.
     3Die Signatur, welche von fehlerhaften Implementierungen als valide erkannt wird, hat folgende Struktur:
     4'00' '01' PS '00' HI HW GG. </br>
     5Im Einzelnen bedeutet dies:
    36<ul>
    47<li>
    5 <strong>Probedivision<br /></strong>
    6 Die Probedivision ist das Verfahren mit der größen Laufzeit. Es benötig sehr viel Arbeitsspeicher und Prozessorzeit.
    7 Sollte nach 100.000 Versuchen kein Faktor gefunden werden, wird das Verfahren automatisch beendet.
     8<strong>'00'</strong>
     9Einleitender Nullblock (8 Bit). Dadurch wird gewährleistet dass der numerische Wert der Signatur kleiner ist als das
     10<a href="help://KeyGen_ModulusSize">RSA-Modul.</a>
    811</li>
     12<li>
     13<strong>'01'</strong>
     14Block Type. Dieser Block gibt an ob es sich um eine Verschlüsselung mit dem privaten oder öffentlichen Schlüssel handelt.
     15Da bei Signaturgenerierung mit dem privaten Schlüssel verschlüsselt wird, ist dieser Wert '01' (hexadezimale Darstellung: 0x01).
     16</li>
     17<li>
     18<strong>PS</strong>
     19Paddingstring. Der Paddingstring besteht aus einer Mehrzahl von Blöcken mit dem Wert 'FF' (hexadezimal 0xff). Bei einer
     20gefälschten Signatur nach der Bleichenbacher Methode, ist die Länge des Paddingstring kürzer als bei korrekt generierten
     21PKCS #1-Signaturen. Die Position des Datenblocks und damit die Länge des Paddingstring kann in diesem Tab variiert werden,
     22indem in der ComboBox "Bitposition des Datenblocks" die Startposition (in Bit) gewählt wird.
     23</li>
     24<li>
     25<strong>'00'</strong>
     26Nullblock. Dieser Block dient der Markierung des Ende des Paddingstrings und Anfang des Datenblocks.
     27</li>
     28<li>
     29<strong>HI</strong>
     30Hash-Identifier. Der erste Teil des <a href="help://Gen_Datablock_Tab">Datenblock</a>. Hier sind Informationen wie z.B. der verwendete
     31Hashfunktion in ASN.1 codierter Form enrhalten.
     32</li>
     33<li>
     34<strong>HW</strong>
     35Hashwert. In dem zweiten Teil des <a href="help://Gen_Datablock_Tab">Datenblock</a> ist der generierte Hashwert enthalten.
     36</li>
     37<li>
     38<strong>GG</strong>
     39Garbage. In dem letzten Block der gefälschten Signatur steht "Datenmüll". Dies ist nötig, damit die Länge der gefälschten
     40Signatur der einer korrekt generierten Signatur entspricht. Dieser "Datenmüll" wird so berechnet, dass die dritte Wurzel
     41gezogen werden kann.
     42</li>
     43
    944</ul>
  • trunk/PKCS1/OnlineHelp/HelpFiles/de/Gen_Datablock_Tab.html

    r1238 r1650  
    1 <h2>Generierung von Zufallszahlen zur Faktorisierung</h2>
    2 Ihre Wahl der Methode zur Faktorisierung  bestimmt die Laufzeit und den Resourcenverbrauch der Faktorisierung.
     1<h2>Datenblock generieren</h2>
     2In diesem Tab kann der Datenblock einer Signatur generiert werden. Der Datenblock besteht aus den zwei Teilen "Hashfunction-Identifier" und "Hashwert".
    33<ul>
    44<li>
    5 <strong>Probedivision<br /></strong>
    6 Die Probedivision ist das Verfahren mit der größen Laufzeit. Es benötig sehr viel Arbeitsspeicher und Prozessorzeit.
    7 Sollte nach 100.000 Versuchen kein Faktor gefunden werden, wird das Verfahren automatisch beendet.
     5<strong>Hashfunction-Identifier<br /></strong>
     6Der Hashfunction-Identifier ist ein ASN.1 codierter Datenblock der unter anderem Information wie z.B. den Namen der verwendeten Hashfunktion (Algorithmidentifier), die Länge des gesamten Datenblocks, und die Länge des Hashwertes beinhaltet.</br>
     7Die Länge und der Wert des Hashfunction Identifiers ändert sich wenn eine andere Hashfunktion gewählt wird.
     8</li>
     9<li>
     10<strong>Hashwert</strong>
     11Der Hashwert wird aus dem eingegebenen Text berechnet. Die Länge des Hashwertes ist abhängig von der gewählten Hashfunktion.
    812</li>
    913</ul>
     14
     15Der generierte Datenblock wird in einer hexadezimalen Oktettdarstellung angezeigt.
  • trunk/PKCS1/OnlineHelp/HelpFiles/de/Gen_Kuehn_Sig_Tab.html

    r1238 r1650  
    1 <h2>Generierung von Zufallszahlen zur Faktorisierung</h2>
     1<h2>Kuehn Signatur generieren</h2>
    22Ihre Wahl der Methode zur Faktorisierung  bestimmt die Laufzeit und den Resourcenverbrauch der Faktorisierung.
    33<ul>
  • trunk/PKCS1/OnlineHelp/HelpFiles/de/Gen_PKCS1_Sig_Tab.html

    r1238 r1650  
    1 <h2>Generierung von Zufallszahlen zur Faktorisierung</h2>
    2 Ihre Wahl der Methode zur Faktorisierung  bestimmt die Laufzeit und den Resourcenverbrauch der Faktorisierung.
     1<h2>Signatur generieren</h2>
     2In diesem Tab wird die komplette PKCS #1-Signatur erstellt. Die Signatur hat folgende Struktur: '00' '01' PS '00' HI HW. </br>
     3Im Einzelnen bedeutet dies:
    34<ul>
    45<li>
    5 <strong>Probedivision<br /></strong>
    6 Die Probedivision ist das Verfahren mit der größen Laufzeit. Es benötig sehr viel Arbeitsspeicher und Prozessorzeit.
    7 Sollte nach 100.000 Versuchen kein Faktor gefunden werden, wird das Verfahren automatisch beendet.
     6<strong>'00'</strong>
     7Einleitender Nullblock (8 Bit). Dadurch wird gewährleistet dass der numerische Wert der Signatur kleiner ist als das
     8<a href="help://KeyGen_ModulusSize">RSA-Modul.</a>
    89</li>
     10<li>
     11<strong>'01'</strong>
     12Block Type. Dieser Block gibt an ob es sich um eine Verschlüsselung mit dem privaten oder öffentlichen Schlüssel handelt.
     13Da bei Signaturgenerierung mit dem privaten Schlüssel verschlüsselt wird, ist dieser Wert '01' (hexadezimale Darstellung: 0x01).
     14</li>
     15<li>
     16<strong>PS</strong>
     17Paddingstring. Der Paddingstring besteht aus einer Mehrzahl von Blöcken mit dem Wert 0xFF (hexadezimale Darstellung).
     18Die Länge ergibt sich aus der Länge des <a href="help://KeyGen_ModulusSize">RSA-Moduls</a> subtrahiert
     19der drei Blöcke '00', '01', '00' und der Länge des <a href="help://Gen_Datablock_Tab">Datenblocks</a>
     20</li>
     21<li>
     22<strong>'00'</strong>
     23Nullblock. Dieser Block dient der Markierung des Ende des Paddingstrings und Anfang des Datenblocks.
     24</li>
     25<li>
     26<strong>HI</strong>
     27Hash-Identifier. Der erste Teil des <a href="help://Gen_Datablock_Tab">Datenblock</a>. Hier sind Informationen wie z.B. der verwendete
     28Hashfunktion in ASN.1 codierter Form enrhalten.
     29</li>
     30<li>
     31<strong>HW</strong>
     32Hashwert. In dem zweiten Teil des <a href="help://Gen_Datablock_Tab">Datenblock</a> ist der generierte Hashwert enthalten.
     33</li>
     34
    935</ul>
  • trunk/PKCS1/OnlineHelp/HelpFiles/de/KeyGen.html

    r1238 r1650  
    1 <h2>Generierung von Zufallszahlen zur Faktorisierung</h2>
    2 Ihre Wahl der Methode zur Faktorisierung  bestimmt die Laufzeit und den Resourcenverbrauch der Faktorisierung.
    3 <ul>
    4 <li>
    5 <strong>Probedivision<br /></strong>
    6 Die Probedivision ist das Verfahren mit der größen Laufzeit. Es benötig sehr viel Arbeitsspeicher und Prozessorzeit.
    7 Sollte nach 100.000 Versuchen kein Faktor gefunden werden, wird das Verfahren automatisch beendet.
    8 </li>
    9 </ul>
     1<h2>RSA-Schlüsselgenerierung</h2>
     2Um PKCS #1-Signaturen generieren und validieren zu können ist ein RSA-Schlüsselpaar notwendig. Dieses besteht aus einem privaten und einem öffentlichen Schlüssel, sowie einem sog. RSA-Modul welches bei Beiden Schlüsseln gleich ist.</br>
     3Da für die hier dargestellten Angriffe auf die PKCS #1-Signaturen der Wert des öffentlichen Schlüssels und die Länge des Moduls (in Bit) wichtig sind, können hier diese Parameter eingegeben werden. Der öffentliche Schlüssel, sowie das Modul werden dann generiert.
     4</br></br>
     5<strong>Es ist notwendig zuerst einen Schlüssel zu generieren bevor man die Signaturen generieren kann!</strong>
  • trunk/PKCS1/OnlineHelp/HelpFiles/de/KeyGen_ModulusSize.html

    r1238 r1650  
    1 <h2>Generierung von Zufallszahlen zur Faktorisierung</h2>
    2 Ihre Wahl der Methode zur Faktorisierung  bestimmt die Laufzeit und den Resourcenverbrauch der Faktorisierung.
    3 <ul>
    4 <li>
    5 <strong>Probedivision<br /></strong>
    6 Die Probedivision ist das Verfahren mit der größen Laufzeit. Es benötig sehr viel Arbeitsspeicher und Prozessorzeit.
    7 Sollte nach 100.000 Versuchen kein Faktor gefunden werden, wird das Verfahren automatisch beendet.
    8 </li>
    9 </ul>
     1<h2>RSA-Modul</h2>
     2Das Modul ist Bestandteil eines RSA-Schlüsselpaares und in dem öffentlichen und privaten Schlüssel gleich. </br>
     3
     4Da für die Angriffe auf die PKCS #1-Signaturen nicht der Wert, sondern nur die Länge in Bit nötig ist, kann hier die Länge angegeben werden und es wird ein Modul erzeugt.
     5In dem Bleichenbacher Angriff wurde von einer Bitlänge des Moduls von 3072 ausgegangen. Bei den Angriffen mit kürzeren Schlüsseln kann hier die Schlüssellänge reduziert werden.
  • trunk/PKCS1/OnlineHelp/HelpFiles/de/KeyGen_PubExponent.html

    r1238 r1650  
    1 <h2>Generierung von Zufallszahlen zur Faktorisierung</h2>
    2 Ihre Wahl der Methode zur Faktorisierung  bestimmt die Laufzeit und den Resourcenverbrauch der Faktorisierung.
    3 <ul>
    4 <li>
    5 <strong>Probedivision<br /></strong>
    6 Die Probedivision ist das Verfahren mit der größen Laufzeit. Es benötig sehr viel Arbeitsspeicher und Prozessorzeit.
    7 Sollte nach 100.000 Versuchen kein Faktor gefunden werden, wird das Verfahren automatisch beendet.
    8 </li>
    9 </ul>
     1<h2>RSA öffentlicher Schlüssel</h2>
     2Der öffentliche Schlüssel (public Key) des RSA-Schlüsselpaares wird genutzt, um die mit dem privaten Schlüssel
     3verschlüsselten, Signaturen zu entschlüsseln. Aus Performance Gründen wird gewöhnlich ein Schlüssel mit einem geringen
     4Hamming-Gewicht genutzt (z.B. 3, 17 oder 65537). Voraussetzung für den Bleichenbacher Angriff ist, dass der
     5öffentliche Schlüssel drei ist.
     6
  • trunk/PKCS1/OnlineHelp/HelpFiles/de/SigGen.html

    r1238 r1650  
    1 <h2>Generierung von Zufallszahlen zur Faktorisierung</h2>
    2 Ihre Wahl der Methode zur Faktorisierung  bestimmt die Laufzeit und den Resourcenverbrauch der Faktorisierung.
    3 <ul>
    4 <li>
    5 <strong>Probedivision<br /></strong>
    6 Die Probedivision ist das Verfahren mit der größen Laufzeit. Es benötig sehr viel Arbeitsspeicher und Prozessorzeit.
    7 Sollte nach 100.000 Versuchen kein Faktor gefunden werden, wird das Verfahren automatisch beendet.
    8 </li>
    9 </ul>
     1<h2>PKCS #1-Signaturgenerierung</h2>
     2<strong>Um PKCS#1 Signaturen erzeugen zu können muss zuerst ein RSA-Schlüsselpaar, in der entsprechenden Maske,
     3 generiert werden</strong></br>
     4 <strong>Es muss zuerst der Datenblock generiert werden, bevor die komplette Signatur generiert werden kann!</strong>
     5 </br></br>
     6Die PKCS #1-Signaturen basieren auf dem asymetrischen Verschlüsselungsalgorithmus RSA. Daher ist es notwendig einen
     7RSA-Schlüssel zu generieren.</br>
     8Um eine PKCS#1-Signatur zu generieren wird zunächst wird <a href="help://Gen_Datablock_Tab">Datenblock</a> generiert.
     9Anschliessend wird der Padding-String erzeugt um die Signatur in ein spezifiziertes
     10<a href="help://Gen_PKCS1_Sig_Tab">Format</a> zu bringen. Ist dies erfolgt, wird mit dem privaten Schlüssel verschlüsselt.
     11
  • trunk/PKCS1/OnlineHelp/HelpFiles/de/SigGenFakeBleichenbacher.html

    r1238 r1650  
    1 <h2>Generierung von Zufallszahlen zur Faktorisierung</h2>
    2 Ihre Wahl der Methode zur Faktorisierung  bestimmt die Laufzeit und den Resourcenverbrauch der Faktorisierung.
    3 <ul>
    4 <li>
    5 <strong>Probedivision<br /></strong>
    6 Die Probedivision ist das Verfahren mit der größen Laufzeit. Es benötig sehr viel Arbeitsspeicher und Prozessorzeit.
    7 Sollte nach 100.000 Versuchen kein Faktor gefunden werden, wird das Verfahren automatisch beendet.
    8 </li>
    9 </ul>
     1<h2>Bleichenbacher Angriff</h2>
     2<strong>Um den Bleichenbacher Angriff durchführen zu können, muss zuerst ein RSA-Schlüsselpaar,
     3in der entsprechenden Maske, generiert werden</strong></br>
     4 <strong>Es muss zuerst der Datenblock generiert werden, bevor die komplette Signatur generiert werden kann!</strong>
     5 </br></br>
     6 Um eine gefälschte Signatur zu generieren wird zunächste der <a href="help://Gen_Datablock_Tab">Datenblock</a> wie in
     7 einer regulären PKCS#1-Signatur generiert. Allerdings unterscheidet sich die <a href="help://Gen_Bleichenb_Sig_Tab">Struktur</a>
     8 der gefälschten Signatur in folgenden Punkten:
     9 <ul>
     10 <li>Der Padding-String wird verkürzt. Somit findet sich der <a href="help://Gen_Datablock_Tab">Datenblock</a>
     11 weiter links in der Signatur. Fehlerhafte Implementierung der Validierung von Signaturen erkennen dies nicht.
     12 Wie weit der Datenblock nach links verschoben wird, kann variiert werden.</li>
     13 <li>Der ungenutzte Platz am Ende der Signatur wird durch willkürliche Daten, dem sog. Garbage, aufgefüllt.</li>
     14 </ul>
  • trunk/PKCS1/OnlineHelp/HelpFiles/de/SigGenFakeKuehn.html

    r1238 r1650  
    1 <h2>Generierung von Zufallszahlen zur Faktorisierung</h2>
     1<h2>Kühn</h2>
    22Ihre Wahl der Methode zur Faktorisierung  bestimmt die Laufzeit und den Resourcenverbrauch der Faktorisierung.
    33<ul>
  • trunk/PKCS1/OnlineHelp/HelpFiles/de/SigVal.html

    r1238 r1650  
    1 <h2>Generierung von Zufallszahlen zur Faktorisierung</h2>
    2 Ihre Wahl der Methode zur Faktorisierung  bestimmt die Laufzeit und den Resourcenverbrauch der Faktorisierung.
     1<h2>Signaturvalidierung</h2>
     2Zur Validierung von PKCS #1-Signaturen werden diese Signaturen zunächst mit dem öffentlichen Schlüssel entschlüsselt.
     3Die entschlüsselte Signatur sollte eine Struktur wie <a href="help://Gen_PKCS1_Sig_Tab">hier</a> beschrieben, aufweisen.
     4Bei der Validierung wird als nächster Schritt der <a href="help://Gen_Datablock_Tab">Datenblock</a> ausgelesen.</br>
     5Dieses extrahieren des Datenblock kann auf eine korrekte oder fehlerhafte Art und Weise geschehen. Die fehlerhafte
     6Implementierung war bis zum Entdecken des möglichen Angriffs (2006) in vielen Anwendungen zu finden.
    37<ul>
    48<li>
    5 <strong>Probedivision<br /></strong>
    6 Die Probedivision ist das Verfahren mit der größen Laufzeit. Es benötig sehr viel Arbeitsspeicher und Prozessorzeit.
    7 Sollte nach 100.000 Versuchen kein Faktor gefunden werden, wird das Verfahren automatisch beendet.
     9<strong>fehlerhafte Implementierung</strong>
     10Bei dieser Implementierung werden die Daten der entschlüsselten Signatur bis nach dem Paddingstring gelesen.
     11Der folgende Datenblock wird extrahiert und die Validierung fortgesetzt. Die Daten nach dem Datenblock, sowie die Länge
     12des Paddingstring werden nicht berücksichtigt. Durch diese und weitere Voraussetzungen ist es möglich Signaturen zu
     13fälschen, ohne den privaten Schlüssel zu kennen.
     14</li>
     15<li>
     16<strong>korrekte Implementierung</strong>
     17Bei einer korrekten Implementierung werden die Daten nach dem Datenblock und die Länge des Paddingstring berücksichtigt.
    818</li>
    919</ul>
     20
     21Wenn der Datenblock ausgelesen ist, ist daraus der in der Signatur verwendete Hashalgorithmus und der generierte Hashwert
     22 erkennbar. Jetzt wird der Hashalgorithmus auf die Klartextdaten, von denen die Signatur erstellt wurde, angewandt und
     23 mit dem Hashwert aus der Signatur verglichen. Stimmen die beiden Werte überein, wird die Signatur als valide angesehen.
  • trunk/PKCS1/OnlineHelp/HelpFiles/de/StartControl.html

    r1238 r1650  
    1 <h2>Generierung von Zufallszahlen zur Faktorisierung</h2>
    2 Ihre Wahl der Methode zur Faktorisierung  bestimmt die Laufzeit und den Resourcenverbrauch der Faktorisierung.
    3 <ul>
    4 <li>
    5 <strong>Probedivision<br /></strong>
    6 Die Probedivision ist das Verfahren mit der größen Laufzeit. Es benötig sehr viel Arbeitsspeicher und Prozessorzeit.
    7 Sollte nach 100.000 Versuchen kein Faktor gefunden werden, wird das Verfahren automatisch beendet.
    8 </li>
    9 </ul>
     1<h2>PKCS #1 / Bleichenbacher Angriff - Hilfe</h2>
     2Willkommen in der Hilfe des PKCS#1 / Bleichenbacher Angriff Plugins.</br>
     3Hier finden Sie detaillierte Informationen zu PKCS#1 Signaturen und dem Bleichenbacher Angriff.</br></br>
     4In die verschiedenen Masken dieses Plugins gelangen Sie indem Sie die Navigation auf der linken Seite nutzen. In den verschiedenen Masken
     5wiederum finden Sie mehrere Hilfebuttons. Wenn Sie auf diese klicken, bekommen Sie detailierte Informationen über das jeweilige Thema.
Note: See TracChangeset for help on using the changeset viewer.