Domanda

Supponiamo che un gruppo voglia crittografare alcune informazioni, quindi condividere la chiave di crittografia tra i membri del gruppo in un modo che richiede il consenso del gruppo per decrittografare le informazioni. Sono interessato a una varietà di scenari in cui l'ampiezza del consenso varia dall'unanimità alla maggioranza assoluta. Una tecnica utile può essere applicata a chiavi simmetriche, chiavi private o entrambe.

Potrei fare una crepa nel mio metodo, come sono sicuro che molti membri SO potrebbero fare. Ma ai fini di questa domanda, sono interessato solo a metodi che sono stati ampiamente pubblicati e hanno resistito al controllo di esperti crittografi. Le citazioni dei giornali sono buone, ma anche l'interpretazione delle fonti accademiche è molto utile.

È stato utile?

Soluzione

Sono sempre stato affascinato da questa tecnica di condivisione segreta. Ho visto il codice implementarlo su Internet, ma non ho mai visto applicazioni reali. Condivisione segreta di Shamir L'articolo di Wikipedia si collega a un codice reale, nonché all'articolo accademico originale .

Altri suggerimenti

Quello che descrivi suona molto come "quotazione segreta" " (Sezione 12.1. Introduzione alla crittografia. Trappe e Washington. 2a edizione) L'idea di base è che puoi inventare un polinomio che includa il tuo "segreto". (una chiave) come punto sulla linea. Puoi dare " azioni " raccogliendo altri punti su questo polinomio. Due punti definiscono una linea della forma f (x) = ax + b, tre punti definiscono un polinomio della forma f (x) = ax ^ 2 + bx + c, e quattro punti definiscono qualcosa della forma f (x) = ax ^ 3 + bx ^ 2 + cx + d e così via. Puoi scegliere un polinomio che includa il tuo segreto come punto e un grado per il polinomio sufficiente in modo che qualsiasi N popolo possa ricostruirlo.

Questa è l'idea di base che è conosciuta come lo schema di soglia "Shamir". "

Vedi wikipedia su Secret Splitting e Shamir's Secret Sharing La pagina di Wikipedia contiene alcuni collegamenti alle implementazioni di questa idea, incluso il codice GPL per Windows e < a href = "http://point-at-infinity.org/ssss/index.html" rel = "nofollow noreferrer"> UNIX .

È facile da implementare con codici per la correzione degli errori . È possibile utilizzare uno strumento da riga di comando come par2 (che non è esattamente appropriato per questo scopo specifico tra l'altro, poiché genera blocchi di ripristino di dimensioni variabili). Supponiamo che tu abbia (n + m) elettori e desideri un quorum di n voti. Generate n chiavi private K & # 8321; & # 8728 ;, K & # 8322 ;, ... Kn e generate m blocchi ECC aggiuntivi P & # 8339; delle stesse dimensioni. In questo modo qualsiasi n blocco è sufficiente per ricostituire la cifra K & # 8321; & # 8728; K & # 8322; & # 8728; ... & # 8728; Kn

Vai qui per una discussione sulle basi matematiche della condivisione segreta di Shamir e una breve discussione sul tipo di applicazioni pratiche che ha. Scorri la pagina verso il basso fino alle note della lezione su Polinomi e condivisione segreta. Probabilmente è una v. Panoramica di base dell'area, ma dovrebbe essere abbastanza interessante per te. Note matematiche discrete

Lotus Notes fornisce un'implementazione pratica di "Password silos" per cui l'accesso ad alcune risorse (dati / informazioni / documenti) è bloccato su un "ID-condiviso" - L'ID (parte di un sistema PKI certificato che penso basato su RSA ) è configurato con 2 o più (credo fino a 16) password utente individuali. Il certificatore / amministratore imposta uno schema in base al quale un numero qualsiasi di password tra quelle disponibili o tutte le password sono necessarie per "aprire" l'id per un uso attivo. Questo processo viene comunemente utilizzato per bloccare i certificati Org o OU a 2 di 5 o 3 su 5 amministratori / dirigenti aziendali concedere l'accesso e quindi garantire che l'utilizzo / l'accesso ai certificati di alto livello possa essere controllato e che il personale amministrativo assente sia evitato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top