
Un'utilità per giocare con la crittografia, orientata all'analisi dei ransomware.
Un'utility per giocare con la crittografia, pensata per l'analisi dei ransomware.

Tutte le viste esadecimali utilizzate in CryptoTester offrono alcune funzionalità avanzate.
0D 0A) sono colorati in violaIn molte viste (ad es. Input e Output), cliccando sulla riga degli offset (il 00 01 02 03... sopra la rispettiva vista) si apre una finestra di dialogo che mostra i byte insieme alla vista decodificata.
La maggior parte degli input che accettano un intero accettano anche valori speciali e funzioni.
Esempi:
x10 -> 16len -> 400block -> 16 (dimensione del blocco dell'algoritmo selezionato)up(60, 16) -> 64down(60, 16) -> 48L'aritmetica semplice può essere utilizzata in combinazione con queste funzioni.
up(len-x100, b) - Sottrae 256 dalla lunghezza dell'input, quindi arrotonda per eccesso alla dimensione del blocco più vicina dell'algoritmo selezionato (ad es. 16 per AES)I valori negativi vengono interpretati come len - valor, cioè relativi alla fine dell'input.
Il pannello principale contiene strumenti per l'utilizzo di primitive crittografiche su un input. La vista esadecimale Input accetta l'incolla diretto di byte, oppure è possibile utilizzare il menu File per caricare un file, testo, byte codificati in base64, ecc. È possibile anche trascinare e rilasciare direttamente un file nella vista.
Consente di specificare una chiave in molti formati e contiene opzioni per diverse funzioni di hashing e derivazione della chiave; questi campi si adattano all'algoritmo attualmente selezionato e a ciò che supporta.
Nota: La chiave viene elaborata nello stesso ordine in cui viene mostrata nell'interfaccia utente; prima la chiave viene decodificata secondo il
Formato, poi sottoposta a hashing usando i parametriHash, e infine derivata usando i parametriDeriveprima di essere passata all'algoritmo crittografico. A partire dalla v1.7.0.0, è possibile scambiare l'ordine di elaborazione diHasheDerive.
La lunghezza finale della chiave in output è visualizzata sopra la casella di input. Cliccandola si visualizzerà la chiave finale calcolata in una finestra di dialogo separata.

Consente di selezionare un algoritmo crittografico e i suoi parametri, se supportati.
Nota: I
Byte IV(oNonce, a seconda dell'algoritmo) verranno automaticamente riempiti con byte00della lunghezza appropriata per l'algoritmo se lasciati vuoti.
L'input può essere selezionato utilizzando due diverse modalità: "Intervallo" e "Blocchi".
Un semplice intervallo che inizia all'Offset e prende Lunghezza byte.
La Lunghezza si aggiornerà automaticamente ogni volta che Input viene modificato, a meno che la casella Blocca parametri non sia selezionata.
Se hai effettuato alcuni calcoli nel campo Lunghezza e desideri tornare alla lunghezza effettiva dell'Input, puoi semplicemente premere il pulsante Reimposta lunghezza.
Se Inserisci byte rimanenti è selezionato, i byte prima dell'Offset vengono anteposti all'Output, e i byte dopo Offset+Lunghezza vengono aggiunti in coda.

Prende Prendi byte, poi salta Salta byte, prende Prendi byte, salta Salta byte... fino alla fine dell'Input. Questo può essere utilizzato per testo cifrato che in realtà è "intervallato" tra blocchi di testo in chiaro. L'algoritmo crittografico viene eseguito sui blocchi risultanti come un unico blocco sequenziale, senza reimpostare la chiave/IV/nonce ecc.
Se Inserisci byte rimanenti è selezionato, i byte nella sezione Salta vengono reinseriti nell'Output.

Questa sezione visualizza informazioni semplici sull'Input come la dimensione del file, il MIME rilevato (se è un file), l'entropia totale e se è divisibile per 16 (una dimensione comune del blocco).
Le viste Input e Output hanno lo scorrimento sincronizzato; per disabilitarlo, deseleziona la casella Scorrimento sincronizzato tra di loro.
Il pulsante 🡨 tra Input e Output può essere utilizzato per spostare l'Output nella vista Input.
L'Input o l'Output possono essere sottoposti a hashing utilizzando i rispettivi menu a discesa sotto le loro viste. L'Output può anche essere sottoposto a un algoritmo di verifica (supporto limitato per ECDSA al momento).
Questo pannello consente di confrontare un file crittografato con il suo originale. Entrambe le viste supportano il trascinamento, oppure è possibile utilizzare File -> Apri file per aprire Originale e Crittografato in sequenza.
La vista Originale può anche essere riempita utilizzando una qualsiasi delle opzioni File -> Input; ad esempio, confrontando con una certa lunghezza di byte nulli o l'immagine di esempio di Windows Chrysanthemum.jpg.
Le viste Originale e Crittografato hanno lo scorrimento sincronizzato; per disabilitarlo, deseleziona la casella Scorrimento sincronizzato tra di loro.
Il pulsante ⇆ tra le viste Originale e Crittografato può essere utilizzato per scambiarne i contenuti.
I byte che differiscono tra le due viste verranno visualizzati in rosso scuro.

Visualizza rispettivamente le informazioni di base sulle viste Originale e Crittografato.
Una volta che entrambe le viste sono state riempite, viene eseguita una rapida analisi su di esse.
Originale è presente in CrittografatoCrittografatoCrittografato (UTF-8 o UTF-16)Crittografato (in varie forme e codifiche)CrittografatoQuesto pannello consente l'uso primitivo di una manciata di algoritmi di compressione e ha funzionalità simili al pannello Crittografa/Decrittografa.
Uno strumento per analizzare i blob CryptoAPI e i blob CNG.
I BLOB possono essere importati/esportati in/da formati binari, base64, PEM, XML e ASN.1, dove supportati.

Ulteriori strumenti relativi ai blob che vengono attivati solo per i tipi di blob supportati, se applicabile.
Genera un blob CryptoAPI. La Lunghezza bit viene aggiornata automaticamente con i valori supportati per l'aiKeyAlg selezionato. Tieni presente che alcune combinazioni di bType e aiKeyAlg non sono valide e genereranno un errore dal provider CryptoAPI.

Nota: Le chiavi vengono generate internamente utilizzando CryptGenRandom, ma non posso garantire la sicurezza crittografica dell'utilizzo di chiavi generate da questa utility.
Uno strumento per analizzare/calcolare chiavi RSA. Vengono visualizzati i singoli parametri della chiave e possono essere mostrati come decimali o esadecimali. Se sono presenti parametri sufficienti, è possibile calcolare il resto della chiave.
La chiave può essere esportata in vari formati, tra cui un blob CryptoAPI, blob CNG, PEM, XML e ASN.1, su file, negli appunti o nella finestra principale (Crittografa/Decrittografa). Inoltre, se si esporta nella finestra principale, gli interi grezzi possono essere esportati per l'algoritmo RSA grezzo.

Uno strumento che cerca in un file una chiave crittografica in diversi formati.
Esempi di formati supportati:

Uno strumento per testare vari algoritmi PRNG noti.

Imposta il Seme iniziale per il PRNG.
Imposta l'Algoritmo PRNG, insieme alla Lunghezza degli output da produrre e un Modulo facoltativo da applicare a ciascun output. Ad esempio, un Modulo di xFF può essere utilizzato per convertire ogni output in un byte.
Se è selezionato Alpha:
Viene anche visualizzata l'entropia dell'output prodotto per l'output Alpha. Si tratta di una stima approssimativa dell'entropia (o del numero di possibilità) per forzare ciecamente l'output (senza attaccare direttamente il PRNG).
Uno strumento per utilizzare diverse codifiche di base. Supporta set di caratteri preimpostati standard o fornisci il tuo set di caratteri personalizzato.
Ad eccezione dei codificatori che utilizzano un checksum (ad es. Base58Check di Bitcoin), la decodifica viene eseguita senza verificare il padding, quindi anche codifiche parziali o danneggiate verranno decodificate grezze.

Uno strumento per visualizzare testo o byte come ASCII, UTF-8 e UTF-16 contemporaneamente.

Uno strumento per convalidare punti su curve ellittiche. Può importare/esportare da/verso un ECPoint (forme non compresse o compresse), PEM o blob CNG.

Varie operazioni da eseguire in base al pannello corrente.
Prende l'Originale e il Crittografato dal pannello Confronta e applica l'operazione XOR o AND, visualizzando un flusso.
Utilizza le informazioni dell'algoritmo dal pannello Crittografa/Decrittografa e genera un flusso di chiave di una data lunghezza da salvare su file.
Visualizza un grafico della differenza tra i pixel nel pannello Confronta.

Utilizza il materiale chiave fornito e l'Input dal pannello Crittografa/Decrittografa, e un output atteso dato, e enumera tutte le possibili opzioni nella sezione Opzioni di crittografia per cercare di trovare una corrispondenza.
Questo strumento può essere utilizzato per testare un elenco o una cartella di chiavi note rispetto all'Input utilizzando i parametri del cifrario specificati.
Conteggio byte del file alla volta.Se una chiave viene abbinata con successo, il pulsante Seleziona verrà attivato per consentire il passaggio della chiave e dei suoi parametri alla finestra principale.

Utilizzando la dimensione del blocco del cifrario selezionato, enumera ogni possibile blocco e tenta la decrittografia utilizzando la chiave specificata.
Esempio: hai una chiave privata RSA-2048 e un blob di 0x1000 byte di possibile testo cifrato come Input. Usando questa operazione si tenterà di decrittografare Input[0x00:0x100], poi Input[0x01:0x101], poi Input[0x02:0x102] ecc...
Nota: Questa operazione attualmente supporta solo l'algoritmo RSA. È anche limitata a un massimo di 10000 byte di input.
Usa little endian internamente (se l'algoritmo lo supporta).
Consente di impostare parametri personalizzati se l'algoritmo selezionato li supporta. Ad esempio, la famiglia di algoritmi Salsa20 supporta round, costante, posizione personalizzati o l'immissione di una matrice grezza.
Opzioni per l'IV, come l'immissione da testo o base64 e il recupero di un IV da testo in chiaro noto.
Preimpostazioni per determinati schemi di crittografia, ad esempio OpenSSL.
Piccoli strumenti per conversioni.
Converti un intero in DWORD, o byte DWORD in intero.

Converti byte esadecimali in un elenco di interi, o un elenco di interi in byte. Spazi e virgole per l'output possono essere impostati opzionalmente.
