Podział sekretu Shamira
Podziel hasło lub frazę odzyskiwania na N udziałów tak, by dowolne M z nich je odtworzyło – schemat Shamira w GF(256), lokalnie w twojej przeglądarce.
Dzielenie i łączenie działa w całości w twojej przeglądarce. Sekret i udziały nigdy nie są nigdzie wysyłane; liczby losowe pochodzą z crypto.getRandomValues.
Podziel sekret
Połącz udziały
Jak podzielić sekret
- Wpisz lub wklej tekst do ochrony w pole Sekret (tekst): frazę odzyskiwania portfela, hasło główne, klucz szyfrujący…
- Ustaw Liczba udziałów (N) i Udziały potrzebne do odtworzenia (M). Na przykład N = 5 i M = 3 oznacza, że dowolne 3 z 5 udziałów odtworzą sekret, a 2 udziały nie zdradzą o nim nic.
- Kliknij Podziel sekret. Każdy udział pojawia się w osobnej linii z przyciskiem Kopiuj; możesz też użyć Kopiuj wszystkie udziały albo Pobierz udziały (.txt).
- Kliknij Test: połącz pierwsze M udziałów, aby sprawdzić, czy udziały działają, zanim je komuś przekażesz.
- Każdy udział daj innej osobie albo przechowuj w innym miejscu. Nie trzymaj wszystkich razem – inaczej podział nie ma sensu.
Jak odtworzyć sekret
- Wklej co najmniej M udziałów w pole Udziały, po jednym w linii, w dowolnej kolejności. Puste linie są pomijane.
- Kliknij Połącz udziały. Tekst pojawi się w polu Odtworzony sekret, a komunikat stanu poda, których numerów udziałów użyto.
- Jeśli udział ma literówkę, pochodzi z innego podziału albo występuje dwa razy z różną treścią, narzędzie wskaże, który to udział i dlaczego, zamiast zwracać bezsensowne dane.
Jak działa schemat Shamira
Adi Shamir opublikował ten schemat w 1979 r. Aby podzielić jeden bajt s z progiem M, losuje się wielomian stopnia M − 1, którego wyraz wolny to s: f(x) = s + a₁x + … + a₍M−1₎x^(M−1). Udział numer x to wartość f(x). Dowolne M punktów wyznacza wielomian, więc interpolacja Lagrange’a w punkcie x = 0 zwraca s; przy mniej niż M punktach każda wartość s jest tak samo prawdopodobna, dlatego udziały nie ujawniają niczego o sekrecie.
Narzędzie działa w ciele skończonym GF(256) (tym samym, którego używa AES, z wielomianem redukcji x⁸ + x⁴ + x³ + x + 1), więc każdy bajt sekretu w UTF-8 dostaje własny wielomian, a udziały są dokładnie tak długie jak sekret. Losowe współczynniki pochodzą z crypto.getRandomValues, kryptograficznego generatora liczb losowych przeglądarki. Wszystko działa lokalnie: sekret i udziały nigdy nie opuszczają twojego urządzenia. Polskie znaki, takie jak „ą” czy „ż”, zajmują w UTF-8 po dwa bajty i są odtwarzane bez zmian.
Format udziału
Udział wygląda tak: 3-2-5f1c… – najpierw próg M, potem numer udziału X (od 1 do 255), a dalej dane szesnastkowe. Dane zawierają wartości wielomianu dla sekretu, po których następuje 4-bajtowe CRC-32 sekretu, a na końcu 4-bajtowa suma kontrolna CRC-32 samego udziału. Suma kontrolna wyłapuje błędy przy przepisywaniu, a wewnętrzne CRC pokazuje, że pomieszano udziały różnych sekretów. Udziały utworzone innymi narzędziami do schematu Shamira mają inne formaty i nie można ich tu połączyć.
Najczęściej zadawane pytania
Jak dobrać N i M?
M to liczba osób lub miejsc, które muszą współpracować, a N − M to liczba udziałów, które możesz stracić. Popularny wybór to 3 z 5: dwa udziały mogą zaginąć lub ulec zniszczeniu, a żadna para posiadaczy nie odtworzy sekretu samodzielnie.
Czy mogę bezpiecznie trzymać jeden udział w chmurze?
Pojedynczy udział, a także każda grupa mniejsza niż M, nie zdradza niczego o sekrecie. Mimo to w jednym koncie czy miejscu trzymaj mniej niż M udziałów – inaczej samo to miejsce zawiera sekret.
Czy to narzędzie szyfruje sekret?
Nie w zwykłym sensie: nie ma tu hasła. Ochronę zapewnia próg. Możesz połączyć oba podejścia, np. dzieląc hasło do zaszyfrowanego pliku.
Co się stanie, jeśli podam więcej niż M udziałów?
Pierwsze M udziałów odtwarza sekret, a dodatkowe są z nimi porównywane. Udział, który nie pasuje, zostaje zgłoszony, co pomaga wykryć uszkodzony lub obcy udział.
Czy mogę podzielić plik?
Narzędzie dzieli tekst o długości do 10 000 bajtów. Plik zaszyfruj mocnym, losowym hasłem i podziel to hasło.
Podobne narzędzia
- Generator haseł Darmowy generator haseł, który tworzy silne, losowe hasła od 4 do 128 znaków w twojej przeglądarce. Nic nie jest zapisywane ani wysyłane.
- Generator fraz hasłowych Twórz silne, łatwe do zapamiętania frazy hasłowe z listy słów EFF lub francuskiej, z entropią w bitach. Generowane bezpiecznie w twojej przeglądarce.
- Szyfrowanie tekstu hasłem Szyfruj i odszyfrowuj tekst hasłem w przeglądarce, z AES-256-GCM i PBKDF2 (600 000 iteracji). Nic nie jest przesyłane. Uczciwie opisane ograniczenia.
- Generator kodów TOTP (2FA) Generuj kody 2FA TOTP i HOTP z sekretu Base32 lub URI otpauth://, z SHA-1, SHA-256 lub SHA-512, odliczaniem na żywo i kodem QR dla aplikacji 2FA.