Где я могу узнать о проверенных методах обмена криптографическими ключами? - PullRequest
10 голосов
/ 21 сентября 2008

Предположим, что группа хочет зашифровать некоторую информацию, а затем поделиться ключом шифрования среди членов группы таким образом, который требует консенсуса группы для расшифровки информации. Меня интересуют различные сценарии, в которых широта консенсуса варьируется от единодушия до абсолютного большинства. Полезный метод может применяться к симметричным ключам, закрытым ключам или к обоим.

Я мог бы попробовать свой собственный метод, как, я уверен, многие члены SO могли. Но для целей этого вопроса меня интересуют только методы, которые были широко опубликованы и выдержали проверку экспертами по криптоаналитикам. Цитаты из журналов хороши, но очень полезна и интерпретация академических источников.

Ответы [ 5 ]

10 голосов
/ 21 сентября 2008

Я всегда был очарован этой секретной техникой обмена. Я видел код, реализующий его в Интернете, но никогда не видел реальных приложений. Секретный обмен Шамира Статья в Википедии содержит ссылки на некоторый реальный код, а также на оригинальную академическую статью.

4 голосов
/ 21 сентября 2008

То, что вы описываете, звучит очень похоже на «секретное расщепление» (Раздел 12.1. Введение в цитографию. Трап и Вашингтон. 2-е изд.) Основная идея заключается в том, что вы можете придумать полином, включающий ваш «секрет» (ключ) как точка на линии. Вы можете выдавать «акции», выбирая другие точки в этом полиноме. Две точки определяют линию вида f (x) = ax + b, три точки определяют многочлен вида f (x) = ax ^ 2 + bx + c, а четыре точки определяют что-то вида f (x) = топор ^ 3 + bx ^ 2 + cx + d и т. д. Вы можете выбрать полином, включающий ваш секрет в качестве точки и степень для полинома, достаточную для того, чтобы любой N человек мог восстановить его.

Это основная идея, известная как «пороговая схема Шамира».

См. Википедию по Секретному разделению и Секретному обмену Шамира На странице википедии есть несколько ссылок на реализации этой идеи, в том числе код GPL для Windows и UNIX .

1 голос
/ 22 сентября 2008

Зайдите сюда для обсуждения математической основы секретного обмена Шамиром и краткого обсуждения типа практического применения, которое у него есть. Прокрутите страницу вниз до заметок о полиномах и секретном обмене. Это, вероятно, v. Основной обзор области, но должен быть довольно интересным для вас. Заметки по дискретной математике

1 голос
/ 22 сентября 2008

Это легко реализовать с помощью кодов, исправляющих ошибки . Вы можете использовать инструмент командной строки, например par2 (что, кстати, не совсем подходит для этой конкретной цели, так как он генерирует блоки восстановления различного размера). Допустим, у вас есть (n + m) избирателей, и вы хотите иметь кворум из n голосов. Вы генерируете n закрытых ключей K₁∘, K₂, ... Kn и генерируете m дополнительных блоков ECC Pₓ одинакового размера. Таким образом, достаточно n блоков, чтобы восстановить шифр K₁∘K₂∘ ... ∘Kn

0 голосов
/ 14 сентября 2009

Lotus Notes обеспечивает практическую реализацию «паролей Silo», при которой доступ к некоторому ресурсу (данным / информации / документу) блокируется для «shared-id» - ID (часть сертифицированной системы PKI, которую я считаю основанной на RSA ) настроен с 2 или более (я думаю, до 16) индивидуальных паролей пользователей. Сертификатор / администратор устанавливает схему, согласно которой любое количество паролей из имеющихся или все пароли необходимы для «открытия» идентификатора для активного использования. Этот процесс обычно используется для блокировки сертификатов Org или OU для 2 из 5 или 3 из 5, которые администраторы / корпоративные сотрудники предоставляют доступ, и таким образом гарантируют, что использование / доступ к сертификатам высокого уровня можно контролировать и избегать заочного административного персонала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...