Chcę stworzyć cyfrową kapsułę czasu, która pozostanie nieczytelna przez pewien czas, a następnie stanie się czytelna. Nie chcę polegać na usługach zewnętrznych, aby na przykład zachować klucz w tajemnicy, a następnie ujawnić go w wymaganym czasie. czy to możliwe? Jeśli nie, to czy istnieje jakiś dowód, że tak nie jest?
Jedna strategia opierałaby się na prognozach przyszłych możliwości obliczeniowych, ale jest to niewiarygodne i zakłada założenia, ile zasobów zostanie zastosowanych do zadania.
cryptography
encryption
digital-preservation
Micah Beck
źródło
źródło
Odpowiedzi:
Problem ten znany jest jako kryptografia o czasowym wydaniu . Niektóre referencje / wprowadzenie zobacz:
Naszą motywacją jest pojęcie „szyfrowania w określonym czasie”, w którym celem jest zaszyfrowanie wiadomości, aby nikt, nawet nadawca, nie mógł jej odszyfrować, dopóki nie upłynie określony czas. Celem jest „przesłanie informacji w przyszłość” ...
źródło
Wpadłem na częściową odpowiedź, ale nie ściśle mówiąc, jak stwierdzono. Podejrzewam, że może być tak blisko, jak to możliwe, ale nie jestem pewien.
Najpierw kodujemy kapsułkę kluczem wymaganym do odszyfrowania.
Nie wiem, jak ominąć posiadanie jakiegoś uprawnienia do trzymania klucza, ale można rozpowszechniać tę funkcję. Jeśli podzielimy klucz na n kawałków, możemy poprosić n władz o zatrzymanie kawałków. Następnie w odpowiednim czasie mogą opublikować swoje utwory, aby umożliwić rekonstrukcję klucza.
To rozwiązanie jest podatne na niedostępność któregokolwiek z n organów, ale stosując kodowanie m-out-n, możemy rozpowszechniać fragmenty do n uprawnień, ale tylko m musi opublikować swoje fragmenty.
Nawet w tym przypadku pewna liczba organów z dokładnym zegarem musi zapewnić prawidłową usługę zarządzania kluczami. Czy można osłabić to założenie poza sugerowanym powyżej m-out-n-n?
źródło
Myślę, że jest to realne podejście:
Wygeneruj zestaw kluczy, używając preferowanego schematu szyfrowania, używając losowo generowanego hasła. Sztuką jest hasło. Klucz jest znany, ale utworzymy kapsułę czasu za pomocą hasła.
Wybierz hasło takie, że jeśli utworzymy z niego solony skrót, obliczenie hasła przy użyciu znanej soli i skrótu zajmie około "n" lat przy użyciu dzisiejszej mocy obliczeniowej. Jeśli chcemy stworzyć kapsułę na 20 lat, oszacuj naszą moc obliczeniową za 20 lat i utwórz skrót, który będzie obliczany za miesiąc przez użytkownika lub superkomputer za 20 lat, w zależności od celu dla kapsułki. Wyobraź sobie, że przez 20 lat kapsuła czasowa będzie odszyfrowywana przez megakorp za 15 lat lub użytkownika za 20.
Szyfruj dane przy użyciu kluczy z losowym hasłem, przechowuj klucz i hasło z hashowaniem i nie przechowuj rzeczywistego hasła. Teraz zachowaj dane, a w przyszłości będziesz mieć moc obliczeniową do odzyskania danych!
źródło
Nie jestem kryptografem, tylko inżynierem, więc moje rozwiązanie jest bardziej fizyczne niż obliczeniowe, ale i tak spróbuję. Proponuję następującą procedurę:
Powstaje zatem oczywiste pytanie: po co zawracać sobie głowę szyfrowaniem, gdy można po prostu zapisać wiadomość tekstową w układzie scalonym? Odpowiedzią na to jest to, że w ten sposób tekst jawny może być dowolnie długi, bez naruszania pojemności pamięci układu, ponieważ jest tam przechowywany tylko klucz o stałej długości. Ponadto możesz zachować kopię klucza publicznego, generując z nim więcej wiadomości, które następnie są odblokowywane w tym samym czasie. Ale to jest o tym.
Aby uczynić to jeszcze bardziej bezpiecznym, możesz podłączyć czujnik światła do mikroukładu i zamknąć zestaw w nieprzepuszczalnej dla światła obudowie (lub mieć przełącznik przymocowany do drzwi lub inny mechanizm wykrywania manipulacji), w którym wystawienie czujnika na światło spowoduje usunięcie klucza. Zapobiega to uzyskaniu klucza przy użyciu metod inwazyjnych, takich jak trawienie. Niektóre układy mają również swoje struktury krzemowe ustrukturyzowane w taki sposób, aby prawie niemożliwe było odczytanie inwazyjne, poprzez umieszczenie innych niezbędnych obwodów nad pamięcią, aby zasłonić poszczególne bity.
źródło