Введение 4
1. Цель и постановка задачи 5
2. Введение в предметную область 6
3. Схема Шамира. 9
3.1. Описание схемы Шамира 9
3.2. Пример работы схемы 10
3.3. Достоинства и недостатки схемы Шамира 11
3.4. Сложность вскрытия схемы 12
4. Обзор имеющихся решений 13
5. Реализация системы 14
5.1. Класс Field 14
5.2. Компонента Dealer 15
5.3. Компонента SecretRecovery 15
5.4. Оптимизация 16
6. Характеристики работы библиотеки 17
7. Заключение 19
Список литературы 20
Понятие секретных данных, как данных, не подлежащих разглашению, или на распространение которых наложены ограничения, известно людям с давних времен и понятно каждому. Такие данные нуждаются в защите от несогласованного разглашения и передачи, а также непредвиденной потери, для этого нужно обеспечить надежность их хранения.
Одним из способов предотвратить потерю данных является создание копий секретной информации и хранении их в разных местах, но этот же способ имеет значительный недостаток, а именно, вероятность компрометации данных существенно увеличивается. Еще одним способом является разделение данных между участниками, которые заинтересованы в сохранении секрета.
Современные данные чаще всего хранятся на электронных устройствах, таким образом, задача построения и реализации в программном виде разделения данных между участниками и последующего восстановления секрета требует всестороннего изучения.
[1] Adi Shamir. How to share a secret. - 1979. - Communications of the ACM 22 (11): 612-613
[2] Blakley, G. R. Safeguarding cryptographic keys. — 1979. — Proceedings of the National Computer Conference 48: 313-317.
[3] Абрамов А.П. Системы разделения секрета общего доступа. — 2010. — 13 с.
[4] Блейхут Р. Теория и практика кодов, контролирующих ошибки/ZTheory and Practice of Error Control Codes. — М.: Мир, 1986. — 576
[5] Под общ. ред. Ященко В.В. Введение в криптографию. — 2-е изд., испр. — М.: МЦНМО: «ЧеРо», 1999. — 272 с.
[6] Kothari, S. C., Generalized linear threshold scheme. Advances in Cryptology - CRYPTO 84, LNCS 196, 231 - 241, 1985.
[7] McEliece, R. J., Sarwate, D. V., On sharing secrets and Reed Solomon codes. Comm. of ACM, 24, 583 - 584, 1981.
[8] B. Poettering - 2006 - http://point-at-infinity.org/ssss/
[9] Daniel Silverstone - 2006 - http://www.digital-scurf.org/software/libgfshare