È possibile rendere pubblica una firma rdiff di un file senza divulgare informazioni non pubbliche?

1

Sto costruendo un sistema che implica il passaggio di quelli che sono essenzialmente TAR non compressi degli utenti di Linux, inclusi alcuni file privati aggiuntivi. Un file originale (X) viene inviato a un lavoratore e l'operatore produce un nuovo file (Y) che ha un'alta probabilità di essere simile a X . I lavoratori avranno uno spazio di archiviazione limitato, quindi richiedere al lavoratore di conservare una copia di X è qualcosa che desidero evitare. Posso comunque calcolare facilmente un digest di messaggi (ad es. SHA512 (X) ) di X quando il lavoratore lo riceve.

Per risparmiare larghezza di banda in upload, vorrei consentire a un lavoratore di richiedere una firma preconfigurata rdiff di X da un archivio centrale utilizzando SHA512 (X) come chiave, calcola un rdiff delta contro Y e carica il delta su un server dove un'operazione di rdiff patch è applicata a X per derivare Y . (Finora, molto simile a rsync tradizionale.)

Tuttavia, vorrei evitare di rintracciare quali lavoratori hanno i file originali e inoltre non si fida di tutti i lavoratori con tutti i file.

rdiff calcola le firme calcolando un hash rolling (adler32) e una coppia di hash "strong" (blake2 / md4) per ogni blocco del file originale. Trasmette i delta inviando i riferimenti ai blocchi originali che sono rimasti invariati insieme ai dati aggiuntivi.

Quindi posso supporre che:

  1. la firma rdiff può confermare il contenuto indovinato, ma non rende più facile indovinare il contenuto di un blocco in X contenente dati privati?
  2. l'operatore che fornisce un delta e SHA512 (Y) dimostra che il lavoratore aveva in origine X se rdiff patch x delta_y produce Y , a condizione che SHA512 (X)! = SHA512 (Y) ?
posta tjdett 25.08.2016 - 07:17
fonte

0 risposte

Leggi altre domande sui tag