
Ein Werkzeug zum Spielen mit Kryptografie, ausgerichtet auf Ransomware-Analyse.
Ein Werkzeug zum Experimentieren mit Kryptografie, speziell für Ransomware-Analyse.

Alle in CryptoTester verwendeten Hex-Ansichten bieten einige erweiterte Funktionen.
0D 0A) sind lila eingefärbtIn vielen Ansichten (z. B. Eingabe und Ausgabe) öffnet ein Klick auf die Offset-Zeile (die 00 01 02 03... oberhalb der jeweiligen Ansicht) einen Dialog, der die Bytes zusammen mit der decodierten Ansicht zeigt.
Die meisten Eingabefelder, die eine Ganzzahl akzeptieren, akzeptieren auch spezielle Werte und Funktionen.
Beispiele:
x10 -> 16len -> 400block -> 16 (Blocksize des ausgewählten Algorithmus)up(60, 16) -> 64down(60, 16) -> 48Einfache Arithmetik kann in Kombination mit diesen Funktionen verwendet werden.
up(len-x100, b) - Subtrahiert 256 von der Eingabelänge, rundet dann auf die nächste Blocksize des ausgewählten Algorithmus auf (z. B. 16 für AES)Negative Werte werden als len - Wert, also relativ zum Ende der Eingabe, angenommen.
Der primäre Bereich enthält Werkzeuge zur Verwendung kryptografischer Primitiven auf einer Eingabe. Die Hex-Ansicht Eingabe akzeptiert direktes Einfügen von Bytes, oder das Menü Datei kann zum Laden einer Datei, von Text, base64-codierten Bytes usw. verwendet werden. Eine Datei kann auch direkt per Drag-and-Drop in die Ansicht gezogen werden.
Ermöglicht die Angabe eines Schlüssels in vielen Formaten und enthält Optionen für verschiedene Hash- und Schlüsselableitungsfunktionen; diese Felder passen sich dem aktuell ausgewählten Algorithmus und seinen unterstützten Optionen an.
Hinweis: Der Schlüssel wird in der gleichen Reihenfolge verarbeitet, in der er in der Benutzeroberfläche angezeigt wird: Zuerst wird der Schlüssel gemäß dem
Formatdecodiert, dann mit denHash-Parametern gehasht und schließlich mit denAbleiten-Parametern abgeleitet, bevor er an den kryptografischen Algorithmus übergeben wird. Ab Version 1.7.0.0 kann die Reihenfolge vonHash- undAbleiten-Verarbeitung getauscht werden.
Die endgültige Ausgabelänge des Schlüssels wird oberhalb des Eingabefelds angezeigt. Ein Klick darauf öffnet einen separaten Dialog mit dem endgültig berechneten Schlüssel.

Ermöglicht die Auswahl eines kryptografischen Algorithmus und seiner Parameter, sofern unterstützt.
Hinweis: Die
IV-Bytes(oderNonce, je nach Algorithmus) werden automatisch als00-Bytes in der passenden Länge für den Algorithmus gefüllt, wenn sie leer gelassen werden.
Die Eingabe kann mit zwei verschiedenen Modi ausgewählt werden: "Bereich" und "Blöcke".
Ein einfacher Bereich, beginnend bei Offset, der Länge Bytes umfasst.
Die Länge wird automatisch aktualisiert, sobald die Eingabe geändert wird, es sei denn, das Kontrollkästchen Parameter sperren ist aktiviert.
Wenn Sie Berechnungen im Feld Länge durchgeführt haben und zur tatsächlichen Länge der Eingabe zurückkehren möchten, können Sie einfach die Schaltfläche Länge zurücksetzen drücken.
Wenn Restliche Bytes einfügen aktiviert ist, werden alle Bytes vor dem Offset der Ausgabe vorangestellt und alle Bytes nach Offset+Länge angehängt.

Nimmt Nehmen Bytes, überspringt dann Überspringen Bytes, nimmt Nehmen Bytes, überspringt Überspringen Bytes ... bis zum Ende der Eingabe. Dies kann für Chiffretext verwendet werden, der tatsächlich zwischen Klartextblöcken "verschachtelt" ist. Der kryptografische Algorithmus wird auf die resultierenden Blöcke als einen sequenziellen Block angewendet, ohne Zurücksetzen von Schlüssel/IV/Nonce usw.
Wenn Restliche Bytes einfügen aktiviert ist, werden alle Bytes im Abschnitt Überspringen wieder in die Ausgabe eingefügt.

Dieser Abschnitt zeigt einfache Informationen über die Eingabe an, wie die Dateigröße, erkannten MIME-Typ (falls es eine Datei ist), Gesamtentropie und ob sie durch 16 (eine übliche Blockgröße) teilbar ist.
Die Ansichten Eingabe und Ausgabe haben synchronisiertes Scrollen; um dies zu deaktivieren, deaktivieren Sie das Kontrollkästchen Synchronisiertes Scrollen zwischen ihnen.
Die Schaltfläche 🡨 zwischen Eingabe und Ausgabe kann verwendet werden, um die Ausgabe in die Eingabe-Ansicht zu verschieben.
Die Eingabe oder Ausgabe kann mit den jeweiligen Dropdown-Menüs unter ihren Ansichten gehasht werden. Die Ausgabe kann auch mit einem Verifikationsalgorithmus bearbeitet werden (derzeit eingeschränkte Unterstützung für ECDSA).
Dieser Bereich ermöglicht den Vergleich einer verschlüsselten Datei mit ihrem Original. Beide Ansichten unterstützen Drag-and-Drop, oder Datei -> Datei öffnen kann verwendet werden, um Original und Verschlüsselt nacheinander zu öffnen.
Die Original-Ansicht kann auch mit einer der Optionen unter Datei -> Eingabe gefüllt werden; zum Beispiel Vergleichen mit einer bestimmten Länge von Null-Bytes oder dem Windows-Beispielbild Chrysanthemum.jpg.
Die Ansichten Original und Verschlüsselt haben synchronisiertes Scrollen; um dies zu deaktivieren, deaktivieren Sie das Kontrollkästchen Synchronisiertes Scrollen zwischen ihnen.
Die Schaltfläche ⇆ zwischen den Ansichten Original und Verschlüsselt kann verwendet werden, um deren Inhalte zu tauschen.
Bytes, die sich zwischen den beiden Ansichten unterscheiden, werden in dunkelrot angezeigt.

Zeigt grundlegende Informationen zu den Ansichten Original bzw. Verschlüsselt an.
Sobald beide Ansichten gefüllt sind, wird eine schnelle Analyse gegen sie ausgeführt.
Originals in Verschlüsselt vorhanden istVerschlüsselt vorhandene CryptoAPI-BlobsVerschlüsselt (UTF-8 oder UTF-16) vorhanden istVerschlüsselt (in verschiedenen Formen und Codierungen)VerschlüsseltDieser Bereich ermöglicht die einfache Verwendung einiger Komprimierungsalgorithmen und hat ähnliche Funktionalität wie der Bereich Verschlüsseln/Entschlüsseln.
Ein Werkzeug zur Analyse von CryptoAPI-Blobs und CNG-Blobs.
BLOBs können in/aus binären, base64-, PEM-, XML- und ASN.1-Formaten importiert/exportiert werden, soweit unterstützt.

Zusätzliche BLOB-bezogene Werkzeuge, die nur für unterstützte BLOB-Typen aktiviert werden, sofern zutreffend.
Generiert einen CryptoAPI-Blob. Die Bitlänge wird automatisch mit unterstützten Werten für den ausgewählten aiKeyAlg aktualisiert. Beachten Sie, dass einige Kombinationen von bType und aiKeyAlg ungültig sind und einen Fehler vom CryptoAPI-Anbieter auslösen.

Hinweis: Schlüssel werden intern mit CryptGenRandom generiert, aber ich kann die kryptografische Sicherheit der Verwendung von mit diesem Werkzeug generierten Schlüsseln nicht garantieren.
Ein Werkzeug zur Analyse/Berechnung von RSA-Schlüsseln. Die einzelnen Parameter des Schlüssels werden angezeigt und können als Dezimal- oder Hex-Werte dargestellt werden. Wenn genügend Parameter vorhanden sind, kann der Rest des Schlüssels berechnet werden.
Der Schlüssel kann in verschiedenen Formaten exportiert werden, darunter CryptoAPI-Blob, CNG-Blob, PEM, XML und ASN.1, entweder in eine Datei, in die Zwischenablage oder in das Hauptfenster (Verschlüsseln/Entschlüsseln). Zusätzlich können beim Export in das Hauptfenster die rohen Ganzzahlen für den Raw-RSA-Algorithmus exportiert werden.

Ein Werkzeug, das eine Datei in mehreren Formaten nach einem kryptografischen Schlüssel durchsucht.
Beispiele für unterstützte Formate:

Ein Werkzeug zum Testen verschiedener bekannter PRNG-Algorithmen.

Legen Sie den Start-Seed für den PRNG fest.
Legen Sie den PRNG-Algorithmus, die Länge der zu erzeugenden Ausgaben und einen optionalen Modulus fest, der auf jede Ausgabe angewendet wird. Ein Modulus von xFF kann beispielsweise verwendet werden, um jede Ausgabe auf ein Byte zu reduzieren.
Wenn Alpha ausgewählt ist:
Die Entropie der erzeugten Ausgabe wird bei Alpha-Ausgabe ebenfalls angezeigt. Dies ist eine grobe Schätzung der Entropie (oder Anzahl der Möglichkeiten) für eine Blind-Brute-Force der Ausgabe (ohne direkten Angriff auf den PRNG).
Ein Werkzeug zur Verwendung verschiedener Basis-Codierungen. Unterstützt standardmäßige voreingestellte Zeichensätze oder die Angabe eines eigenen benutzerdefinierten Zeichensatzes.
Mit Ausnahme von Codierern, die eine Prüfsumme verwenden (z. B. Bitcoins Base58Check), erfolgt die Decodierung ohne Überprüfung der Padding, sodass selbst teilweise oder beschädigte Codierungen roh decodiert werden.

Ein Werkzeug zum gleichzeitigen Anzeigen von Text oder Bytes als ASCII, UTF-8 und UTF-16.

Ein Werkzeug zum Validieren von elliptischen Kurvenpunkten. Kann von/nach einem ECPoint (unkomprimierte oder komprimierte Formen), PEM oder CNG-Blob importieren/exportieren.

Verschiedene Operationen, die basierend auf dem aktuellen Bereich ausgeführt werden.
Nimmt das Original und Verschlüsselt aus dem Vergleichen-Bereich, wendet die XOR- oder UND-Operation an und zeigt einen Stream an.
Verwendet die Algorithmusinformationen aus dem Verschlüsseln/Entschlüsseln-Bereich und generiert einen Keystream der angegebenen Länge, um ihn in einer Datei zu speichern.
Zeigt ein grafisches Diagramm des Unterschieds zwischen Pixeln im Vergleichen-Bereich an.

Verwendet das bereitgestellte Schlüsselmaterial und die Eingabe aus dem Bereich Verschlüsseln/Entschlüsseln sowie eine erwartete Ausgabe und durchläuft alle möglichen Optionen im Abschnitt Verschlüsselungsoptionen, um eine Übereinstimmung zu finden.
Dieses Werkzeug kann verwendet werden, um eine Liste oder einen Ordner bekannter Schlüssel gegen die Eingabe mit den angegebenen Chiffreparametern zu testen.
Byteanzahl Bytes der Datei auf einmal.Wenn ein Schlüssel erfolgreich gefunden wurde, wird die Schaltfläche Auswählen aktiviert, um den Schlüssel und seine Parameter an das Hauptfenster zu übergeben.

Durchläuft unter Verwendung der Blocksize des ausgewählten Chiffrierverfahrens jeden möglichen Block und versucht die Entschlüsselung mit dem angegebenen Schlüssel.
Beispiel: Sie haben einen RSA-2048-privaten Schlüssel und einen 0x1000-Byte-Block möglichen Chiffretexts als Eingabe. Bei dieser Operation wird versucht, Eingabe[0x00:0x100], dann Eingabe[0x01:0x101], dann Eingabe[0x02:0x102] usw. zu entschlüsseln...
Hinweis: Diese Operation unterstützt derzeit nur den RSA-Algorithmus. Sie ist außerdem auf maximal 10.000 Eingabe-Bytes beschränkt.
Verwendet Little Endian intern (sofern vom Algorithmus unterstützt).
Ermöglicht das Festlegen benutzerdefinierter Parameter, sofern der ausgewählte Algorithmus welche unterstützt. Beispielsweise unterstützen die Algorithmen der Salsa20-Familie benutzerdefinierte Runden, Konstanten, Position oder die Eingabe einer rohen Matrix.
Optionen für den IV, wie die Eingabe von Text oder base64 und das Wiederherstellen eines IV aus bekanntem Klartext.
Voreinstellungen für bestimmte Verschlüsselungsschemata, z. B. OpenSSL.
Kleine Werkzeuge für Konvertierungen.
Konvertiert eine Ganzzahl in DWORD oder DWORD-Bytes in eine Ganzzahl.

Konvertiert Hex-Bytes in eine Liste von Ganzzahlen oder eine Liste von Ganzzahlen in Bytes. Leerzeichen und Kommas für die Ausgabe können optional eingestellt werden.
