Coinbase, la società dietro l'omonima piattaforma di scambio di valuta digitale, ha annunciato il rilascio open source della libreria crittografica Kryptology, che offre un set di algoritmi crittografici da utilizzare in sistemi distribuiti in cui la crittografia e l'autenticazione vengono eseguite con il coinvolgimento di più partecipanti. Il codice è scritto in Go e distribuito con licenza Apache 2.0.
Si segnala che il codice della libreria ha superato un audit di sicurezza e che l'API è stata sviluppata con un occhio di riguardo alla semplicità e alla protezione da errori casuali o utilizzi impropri che potrebbero compromettere la stabilità dei meccanismi implementati. Lo sviluppo ha anche tenuto conto dei problemi tipici riscontrati in Coinbase.
La biblioteca comprende:
- Un'implementazione dello schema di condivisione dei segreti di Shamir, che consente di suddividere un messaggio segreto tra N parti in modo che K parti (K ≤ N) possano ricostruire congiuntamente il messaggio completo, ma i dati provenienti da K-1 parti non siano sufficienti per ottenere informazioni sul messaggio originale. Le applicazioni pratiche del metodo includono sistemi di autenticazione multiutente, in cui è necessario che un certo numero di persone sia presente per ottenere l'accesso e ogni persona non può essere autorizzata individualmente, e sistemi di autenticazione biometrica.

- Le implementazioni di soglia dell'algoritmo di firma digitale a curva ellittica (ECDSA) — GG20 e DKLs18 — propongono schemi di condivisione delle chiavi private per la formazione congiunta di firme digitali che richiedono la partecipazione di un certo numero minimo di titolari della chiave condivisa nel processo di creazione della firma.

- Gli strumenti di generazione di chiavi distribuite BLS DKG ed ed25119 DKG consentono di suddividere i calcoli necessari per generare chiavi pubbliche e private tra più parti, in modo che le chiavi possano essere generate solo lavorando insieme, nessuna parte ha accesso alle chiavi private e un compromesso da parte di una parte non minaccia l'intero sistema.
- Implementazione degli algoritmi di crittografia verificabili Camshoup ed ElGamal, che risolvono il problema di confermare che il testo cifrato trasmesso sia stato crittografato con una determinata chiave pubblica, senza fornire la chiave di decrittazione.
Fonte: opennet.ru


