Есть ли алгоритм для разделения информации на несколько частей, с возможностью восстановить исходную информацию обладая только двумя частями?

Хочу найти алгоритм который сможет сделать следующее:
Кодирует и разделяет исходную информацию на Х частей, с возможностью восстановления исходной информации при недостачи частей (в идеале - из 2х частей).
Но чтобы информацию невозможно было восстановить только из одной части.

Пример из жизни: закодировать и распределить пароль между 4 людьми. Чтобы восстановить пароль, минимум два человека должны собрать вместе свои части.
  • Вопрос задан
  • 570 просмотров
Решения вопроса 2
402d
@402d
начинал с бейсика на УКНЦ в 1988
Ответ написан
Комментировать
longclaps
@longclaps
Показываю на пальцах, для четверых:
пароль: 'ABCD'
на руки раздаёшь:
1: '*BCD'
2: 'A*CD'
3: 'AB*D'
4: 'ABC*'
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Система уравнений (A,B,C,D - уникальны):
A+B=C+D
A+C=B+D
A+D=B+C

A+B: X=F(A,f(A,B))
A+C: X=F(A,f(A,C))
A+D: X=F(A,f(A,D))
.....(и т.д. ещё для правой части: ещё 3 строки)

Теперь, нужно сделать функцию: X=F(M,f(M,L)), S=f(M,L)
Проще, общий вид: X=F(M,S)
Осталось придумать 2-е функции: F(M,S) и f(M,L)...
На "пальцах": пусть это будут сумма и перемножение: F(M,S)=M+S и f(M,L)=M*L
После подстановки у нас все F(M,S) должны быть равны одному и тому же значению: X

Его (X) мы можем использовать в качестве параметра функции кодирования исходных (разделяемых) данных.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы