Shamir Secret Sharing
Bagi kata sandi atau frasa pemulihan menjadi N bagian sehingga M bagian mana pun dapat menyusunnya ulang, dengan Shamir secret sharing di browser Anda.
Pembagian dan penggabungan berjalan sepenuhnya di browser Anda. Rahasia dan bagian-bagiannya tidak pernah dikirim ke mana pun; angka acak berasal dari crypto.getRandomValues.
Bagi rahasia
Gabungkan bagian
Cara membagi rahasia
- Ketik atau tempel teks yang ingin dilindungi ke Rahasia (teks): frasa pemulihan, kata sandi utama, kunci enkripsi…
- Atur Jumlah bagian (N) dan Bagian yang diperlukan untuk menyusun ulang (M). Misalnya, N = 5 dan M = 3 berarti 3 bagian mana pun dari 5 bagian dapat menyusun ulang rahasia, sedangkan 2 bagian tidak mengungkap apa pun.
- Klik Bagi rahasia. Setiap bagian muncul di barisnya sendiri dengan tombol Salin; Anda juga bisa memakai Salin semua bagian atau Unduh bagian (.txt).
- Klik Uji: gabungkan M bagian pertama untuk memastikan bagian-bagian itu berfungsi sebelum Anda membagikannya.
- Berikan setiap bagian kepada orang yang berbeda atau simpan di tempat yang berbeda. Jangan simpan semuanya bersama-sama, karena pembagiannya jadi tidak ada gunanya.
Cara menyusun ulang rahasia
- Tempel setidaknya M bagian ke Bagian, satu per baris, dalam urutan apa pun. Baris kosong diabaikan.
- Klik Gabungkan bagian. Teks muncul di bawah Rahasia yang dipulihkan, dan status menyebutkan nomor bagian mana saja yang dipakai.
- Jika sebuah bagian salah ketik, berasal dari pembagian lain, atau muncul dua kali dengan isi berbeda, alat ini menyebutkan bagian mana dan alasannya, alih-alih mengembalikan data acak.
Cara kerja Shamir secret sharing
Adi Shamir memublikasikan skema ini pada tahun 1979. Untuk membagi satu byte s dengan ambang batas M, pilih polinomial acak berderajat M − 1 yang suku konstantanya adalah s: f(x) = s + a₁x + … + a₍M−1₎x^(M−1). Bagian nomor x adalah nilai f(x). M titik mana pun menentukan polinomial tersebut, sehingga interpolasi Lagrange di x = 0 mengembalikan s; dengan kurang dari M titik, setiap nilai s sama-sama mungkin, sehingga bagian-bagian itu tidak membocorkan apa pun tentang rahasia.
Alat ini bekerja di medan hingga GF(256) (medan yang dipakai AES, dengan polinomial reduksi x⁸ + x⁴ + x³ + x + 1), sehingga setiap byte dari rahasia UTF-8 mendapat polinomialnya sendiri dan setiap bagian persis sepanjang rahasianya. Koefisien acak berasal dari crypto.getRandomValues, generator angka acak kriptografis milik browser. Semuanya berjalan secara lokal: rahasia dan bagian-bagiannya tidak pernah meninggalkan perangkat Anda.
Format bagian
Sebuah bagian terlihat seperti 3-2-5f1c…: ambang batas M, nomor bagian X (1 hingga 255), lalu data heksadesimal. Data tersebut berisi nilai polinomial untuk rahasia diikuti CRC-32 4 byte dari rahasia, dan diakhiri checksum CRC-32 4 byte dari bagian itu sendiri. Checksum menangkap kesalahan saat menyalin; CRC di dalamnya menunjukkan jika bagian dari rahasia yang berbeda tercampur. Bagian yang dibuat dengan alat Shamir lain memakai format lain dan tidak bisa digabungkan di sini.
Pertanyaan yang sering diajukan
Bagaimana cara memilih N dan M?
M adalah jumlah orang atau tempat yang harus bekerja sama, sedangkan N − M adalah jumlah bagian yang boleh hilang. 3 dari 5 adalah pilihan yang umum: dua bagian boleh hilang atau rusak, dan tidak ada pasangan pemegang yang bisa menyusun ulang rahasia sendirian.
Apakah aman menyimpan satu bagian di cloud?
Satu bagian, atau kelompok mana pun yang kurang dari M, tidak mengungkap apa pun tentang rahasia. Meski begitu, simpan kurang dari M bagian di satu akun atau tempat, karena jika tidak, tempat itu sendirian sudah memegang rahasianya.
Apakah alat ini mengenkripsi rahasia?
Tidak dalam arti biasa: tidak ada kata sandi. Perlindungannya berasal dari ambang batas. Anda bisa menggabungkan keduanya, misalnya dengan membagi passphrase dari sebuah file terenkripsi.
Apa yang terjadi jika saya memberikan lebih dari M bagian?
M bagian pertama menyusun ulang rahasia, dan bagian tambahan diperiksa terhadapnya. Bagian yang tidak cocok dilaporkan, sehingga membantu menemukan bagian yang rusak atau asing.
Bisakah saya membagi sebuah file?
Alat ini membagi teks hingga 10.000 byte. Untuk file, enkripsi file tersebut dengan passphrase acak yang kuat, lalu bagi passphrase-nya.
Alat terkait
- Pembuat Kata Sandi Pembuat kata sandi gratis untuk password acak yang kuat sepanjang 4 sampai 128 karakter, dibuat di browser dengan RNG aman. Tidak disimpan atau dikirim.
- Pembuat Frasa Sandi Buat frasa sandi yang kuat dan mudah diingat dari daftar kata EFF atau Prancis, dengan entropi dalam bit. Dibuat dengan aman di browser Anda.
- Enkripsi Teks Enkripsi dan dekripsi teks dengan frasa sandi di browser, memakai AES-256-GCM dan PBKDF2 600.000 iterasi. Tidak ada yang diunggah. Batasannya dijelaskan jujur.
- Generator Kode TOTP dan HOTP Buat kode 2FA TOTP dan HOTP dari secret Base32 atau URI otpauth://, dengan SHA-1, SHA-256, atau SHA-512, hitung mundur langsung, dan kode QR.