Skip to content

Qhawaq/BlackBox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

BlackBox

One GDPR compliant fast stream encrpyter/decrypter.

(C) 2022 by Mariano Mancini

A robust, fast, GDPR compliant, no-fix-key (autokey) encrypter with remote controllable decryption.

  • GDPR data at rest - yes, compliant
  • GDPR data in transit - yes, compliant
  • GDPR data protection over 'data drop' to legal user remote machine - yes, compliant

Formato codifica file


Z-block| Payload - blocco dati | Z-block


Z-Block:

Lo Z-Block è un piccolo blocco dati di 512 bytes che contiene una chiave locale crittografata utilizzata per codificare il payload del file.

Tale chiave di solito utilizza il nome originale del file "paddato" a 16 o troncato a 32 bytes in modo da avere sempre chavi statisticamente diverse per ogni file.
La chiave utilizzata per codificare lo Z-Block dovrebbe essere NON disponibile al sistema in cui gira lo script e dovrebbe richiesta al sistema remoto ogni volta che si deve codificare/decodificare lo Z-BLock.

Per maggiore sicurezza lo Z-Block è posto come blocco dati inizaile nel file crittografato finale, e una copia identica viene posta alla fine del file stesso in modo da poter recuperare
le informazioni necessarie alla decodifica in caso di errata cancella zione del primo blocco.

Lo Z-Block è composto in questo modo:

Bytes Area Descrizione
26 Z-Block Marcatura : "(C) 2022, Mariano Mancini "
02 Z-Block Lunghezza messaggio crittografato ( little endian )
08 Payload Nonce crittografico CHACHA20
nn Payload Chiave locale crittografata CHACHA20 ( utilizzando chiave remota )
16 Z-Block Salt PBKDF2 ( chiave remota )
03 Z-Block Marcatura : "ORG"
02 Z-Block Lunghezza nome del file originale (little endian)
nn Z-Block Nome originale del file
nn -> 512 Z-Block Riempimento fino a 512 bytes

Payload/Blocco Dati:

Il blocco dati o Payload è un blocco crittografato utilizzando la chiave locale prelevata dallo Z-Block il blocco è costituito in questo modo:

Bytes Descrizione
08 Nonce crittografico ChaCha20
nn Dati crittografati

About

CryptoEncoder

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages