Guten Tag zusammen, ich plane eine kleine Schnitzeljadt, bei der die Spieler eine bestimmte Anzahl an USB-Sticks sammeln müssen um an die Daten zu kommen. Dabei soll es eine beliebige Anzahl USB-Sticks geben (zb 9), allerdings sollen zb 3 beliebige Stick ausreichen um an die Daten zu kommen (mittels Entschlüsselung). Ich denke da an sowas wie RAID, aber ich habe noch nicht rausbekommen, wie ich das beschriebene Problem lösen kann. Vielleicht kann mir ja der ein oder andere hier weiter helfen oder hat kreative Hinweise für mich, darüber würde ich mich sehr freuen. Gruß Roter Rabauke
:
Verschoben durch Moderator
Entschlüsselungscode in drei Teile aufteilen? Code: 123456789 1. Stick: 123 2. Stick: 456 3. Stick: 789 Edit: ah drei beliebige Sticks. Na jetzt verstehe ich...
:
Bearbeitet durch User
Das ließe sich mit Secret Sharing Schemes realisieren (https://de.m.wikipedia.org/wiki/Secret-Sharing) und (https://de.m.wikipedia.org/wiki/Shamir’s_Secret_Sharing). Man konstruiert eine zufällige quadratische Funktion f, wobei f(0) dein Geheimnis enthält... Auf den Sticks speicherst du 9 zufällige Punkte der polynomfunktion. Mit 3 beliebigen Punkten (von den Sticks) kannst du die Funktion rekonstruieren, und erhälst so das Geheimnis. Soweit zur Theorie, es gibt bestimmt schon fertige Programme dafür, aber auch selberschreiben sollte nicht so schwer sein...
:
Bearbeitet durch User
Jan B. schrieb: > es gibt bestimmt schon fertige Programme dafür, aber > auch selberschreiben sollte nicht so schwer sein... $ sudo apt install ssss $ ssss-split -n9 -t3 Generating shares using a (3,9) scheme with dynamic security level. Enter the secret, at most 128 ASCII characters: Wer das liest hat gewonnen Using a 208 bit security level. 1-bdb369a4f66f38f1ed2800b40b523b78dcd747cf05116ca7d938 2-b325a4b94f0991282c4e70cdd9b530f65654799115df0c49402a 3-13bed0c5bf50b319f72ac804adac9a8ae6aad81eef4007712719 4-fdde2978327e333eb167cd95098106cd76d1aadb569146aa8f35 5-5d455d04c227110f6a03755c7d98acb1c62f0b54ac0e4d92e814 6-53d390197b41b8d6ab650525af7fa73f4cac350abcc02d7c7122 7-f348e4658b189ae77001bdecdb660d43fc529485465f26441605 8-2f716d12f67ab187f4a1c1897e01ee23e1d4b3965b47ff96e454 9-8fea196e062393b62fc579400a18445f512a1219a1d8f4ae8329 $ ssss-combine -t3 Enter 3 shares separated by newlines: Share [1/3]: 3-13bed0c5bf50b319f72ac804adac9a8ae6aad81eef4007712719 Share [2/3]: 6-53d390197b41b8d6ab650525af7fa73f4cac350abcc02d7c7122 Share [3/3]: 2-b325a4b94f0991282c4e70cdd9b530f65654799115df0c49402a Resulting secret: wer das liest hat gewonnen kann man auch gut benutzen um seine Bitcoin-Schlüssel an den Notar und mehrere Erben auszugeben.
:
Bearbeitet durch User
Das Tool hat sogar eine Online Demo: http://point-at-infinity.org/ssss/demo.html Ist vielleicht für die ganz hilfreich die kein Linux haben xD
Jan B. schrieb: > für die ganz hilfreich die kein Linux haben xD Jeder kann Linux haben, das ist doch der springende Punkt dabei!
Danke Jan und Bernd, das war genau was ich gesucht habe. Bernd, was hat es mit den 7bit auf sich? (Ich denke spontan an 7bit + Parity)
Sieht aus wie Reed-Solomon-Coding, ist das nicht das selbe?
Beitrag #5452190 wurde von einem Moderator gelöscht.
Beitrag #5452819 wurde von einem Moderator gelöscht.
Beitrag #5453950 wurde von einem Moderator gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.