Apakah mungkin membuat "Kapsul Waktu" menggunakan enkripsi?

14

Saya ingin membuat kapsul waktu digital yang akan tetap tidak dapat dibaca untuk beberapa waktu dan kemudian dapat dibaca. Saya tidak ingin bergantung pada layanan luar untuk, misalnya, menjaga rahasia utama dan kemudian mengungkapkannya pada waktu yang diperlukan. Apakah ini mungkin? Jika tidak, mungkinkah semacam bukti bahwa itu tidak mungkin?

Satu strategi akan didasarkan pada proyeksi kemampuan komputasi masa depan, tetapi itu tidak dapat diandalkan dan membuat asumsi tentang berapa banyak sumber daya yang akan diterapkan pada tugas tersebut.

Micah Beck
sumber
1
Jika Anda dapat memastikan perangkat tidak dirusak, Anda dapat menggunakan komponen radioaktif (ringan) dengan waktu paruh yang diketahui, sehingga Anda dapat memberikan akses hanya jika radioaktivitas turun cukup.
Raphael

Jawaban:

5

Masalahnya dikenal sebagai kriptografi rilis waktunya . Untuk beberapa referensi / pengantar, lihat:

Motivasi kami adalah gagasan "crypto rilis-waktu", di mana tujuannya adalah untuk mengenkripsi pesan sehingga tidak dapat didekripsi oleh siapa pun, bahkan pengirim, hingga jumlah waktu yang ditentukan sebelumnya telah berlalu. Tujuannya adalah untuk "mengirim informasi ke masa depan" ...

Vor
sumber
7
Bisakah Anda setidaknya meringkas surat kabar?
svick
5
Makalah-makalah ini melakukan studi mendalam tentang dua pendekatan "alami": baik menggunakan pihak ketiga yang tepercaya, atau mengharuskan penerima untuk melakukan perhitungan yang tidak paralel dengan baik dan membutuhkan waktu yang tepat.
a3nm
1

Saya datang dengan jawaban parsial, tetapi tidak secara tegas mengatakan jawaban atas pertanyaan tersebut. Saya menduga ini mungkin sedekat mungkin, tapi saya tidak yakin.

Pertama, kami menyandikan kapsul dengan kunci yang diperlukan untuk dekripsi.

Saya tidak tahu bagaimana menyiasati memiliki semacam otoritas untuk memegang kunci, tetapi mungkin untuk mendistribusikan fungsi itu. Jika kita memecah kunci menjadi n bagian, maka kita dapat meminta dan pihak berwenang untuk memegang bagian-bagian itu. Kemudian pada waktu yang tepat semua dapat mempublikasikan karya mereka untuk memungkinkan rekonstruksi kunci.

Solusi ini rentan terhadap salah satu dari n otoritas yang tidak tersedia, tetapi menggunakan pengkodean m-out-of-n, kita dapat mendistribusikan potongan-potongan ke n otoritas, tetapi hanya mengharuskan saya untuk menerbitkan karya mereka.

Bahkan dalam kasus ini, sejumlah otoritas dengan jam yang akurat harus menyediakan layanan manajemen kunci yang benar. Apakah mungkin untuk melemahkan asumsi ini di luar m-out-of-n yang disarankan di atas?

Micah Beck
sumber
1

Saya pikir ini adalah pendekatan yang layak:

Buat satu set kunci menggunakan skema enkripsi pilihan Anda menggunakan frasa sandi yang dibuat secara acak. Kuncinya di sini adalah dengan frasa sandi. Kuncinya diketahui, tetapi kami akan membuat kapsul waktu menggunakan frasa sandi.

Pilih frasa sandi sedemikian rupa sehingga, jika kita membuat hash asin darinya, dibutuhkan waktu kira-kira "n" tahun untuk menghitung frasa sandi yang diketahui mengandung garam dan hash menggunakan daya komputasi saat ini. Jika kita ingin membuat kapsul 20 tahun, perkirakan kekuatan komputasi kita 20 tahun dari sekarang, dan buat hash yang akan dihitung satu bulan oleh pengguna atau superkomputer dalam 20 tahun, tergantung pada target kapsul. Gambar, untuk kapsul waktu 20 tahun, bahwa itu akan dapat didekripsi oleh megacorp dalam 15 tahun, atau pengguna dalam 20.

Enkripsi data menggunakan kunci dengan frasa sandi acak, simpan kunci dan frasa sandi hash, dan jangan simpan frasa sandi yang sebenarnya. Sekarang simpan data dan, di beberapa titik di masa depan, Anda diharapkan memiliki kekuatan komputasi untuk memulihkan data Anda!

a8ksh4
sumber
0

Saya bukan ahli kriptografi, hanya seorang insinyur, jadi solusi saya lebih bersifat fisik daripada komputasi, tetapi biar saya tetap mencoba. Saya mengusulkan prosedur berikut:

  1. Hasilkan pasangan kunci asimetris
  2. Enkripsi pesan plaintext menggunakan kunci publik
  3. Simpan kunci pribadi di dalam memori yang mudah menguap dari mikrokontroler, dan buat itu mengeluarkan kunci hanya setelah waktu tertentu berlalu.
  4. Hancurkan semua salinan kunci pribadi lainnya
  5. Gabungkan cyphertext dan mikrokontroler menjadi satu, dan tunggu.

Pertanyaan yang jelas kemudian muncul: Mengapa repot-repot dengan enkripsi ketika Anda bisa menyimpan pesan teks dalam chip? Jawabannya adalah dengan cara ini, plaintext bisa panjang secara sewenang-wenang, tanpa mengenai kapasitas penyimpanan chip, karena hanya kunci panjang tetap yang disimpan di sana. Selain itu, Anda dapat menyimpan salinan kunci publik, menghasilkan lebih banyak pesan dengan itu nanti, yang kemudian dibuka pada saat yang sama. Tapi itu saja.

Untuk membuat ini lebih aman, Anda dapat memasang sensor cahaya ke chip dan melampirkan unitnya dalam wadah anti-cahaya (atau memiliki sakelar yang terpasang pada pintu, atau mekanisme pendeteksi kerusakan lainnya), di mana memaparkan sensor pada cahaya. akan memicu penghapusan kunci. Ini untuk mencegah Anda mendapatkan kunci menggunakan metode invasif seperti etsa. Beberapa chip juga memiliki lapisan silikon terstruktur dengan cara membuat pembacaan invasif hampir mustahil, dengan meletakkan sirkuit penting lainnya di atas memori, untuk mengaburkan bit individual.

programagor
sumber
Jika ada jam internal, seseorang mungkin mempercepat atau menghapusnya. Bagaimanapun juga itu tidak baik.
Evil
@ Evil Saya memikirkan hal ini, dan ini bukan masalah karena chip hanya dapat di-overclock sebelum menjadi tidak stabil, melakukan hal itu akan berisiko kehilangan kunci. Misalnya, sebagian besar AVR 8bit akan berjalan hingga 20 MHz, dapat di-overclock hingga sekitar 25 MHz, tetapi di atas itu kemungkinan crash meningkat secara signifikan.
programagor
1
Anda menciptakan kembali perangkat keras yang tahan-rusak ... sesuatu yang sulit dilakukan dengan baik, terutama dalam skala waktu yang lama.
DW