Crittografia di qualcosa con più chiavi in modo tale che sono necessarie k di n chiavi; come si chiama?

13

Sto cercando di trovare informazioni su come crittografare qualcosa in modo tale che ci siano n chiavi, e k di esse sono necessarie per la decodifica. Tuttavia, ho cercato Google per mezz'ora, ma poiché non so come si chiama (e sono apparentemente brutto nella ricerca), non riesco a trovarlo.

EDIT : preferibilmente tale che le chiavi possano essere scelte, se questo esiste con un nome speciale.

    
posta user31890 12.10.2013 - 13:42
fonte

2 risposte

21

Per completare la risposta di @ Terry:

La condivisione segreta di Shamir funziona sui valori in un dato campo (il concetto matematico). In pratica, se accetti di non realizzare più di 255 condivisioni (cioè 1 < k & leq; n & leq; 255 ), allora è conveniente lavorare in GF (256) , il campo con 256 elementi. Ciò significherebbe che in realtà fai la condivisione su ogni byte indipendentemente dagli altri, e quindi che puoi "condividere" qualsiasi segreto che si adatti a una sequenza di byte (quindi, davvero, qualsiasi cosa che si adatta un computer). Ed è abbastanza efficiente.

Poiché ogni condivisione ha la stessa lunghezza dei dati segreti, potresti voler ottimizzare un po 'le cose con la crittografia. Ciò significa che se vuoi condividere un grande valore segreto S (ad esempio un video da 3 gigabyte), allora tu:

  • Crea una chiave casuale a 128 bit K .
  • Encrypt S con K e una buona cifra simmetrica; il valore crittografato è memorizzato in un'area comune dove ogni partecipante può recuperarlo.
  • Applica la condivisione segreta di Shamir su K .

In questo modo, ogni detentore di azioni deve solo ricordare qualcosa delle dimensioni di K (16 byte, si adatta facilmente in vari punti, ad esempio una smartcard o anche un cervello umano), mentre il segreto value S può essere arbitrariamente grande e efficientemente immagazzinato e distribuito (poiché è crittografato, può essere mostrato al pubblico in generale, ad esempio trasferito con una rete peer-to-peer).

Ora per scegliere i valori di condivisione, questo è un problema interessante. Se hai n condivisioni e una soglia di k , la normale descrizione dello schema di Shamir implica che ogni azione è essenzialmente casuale. La divisione segreta restituisce le condivisioni e gli azionisti possono solo riceverle.

I calcoli possono essere estesi banalmente in uno schema in cui al massimo le condivisioni k-1 sono scelte arbitrariamente. Quindi alcune condivisioni devono essere ancora casuali.

Le condivisioni scelte dall'utente hanno senso quando è necessario ricordare le condivisioni, ovvero password . Ma le password sono soggette alla forza bruta. Ad esempio, se un utente malintenzionato ottiene azioni k-1 e sa che una delle altre condivisioni è una password, può eseguire un attacco dizionario su quella condivisione extra, vale a dire provare potenziali password (per ogni password, ricalcolare il segreto condiviso con quella password come condivisione extra, e vedere se il risultato" ha senso "). Questo purtroppo indebolisce l'intero sistema.

In effetti, una grande proprietà dello schema di Shamir è che è incondizionatamente sicuro , il che significa che resiste agli aggressori con potere di calcolo arbitrario, inclusi i computer che non sono ancora stati inventati (purché la fonte di la casualità usata nella scissione è davvero casuale). Ciò semplifica l'analisi della sicurezza, in particolare per lo storage a lungo termine, in cui è necessario prevedere la quantità di potenziali attacchi da parte dei computer che avranno decadi da ora. Ma se inserisci le password nel mix, questa sicurezza incondizionata si vaporizza come rugiada sotto il sole del mattino.

    
risposta data 12.10.2013 - 16:12
fonte
11

Probabilmente stai pensando all'algoritmo Shamir's Secret Sharing .

Dall'articolo di Wikipedia,

Shamir's Secret Sharing is an algorithm in cryptography. It is a form of secret sharing, where a secret is divided into parts, giving each participant its own unique part, where some of the parts or all of them are needed in order to reconstruct the secret. Counting on all participants to combine together the secret might be impractical, and therefore sometimes the threshold scheme is used where any k of the parts are sufficient to reconstruct the original secret.

    
risposta data 12.10.2013 - 13:44
fonte

Leggi altre domande sui tag