Схема Шамира — разделение

секретов

iancoleman.io/shamir (демонстрация)

В 1979 году израильский математик Ади Шамир (один из создателей RSA) придумал, как разбить секрет на части так, чтобы по отдельности они были бесполезны. То есть вы шифруете ключ и, условно, делите его на 5 частей и говорите: «для восстановления нужны любые 3 части». Одну часть закапываете на даче, вторую прячете в книге, третью сохраняете на телефон, четвёртую отдаёте маме, а пятую кладёте в банковскую ячейку. Потеряли телефон и мама выкинула бумажку? Оставшихся трёх частей хватит.

Суть в том, что имея только 2 части из 5, злоумышленник не приблизится к разгадке ни на шаг. Это как пазл, в котором недостающие кусочки не дают даже намёка на картинку. Работает через математику многочленов, но заумные детали мы в этот раз опустим.

Схема Шамира используется, к примеру, в проекте Paperback, о котором мы уже рассказывали. Однако вариантов использования в реальной жизни намного больше, чем просто QR, распечатанный на бумаге, ведь шифруя вручную можно выбирать любое количество необходимых для расшифровки частей секрета и любое их общее количество.

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

Важный нюанс: в момент создания частей и при восстановлении секрет существует целиком, так что действия производить следует на доверенном устройстве. Также не храните все части в одном месте — это убивает весь смысл.

ИМХО: Очень люблю именно эту схему шифрования и разделения секретов. Удобно и крайне практично для критически важных данных, которые запомнить самостоятельно — не вариант.

Свежее