Risposta breve
Utilizzare lo XOR di più chiavi come chiave di crittografia effettiva. Dare ciascuna di quelle chiavi alle parti. Per decrittografarli ognuno deve rivelare la propria chiave, XOR tutti i valori insieme, decrittografare.
Risposta lunga
- X persone ha N caratteri di una password lunga X * N caratteri
Il problema con questo schema è che se le persone X-1 si uniscono, hanno solo bisogno di caratteri di forza bruta N (l'ultima porzione della condivisione). A seconda dei parametri, ciò potrebbe essere possibile.
Quello che vuoi veramente è un metodo in cui, se meno di X persone cercano di decifrare, non hanno ulteriori informazioni sulla chiave di crittografia segreta. Un modo semplice per ottenere ciò sarebbe dare a ciascuna delle parti X una stringa di caratteri X * N che è completamente casuale. Quindi imposta la chiave di crittografia segreta sullo XOR di queste stringhe. Se le parti X-1 tentano di decifrare, dovranno forzare una stringa casuale di carattere X * N che non sarebbe fattibile se si impostano i parametri correttamente (ad esempio X * N è lungo 128 bit e utilizza AES-128 per la crittografia).
- Ricodifica il messaggio con PGP o alcuni PKI / RSA ecc.
PKI non dovrebbe mai essere utilizzato per la crittografia di massa (crittografia di un messaggio lungo). In genere, PKI viene utilizzato (in questo scenario) per distribuire una chiave.
Ora, si supponga di modificare questo per utilizzare invece PKI per distribuire X chiavi segrete di lunghezza X * N (come sopra). Quindi invii C = E (K1, E (K2, E (... E (Kn, M)))). Funzionerebbe, ma l'overhead computazionale è piuttosto grande se n è grande. Per 2 o 3 parti questo probabilmente andrebbe bene.
Decrittografia della soglia
Quanto sopra è valido solo se richiedi che tutte le persone X siano presenti per decifrare. Che cosa succede se lo si desidera solo in modo che t di X siano richiesti. Questo è il momento in cui puoi usare Shamir Secret Sharing (vedi la risposta di logicalscope).
Nota che Shamir Secret Sharing funzionerà se t == X, ma non è semplice come il metodo che ho delineato.