PDA

Просмотр полной версии : Coinbase опубликовал библиотеку распределённых криптоалгоритмов Kryptology


Suicide
15.12.2021, 02:16
Компания Coinbase, поддерживающая одноимённую платформу обмена цифровых валют, объявила (https://blog.coinbase.com/meet-kryptology-coinbases-open-source-cryptography-library-b5f22854f3f7) об открытии исходных текстов криптографической библиотеки Kryptology (https://github.com/coinbase/kryptology), предлагающей набор криптографических алгоритмов для применения в распределённых системах, в которых шифрование и подтверждение подлинности осуществляется с привлечением нескольких участников. Код написан на языке Go и распространяется (https://github.com/coinbase/kryptology) под лицензией Apache 2.0.

Отмечается, что код библиотеки прошёл аудит безопасности, а API разработан с оглядкой на простоту и защиту от случайных ошибок или некорректного использования, способных привести к снижению стойкости реализованных механизмов. При разработке также учтены типовые проблемы, с которыми приходилось сталкиваться в Coinbase.

Библиотеке включает в себя:


Реализацию схемы разделения секрета Шамира (https://ru.wikipedia.org/wiki/%D0%A1%D1%85%D0%B5%D0%BC%D0%B0_%D1%80%D0%B0%D0%B7% D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%81%D 0%B5%D0%BA%D1%80%D0%B5%D1%82%D0%B0_%D0%A8%D0%B0%D0 %BC%D0%B8%D1%80%D0%B0), позволяющую разделить секретное сообщение между N-сторонами, так что любые K сторон (K ≤ N) могут совместно восстановить полное сообщение, но данных от K-1 сторон недостаточно для получения каких-либо сведений о исходном сообщении. В качестве практического применения метода упоминаются системы многопользовательской авторизации, в которых для получения доступа необходимо присутствие определённого числа людей, а каждый по отдельности не может пройти авторизацию, а также биометрические системы аутентификации.

https://www.opennet.ru/opennews/pics_base/0_1639477860.png (https://blog.coinbase.com/frost-flexible-round-optimized-schnorr-threshold-signatures-b2e950164ee1)

Пороговые (https://en.wikipedia.org/wiki/Threshold_cryptosystem) реализации алгоритма создания цифровой подписи ECDSA (Elliptic Curve Digital Signature Algorithm) - GG20 (https://github.com/coinbase/kryptology/blob/master/pkg/tecdsa/gg20) и DKLs18 (https://github.com/coinbase/kryptology/blob/master/pkg/tecdsa/dkls), предлагающие схемы разделения закрытого ключа для совместного формирования цифровых подписей, требующие участия в процессе создания подписи определённого минимального числа обладателей совместного ключа.https://www.opennet.ru/opennews/pics_base/0_1639477831.png (https://blog.coinbase.com/production-threshold-signing-service-b16017c09661)

Средства для распределённой (https://en.wikipedia.org/wiki/Distributed_key_generation) генерации ключей BLS DKG (https://github.com/coinbase/kryptology/tree/master/test/dkg/bls) и ed25119 DKG (https://github.com/coinbase/kryptology/tree/master/test/dkg/ed25519), позволяющие разделить вычисления, проводимые для формирования открытого и закрытого ключей, между несколькими сторонами, так, что ключи могут быть сгенерированы только при совместной работе, никакая из стороне не имеет доступа к закрытым ключам и компрометация одной из сторон не угрожает всей системе.

Реализация алгоритмов верифицируемой криптографии Camshoup (https://github.com/coinbase/kryptology/tree/master/pkg/verenc/camshoup) и ElGamal (https://ru.wikipedia.org/wiki/%D0%A1%D1%85%D0%B5%D0%BC%D0%B0_%D0%AD%D0%BB%D1%8C-%D0%93%D0%B0%D0%BC%D0%B0%D0%BB%D1%8F), решающих задачу подтверждения того, что переданный шифротекст был зашифрован заданным открытым ключом, без предоставления ключа для расшифровки.
14.12.2021

https://www.opennet.ru/opennews/art.shtml?num=56341​