шифрование файлов в N файлов, но для расшифровки требуется хотя бы и только M? - PullRequest
0 голосов
/ 28 мая 2011

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

Какие существуют методы для шифрования файла (или пароля и т. Д.) В N файлах, из которых любое M (меньше N) может быть использовано для восстановления всего исходного файла, но любое меньше, чем M, совершенно бесполезно ( скажем, на порядок, эквивалентный взлому 1024-битного AES).

например. Я зашифровал все пароли компании в N файлов, предоставив руководителю N компании каждый 1 файл. Любые руководители N-M могут погибнуть со мной в огненной авиакатастрофе, а оставшиеся M могут восстановить все пароли, необходимые для продолжения бизнеса. Но руководители М-1 не могут пойти на мошенничество и тайно продать все секретные данные компании конкурентам.

Ответы [ 3 ]

1 голос
/ 30 мая 2011

Класс алгоритма, который вам нужен, называется секретной схемой обмена , и наиболее распространенным примером является схема секретного обмена Шамира.

Обычно все, что нужно сделать, это сгенерировать случайный ключ для симметричного шифра, такого как AES; зашифруйте открытый текст этим случайным ключом; затем разделите случайный ключ на N акций, используя секретную схему обмена. Таким образом, зашифрованный текст не должен храниться в секрете; только ключевые акции.

1 голос
/ 28 мая 2011

Разделение зашифрованных данных - это не то, о чем я слышал раньше, но совместное использование ключевых данных с использованием схемы Secret Sharing может быть тем, что вам нужно.

0 голосов
/ 28 мая 2011

решение для этого просто:

все данные симметрично зашифрованы и хранятся в общем месте (с резервными копиями для аварий с пламенными самолетами в центрах обработки данных), а затем симметричный ключ шифруется и сохраняется несколько раз ... вы можете использовать некоторые групповые ключи diffie-hellman для шифрования ключа для X различных групп, где X - биномиальный коэффициент N над T, где N - количество (n) нужных акционеров, а T - (t) общее количество акционеров (или, если вы не хотите групповые ключи, закажите открытые ключи из каждой группы акционеров в восстановительном порядке, и пройти через цепочку шифров)

хранить зашифрованные ключи вместе с данными, уничтожить исходный симметричный ключ и раздать закрытые ключи всем акционерам

(конечно, было бы более безопасно, чтобы каждый акционер генерировал свою собственную пару ключей и в конечном итоге проходил протокол группового обмена для генерации ключа группы, но эти парни в костюмах обычно не понимают таких вещей, как эта ...; -)

...