Betruecht e Szenario wou Dir e Bankgewelt muss sĂ©cheren. Et gĂ«tt als absolut impregnable ugesinn ouni SchlĂ«ssel, deen Dir op den Ă©ischten Dag vun der Aarbecht kritt. Ăert Zil ass de SchlĂ«ssel sĂ©cher ze spĂ€icheren.
Loosst eis soen datt Dir dĂ©cidĂ©iert de SchlĂ«ssel zu all Moment ze halen, fir Zougang zu der SpĂ€ichere wĂ©i nĂ©ideg. Awer Dir wĂ€ert sĂ©ier feststellen datt sou eng LĂ©isung an der Praxis net gutt skalĂ©iert, well Ăr kierperlech PrĂ€senz all KĂ©ier wann Dir d'SpĂ€ichere opmaacht, erfuerderlech ass. Wat iwwer d'Vakanz, dĂ©i Dir versprach gouf? ZousĂ€tzlech ass d'Fro nach mĂ©i erschreckend: wat wann Dir Ăren eenzege SchlĂ«ssel verluer hutt?
Mat Ărer Vakanz am Kapp, decidĂ©iert Dir eng Kopie vum SchlĂ«ssel ze maachen an en aneren EmployĂ© uvertraut. WĂ©i och Ă«mmer, Dir verstitt datt dĂ«st och net ideal ass. Andeems Dir d'Zuel vun de SchlĂ«sselen duebel, Dir duebel och d'Chancen vun SchlĂ«ssel Vol.
An der Verzweiflung zerstĂ©iert Dir den Duplikat an entscheet den ursprĂ©nglechen SchlĂ«ssel an der Halschent ze splĂ©cken. Elo gĂ©ift Dir mengen datt zwee vertrauenswĂŒrdege Leit mat SchlĂ«sselfragmenter kierperlech prĂ€sent musse sinn fir de SchlĂ«ssel ze sammelen an de Vault opzemaachen. DĂ«st bedeit datt en DĂ©if muss zwee StĂ©cker klauen, wat duebel sou schwĂ©ier ass wĂ©i ee SchlĂ«ssel ze klauen. WĂ©i och Ă«mmer, Dir mierkt sĂ©ier datt dĂ«st Schema net vill besser ass wĂ©i just ee SchlĂ«ssel, well wann een en hallwe SchlĂ«ssel verlĂ©iert, kann de ganze SchlĂ«ssel net erĂ«mfonnt ginn.
De Problem kann mat enger Serie vun zousĂ€tzlech SchlĂ«sselen a Schleisen gelĂ©ist ginn, mĂ€ dĂ«s Approche wĂ€ert sĂ©ier verlaangen ĐŒĐœĐŸĐłĐŸ SchlĂ«sselen a Schleisen. Dir entscheet, datt den ideale Design wier de SchlĂ«ssel ze deelen, sou datt d'SĂ©cherheet net ganz op eng Persoun hĂ€nkt. Dir schlĂ©isst och datt et eng Schwelle fir d'Zuel vun de Fragmenter muss sinn, sou datt wann ee Fragment verluer geet (oder wann eng Persoun an d'Vakanz geet), bleift de ganze SchlĂ«ssel funktionell.
Wéi een e Geheimnis deelt
Dës Aart vu Schlësselmanagementschema gouf vum Adi Shamir am Joer 1979 geduecht wéi hien seng Aarbecht publizéiert huet . Den Artikel erklÀert kuerz de sougenannte
Schwellschema fir effizient e geheime WÀert opzedeelen (wéi e kryptografesche Schlëssel) an
Deeler. Dann, wéini a just wann op d'mannst
aus
Deeler sinn zesummegesat, Dir kënnt d'Geheimnis einfach restauréieren
.
Aus Sécherheetssiicht ass e wichtege Besoin vun dësem Schema datt den UgrÀifer absolut nÀischt wësse soll ausser hien huet op d'mannst
Deeler. Och d'PrÀsenz
Deeler sollen keng Informatioun ubidden. Mir nennen dës Immobilie semantesch Sécherheet.
Polynomial Interpolatioun
Shamir Schwell Schema
ronderëm d'Konzept gebaut polynomial Interpolatioun. Wann Dir net mat dësem Konzept vertraut ass, ass et eigentlech ganz einfach. TatsÀchlech, wann Dir jeemools Punkten op enger Grafik gezeechent hutt an se dann mat Linnen oder Kéiren verbonnen hutt, hutt Dir et scho benotzt!

Duerch zwee Punkte kënnt Dir eng onlimitéiert Zuel vu Polynome vum Grad zéien 2. Fir deen eenzegen aus hinnen ze wielen, brauch Dir en drëtte Punkt. Illustratioun:
Betruecht e Polynom mat Grad een,
. Wann Dir dës Funktioun op enger Grafik plot wëllt, wéivill Punkte braucht Dir? Gutt, mir wëssen datt dëst eng linear Funktioun ass déi eng Linn bildt an dofir brauch se op d'mannst zwee Punkten. Als nÀchst, betruecht eng polynomial Funktioun mat Grad zwee,
. Dëst ass eng quadratesch Funktioun, sou datt op d'mannst drÀi Punkten erfuerderlech sinn fir d'Grafik ze plotten. Wéi wier et mat engem Polynom mat drÀi Grad? Op d'mannst véier Punkten. An esou weider a sou weider.
Déi wierklech cool Saach iwwer dës Propriétéit ass, datt, gëtt de Grad vun der polynomial Funktioun an op d'mannst
Punkten, kënne mir zousÀtzlech Punkte fir dës polynomial Funktioun ofgeleet. Mir nennen d'Extrapolatioun vun dësen zousÀtzleche Punkten polynomial Interpolatioun.
Maacht e Geheimnis
Dir hutt vlÀicht scho gemierkt datt dëst ass wou dem Shamir sÀi clevere Schema an d'Spill kënnt. Loosst eis eist Geheimnis soen
Ass
. Mir kënnen dréinen
zu engem Punkt op der Grafik
a kommen mat enger polynomial Funktioun mat Grad
, déi dëse Punkt entsprécht. Loosst eis dat erënneren
wÀert eis Schwell vun erfuerderleche Fragmenter sinn, also wa mir d'Schwell op drÀi Fragmenter setzen, musse mir eng polynomial Funktioun mat Grad zwee wielen.
Eise Polynom wÀert d'Form hunn
wou
Đž
- zoufÀlleg ausgewielt positiv ganz Zuelen. Mir konstruéiere just e Polynom mat Grad
, wou de frÀi Koeffizient
- Dëst ass eist Geheimnis
, a fir jiddereng vun de folgende
Begrëffer gëtt et e zoufÀlleg ausgewielte positive Koeffizient. Wa mir zréck op d'Original Beispill an dovun ausgoen, datt
, da kréie mir d'Funktioun
.
Zu dësem ZÀitpunkt kënne mir Fragmenter generéieren andeems Dir verbënnt
eenzegaarteg Ganzen an
wou
(well et eis Geheimnis ass). An dësem Beispill wëlle mir véier Fragmenter mat enger Schwell vun drÀi verdeelen, sou datt mir zoufÀlleg Punkte generéieren
a schĂ©ckt ee Punkt un jiddereng vun de vĂ©ier vertrauenswĂŒrdege Leit, d'Depote vum SchlĂ«ssel. Mir loossen de Leit dat och wĂ«ssen
, well dëst als ëffentlech Informatioun ugesi gëtt an néideg ass fir d'Erhuelung
.
D'Geheimnis erholen
Mir hunn d'Konzept vun der polynomialer Interpolatioun scho diskutéiert a wéi et dem Shamir sÀi Schwellschema ënnerstrÀicht
. Wann all drÀi vun de véier Vertrauen wëllen restauréieren
, si brauche just ze interpoléieren
mat hiren eegene eenzegaartege Punkten. Fir dëst ze maachen, kënnen se hir Punkten bestëmmen
a berechent de Lagrange Interpolatiounspolynom mat der folgender Formel. Wann d'Programméierung fir Iech méi kloer ass wéi Mathematik, dann ass pi am Wesentlechen en Bedreiwer for, déi all Resultater multiplizéiert, a sigma ass for, wat alles opzielt.


um
mir kënnen et esou léisen an eis ursprénglech Polynom Funktioun zréckginn:

Well mir dat wëssen
, Erhuelung
einfach gemaach:

Benotzt onsécher ganz Zuelen Arithmetik
Och wa mir dem Shamir seng Basis Iddi erfollegrÀich applizéiert hunn
, mir bleiwen mat engem Problem dee mir bis elo ignorĂ©iert hunn. Eis polynomial Funktioun benotzt onsĂ©cher ganzer Arithmetik. NotĂ©iert datt fir all zousĂ€tzlech Punkt en UgrĂ€ifer op der Grafik vun eiser Funktioun kritt, et gi manner MĂ©iglechkeeten fir aner Punkten. Dir kĂ«nnt dat mat Ăren eegenen Ae gesinn wann Dir eng Ă«mmer mĂ©i Zuel vu Punkte fir eng polynomial Funktioun mat ganzer Arithmetik plott. DĂ«st ass kontraproduktiv fir eis deklarĂ©iert SĂ©cherheetsziel, well den UgrĂ€ifer absolut nĂ€ischt wĂ«sse soll bis se op d'mannst hunn
Fragmenter.
Fir ze weisen wéi schwaach den ganzen arithmetesche Circuit ass, betruecht e Szenario an deem en UgrÀifer zwee Punkte krut
a weess ëffentlech Informatiounen déi
. Vun dëser Informatioun kann hien ofleeden
, glÀich wéi zwee, a plugg déi bekannte WÀerter an d'Formel
Đž
.

Den UgrÀifer kann dann fannen
, zielen
:

Well mir definéiert hunn
als zoufÀlleg ausgewielt positiv ganz Zuelen, ginn et eng limitéiert Zuel vu méiglech
. Mat dëser Informatioun kann en UgrÀifer entscheeden
, well alles méi grouss wéi 5 wÀert maachen
negativ. Dëst stellt sech eraus well mir bestëmmt hunn 
Den UgrÀifer kann dann déi méiglech WÀerter berechnen
, ersetzen
ĐČ
:

Mat limitéiert Optiounen fir
et gëtt kloer wéi einfach et ass d'WÀerter ze wielen an ze kontrolléieren
. Et gi just fënnef Optiounen hei.
D'Léisung vum Problem mat onsécher ganzer Arithmetik
Fir dës Schwachstelle ze eliminéieren, proposéiert de Shamir modulÀr Arithmetik ze benotzen, ersat
op
wou
Đž
- de Satz vun alle Primzuelen.
Loosst eis séier drun erënneren wéi modulÀr Arithmetik funktionnéiert. Eng Auer mat HÀnn ass e vertraute Konzept. Si benotzt eng Auer dat ass
. Soubal d'Stonnhand zwielef passéiert, geet et zréck op eng. Eng interessant Propriétéit vun dësem System ass, datt einfach duerch d'Auer kucken, mir kënnen net ofleeën wéivill Revolutiounen der Stonn Hand gemaach huet. Wéi och ëmmer, wa mir wëssen datt d'Stonnhand 12 véiermol passéiert ass, kënne mir d'Zuel vun de Stonnen komplett bestëmmen déi mat enger einfacher Formel passéiert sinn
wou
ass eisen Divisor (hei
),
ass de Koeffizient (wéivill Mol den Divisor an déi ursprénglech Zuel geet ouni Rescht, hei
), an
ass de Rescht, deen normalerweis e Modulo Bedreiwer Uruff zréckkënnt (hei
). All dës WÀerter ze kennen erlaabt eis d'Equatioun ze léisen fir
, awer wa mir de Koeffizient verpassen, kënne mir ni den urspréngleche WÀert restauréieren.
Mir kënne weisen wéi dëst d'Sécherheet vun eisem Schema verbessert andeems Dir de Schema op eist viregt Beispill applizéiert a benotzt
. Eis nei polynomial Funktioun
, an déi nei Punkten
. Elo kënnen d'SchlësselbehÀlter nach eng Kéier polynomial Interpolatioun benotzen fir eis Funktioun ze rekonstruéieren, nëmmen dës Kéier mussen d'Additiouns- a Multiplikatiounsoperatioune mat Modulo Reduktioun begleet ginn
(z
).
Mat dësem neie Beispill, loosst eis unhuelen datt den UgrÀifer zwee vun dësen neie Punkte geléiert huet,
, an ëffentlech Informatioun
. Dës Kéier, den UgrÀifer, baséiert op all d'Informatiounen déi hien huet, Ausgaben déi folgend Funktiounen, wou
ass de Set vun alle positiven ganzen Zuelen, an
representéiert de Modulus Koeffizient
.

Elo fënnt eisen UgrÀifer erëm
, berechent
:

Da probéiert hien nach eng Kéier
, ersetzen
ĐČ
:

Dës Kéier huet hien e seriöse Problem. Formel vermësst WÀerter
,
Đž
. Well et eng onendlech Zuel vu Kombinatioune vun dëse Variablen gëtt, kann hien keng zousÀtzlech Informatioun kréien.
Sécherheet Considératiounen
Dem Shamir sÀi geheime Deeleschema proposéiert Sécherheet aus der Siicht vun der Informatiounstheorie. Dëst bedeit datt d'Mathematik resistent ass och géint en UgrÀifer mat onlimitéierter Rechenkraaft. Wéi och ëmmer, de Circuit enthÀlt nach ëmmer e puer bekannt Themen.
Zum Beispill, dem Shamir sÀi Schema erstellt net Fragmenter ze kontrolléieren, dat heescht, d'Leit kënne frÀi gefÀlschte Fragmenter presentéieren an d'Erhuelung vum richtege Geheimnis stéieren. E feindleche Fragmenterhalter mat genuch Informatioun kéint souguer en anert Fragment produzéieren andeems Dir Ànnert
op Ăren eegene Wonsch. DĂ«se Problem gĂ«tt mat HĂ«llef gelĂ©ist verifizĂ©ierbar geheime Deeleschemaen, wĂ©i dem Feldman sĂ€i Schema.
En anere Problem ass datt d'LÀngt vun all Fragment glÀich ass wéi d'LÀngt vum entspriechende Geheimnis, sou datt d'LÀngt vum Geheimnis einfach ass ze bestëmmen. Dëse Problem kann duerch trivial geléist ginn padding geheime mat arbitrÀr Zuelen bis zu enger fixer LÀngt.
Schlussendlech ass et wichteg ze bemierken datt eis SĂ©cherheetsbedĂ©ngungen iwwer den Design selwer kĂ«nne verlĂ€ngeren. Fir real-Welt kryptografesch Uwendungen gĂ«tt et dacks d'Drohung vu SĂ€itekanalattacken, wou en UgrĂ€ifer probĂ©iert nĂ«tzlech Informatioun aus der AusfĂ©ierungszĂ€it vun der Applikatioun, Cache, Crashen, etc. Wann dĂ«st eng Suerg ass, sollt suergfĂ€lteg berĂŒcksichtegt ginn wĂ€hrend der EntwĂ©cklung fir Schutzmoossnamen ze benotzen wĂ©i Funktiounen a konstante Lookups, ze verhĂ«nneren datt d'ErĂ«nnerung op Disk gespĂ€ichert gĂ«tt an eng Rei aner Iwwerleeungen dĂ©i iwwer den Ămfang vun dĂ«sem Artikel sinn.
Demo
op Et gëtt eng interaktiv Demonstratioun vum Shamir sengem geheimen Deeleschema. Demonstratioun baséiert op der Bibliothéik , wat selwer e JavaScript-Port vum populÀre Programm ass . Notéiert datt d'Berechnung vu grousse WÀerter
,
Đž
kann e bëssen ZÀit huelen.
Source: will.com
