-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
31 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
name: test | ||
name: Test | ||
|
||
on: | ||
push: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,30 @@ | ||
# Distributed Key Generation | ||
[![test](https://github.com/maxirmx/dkg/actions/workflows/test.yml/badge.svg)](https://github.com/maxirmx/dkg/actions/workflows/test.yml) | ||
[![CodeQL](https://github.com/maxirmx/dkg/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/maxirmx/dkg/actions/workflows/github-code-scanning/codeql) | ||
|
||
# Dkg | ||
|
||
Реализация на c# алгоритма распределённой генерации ключей (Pedersen 91) с пороговой схемой K из N (схема Шамира) на стандартных эллиптических кривых (Sec256k1 c возможностью замены) | ||
|
||
## Теоретическая основа | ||
- Pedersen, T.P. (1991). A Threshold Cryptosystem without a Trusted Party. In: Davies, D.W. (eds) Advances in Cryptology — EUROCRYPT ’91. EUROCRYPT 1991. Lecture Notes in Computer Science, vol 547. Springer, Berlin, Heidelberg. | ||
|
||
https://doi.org/10.1007/3-540-46416-6_47 | ||
- Pedersen, T.P. (1992). Non-Interactive and Information-Theoretic Secure Verifiable Secret Sharing. In: Feigenbaum, J. (eds) Advances in Cryptology — CRYPTO ’91. CRYPTO 1991. Lecture Notes in Computer Science, vol 576. Springer, Berlin, Heidelberg. | ||
|
||
https://doi.org/10.1007/3-540-46766-1_9 | ||
- Wong, Theodore & Wing, Jeannette. (2001). Verifiable Secret Redistribution. | ||
|
||
Перечисленные статьи доступны в папке doc | ||
|
||
## Практическая основа | ||
Данная разработка - результат перевода на C# и последующего рефакторинга реализации вышеперечисленных алгоритмов в библиотеке [dedis](https://github.com/dedis/kyber) | ||
|
||
## Структура решения | ||
С# solution включает три проекта: | ||
- ```dkgLibrary``` -- .net class library с реализацией алгоритмов и некоторых дополнительных утилит | ||
- ```dkgLibraryTests``` -- тесты для dkgLibrary | ||
- ```dkgSample``` -- демонстрационное приложение | ||
|
||
## С чего начинать | ||
- ```dkgLibraryTests/AnEndToEndExample.cs``` -- этот тест демонстрирует основные возможности алгоритма распределённой генерации ключей и схемы Шамира в синхронном виде (алгоритм, предложенный Pederson'ом по свой природе являеся синхронным). | ||
- ```dkgSample/Program.cs``` -- асинхронная (многопоточная) реализация алгоритма распределённой генерации ключей и схемы Шамира в видк gRPC сервера. Задача синхронизации узлов в этом приложении не решалась, испльзуются временные задержки. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
Binary file added
BIN
+222 KB
doc/Verifiable_Secret_Redistribution_for_Threshold_Sharing_Schemas.pdf
Binary file not shown.