Utilia

Shamiri saladuse jagamine

Jaga parool või taastefraas N osaks nii, et mis tahes M neist taastavad selle. Shamiri saladuse jagamine GF(256) kohal toimub otse sinu brauseris.

Jagamine ja kokkupanek toimuvad täielikult sinu brauseris. Saladust ja osi ei saadeta kuhugi; juhuslikud arvud pärinevad funktsioonist crypto.getRandomValues.

Jaga saladus

    Pane osad kokku

    Kuidas saladust jagada

    1. Kirjuta või kleebi kaitstav tekst lahtrisse Saladus (tekst): taastefraas, ülemparool, krüpteerimisvõti…
    2. Määra Osade arv (N) ja Taastamiseks vajalikke osi (M). Näiteks N = 5 ja M = 3 tähendab, et mis tahes 3 osa viiest taastavad saladuse ning 2 osa ei paljasta midagi.
    3. Klõpsa Jaga saladus. Iga osa ilmub eraldi reale koos nupuga Kopeeri; võid ka Kopeeri kõik osad või Laadi alla osad (.txt).
    4. Klõpsa Test: pane kokku esimesed M osa, et enne osade välja jagamist kontrollida, et need töötavad.
    5. Anna iga osa erinevale inimesele või hoia seda erinevas kohas. Ära hoia kõiki koos, muidu on jagamisel mõte kadunud.

    Kuidas saladust taastada

    1. Kleebi vähemalt M osa lahtrisse Osad, üks rea kohta, mis tahes järjekorras. Tühje ridu ignoreeritakse.
    2. Klõpsa Pane osad kokku. Tekst ilmub jaotisse Taastatud saladus ja olekurida ütleb, millised osade numbrid kasutati.
    3. Kui osas on kirjaviga, see pärineb teisest jagamisest või esineb kaks korda erineva sisuga, ütleb tööriist, milline ja miks, selle asemel et anda tagasi jama.

    Kuidas Shamiri saladuse jagamine töötab

    Adi Shamir avaldas skeemi 1979. aastal. Ühe baidi s jagamiseks lävega M valitakse juhuslik astme M − 1 polünoom, mille vabaliige on s: f(x) = s + a₁x + … + a₍M−1₎x^(M−1). Osa number x on väärtus f(x). Mis tahes M punkti määravad polünoomi üheselt, seega annab Lagrange’i interpolatsioon kohal x = 0 tagasi s; vähem kui M punkti korral on iga s väärtus võrdselt tõenäoline, seega osad ei lekita saladusest midagi.

    See tööriist töötab lõplikus korpuses GF(256) (sama, mida kasutab AES, taandpolünoomiga x⁸ + x⁴ + x³ + x + 1), nii et UTF-8 saladuse iga bait saab oma polünoomi ja osad on täpselt sama pikad kui saladus. Juhuslikud kordajad pärinevad funktsioonist crypto.getRandomValues, mis on brauseri krüptograafiline juhuslike arvude generaator. Kõik töötab kohapeal: saladus ja osad ei lahku sinu seadmest.

    Osa vorming

    Osa näeb välja nagu 3-2-5f1c…: lävi M, osa number X (1 kuni 255), seejärel kuueteistkümnendsüsteemis andmed. Andmed sisaldavad saladuse polünoomi väärtusi, millele järgneb saladuse 4-baidine CRC-32, ning lõpevad osa enda 4-baidise CRC-32 kontrollsummaga. Kontrollsumma püüab kinni kopeerimisvead; sisemine CRC näitab, kui segati kokku erinevate saladuste osad. Teiste Shamiri tööriistade loodud osad kasutavad teisi vorminguid ja neid ei saa siin kokku panna.

    Korduma kippuvad küsimused

    Kuidas valida N ja M?

    M on see, mitu inimest või kohta peavad koostööd tegema, N − M on see, mitu osa võid endale lubada kaotada. Levinud valik on 3 viiest: kaks osa võivad kaduda või hävida ja ükski kahe hoidja paar ei saa saladust ise taastada.

    Kas on turvaline hoida üht osa pilves?

    Üksik osa või mis tahes M-st väiksem rühm ei paljasta saladusest midagi. Siiski hoia ühel kontol või kohas vähem kui M osa, muidu hoiab see koht üksi saladust.

    Kas see tööriist krüpteerib saladuse?

    Mitte tavamõttes: parooli pole. Kaitse tuleneb läve põhimõttest. Võid mõlemat ühendada, näiteks jagades krüpteeritud faili paroolifraasi.

    Mis juhtub, kui annan rohkem kui M osa?

    Esimesed M osa taastavad saladuse ja ülejäänuid kontrollitakse nende vastu. Mittesobivast osast antakse teada, mis aitab märgata kahjustatud või võõrast osa.

    Kas saan faili jagada?

    See tööriist jagab teksti kuni 10 000 baiti. Faili puhul krüpteeri see tugeva juhusliku paroolifraasiga ja jaga hoopis paroolifraas.