Shamir Secret Sharing (SSS)

Реалізація схеми розподілу секрету Аді Шаміра (1979) виключно в браузері — та сама конструкція, яку Hashicorp Vault використовує для свого майстер-ключа, а Trezor — для шардованого резервного копіювання криптосіду. Оберіть кількість частин (N, до 255) і кількість, необхідну для відновлення (K, поріг). Розподіліть частини між людьми, пристроями або сейфами. Типові практичні приклади: розподіл 24-слівного сіду гаманця між трьома довіреними особами так, щоб будь-які двоє могли відновити його; депонування кореневого пароля компанії 3-з-5 між керівниками; або забезпечення партнеру доступу до важливих акаунтів на непередбачуваний випадок.

Як користуватися

1
Оберіть N і K

Вкажіть N (кількість частин) і K (скільки потрібно для відновлення). Типові варіанти: 2-з-3 для особистого використання, 3-з-5 для невеликої команди, 5-з-7 для депонування цінних активів.

2
Введіть секрет

Майстер-пароль, сід-фраза, ключ шифрування — підійде будь-що обсягом до кількох сотень байтів.

3
Розподіліть частини

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

4
Відновіть за потреби

Коли потрібен секрет, зберіть K частин, вставте їх на вкладці «Об’єднати» — і секрет буде відновлено.

Розподіліть майстер-пароль або сід-фразу на N частин — будь-які K відновлюють секрет, менше — не розкривають нічого

Ви отримаєте N частин. Будь-які K з них відновлюють секрет. Менше ніж K не розкривають нічого — навіть часткової інформації.
Всі частини нижче належать одному набору. Новий розподіл створює НОВИЙ набір, і старі частини перестають працювати — відновити секрет можна лише з частин одного набору.

Що робить Shamir Secret Sharing

  • Інформаційно-теоретична безпека: маючи менше ніж K частин, зловмисник не дізнається НІЧОГО про секрет — навіть його довжини.
  • Кожна частина містить невеликий заголовок (версія, поріг, ідентифікатор набору) та 4-байтний тег цілісності, тому «Об’єднати» може підтвердити коректне відновлення і чітко позначити невідповідні або недостатні частини.
  • Використовує стандартну побайтову схему над GF(2^8) — ту саму алгебру, що й AES, перевірену протягом десятиліть.
  • Розподіляйте частини між людьми, пристроями, географічними локаціями. Для відновлення потрібні лише K з них.
  • Ця реалізація НЕ додає жодного шару захисту паролем поверх — самі частини і є захистом. Якщо частина витікає, ви втрачаєте одну з часток вашого запасу безпеки.
Скопійовано
Не знаєте, що спробувати?
700+ інструментів — відкрийте сюрприз
🎲 Здивуйте мене

Можливості

Інформаційно-теоретична безпека
На відміну від шифрування, Shamir забезпечує ідеальну таємність: K−1 частин не містять жодної інформації про секрет. Математика ґрунтується на інтерполяції многочленів над скінченним полем.
GF(2⁸) побайтово
Кожен байт розподіляється незалежно з тією самою алгеброю скінченного поля, що й у AES — перевіреною, швидкою та стандартною.
До 255 частин
Розподіл 2-з-3 для домашнього резервного копіювання, 3-з-5 для депонування ключів компанії або будь-яке (K, N) до N = 255.
Підтверджене відновлення
Вбудований тег цілісності дозволяє «Об’єднати» підтвердити точне відновлення секрету і видати чітку помилку для невідповідних, недостатніх або частин з різних наборів, замість повернення тихого сміття.
Криптографічно безпечна випадковість
Випадковість для генерації частин береться з безпечного джерела випадкових чисел вашого браузера — а не зі слабкого Math.random. Це критично: слабка випадковість дозволила б зловмиснику відновити секрет менш ніж з K частин.
Працює у браузері
Розподіл і об’єднання виконуються у вкладці вашого браузера через Web Crypto API. Інтерполяція многочленів над GF(2⁸) обчислюється на стороні клієнта на JavaScript — жодного ендпойнту /split або /combine для цього інструменту не існує, алгоритм вбудовано в ресурси сторінки.

Часті запитання

Чим це відрізняється від шифрування з передачею всім пароля?

Шифрування ділить секрет на шифротекст і ключ — у кого є обидва, той має повний доступ. Shamir ділить секрет безпосередньо на N частин; потрібні K з них, і K−1 частин математично не розкривають нічого (не лише обчислювально).

Яке гарне значення (K, N)?

2-з-3 — популярний стандарт для фізичних осіб (два місця зберігання, ви, партнер, юрист). 3-з-5 для невеликих команд. Вищий K знижує ризик компрометації; вищий N покращує живучість при втраті.

Чи можна довіряти реалізації?

Використовується стандартна побайтова схема Shamir над GF(2⁸) — та сама конструкція, що й у Hashicorp Vault, Trezor SLIP-0039 (шардовані резервні копії BIP-39) та більшості інших виробничих реалізацій SSS. Розподіл і об’єднання виконуються у браузері через Web Crypto API.

Що, якщо частина втрачена?

Поки залишається щонайменше K частин, секрет можна відновити. Розподіліть N > K для додаткової надлишковості — схема 3-з-5 переживе втрату 2 частин.

Що, якщо частина потрапить до зловмисника?

Якщо витекло менше K частин, ваш секрет у безпеці. Слід змінити секрет і перерозподілити нові частини; старі більше нічого не відновлять, бо вихідний секрет змінився.

Який формат частин використовується?

Основна математика — канонічна побайтова схема над GF(2⁸) зі стандартним редукуючим многочленом 0x11b. Кожна частина загорнута в невеликий самоописовий контейнер (версія, поріг, ідентифікатор набору та тег цілісності), щоб інструмент міг підтвердити відновлення і виявити невідповідні частини — використовуйте цей інструмент для відновлення, а не сиру бібліотеку GF(256).

💡 Хочете, щоб ми покращили цей інструмент спеціально для вас?

Звичайно! Просто надішліть нам коротке повідомлення з вашою ідеєю. Якщо хочете обговорити детальніше — залиште email, і ми зв’яжемося з вами. Можна залишитися анонімом.

Як ви оцінюєте цей інструмент?

Дякуємо за вашу оцінку!
Хочете розповісти більше? Залиште коментар!
Дякуємо! Ваш коментар з’явиться після модерації.
Опубліковано Автор: