Капсула времени с помощью TLock

Опубликовано 10 февр. 2026 г.

Продолжаем параноить. Сегодня будем создавать шифрованную капсулу времени. То есть зашифрованные данные, невозможно будет расшифровать до какой-то определенной даты.

Очень удобно, если ты умер и хочешь чтобы твой отпрыск получил по наследству пароли от золотой коллекции прона, которую ты собирал 30 лет. Но ларчик должен открыться строго в 18 лет.

ЧИТАТЬ ПЕРВЫМ В ТЕЛЕГРАМ   ЧИТАТЬ ПЕРВЫМ В MAX

Для реализации желаемого, воспользуемся утилитой под названием tlock.

TLock — это шифрование с отложенным доступом, которое опирается на доверенную аппаратную среду (TEE, чаще всего Intel SGX). Идея всего этого безумия до безобразия простая и красивая:

— данные шифруются сейчас — ключ не существует в открытом виде — расшифровка после определённого времени — даже владелец не может ускорить процесс

Есть TEE (Trusted Execution Environment), работает на drand (League of Entropy) + threshold BLS + Identity-Based Encryption. Дада, Artmoney тут тебе не поможет. Внутри TEE генерируется секрет, считается время, вычисляется ключ.

Ключ == f(секрет, время)

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

Короче это нифига не cron + sleep, timestamp и т.п. Это прям технолоджи!

Устанавливаем:

  1. Качаем бинарник для своей ОС: https://github.com/drand/tlock/releases/
  2. Кидаем куда удобно, я закинул в /usr/local/sbin

Создаем условный файл:

cd /tmp
echo "hello bashdays" >> bashdays.txt

Шифруем:

tle -e -D 10d -o bashdays.tlock bashdays.txt

Этот файл можно будет расшифровать только через 10 дней. Если сейчас посмотреть файл bashdays.tlock то увидим кучу мусора:

age-encryption.org/v1
-> tlock 26260588 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971
jhUpzCk/LXUTkwghwKbyGH1gZ2BEy3p47X4yf+8qrv7+BIhJvEUK6QsVZNnZupxK
CsP1d2kGQAsy6GfEc544aZURB3zK3999bQbXzuhA0u4JV0J27ZqnjKBdtx2az603
tF54aRojO3OmwC2JNTkO/ObQID2xJTTidpgP8K1AEac
--- pN0y6uBfL8KOcoXKp1U6T0gbrWrgDoCmwJxBZ7LHspw
#�4x�&V����S�&e`�S�`���
z��? �A��%

Попробуем расшифровать:

tle -d -o bashdays.txt bashdays.tlock

И получаем: иди нахуй too early to decrypt: expected round 26260588 > 25972610 current round. Файл можно будет расшифровать только через 10 мать его дней. И пофигу root ты или супер хаксеп, нихуя у тебя не получится проникнуть в эту капсулу времени.

Пример в псевдокоде:

# encryption
ciphertext = TLock.encrypt(
    data=plaintext,
    unlock_time=TIMESTAMP
)

# decryption
if now() >= TIMESTAMP:
    plaintext = TLock.decrypt(ciphertext)
else:
    raise Nope("слишком рано")
  • key нигде не лежит
  • key нельзя украсть
  • key нельзя вычислить заранее

Ключей и опций у этой штуковины дофига и больше, поэтому если интересно можешь сам их поизучать. Я принес тебе интересный инструмент, а дальше ты уж сам найди ему применение.

Век живи, век учись. Кстати эта технология применяется в крипте, насколько знаю в Ethereum.

Кстати для шифрования бекапов прям прикольная штука, юморная.

Комментарии