Progetto Pea-Peach

giorgio.tani@email.it giorgio.tani@email.it
Ven 22 Set 2006 11:44:17 CEST


Vi segnalo un mio progetto rilasciato sotto LGPL su SourceForge,
https://sourceforge.net/projects/pea-peach
Si tratta di un programma di archiviazione e compressione,
file/cartelle/dischi vengono archiviati e compressi nel suo formato
nativo .pea all'interno di stream che sono cifrati
ed autenticati; una sola modifica nello stream o nell'header del file
impedisce all'archivio di superare l'autenticazione (AES 128 o 256
usato in modo EAX,
http://csrc.nist.gov/CryptoToolkit/modes/proposedmodes/eax/eax-spec.pdf
).

La cifratura/autenticazione viene inizializzata con una key derivation
function robusta (PBKDF2) a partire da un seed random, una password o
passphrase dell'utente e opzionalmente un file chiave random.
L'header del file è in chiaro ed entra come elemento non segreto della
kdf rendendo crittograficamente sicura anche l'autenticazione
dell'header, bloccando a livello del controllo della chiave la
decifrazione di file corrotti o manipolati in questa sezione.

Il formato consente inoltre di calcolare l'integrity check di ciascun
oggetto archiviato (prima della compressione e cifratura; tale campo e
tutti i dati associati a ciascun oggetto in entrata, nome, dimensioni,
data, attributi... sono cifrati) e di spezzare l'archivio in più
volumi delle dimensioni desiderate e calcolarne l'hash (dopo la
compressione e cifratura), il tutto avviene in un solo passaggio e con
buone prestazioni.
Ciascun livello di controllo (cifratura dello stream, integrity check
degli oggetti, hash dei volumi) può essere omesso a seconda delle
esigenze dell'utente.

Su SourceForge sono disponibili i sorgenti (LGPL, sviluppati con
Lazarus/Freepascal), la documentazione (GFDL, ma le specifiche del
formato di archiviazione e compressione sono rilasciate sotto pubblico
dominio) e le build per Windows e Linux.
La versione per Linux richiede la libreria libgdk_pixbuf e occorre
tenere conto che la libreria crittografica che utilizzo
(http://home.netsurf.de/wolfgang.ehrhardt/index.html) contiene alcune
parti in ASM specifiche per x86.


Maggiori informazioni sulla lista annunci