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

StackOverflow https://stackoverflow.com/questions/111763

Вопрос

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

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

Это было полезно?

Решение

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

Другие советы

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

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

Смотрите википедию на Секретное Расщепление и Шамир Делится Секретом На странице википедии есть несколько ссылок на реализации этой идеи, включая GPL'd код для Windows и UNIX.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top