Repository files navigation

HackerInside Text Encryption Utility

Applicativo che consente di criptare e decriptare testi utilizzando l'algoritmo AES con chiavi a 256 bit e in modalità GCM (Galois/Counter Mode)

Informazioni Generali

Algoritmo Utilizzato: AES-256-GCM

Gestione degli IV: Ogni IV generato casualmente (utilizzando la classe SecureRandom) viene inserito aggiungendo 16 bytes all'inizio dei dati cifrati

Formato del KeyStore: BCFKS

Compressione: GZip

ECDH: ECC-384

Gestione delle chiavi e KeyStore

Il software per poter criptare e/o decriptare ha bisogno di accedere ad un KeyStore (BCFKS) da cui preleva la chiave scelta.

  • Appena avviato il software verifica la presenza di un KeyStore con nome "KeyStore.bcfks", se non trovato provvede a crearne uno chiedendo una password (password generale del KeyStore)
    • è possibile specificare un keystore diverso da "KeyStore.bcfks" avviando il programma nel modo seguente: java -jar HackerInsideTextEncryptionUtility.jar <keystore>
  • Per poter aggiungere una chiave ad un KeyStore è possibile utilizzare l'apposita scheda nelle impostazioni (FILL) oppure utilizzare uno dei tanti KeyStore explorer disponibili (consigliato https://keystore-explorer.org/)
  • Se non viene specificato un keystore differente il file "KeyStore.bcfks" deve rimanere dentro la stessa cartella dove risiede l'eseguibile

ENCRYPT

Per criptare un file procedere come segue:

  1. Avviare il programma e sbloccare il KeyStore utilizzando la propria password
  2. Selezionare dal menù a tendina la chiave che si desidera utilizzare
  3. Inserire il testo da criptare (o caricarlo da un file tramite l'apposita funzione nel menù contestuale)
  4. Premere il bottone ENCRYPT Il testo scritto sarà ora criptato, codificato e formattato sulla base delle opzioni da noi scelte.

DECRYPT

Per criptare un file procedere come segue:

  1. Avviare il programma e sbloccare il KeyStore utilizzando la propria password
  2. Selezionare dal menù a tendina la chiave che si desidera utilizzare
  3. Inserire il testo criptato (o caricarlo da un file tramite l'apposita funzione nel menù contestuale)
  4. Premere il bottone DECRYPT

Impostazioni generali di formattazione del testo e di codifica

  • ENCODING: Codifica che viene utilizzata per la rappresentazione del testo criptato, sono supportate:

    • Base64
    • Base58
    • Esadecimale (Hex)
    • PGP Word list
    • Base36
    • Base32
    • Base32-C (Versione modificata di Base32 che utilizza il carattere '9' per il padding)
  • SPACING: Aggiunge uno spazio dopo "n" caratteri (Disabilitato con codifica PGP Word list)

  • TextArea Wrapping: Opzione di "a capo automatico" della textArea

  • GZIP Compression: abilità / disabilità la compressione dei dati (comprime e poi cripta)

Queste informazioni vengono memorizzate attraverso le "Java Preferences API"

ECDH Key Agreement

Questa funzionalità presente nelle impostazioni consente a due utenti di "mettersi d'accordo" mediante un mezzo non sicuro su una chiave che si desidera utilizzare.

  1. Aprire le impostazioni e selezionare l'apposita scheda (ECDH)
  2. Premere il bottone "1 - INIT" per generare la propria coppia di chiavi (pubblica e privata)
  3. Inviare al proprio interlocutore la propria chiave pubblica (MY PUBLIC KEY)
  4. Copiare e incollare nella casella di testo OTHER PUBLIC KEY la chiave pubblica che il tuo interlocutore ti ha inviato
  5. Premre il bottone "2 - CALC" per calcolare la chiave condivisa (KEY)
  6. Verificare ora con il proprio interlocutore che i valori KCV (Key Check Value) siano identici da entrambe le parti
  7. Premere il bottone "3 - ADD" e seguire la procedura guidata per aggiungere la chiave al proprio KeyStore

ATTENZIONE!

  • Ogni qualvolta si preme il bottone "1 - INIT" o si riavvia il programma tutte le informazioni relative alla funzione ECDH vengono resettate, occore quindi sincronizzarsi con il proprio interlocutore per assicurare il corretto scambio delle chiavi!
  • È buona norma verificare SEMPRE che i valori KCV siano equivalenti al fine di evitare chiavi corrotte (o semplicemente diverse).
  • Verificare sempre l'identità del proprio interlocutore al fine di evitare MiTM

Zeroize

In caso di emergenza è possibile premere il bottone rosso ZEROIZE che provvederà ad CORROMPERE PERMANENTEMENTE IL KEYSTORE (viene sovrascritto con bytes casuali generati sul momento)

Procedura di Zeroize:

  • Premere il bottone ZEROIZE.
  • Prendere nota del codice che viene generato.
  • Inserire il codice ed attendere il messaggio di conferma.

BEST PRACTICES

  • Generare la chiave di 256 bit in modo completamente casuale (possibilmente usando dispositivi RNG hardware e macchine "air-gapped").
  • Non archiviare mai la chiave in chiaro e/o su supporti di memoria non sicuri.
  • Comunica sempre al tuo interlocutore l'alias della chiave da utilizzare.
  • Comunica sempre al tuo interlocutore le tue intenzioni riguardo la codifica da utilizzare e l'eventuale uso della compressione
  • Evita di utilizzare la funzione per visulizzare la chiave se non sei in un luogo sicuro con dispositivi sicuri.
  • Riavviare il programma dopo aver inserito una nuova chiave.

Screenshot

Main ScreenImpostazioni_GeneraleKeyFillKeysSettings_ecdh

Disclaimer

Questo software è a puro scopo di divertimento, non deve essere preso in considerazione come punto di riferimento.

Non mi assumo nessuna responsabilità di eventuali danni provocati da questo codice o da suoi possibili usi impropri.

Credits

Data encryption icons created by kerismaker - Flaticon

Libreria utilizzata per la codifica PGP Word List

BouncyCastle

Sitografia

About

Applicativo che consente di criptare dei testi utilizzando l'algoritmo AES con chiavi a 256 bit e in modalità GCM (Galois/Counter Mode)

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

HackerInside Text Encryption Utility

Applicativo che consente di criptare e decriptare testi utilizzando l'algoritmo AES con chiavi a 256 bit e in modalità GCM (Galois/Counter Mode)

Informazioni Generali

Algoritmo Utilizzato: AES-256-GCM

Gestione degli IV: Ogni IV generato casualmente (utilizzando la classe SecureRandom) viene inserito aggiungendo 16 bytes all'inizio dei dati cifrati

Formato del KeyStore: BCFKS

Compressione: GZip

ECDH: ECC-384

Gestione delle chiavi e KeyStore

Il software per poter criptare e/o decriptare ha bisogno di accedere ad un KeyStore (BCFKS) da cui preleva la chiave scelta.

  • Appena avviato il software verifica la presenza di un KeyStore con nome "KeyStore.bcfks", se non trovato provvede a crearne uno chiedendo una password (password generale del KeyStore)
    • è possibile specificare un keystore diverso da "KeyStore.bcfks" avviando il programma nel modo seguente: java -jar HackerInsideTextEncryptionUtility.jar <keystore>
  • Per poter aggiungere una chiave ad un KeyStore è possibile utilizzare l'apposita scheda nelle impostazioni (FILL) oppure utilizzare uno dei tanti KeyStore explorer disponibili (consigliato https://keystore-explorer.org/)
  • Se non viene specificato un keystore differente il file "KeyStore.bcfks" deve rimanere dentro la stessa cartella dove risiede l'eseguibile

ENCRYPT

Per criptare un file procedere come segue:

  1. Avviare il programma e sbloccare il KeyStore utilizzando la propria password
  2. Selezionare dal menù a tendina la chiave che si desidera utilizzare
  3. Inserire il testo da criptare (o caricarlo da un file tramite l'apposita funzione nel menù contestuale)
  4. Premere il bottone ENCRYPT Il testo scritto sarà ora criptato, codificato e formattato sulla base delle opzioni da noi scelte.

DECRYPT

Per criptare un file procedere come segue:

  1. Avviare il programma e sbloccare il KeyStore utilizzando la propria password
  2. Selezionare dal menù a tendina la chiave che si desidera utilizzare
  3. Inserire il testo criptato (o caricarlo da un file tramite l'apposita funzione nel menù contestuale)
  4. Premere il bottone DECRYPT

Impostazioni generali di formattazione del testo e di codifica

  • ENCODING: Codifica che viene utilizzata per la rappresentazione del testo criptato, sono supportate:

    • Base64
    • Base58
    • Esadecimale (Hex)
    • PGP Word list
    • Base36
    • Base32
    • Base32-C (Versione modificata di Base32 che utilizza il carattere '9' per il padding)
  • SPACING: Aggiunge uno spazio dopo "n" caratteri (Disabilitato con codifica PGP Word list)

  • TextArea Wrapping: Opzione di "a capo automatico" della textArea

  • GZIP Compression: abilità / disabilità la compressione dei dati (comprime e poi cripta)

Queste informazioni vengono memorizzate attraverso le "Java Preferences API"

ECDH Key Agreement

Questa funzionalità presente nelle impostazioni consente a due utenti di "mettersi d'accordo" mediante un mezzo non sicuro su una chiave che si desidera utilizzare.

  1. Aprire le impostazioni e selezionare l'apposita scheda (ECDH)
  2. Premere il bottone "1 - INIT" per generare la propria coppia di chiavi (pubblica e privata)
  3. Inviare al proprio interlocutore la propria chiave pubblica (MY PUBLIC KEY)
  4. Copiare e incollare nella casella di testo OTHER PUBLIC KEY la chiave pubblica che il tuo interlocutore ti ha inviato
  5. Premre il bottone "2 - CALC" per calcolare la chiave condivisa (KEY)
  6. Verificare ora con il proprio interlocutore che i valori KCV (Key Check Value) siano identici da entrambe le parti
  7. Premere il bottone "3 - ADD" e seguire la procedura guidata per aggiungere la chiave al proprio KeyStore

ATTENZIONE!

  • Ogni qualvolta si preme il bottone "1 - INIT" o si riavvia il programma tutte le informazioni relative alla funzione ECDH vengono resettate, occore quindi sincronizzarsi con il proprio interlocutore per assicurare il corretto scambio delle chiavi!
  • È buona norma verificare SEMPRE che i valori KCV siano equivalenti al fine di evitare chiavi corrotte (o semplicemente diverse).
  • Verificare sempre l'identità del proprio interlocutore al fine di evitare MiTM

Zeroize

In caso di emergenza è possibile premere il bottone rosso ZEROIZE che provvederà ad CORROMPERE PERMANENTEMENTE IL KEYSTORE (viene sovrascritto con bytes casuali generati sul momento)

Procedura di Zeroize:

  • Premere il bottone ZEROIZE.
  • Prendere nota del codice che viene generato.
  • Inserire il codice ed attendere il messaggio di conferma.

BEST PRACTICES

  • Generare la chiave di 256 bit in modo completamente casuale (possibilmente usando dispositivi RNG hardware e macchine "air-gapped").
  • Non archiviare mai la chiave in chiaro e/o su supporti di memoria non sicuri.
  • Comunica sempre al tuo interlocutore l'alias della chiave da utilizzare.
  • Comunica sempre al tuo interlocutore le tue intenzioni riguardo la codifica da utilizzare e l'eventuale uso della compressione
  • Evita di utilizzare la funzione per visulizzare la chiave se non sei in un luogo sicuro con dispositivi sicuri.
  • Riavviare il programma dopo aver inserito una nuova chiave.

Screenshot

Main ScreenImpostazioni_GeneraleKeyFillKeysSettings_ecdh

Disclaimer

Questo software è a puro scopo di divertimento, non deve essere preso in considerazione come punto di riferimento.

Non mi assumo nessuna responsabilità di eventuali danni provocati da questo codice o da suoi possibili usi impropri.

Credits

Data encryption icons created by kerismaker - Flaticon

Libreria utilizzata per la codifica PGP Word List

BouncyCastle

Sitografia

About

Applicativo che consente di criptare dei testi utilizzando l'algoritmo AES con chiavi a 256 bit e in modalità GCM (Galois/Counter Mode)

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

HackerInside Text Encryption Utility

Applicativo che consente di criptare e decriptare testi utilizzando l'algoritmo AES con chiavi a 256 bit e in modalità GCM (Galois/Counter Mode)

Informazioni Generali

Algoritmo Utilizzato: AES-256-GCM

Gestione degli IV: Ogni IV generato casualmente (utilizzando la classe SecureRandom) viene inserito aggiungendo 16 bytes all'inizio dei dati cifrati

Formato del KeyStore: BCFKS

Compressione: GZip

ECDH: ECC-384

Gestione delle chiavi e KeyStore

Il software per poter criptare e/o decriptare ha bisogno di accedere ad un KeyStore (BCFKS) da cui preleva la chiave scelta.

  • Appena avviato il software verifica la presenza di un KeyStore con nome "KeyStore.bcfks", se non trovato provvede a crearne uno chiedendo una password (password generale del KeyStore)
    • è possibile specificare un keystore diverso da "KeyStore.bcfks" avviando il programma nel modo seguente: java -jar HackerInsideTextEncryptionUtility.jar <keystore>
  • Per poter aggiungere una chiave ad un KeyStore è possibile utilizzare l'apposita scheda nelle impostazioni (FILL) oppure utilizzare uno dei tanti KeyStore explorer disponibili (consigliato https://keystore-explorer.org/)
  • Se non viene specificato un keystore differente il file "KeyStore.bcfks" deve rimanere dentro la stessa cartella dove risiede l'eseguibile

ENCRYPT

Per criptare un file procedere come segue:

  1. Avviare il programma e sbloccare il KeyStore utilizzando la propria password
  2. Selezionare dal menù a tendina la chiave che si desidera utilizzare
  3. Inserire il testo da criptare (o caricarlo da un file tramite l'apposita funzione nel menù contestuale)
  4. Premere il bottone ENCRYPT Il testo scritto sarà ora criptato, codificato e formattato sulla base delle opzioni da noi scelte.

DECRYPT

Per criptare un file procedere come segue:

  1. Avviare il programma e sbloccare il KeyStore utilizzando la propria password
  2. Selezionare dal menù a tendina la chiave che si desidera utilizzare
  3. Inserire il testo criptato (o caricarlo da un file tramite l'apposita funzione nel menù contestuale)
  4. Premere il bottone DECRYPT

Impostazioni generali di formattazione del testo e di codifica

  • ENCODING: Codifica che viene utilizzata per la rappresentazione del testo criptato, sono supportate:

    • Base64
    • Base58
    • Esadecimale (Hex)
    • PGP Word list
    • Base36
    • Base32
    • Base32-C (Versione modificata di Base32 che utilizza il carattere '9' per il padding)
  • SPACING: Aggiunge uno spazio dopo "n" caratteri (Disabilitato con codifica PGP Word list)

  • TextArea Wrapping: Opzione di "a capo automatico" della textArea

  • GZIP Compression: abilità / disabilità la compressione dei dati (comprime e poi cripta)

Queste informazioni vengono memorizzate attraverso le "Java Preferences API"

ECDH Key Agreement

Questa funzionalità presente nelle impostazioni consente a due utenti di "mettersi d'accordo" mediante un mezzo non sicuro su una chiave che si desidera utilizzare.

  1. Aprire le impostazioni e selezionare l'apposita scheda (ECDH)
  2. Premere il bottone "1 - INIT" per generare la propria coppia di chiavi (pubblica e privata)
  3. Inviare al proprio interlocutore la propria chiave pubblica (MY PUBLIC KEY)
  4. Copiare e incollare nella casella di testo OTHER PUBLIC KEY la chiave pubblica che il tuo interlocutore ti ha inviato
  5. Premre il bottone "2 - CALC" per calcolare la chiave condivisa (KEY)
  6. Verificare ora con il proprio interlocutore che i valori KCV (Key Check Value) siano identici da entrambe le parti
  7. Premere il bottone "3 - ADD" e seguire la procedura guidata per aggiungere la chiave al proprio KeyStore

ATTENZIONE!

  • Ogni qualvolta si preme il bottone "1 - INIT" o si riavvia il programma tutte le informazioni relative alla funzione ECDH vengono resettate, occore quindi sincronizzarsi con il proprio interlocutore per assicurare il corretto scambio delle chiavi!
  • È buona norma verificare SEMPRE che i valori KCV siano equivalenti al fine di evitare chiavi corrotte (o semplicemente diverse).
  • Verificare sempre l'identità del proprio interlocutore al fine di evitare MiTM

Zeroize

In caso di emergenza è possibile premere il bottone rosso ZEROIZE che provvederà ad CORROMPERE PERMANENTEMENTE IL KEYSTORE (viene sovrascritto con bytes casuali generati sul momento)

Procedura di Zeroize:

  • Premere il bottone ZEROIZE.
  • Prendere nota del codice che viene generato.
  • Inserire il codice ed attendere il messaggio di conferma.

BEST PRACTICES

  • Generare la chiave di 256 bit in modo completamente casuale (possibilmente usando dispositivi RNG hardware e macchine "air-gapped").
  • Non archiviare mai la chiave in chiaro e/o su supporti di memoria non sicuri.
  • Comunica sempre al tuo interlocutore l'alias della chiave da utilizzare.
  • Comunica sempre al tuo interlocutore le tue intenzioni riguardo la codifica da utilizzare e l'eventuale uso della compressione
  • Evita di utilizzare la funzione per visulizzare la chiave se non sei in un luogo sicuro con dispositivi sicuri.
  • Riavviare il programma dopo aver inserito una nuova chiave.

Screenshot

Main ScreenImpostazioni_GeneraleKeyFillKeysSettings_ecdh

Disclaimer

Questo software è a puro scopo di divertimento, non deve essere preso in considerazione come punto di riferimento.

Non mi assumo nessuna responsabilità di eventuali danni provocati da questo codice o da suoi possibili usi impropri.

Credits

Data encryption icons created by kerismaker - Flaticon

Libreria utilizzata per la codifica PGP Word List

BouncyCastle

Sitografia

About

Applicativo che consente di criptare dei testi utilizzando l'algoritmo AES con chiavi a 256 bit e in modalità GCM (Galois/Counter Mode)

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

HackerInside Text Encryption Utility

Applicativo che consente di criptare e decriptare testi utilizzando l'algoritmo AES con chiavi a 256 bit e in modalità GCM (Galois/Counter Mode)

Informazioni Generali

Algoritmo Utilizzato: AES-256-GCM

Gestione degli IV: Ogni IV generato casualmente (utilizzando la classe SecureRandom) viene inserito aggiungendo 16 bytes all'inizio dei dati cifrati

Formato del KeyStore: BCFKS

Compressione: GZip

ECDH: ECC-384

Gestione delle chiavi e KeyStore

Il software per poter criptare e/o decriptare ha bisogno di accedere ad un KeyStore (BCFKS) da cui preleva la chiave scelta.

  • Appena avviato il software verifica la presenza di un KeyStore con nome "KeyStore.bcfks", se non trovato provvede a crearne uno chiedendo una password (password generale del KeyStore)
    • è possibile specificare un keystore diverso da "KeyStore.bcfks" avviando il programma nel modo seguente: java -jar HackerInsideTextEncryptionUtility.jar <keystore>
  • Per poter aggiungere una chiave ad un KeyStore è possibile utilizzare l'apposita scheda nelle impostazioni (FILL) oppure utilizzare uno dei tanti KeyStore explorer disponibili (consigliato https://keystore-explorer.org/)
  • Se non viene specificato un keystore differente il file "KeyStore.bcfks" deve rimanere dentro la stessa cartella dove risiede l'eseguibile

ENCRYPT

Per criptare un file procedere come segue:

  1. Avviare il programma e sbloccare il KeyStore utilizzando la propria password
  2. Selezionare dal menù a tendina la chiave che si desidera utilizzare
  3. Inserire il testo da criptare (o caricarlo da un file tramite l'apposita funzione nel menù contestuale)
  4. Premere il bottone ENCRYPT Il testo scritto sarà ora criptato, codificato e formattato sulla base delle opzioni da noi scelte.

DECRYPT

Per criptare un file procedere come segue:

  1. Avviare il programma e sbloccare il KeyStore utilizzando la propria password
  2. Selezionare dal menù a tendina la chiave che si desidera utilizzare
  3. Inserire il testo criptato (o caricarlo da un file tramite l'apposita funzione nel menù contestuale)
  4. Premere il bottone DECRYPT

Impostazioni generali di formattazione del testo e di codifica

  • ENCODING: Codifica che viene utilizzata per la rappresentazione del testo criptato, sono supportate:

    • Base64
    • Base58
    • Esadecimale (Hex)
    • PGP Word list
    • Base36
    • Base32
    • Base32-C (Versione modificata di Base32 che utilizza il carattere '9' per il padding)
  • SPACING: Aggiunge uno spazio dopo "n" caratteri (Disabilitato con codifica PGP Word list)

  • TextArea Wrapping: Opzione di "a capo automatico" della textArea

  • GZIP Compression: abilità / disabilità la compressione dei dati (comprime e poi cripta)

Queste informazioni vengono memorizzate attraverso le "Java Preferences API"

ECDH Key Agreement

Questa funzionalità presente nelle impostazioni consente a due utenti di "mettersi d'accordo" mediante un mezzo non sicuro su una chiave che si desidera utilizzare.

  1. Aprire le impostazioni e selezionare l'apposita scheda (ECDH)
  2. Premere il bottone "1 - INIT" per generare la propria coppia di chiavi (pubblica e privata)
  3. Inviare al proprio interlocutore la propria chiave pubblica (MY PUBLIC KEY)
  4. Copiare e incollare nella casella di testo OTHER PUBLIC KEY la chiave pubblica che il tuo interlocutore ti ha inviato
  5. Premre il bottone "2 - CALC" per calcolare la chiave condivisa (KEY)
  6. Verificare ora con il proprio interlocutore che i valori KCV (Key Check Value) siano identici da entrambe le parti
  7. Premere il bottone "3 - ADD" e seguire la procedura guidata per aggiungere la chiave al proprio KeyStore

ATTENZIONE!

  • Ogni qualvolta si preme il bottone "1 - INIT" o si riavvia il programma tutte le informazioni relative alla funzione ECDH vengono resettate, occore quindi sincronizzarsi con il proprio interlocutore per assicurare il corretto scambio delle chiavi!
  • È buona norma verificare SEMPRE che i valori KCV siano equivalenti al fine di evitare chiavi corrotte (o semplicemente diverse).
  • Verificare sempre l'identità del proprio interlocutore al fine di evitare MiTM

Zeroize

In caso di emergenza è possibile premere il bottone rosso ZEROIZE che provvederà ad CORROMPERE PERMANENTEMENTE IL KEYSTORE (viene sovrascritto con bytes casuali generati sul momento)

Procedura di Zeroize:

  • Premere il bottone ZEROIZE.
  • Prendere nota del codice che viene generato.
  • Inserire il codice ed attendere il messaggio di conferma.

BEST PRACTICES

  • Generare la chiave di 256 bit in modo completamente casuale (possibilmente usando dispositivi RNG hardware e macchine "air-gapped").
  • Non archiviare mai la chiave in chiaro e/o su supporti di memoria non sicuri.
  • Comunica sempre al tuo interlocutore l'alias della chiave da utilizzare.
  • Comunica sempre al tuo interlocutore le tue intenzioni riguardo la codifica da utilizzare e l'eventuale uso della compressione
  • Evita di utilizzare la funzione per visulizzare la chiave se non sei in un luogo sicuro con dispositivi sicuri.
  • Riavviare il programma dopo aver inserito una nuova chiave.

Screenshot

Main ScreenImpostazioni_GeneraleKeyFillKeysSettings_ecdh

Disclaimer

Questo software è a puro scopo di divertimento, non deve essere preso in considerazione come punto di riferimento.

Non mi assumo nessuna responsabilità di eventuali danni provocati da questo codice o da suoi possibili usi impropri.

Credits

Data encryption icons created by kerismaker - Flaticon

Libreria utilizzata per la codifica PGP Word List

BouncyCastle

Sitografia

About

Applicativo che consente di criptare dei testi utilizzando l'algoritmo AES con chiavi a 256 bit e in modalità GCM (Galois/Counter Mode)

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

HackerInside Text Encryption Utility

Applicativo che consente di criptare e decriptare testi utilizzando l'algoritmo AES con chiavi a 256 bit e in modalità GCM (Galois/Counter Mode)

Informazioni Generali

Algoritmo Utilizzato: AES-256-GCM

Gestione degli IV: Ogni IV generato casualmente (utilizzando la classe SecureRandom) viene inserito aggiungendo 16 bytes all'inizio dei dati cifrati

Formato del KeyStore: BCFKS

Compressione: GZip

ECDH: ECC-384

Gestione delle chiavi e KeyStore

Il software per poter criptare e/o decriptare ha bisogno di accedere ad un KeyStore (BCFKS) da cui preleva la chiave scelta.

  • Appena avviato il software verifica la presenza di un KeyStore con nome "KeyStore.bcfks", se non trovato provvede a crearne uno chiedendo una password (password generale del KeyStore)
    • è possibile specificare un keystore diverso da "KeyStore.bcfks" avviando il programma nel modo seguente: java -jar HackerInsideTextEncryptionUtility.jar <keystore>
  • Per poter aggiungere una chiave ad un KeyStore è possibile utilizzare l'apposita scheda nelle impostazioni (FILL) oppure utilizzare uno dei tanti KeyStore explorer disponibili (consigliato https://keystore-explorer.org/)
  • Se non viene specificato un keystore differente il file "KeyStore.bcfks" deve rimanere dentro la stessa cartella dove risiede l'eseguibile

ENCRYPT

Per criptare un file procedere come segue:

  1. Avviare il programma e sbloccare il KeyStore utilizzando la propria password
  2. Selezionare dal menù a tendina la chiave che si desidera utilizzare
  3. Inserire il testo da criptare (o caricarlo da un file tramite l'apposita funzione nel menù contestuale)
  4. Premere il bottone ENCRYPT Il testo scritto sarà ora criptato, codificato e formattato sulla base delle opzioni da noi scelte.

DECRYPT

Per criptare un file procedere come segue:

  1. Avviare il programma e sbloccare il KeyStore utilizzando la propria password
  2. Selezionare dal menù a tendina la chiave che si desidera utilizzare
  3. Inserire il testo criptato (o caricarlo da un file tramite l'apposita funzione nel menù contestuale)
  4. Premere il bottone DECRYPT

Impostazioni generali di formattazione del testo e di codifica

  • ENCODING: Codifica che viene utilizzata per la rappresentazione del testo criptato, sono supportate:

    • Base64
    • Base58
    • Esadecimale (Hex)
    • PGP Word list
    • Base36
    • Base32
    • Base32-C (Versione modificata di Base32 che utilizza il carattere '9' per il padding)
  • SPACING: Aggiunge uno spazio dopo "n" caratteri (Disabilitato con codifica PGP Word list)

  • TextArea Wrapping: Opzione di "a capo automatico" della textArea

  • GZIP Compression: abilità / disabilità la compressione dei dati (comprime e poi cripta)

Queste informazioni vengono memorizzate attraverso le "Java Preferences API"

ECDH Key Agreement

Questa funzionalità presente nelle impostazioni consente a due utenti di "mettersi d'accordo" mediante un mezzo non sicuro su una chiave che si desidera utilizzare.

  1. Aprire le impostazioni e selezionare l'apposita scheda (ECDH)
  2. Premere il bottone "1 - INIT" per generare la propria coppia di chiavi (pubblica e privata)
  3. Inviare al proprio interlocutore la propria chiave pubblica (MY PUBLIC KEY)
  4. Copiare e incollare nella casella di testo OTHER PUBLIC KEY la chiave pubblica che il tuo interlocutore ti ha inviato
  5. Premre il bottone "2 - CALC" per calcolare la chiave condivisa (KEY)
  6. Verificare ora con il proprio interlocutore che i valori KCV (Key Check Value) siano identici da entrambe le parti
  7. Premere il bottone "3 - ADD" e seguire la procedura guidata per aggiungere la chiave al proprio KeyStore

ATTENZIONE!

  • Ogni qualvolta si preme il bottone "1 - INIT" o si riavvia il programma tutte le informazioni relative alla funzione ECDH vengono resettate, occore quindi sincronizzarsi con il proprio interlocutore per assicurare il corretto scambio delle chiavi!
  • È buona norma verificare SEMPRE che i valori KCV siano equivalenti al fine di evitare chiavi corrotte (o semplicemente diverse).
  • Verificare sempre l'identità del proprio interlocutore al fine di evitare MiTM

Zeroize

In caso di emergenza è possibile premere il bottone rosso ZEROIZE che provvederà ad CORROMPERE PERMANENTEMENTE IL KEYSTORE (viene sovrascritto con bytes casuali generati sul momento)

Procedura di Zeroize:

  • Premere il bottone ZEROIZE.
  • Prendere nota del codice che viene generato.
  • Inserire il codice ed attendere il messaggio di conferma.

BEST PRACTICES

  • Generare la chiave di 256 bit in modo completamente casuale (possibilmente usando dispositivi RNG hardware e macchine "air-gapped").
  • Non archiviare mai la chiave in chiaro e/o su supporti di memoria non sicuri.
  • Comunica sempre al tuo interlocutore l'alias della chiave da utilizzare.
  • Comunica sempre al tuo interlocutore le tue intenzioni riguardo la codifica da utilizzare e l'eventuale uso della compressione
  • Evita di utilizzare la funzione per visulizzare la chiave se non sei in un luogo sicuro con dispositivi sicuri.
  • Riavviare il programma dopo aver inserito una nuova chiave.

Screenshot

Main ScreenImpostazioni_GeneraleKeyFillKeysSettings_ecdh

Disclaimer

Questo software è a puro scopo di divertimento, non deve essere preso in considerazione come punto di riferimento.

Non mi assumo nessuna responsabilità di eventuali danni provocati da questo codice o da suoi possibili usi impropri.

Credits

Data encryption icons created by kerismaker - Flaticon

Libreria utilizzata per la codifica PGP Word List

BouncyCastle

Sitografia

About

Applicativo che consente di criptare dei testi utilizzando l'algoritmo AES con chiavi a 256 bit e in modalità GCM (Galois/Counter Mode)

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

HackerInside Text Encryption Utility

Applicativo che consente di criptare e decriptare testi utilizzando l'algoritmo AES con chiavi a 256 bit e in modalità GCM (Galois/Counter Mode)

Informazioni Generali

Algoritmo Utilizzato: AES-256-GCM

Gestione degli IV: Ogni IV generato casualmente (utilizzando la classe SecureRandom) viene inserito aggiungendo 16 bytes all'inizio dei dati cifrati

Formato del KeyStore: BCFKS

Compressione: GZip

ECDH: ECC-384

Gestione delle chiavi e KeyStore

Il software per poter criptare e/o decriptare ha bisogno di accedere ad un KeyStore (BCFKS) da cui preleva la chiave scelta.

  • Appena avviato il software verifica la presenza di un KeyStore con nome "KeyStore.bcfks", se non trovato provvede a crearne uno chiedendo una password (password generale del KeyStore)
    • è possibile specificare un keystore diverso da "KeyStore.bcfks" avviando il programma nel modo seguente: java -jar HackerInsideTextEncryptionUtility.jar <keystore>
  • Per poter aggiungere una chiave ad un KeyStore è possibile utilizzare l'apposita scheda nelle impostazioni (FILL) oppure utilizzare uno dei tanti KeyStore explorer disponibili (consigliato https://keystore-explorer.org/)
  • Se non viene specificato un keystore differente il file "KeyStore.bcfks" deve rimanere dentro la stessa cartella dove risiede l'eseguibile

ENCRYPT

Per criptare un file procedere come segue:

  1. Avviare il programma e sbloccare il KeyStore utilizzando la propria password
  2. Selezionare dal menù a tendina la chiave che si desidera utilizzare
  3. Inserire il testo da criptare (o caricarlo da un file tramite l'apposita funzione nel menù contestuale)
  4. Premere il bottone ENCRYPT Il testo scritto sarà ora criptato, codificato e formattato sulla base delle opzioni da noi scelte.

DECRYPT

Per criptare un file procedere come segue:

  1. Avviare il programma e sbloccare il KeyStore utilizzando la propria password
  2. Selezionare dal menù a tendina la chiave che si desidera utilizzare
  3. Inserire il testo criptato (o caricarlo da un file tramite l'apposita funzione nel menù contestuale)
  4. Premere il bottone DECRYPT

Impostazioni generali di formattazione del testo e di codifica

  • ENCODING: Codifica che viene utilizzata per la rappresentazione del testo criptato, sono supportate:

    • Base64
    • Base58
    • Esadecimale (Hex)
    • PGP Word list
    • Base36
    • Base32
    • Base32-C (Versione modificata di Base32 che utilizza il carattere '9' per il padding)
  • SPACING: Aggiunge uno spazio dopo "n" caratteri (Disabilitato con codifica PGP Word list)

  • TextArea Wrapping: Opzione di "a capo automatico" della textArea

  • GZIP Compression: abilità / disabilità la compressione dei dati (comprime e poi cripta)

Queste informazioni vengono memorizzate attraverso le "Java Preferences API"

ECDH Key Agreement

Questa funzionalità presente nelle impostazioni consente a due utenti di "mettersi d'accordo" mediante un mezzo non sicuro su una chiave che si desidera utilizzare.

  1. Aprire le impostazioni e selezionare l'apposita scheda (ECDH)
  2. Premere il bottone "1 - INIT" per generare la propria coppia di chiavi (pubblica e privata)
  3. Inviare al proprio interlocutore la propria chiave pubblica (MY PUBLIC KEY)
  4. Copiare e incollare nella casella di testo OTHER PUBLIC KEY la chiave pubblica che il tuo interlocutore ti ha inviato
  5. Premre il bottone "2 - CALC" per calcolare la chiave condivisa (KEY)
  6. Verificare ora con il proprio interlocutore che i valori KCV (Key Check Value) siano identici da entrambe le parti
  7. Premere il bottone "3 - ADD" e seguire la procedura guidata per aggiungere la chiave al proprio KeyStore

ATTENZIONE!

  • Ogni qualvolta si preme il bottone "1 - INIT" o si riavvia il programma tutte le informazioni relative alla funzione ECDH vengono resettate, occore quindi sincronizzarsi con il proprio interlocutore per assicurare il corretto scambio delle chiavi!
  • È buona norma verificare SEMPRE che i valori KCV siano equivalenti al fine di evitare chiavi corrotte (o semplicemente diverse).
  • Verificare sempre l'identità del proprio interlocutore al fine di evitare MiTM

Zeroize

In caso di emergenza è possibile premere il bottone rosso ZEROIZE che provvederà ad CORROMPERE PERMANENTEMENTE IL KEYSTORE (viene sovrascritto con bytes casuali generati sul momento)

Procedura di Zeroize:

  • Premere il bottone ZEROIZE.
  • Prendere nota del codice che viene generato.
  • Inserire il codice ed attendere il messaggio di conferma.

BEST PRACTICES

  • Generare la chiave di 256 bit in modo completamente casuale (possibilmente usando dispositivi RNG hardware e macchine "air-gapped").
  • Non archiviare mai la chiave in chiaro e/o su supporti di memoria non sicuri.
  • Comunica sempre al tuo interlocutore l'alias della chiave da utilizzare.
  • Comunica sempre al tuo interlocutore le tue intenzioni riguardo la codifica da utilizzare e l'eventuale uso della compressione
  • Evita di utilizzare la funzione per visulizzare la chiave se non sei in un luogo sicuro con dispositivi sicuri.
  • Riavviare il programma dopo aver inserito una nuova chiave.

Screenshot

Main ScreenImpostazioni_GeneraleKeyFillKeysSettings_ecdh

Disclaimer

Questo software è a puro scopo di divertimento, non deve essere preso in considerazione come punto di riferimento.

Non mi assumo nessuna responsabilità di eventuali danni provocati da questo codice o da suoi possibili usi impropri.

Credits

Data encryption icons created by kerismaker - Flaticon

Libreria utilizzata per la codifica PGP Word List

BouncyCastle

Sitografia

About

Applicativo che consente di criptare dei testi utilizzando l'algoritmo AES con chiavi a 256 bit e in modalità GCM (Galois/Counter Mode)

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

HackerInside Text Encryption Utility

Applicativo che consente di criptare e decriptare testi utilizzando l'algoritmo AES con chiavi a 256 bit e in modalità GCM (Galois/Counter Mode)

Informazioni Generali

Algoritmo Utilizzato: AES-256-GCM

Gestione degli IV: Ogni IV generato casualmente (utilizzando la classe SecureRandom) viene inserito aggiungendo 16 bytes all'inizio dei dati cifrati

Formato del KeyStore: BCFKS

Compressione: GZip

ECDH: ECC-384

Gestione delle chiavi e KeyStore

Il software per poter criptare e/o decriptare ha bisogno di accedere ad un KeyStore (BCFKS) da cui preleva la chiave scelta.

  • Appena avviato il software verifica la presenza di un KeyStore con nome "KeyStore.bcfks", se non trovato provvede a crearne uno chiedendo una password (password generale del KeyStore)
    • è possibile specificare un keystore diverso da "KeyStore.bcfks" avviando il programma nel modo seguente: java -jar HackerInsideTextEncryptionUtility.jar <keystore>
  • Per poter aggiungere una chiave ad un KeyStore è possibile utilizzare l'apposita scheda nelle impostazioni (FILL) oppure utilizzare uno dei tanti KeyStore explorer disponibili (consigliato https://keystore-explorer.org/)
  • Se non viene specificato un keystore differente il file "KeyStore.bcfks" deve rimanere dentro la stessa cartella dove risiede l'eseguibile

ENCRYPT

Per criptare un file procedere come segue:

  1. Avviare il programma e sbloccare il KeyStore utilizzando la propria password
  2. Selezionare dal menù a tendina la chiave che si desidera utilizzare
  3. Inserire il testo da criptare (o caricarlo da un file tramite l'apposita funzione nel menù contestuale)
  4. Premere il bottone ENCRYPT Il testo scritto sarà ora criptato, codificato e formattato sulla base delle opzioni da noi scelte.

DECRYPT

Per criptare un file procedere come segue:

  1. Avviare il programma e sbloccare il KeyStore utilizzando la propria password
  2. Selezionare dal menù a tendina la chiave che si desidera utilizzare
  3. Inserire il testo criptato (o caricarlo da un file tramite l'apposita funzione nel menù contestuale)
  4. Premere il bottone DECRYPT

Impostazioni generali di formattazione del testo e di codifica

  • ENCODING: Codifica che viene utilizzata per la rappresentazione del testo criptato, sono supportate:

    • Base64
    • Base58
    • Esadecimale (Hex)
    • PGP Word list
    • Base36
    • Base32
    • Base32-C (Versione modificata di Base32 che utilizza il carattere '9' per il padding)
  • SPACING: Aggiunge uno spazio dopo "n" caratteri (Disabilitato con codifica PGP Word list)

  • TextArea Wrapping: Opzione di "a capo automatico" della textArea

  • GZIP Compression: abilità / disabilità la compressione dei dati (comprime e poi cripta)

Queste informazioni vengono memorizzate attraverso le "Java Preferences API"

ECDH Key Agreement

Questa funzionalità presente nelle impostazioni consente a due utenti di "mettersi d'accordo" mediante un mezzo non sicuro su una chiave che si desidera utilizzare.

  1. Aprire le impostazioni e selezionare l'apposita scheda (ECDH)
  2. Premere il bottone "1 - INIT" per generare la propria coppia di chiavi (pubblica e privata)
  3. Inviare al proprio interlocutore la propria chiave pubblica (MY PUBLIC KEY)
  4. Copiare e incollare nella casella di testo OTHER PUBLIC KEY la chiave pubblica che il tuo interlocutore ti ha inviato
  5. Premre il bottone "2 - CALC" per calcolare la chiave condivisa (KEY)
  6. Verificare ora con il proprio interlocutore che i valori KCV (Key Check Value) siano identici da entrambe le parti
  7. Premere il bottone "3 - ADD" e seguire la procedura guidata per aggiungere la chiave al proprio KeyStore

ATTENZIONE!

  • Ogni qualvolta si preme il bottone "1 - INIT" o si riavvia il programma tutte le informazioni relative alla funzione ECDH vengono resettate, occore quindi sincronizzarsi con il proprio interlocutore per assicurare il corretto scambio delle chiavi!
  • È buona norma verificare SEMPRE che i valori KCV siano equivalenti al fine di evitare chiavi corrotte (o semplicemente diverse).
  • Verificare sempre l'identità del proprio interlocutore al fine di evitare MiTM

Zeroize

In caso di emergenza è possibile premere il bottone rosso ZEROIZE che provvederà ad CORROMPERE PERMANENTEMENTE IL KEYSTORE (viene sovrascritto con bytes casuali generati sul momento)

Procedura di Zeroize:

  • Premere il bottone ZEROIZE.
  • Prendere nota del codice che viene generato.
  • Inserire il codice ed attendere il messaggio di conferma.

BEST PRACTICES

  • Generare la chiave di 256 bit in modo completamente casuale (possibilmente usando dispositivi RNG hardware e macchine "air-gapped").
  • Non archiviare mai la chiave in chiaro e/o su supporti di memoria non sicuri.
  • Comunica sempre al tuo interlocutore l'alias della chiave da utilizzare.
  • Comunica sempre al tuo interlocutore le tue intenzioni riguardo la codifica da utilizzare e l'eventuale uso della compressione
  • Evita di utilizzare la funzione per visulizzare la chiave se non sei in un luogo sicuro con dispositivi sicuri.
  • Riavviare il programma dopo aver inserito una nuova chiave.

Screenshot

Main ScreenImpostazioni_GeneraleKeyFillKeysSettings_ecdh

Disclaimer

Questo software è a puro scopo di divertimento, non deve essere preso in considerazione come punto di riferimento.

Non mi assumo nessuna responsabilità di eventuali danni provocati da questo codice o da suoi possibili usi impropri.

Credits

Data encryption icons created by kerismaker - Flaticon

Libreria utilizzata per la codifica PGP Word List

BouncyCastle

Sitografia

About

Applicativo che consente di criptare dei testi utilizzando l'algoritmo AES con chiavi a 256 bit e in modalità GCM (Galois/Counter Mode)

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

HackerInside Text Encryption Utility

Applicativo che consente di criptare e decriptare testi utilizzando l'algoritmo AES con chiavi a 256 bit e in modalità GCM (Galois/Counter Mode)

Informazioni Generali

Algoritmo Utilizzato: AES-256-GCM

Gestione degli IV: Ogni IV generato casualmente (utilizzando la classe SecureRandom) viene inserito aggiungendo 16 bytes all'inizio dei dati cifrati

Formato del KeyStore: BCFKS

Compressione: GZip

ECDH: ECC-384

Gestione delle chiavi e KeyStore

Il software per poter criptare e/o decriptare ha bisogno di accedere ad un KeyStore (BCFKS) da cui preleva la chiave scelta.

  • Appena avviato il software verifica la presenza di un KeyStore con nome "KeyStore.bcfks", se non trovato provvede a crearne uno chiedendo una password (password generale del KeyStore)
    • è possibile specificare un keystore diverso da "KeyStore.bcfks" avviando il programma nel modo seguente: java -jar HackerInsideTextEncryptionUtility.jar <keystore>
  • Per poter aggiungere una chiave ad un KeyStore è possibile utilizzare l'apposita scheda nelle impostazioni (FILL) oppure utilizzare uno dei tanti KeyStore explorer disponibili (consigliato https://keystore-explorer.org/)
  • Se non viene specificato un keystore differente il file "KeyStore.bcfks" deve rimanere dentro la stessa cartella dove risiede l'eseguibile

ENCRYPT

Per criptare un file procedere come segue:

  1. Avviare il programma e sbloccare il KeyStore utilizzando la propria password
  2. Selezionare dal menù a tendina la chiave che si desidera utilizzare
  3. Inserire il testo da criptare (o caricarlo da un file tramite l'apposita funzione nel menù contestuale)
  4. Premere il bottone ENCRYPT Il testo scritto sarà ora criptato, codificato e formattato sulla base delle opzioni da noi scelte.

DECRYPT

Per criptare un file procedere come segue:

  1. Avviare il programma e sbloccare il KeyStore utilizzando la propria password
  2. Selezionare dal menù a tendina la chiave che si desidera utilizzare
  3. Inserire il testo criptato (o caricarlo da un file tramite l'apposita funzione nel menù contestuale)
  4. Premere il bottone DECRYPT

Impostazioni generali di formattazione del testo e di codifica

  • ENCODING: Codifica che viene utilizzata per la rappresentazione del testo criptato, sono supportate:

    • Base64
    • Base58
    • Esadecimale (Hex)
    • PGP Word list
    • Base36
    • Base32
    • Base32-C (Versione modificata di Base32 che utilizza il carattere '9' per il padding)
  • SPACING: Aggiunge uno spazio dopo "n" caratteri (Disabilitato con codifica PGP Word list)

  • TextArea Wrapping: Opzione di "a capo automatico" della textArea

  • GZIP Compression: abilità / disabilità la compressione dei dati (comprime e poi cripta)

Queste informazioni vengono memorizzate attraverso le "Java Preferences API"

ECDH Key Agreement

Questa funzionalità presente nelle impostazioni consente a due utenti di "mettersi d'accordo" mediante un mezzo non sicuro su una chiave che si desidera utilizzare.

  1. Aprire le impostazioni e selezionare l'apposita scheda (ECDH)
  2. Premere il bottone "1 - INIT" per generare la propria coppia di chiavi (pubblica e privata)
  3. Inviare al proprio interlocutore la propria chiave pubblica (MY PUBLIC KEY)
  4. Copiare e incollare nella casella di testo OTHER PUBLIC KEY la chiave pubblica che il tuo interlocutore ti ha inviato
  5. Premre il bottone "2 - CALC" per calcolare la chiave condivisa (KEY)
  6. Verificare ora con il proprio interlocutore che i valori KCV (Key Check Value) siano identici da entrambe le parti
  7. Premere il bottone "3 - ADD" e seguire la procedura guidata per aggiungere la chiave al proprio KeyStore

ATTENZIONE!

  • Ogni qualvolta si preme il bottone "1 - INIT" o si riavvia il programma tutte le informazioni relative alla funzione ECDH vengono resettate, occore quindi sincronizzarsi con il proprio interlocutore per assicurare il corretto scambio delle chiavi!
  • È buona norma verificare SEMPRE che i valori KCV siano equivalenti al fine di evitare chiavi corrotte (o semplicemente diverse).
  • Verificare sempre l'identità del proprio interlocutore al fine di evitare MiTM

Zeroize

In caso di emergenza è possibile premere il bottone rosso ZEROIZE che provvederà ad CORROMPERE PERMANENTEMENTE IL KEYSTORE (viene sovrascritto con bytes casuali generati sul momento)

Procedura di Zeroize:

  • Premere il bottone ZEROIZE.
  • Prendere nota del codice che viene generato.
  • Inserire il codice ed attendere il messaggio di conferma.

BEST PRACTICES

  • Generare la chiave di 256 bit in modo completamente casuale (possibilmente usando dispositivi RNG hardware e macchine "air-gapped").
  • Non archiviare mai la chiave in chiaro e/o su supporti di memoria non sicuri.
  • Comunica sempre al tuo interlocutore l'alias della chiave da utilizzare.
  • Comunica sempre al tuo interlocutore le tue intenzioni riguardo la codifica da utilizzare e l'eventuale uso della compressione
  • Evita di utilizzare la funzione per visulizzare la chiave se non sei in un luogo sicuro con dispositivi sicuri.
  • Riavviare il programma dopo aver inserito una nuova chiave.

Screenshot

Main ScreenImpostazioni_GeneraleKeyFillKeysSettings_ecdh

Disclaimer

Questo software è a puro scopo di divertimento, non deve essere preso in considerazione come punto di riferimento.

Non mi assumo nessuna responsabilità di eventuali danni provocati da questo codice o da suoi possibili usi impropri.

Credits

Data encryption icons created by kerismaker - Flaticon

Libreria utilizzata per la codifica PGP Word List

BouncyCastle

Sitografia

About

Applicativo che consente di criptare dei testi utilizzando l'algoritmo AES con chiavi a 256 bit e in modalità GCM (Galois/Counter Mode)

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages