Как зашифровать информацию до определённой даты

в 18:52, , рубрики: Timevault, tlock, доверенная временная метка, Лига энтропии, прогрессоры, развитие человечества, шифрование
Как зашифровать информацию до определённой даты - 1
Настольные атомные часы URWERK AMC с наручным модулем

Предположим, что путешественник во времени отправляет в 80-е годы компьютеры с софтом для технологического прогресса Земли. Там информация о науке и технологиях будущего, а также руководства и советы, как наиболее эффективно перейти от технологий эпохи 80-х к уровню будущего. Каждый компьютер содержит идентичную информацию. Их разбрасывают по всему миру с целью сделать информацию общедоступной.

Прогрессор (в терминологии Стругацких) хочет убедиться, что определённая информация не будет доступна до определённого времени.

То есть по замыслу прогрессоров, некоторая информация становится доступной только в определённые периоды времени, как в «Основании» Азимова. Это нужно для планомерного и грамотного развития цивилизации в соответствии с планом.

Наиболее реалистичный способ добиться поставленной цели — шифрование. То есть информация зашифрована блоками в соответствии с определёнными периодами. Пользователям предоставляют инструкции по генерации ключа для расшифровки, но с таким расчётом, чтобы информация, необходимая для генерации ключа, не была доступна до желаемого периода времени.

Вопрос в том, насколько надёжно можно реализовать такую систему и какую информацию использовать для генерации ключа. Задача в том, чтобы никто не мог получить доступ к информации до момента времени X, то есть нужен достаточно большой ключ, чтобы предотвратить любую попытку взлома шифрования в будущем. Также нужно корректировать некий диапазон ошибок, чтобы гарантировать сходимость результата с учётом возможных ошибок в битах из-за того, что датчики не идеально откалиброваны и т. д. В идеале пользователь должен иметь возможность генерировать ключ для любого времени X, просто загрузив исторические записи этого времени, а сам ключ не должен зависеть от редких астрономических условий.

Такой вопрос задали на форуме Stack Exchange в разделе Worldbuilding (вопросы развития цивилизации и будущего человечества).

Наилучшее решение проблемы основано на образовании новых звёзд.

Ежегодно в нашей галактике Млечный Путь образуется около десяти новых звёзд. Многие вблизи галактического центра, но ещё больше — вдали от него.

Как зашифровать информацию до определённой даты - 2
На фото классическая новая GK Persei, источник: НАСА

У каждой новой звезды чётко определённое положение на небе с прямым восхождением H₁H₂ часов M₁M₂ минут S₁S₂ секунд (от 0 до 24 часов) и склонением d₁d₂ градусов m₁m₂ минут s₁s₂ секунд (от -90° до +90°).

Для защиты от квантовых вычислений лучше использовать 256-битный ключ. Соответственно, для получения ключа на период от года n до года n+4 путешественник во времени задаёт следующее правило:

  1. Берём 16 первых новых звёзд, которые появились в данный пятилетний период дальше, чем на пять градусов от галактического центра, и которые ярче 9-й величины. То есть настолько яркие, что их легко видно в бинокль. Там может быть несколько новых на границе заданного интервала (непонятно, учитывать их или нет). Но это означает лишь то, что в случае ошибки просто придётся произвести вычисления ещё несколько раз, пока не найдём правильный ключ.
  2. Для каждой из 16-ти звёзд записываем десятичное число H₁H₂M₁M₂S₁S₂d₁d₂m₁m₂s₁s₂ и представляем его в двоичном виде как 64-битное целое с порядком записи от младшего к старшему байту (low-endian).
  3. Объединяем 16 двоичных чисел, получая строку из 128 октетов.
  4. Вычисляем контрольную сумму SHA-256 этой двоичной строки.
  5. Получаем 256 бит, которые используются в качестве ключа для расшифровки фрагмента послания из будущего за данный период.

Метод достаточно надёжный, потому что появление новых звёзд в космосе невозможно предсказать заранее. В координатах более 16-ти бит случайности. Астрономам не составит труда измерить координаты с точностью до секунды (обычно они измеряют их с гораздо большей точностью). Предлагаемое правило фактически определяет совершенно случайное 256-битное число.

Заметим, что данный вопрос имеет практическую ценность только при возможности путешествия во времени, то есть при наличии доступа к информации, доступной в будущем.

В нашей текущей реальности проще всего реализовать компьютер с автоматической выдачей фрагментов зашифрованной информации по счётчику встроенных атомных часов.

Как зашифровать информацию до определённой даты - 3
Атомные часы Microchip 5071B

Для программного решения можно использовать другие счётчики времени (Unix-время). Например, некоторые сервисы в интернете предлагают услугу доверенных меток времени. Изначально такие метки предназначены для цифрового подтверждения целостности данных с доказательством даты и время совершения транзакции. Получатели документов и кода с доверенной временнóй меткой могут проверить, когда был подписан этот документ или код, а также убедиться, что документ или код не подвергались изменениям после этого момента. Но в описанной выше задаче метки можно использовать для проверки реальной даты, чтобы гарантировать расшифровку информации только в указанный период времени.

Существуют и практические реализации шифрования до указанной даты, такие как Timevault на базе tlock.

Как зашифровать информацию до определённой даты - 4

Схема работает благодаря запланированным раундам генерации случайных чисел от Лиги энтропии.

Автор: GlobalSign_admin

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js