Shamiro paslapties dalijimas
Padalyk slaptažodį ar atkūrimo frazę į N dalių, iš kurių bet kurios M ją atkuria, naudojant Shamiro paslapties dalijimą GF(256) laukui, vietoje savo naršyklėje.
Dalijimas ir sujungimas vyksta tik tavo naršyklėje. Paslaptis ir jos dalys niekur nesiunčiamos; atsitiktiniai skaičiai gaunami iš crypto.getRandomValues.
Padalyti paslaptį
Sujungti dalis
Kaip padalyti paslaptį
- Įrašyk arba įklijuok saugotiną tekstą į Paslaptis (tekstas): atkūrimo frazę, pagrindinį slaptažodį, šifravimo raktą…
- Nustatyk Dalių skaičius (N) ir Atkurti reikia dalių (M). Pavyzdžiui, N = 5 ir M = 3 reiškia, kad bet kurios 3 iš 5 dalių atkuria paslaptį, o 2 dalys neatskleidžia nieko.
- Spustelėk Padalyti paslaptį. Kiekviena dalis rodoma savo eilutėje su mygtuku Kopijuoti; taip pat gali Kopijuoti visas dalis arba Atsisiųsti dalis (.txt).
- Spustelėk Bandymas: sujungti pirmąsias M dalių, kad patikrintum, ar dalys veikia, prieš jas išdalydamas.
- Kiekvieną dalį atiduok skirtingam žmogui arba laikyk kitoje vietoje. Nelaikyk jų visų kartu, nes tada padalijimas beprasmis.
Kaip atkurti paslaptį
- Įklijuok bent M dalių į Dalys, po vieną eilutėje, bet kokia tvarka. Tuščios eilutės ignoruojamos.
- Spustelėk Sujungti dalis. Tekstas pasirodo po Atkurta paslaptis, o būsenos eilutėje nurodoma, kurių dalių numeriai panaudoti.
- Jei dalyje yra rašybos klaida, ji gauta iš kito padalijimo arba pasikartoja su skirtingu turiniu, įrankis pasako, kuri ir kodėl, užuot grąžinęs šiukšles.
Kaip veikia Shamiro paslapties dalijimas
Adi Shamir šią schemą paskelbė 1979 m. Norint pasidalyti vienu baitu s su slenksčiu M, parenkamas atsitiktinis M − 1 laipsnio polinomas, kurio laisvasis narys yra s: f(x) = s + a₁x + … + a₍M−1₎x^(M−1). Dalis su numeriu x yra reikšmė f(x). Bet kurie M taškų vienareikšmiškai nusako polinomą, todėl Lagranžo interpoliacija ties x = 0 grąžina s; turint mažiau nei M taškų, kiekviena s reikšmė vienodai tikėtina, taigi dalys apie paslaptį neatskleidžia nieko.
Šis įrankis dirba baigtiniame lauke GF(256) (tame, kurį naudoja AES, su redukcijos polinomu x⁸ + x⁴ + x³ + x + 1), todėl kiekvienas UTF-8 paslapties baitas gauna savo polinomą, o dalys yra lygiai tokio paties ilgio kaip paslaptis. Atsitiktiniai koeficientai gaunami iš crypto.getRandomValues, naršyklės kriptografinio atsitiktinių skaičių generatoriaus. Viskas vyksta vietoje: paslaptis ir dalys nepalieka tavo įrenginio.
Dalies formatas
Dalis atrodo taip: 3-2-5f1c…: slenkstis M, dalies numeris X (nuo 1 iki 255), tada šešioliktainiai duomenys. Duomenis sudaro paslapties polinomų reikšmės, po jų – 4 baitų paslapties CRC-32, o pabaigoje – 4 baitų pačios dalies CRC-32 kontrolinė suma. Kontrolinė suma pagauna kopijavimo klaidas; vidinis CRC parodo, kai buvo sumaišytos skirtingų paslapčių dalys. Kitų Shamiro įrankių sukurtos dalys naudoja kitus formatus ir čia sujungti negali.
Dažnai užduodami klausimai
Kaip pasirinkti N ir M?
M yra tiek, kiek žmonių ar vietų privalo bendradarbiauti, o N − M – kiek dalių gali sau leisti prarasti. 3 iš 5 yra dažnas pasirinkimas: dvi dalys gali būti prarastos ar sunaikintos, o jokia dviejų turėtojų pora paslapties savarankiškai atkurti negali.
Ar saugu vieną dalį laikyti debesyje?
Viena dalis ar bet kuri grupė, mažesnė nei M, apie paslaptį neatskleidžia nieko. Vis dėlto vienoje paskyroje ar vietoje laikyk mažiau nei M dalių, nes kitaip vien ta vieta turės paslaptį.
Ar šis įrankis užšifruoja paslaptį?
Ne įprasta prasme: slaptažodžio nėra. Apsauga kyla iš slenksčio. Abu būdus gali derinti, pavyzdžiui, padalydamas užšifruoto failo slaptafrazę.
Kas nutinka, jei pateikiu daugiau nei M dalių?
Pirmosios M dalių atkuria paslaptį, o papildomos patikrinamos pagal jas. Netinkama dalis pranešama, o tai padeda pastebėti pažeistą ar svetimą dalį.
Ar galiu padalyti failą?
Šis įrankis dalija tekstą iki 10 000 baitų. Failą užšifruok stipria atsitiktine slaptafraze ir padalyk slaptafrazę.
Susiję įrankiai
- Slaptažodžių generatorius Nemokamas slaptažodžių generatorius kuria stiprius atsitiktinius 4–128 simbolių slaptažodžius tavo naršyklėje su saugiu RNG. Niekas nesaugoma ir nesiunčiama.
- Slaptafrazių generatorius Sukurk stiprias, įsimenamas slaptafrazes iš EFF žodžių sąrašo ar prancūzų sąrašo su entropija bitais. Generuojama saugiai tavo naršyklėje.
- Teksto šifravimas Šifruok ir iššifruok tekstą slaptafraze savo naršyklėje, naudojant AES-256-GCM ir PBKDF2 su 600 000 iteracijų. Niekas neįkeliama. Sąžiningai paaiškintos ribos.
- TOTP ir HOTP kodų generatorius Generuok TOTP ir HOTP 2FA kodus iš Base32 slapto rakto ar otpauth:// URI su SHA-1, SHA-256 ar SHA-512, gyvu atgaliniu skaičiavimu ir QR kodu 2FA programėlėms.