Shamirs geheimes Freigabeschema ist eine einfache Möglichkeit, ein Geheimnis zu schützen, indem es in mehrere Teile aufgeteilt wird, die für die Rekonstruktion erforderlich sind.
Ihre Aufgabe ist es, Shamirs Rekonstruktion der geheimen Teilung über das durch die Primzahl definierte endliche Feld zu implementieren 1928049029
. Wenn Sie Zweifel haben, was dies bedeutet, fragen Sie einfach nach oder sehen Sie sich Finite Field & Finite Field Arithmetic in Wikipedia an (weitere Ressourcen unten).
Eingang
Die Eingabe erfolgt mit stdin. Zuerst kommt eine ganze Zahl k
, dann folgen k Zeilen. Jede dieser Zeilen enthält ein Paar Ganzzahlen x y
, die ein Geheimnis darstellen. Mit anderen Worten f(x) = y
im ursprünglichen Polynom, das zur Konstruktion der Geheimnisse verwendet wurde.
Die Anzahl der angegebenen Geheimnisse reicht immer aus, um das entsprechende Geheimnis zu konstruieren.
Ausgabe
Ausgabe, um das rekonstruierte Geheimnis herauszufinden.
Beispiele
Eingang:
5
1 564797566
2 804114535
4 1354242660
6 1818201132
7 503769263
Ausgabe:
1234
Eingang:
7
1 819016192
2 1888749673
3 1737609270
4 365594983
5 1628804870
6 1671140873
7 492602992
Ausgabe:
456457856
Ressourcen
Endliches Feld Quelle: Wikipedia
Endliche Feldarithmetik Quelle: Wikipedia
Lagrange-Polynom Quelle: Wikipedia