Shamir Secret Sharing
Hatiin ang password o recovery phrase sa N share na bubuuin ng alinmang M, gamit ang Shamir's secret sharing sa GF(256), lokal sa iyong browser.
Buong nagaganap sa iyong browser ang paghahati at pagsasama. Hindi ipinapadala kahit saan ang secret at ang mga share; galing sa crypto.getRandomValues ang mga random na numero.
Hatiin ang secret
Pagsamahin ang mga share
Paano hatiin ang secret
- I-type o i-paste ang text na poprotektahan sa Secret (text): recovery phrase, master password, encryption key…
- Itakda ang Bilang ng mga share (N) at ang Mga share na kailangan para buuin (M). Halimbawa, ang N = 5 at M = 3 ay nangangahulugang bubuo ng secret ang alinmang 3 sa 5 share, at walang mabubunyag ang 2 share.
- I-click ang Hatiin ang secret. Lalabas ang bawat share sa sarili nitong linya na may button na Kopyahin; puwede mo ring Kopyahin ang lahat ng share o I-download ang mga share (.txt).
- I-click ang Subukan: pagsamahin ang unang M share para tiyaking gumagana ang mga share bago mo ipamahagi.
- Ibigay ang bawat share sa ibang tao o itago sa ibang lugar. Huwag silang itago nang magkakasama, o walang saysay ang paghahati.
Paano buuin muli ang secret
- I-paste ang hindi bababa sa M share sa Mga share, isa bawat linya, sa anumang pagkakasunod. Binabalewala ang mga blangkong linya.
- I-click ang Pagsamahin ang mga share. Lalabas ang text sa ilalim ng Nabawing secret, at sasabihin ng status kung aling mga numero ng share ang ginamit.
- Kung may typo ang isang share, galing sa ibang paghahati, o dalawang beses lumitaw na magkaiba ang laman, sasabihin ng tool kung alin at bakit, sa halip na magbigay ng basura.
Paano gumagana ang Shamir’s secret sharing
Inilathala ni Adi Shamir ang scheme noong 1979. Para ibahagi ang isang byte na s na may threshold na M, pumili ng random na polynomial na may degree na M − 1 na ang constant term ay s: f(x) = s + a₁x + … + a₍M−1₎x^(M−1). Ang share na numero x ay ang halagang f(x). Ang alinmang M na punto ay tumutukoy sa polynomial, kaya ang Lagrange interpolation sa x = 0 ay nagbabalik ng s; kapag mas kaunti sa M ang punto, pantay ang posibilidad ng bawat halaga ng s, kaya walang nabubunyag ang mga share tungkol sa secret.
Gumagana ang tool na ito sa finite field na GF(256) (ang ginagamit ng AES, na may reduction polynomial na x⁸ + x⁴ + x³ + x + 1), kaya bawat byte ng UTF-8 na secret ay may sariling polynomial at kasinghaba ng secret ang mga share. Galing sa crypto.getRandomValues, ang cryptographic random generator ng browser, ang mga random na coefficient. Lokal na tumatakbo ang lahat: hindi umaalis sa iyong device ang secret at ang mga share.
Format ng share
Ganito ang itsura ng share: 3-2-5f1c…: ang threshold na M, ang numero ng share na X (1 hanggang 255), pagkatapos ay hexadecimal na data. Ang data ay naglalaman ng mga halaga ng polynomial para sa secret na sinusundan ng 4-byte na CRC-32 ng secret, at nagtatapos sa 4-byte na CRC-32 checksum ng mismong share. Sinasalo ng checksum ang mga pagkakamali sa pagkopya; ipinapakita ng panloob na CRC kung nahalo ang mga share mula sa magkaibang secret. Ang mga share na gawa ng ibang Shamir tool ay gumagamit ng ibang format at hindi maaaring pagsamahin dito.
Mga madalas itanong
Paano pipiliin ang N at M?
Ang M ay kung ilang tao o lugar ang dapat magtulungan, ang N − M ay kung ilang share ang kaya mong mawala. Karaniwang pagpipilian ang 3 sa 5: dalawang share ang puwedeng mawala o masira, at walang pares ng may hawak na makakabuo ng secret nang mag-isa.
Ligtas bang mag-imbak ng isang share sa cloud?
Ang isang share, o alinmang grupong mas maliit sa M, ay walang binubunyag tungkol sa secret. Gayunman, magtago ng mas kaunti sa M na share sa anumang account o lugar, kung hindi ay hawak na ng lugar na iyon ang secret.
Ine-encrypt ba ng tool na ito ang secret?
Hindi sa karaniwang kahulugan: walang password. Galing sa threshold ang proteksyon. Puwede mong pagsamahin ang dalawa, halimbawa sa paghahati sa passphrase ng isang naka-encrypt na file.
Ano ang mangyayari kung higit sa M ang ibinigay kong share?
Bubuuin ng unang M share ang secret at ang mga sobra ay susuriin laban sa mga ito. Iuulat ang share na hindi tugma, na nakakatulong para matukoy ang sirang o banyagang share.
Puwede ko bang hatiin ang isang file?
Naghahati ang tool na ito ng text na hanggang 10,000 byte. Para sa file, i-encrypt ito gamit ang matibay at random na passphrase at ang passphrase ang hatiin.
Mga kaugnay na tool
- Password Generator Libreng password generator para sa malalakas na random na password na 4 hanggang 128 character, gamit ang secure na RNG sa browser. Walang sine-save.
- Passphrase Generator Gumawa ng malalakas at madaling tandaan na passphrase mula sa EFF word list o listahang Pranses, na may entropy sa bit. Ligtas na nabubuo sa iyong browser.
- Text Encryption Tool I-encrypt at i-decrypt ang text gamit ang passphrase sa iyong browser, gamit ang AES-256-GCM at PBKDF2 (600,000 iteration). Walang ina-upload.
- TOTP at HOTP Code Generator Gumawa ng TOTP at HOTP 2FA code mula sa Base32 secret o otpauth:// URI, gamit ang SHA-1, SHA-256 o SHA-512, may live na countdown at QR code para sa 2FA app.