Редактирование: Вы можете перейти непосредственно к улучшенная версия
Основная идея заключается в:
- Раскол закрытый ключ в двух файлах
- использование parchive для создания файла восстановления
- генерировать QR-коды для трех файлов
Теперь вам нужно всего лишь два из этих трех QR-кодов для восстановления секретного ключа.
Я попытался с помощью следующего подробного процедуры:
Private Key: 5JYTix96fp8JtwWF1Vq3gBaM5p31GyYK94K5ezLdUaF3VBZkJ7G
файл testprivkey1
Код:
5JYTix96fp8JtwWF1Vq3gBa
файл testprivkey2
Код:
M5p31GyYK94K5ezLdUaF3VBZkJ7G
генерировать PAR файл восстановления
Код:
parchive -n1 test.par testprivkey1 testprivkey2
Вы получаете индексный файл test.par и файл восстановления test.p01. Вам не нужно держать индексный файл, он используется только для проверки контрольной суммы
генерировать QR-коды
Код:
кот testprivkey1 | qrencode -o testprivkey1.png
кот testprivkey2 | qrencode -o testprivkey2.png
UUENCODE test.p01 test.p01 > test.p01.uue
кот test.p01.uue | qrencode -8 -o test.p01.uue.png
кот testprivkey2 | qrencode -o testprivkey2.png
UUENCODE test.p01 test.p01 > test.p01.uue
кот test.p01.uue | qrencode -8 -o test.p01.uue.png
распечатать его. убедитесь, что вы отмечаете, какой код обозначает, какой файл
Для декодирования только testprivkey1 и test.p01:
Код:
zbarimg --raw testprivkey1.png > testprivkey1
zbarimg --raw testp01.uue.png > back_test.p01.uue
кот back_test.p01.uue | uudecode
parchive г testprivkey1 test.p01
zbarimg --raw testp01.uue.png > back_test.p01.uue
кот back_test.p01.uue | uudecode
parchive г testprivkey1 test.p01
Теперь вам просто нужно сцепить две стороны. сделанный.
Единственный вопрос, который остается: Могу ли я быть уверен, что закрытый ключ не может быть извлечен только из самого файла восстановления? Не с самого parchive инструмента, но parchive не разработан, чтобы сделать это невозможным (совсем наоборот), я бы apprechiate образованные замечания по моему предложению
Один из подходов, чтобы убедиться, что файл восстановление не является достаточным для восстановления секретного ключа может быть, чтобы добавить случайные данные в testprivkey1 файлах&2.
Количество случайных данных будет ограниченно разумным размером кода QR. Файл восстановления должен затем иметь тот же размер, что и входные файлы