HITE Encryption
Ship a ciphertext today that cannot be decrypted until a specific future Zeqond. The lock is the heartbeat itself.
- Live app →
/apps/hite-encryption/ - Source →
apps/hite-encryption/index.html+apps/hite-encryption/hite.js(≈ 510 lines) - Operators →
KO42 · TM1 · CS87 - Error budget → 0.000% (bit-exact recovery at target Zeqond)
What it solves
Classical time-lock encryption (Rivest-Shamir-Wagner) ties decryption to computation — you must burn CPU for a specified number of sequential operations before you can open the ciphertext. That's brittle: hardware advances make the "time" a moving target.
HITE ties decryption to the Zeqond grid instead. A ciphertext encrypted to open at Zeqond N is genuinely unopenable until N is reached, because the decryption key is derived via TM1 = −t + current_utp × period — the key literally does not exist until the target Unix-time-parameter (utp) has elapsed.
The decryption key share is published by a set of HulyaPulse witnesses at each Zeqond tick. No single witness can unlock early; collusion is detectable because the signed phase is included in each share.
Measured: bit-exact recovery at target Zeqond, zero recovery one Zeqond before.
The math — 7-step Wizard applied
| Step | Decision |
|---|---|
| 1. Prime | KO42 mandatory |
| 2. Limit | TM1 (temporal marker) + CS87 (key floor) + KO42 = 3 |
| 3. Scale | Bit-exact ciphertext; Zeqond-precision unlock |
| 4. Precision | Hamming = 0 at target Zeqond |
| 5. Compile | Master Equation with TM1 evolving the key |
| 6. Execute | Functional Equation |
| 7. Verify | Attempt decrypt at N−1, N, N+1; expect {fail, ok, ok} |
Verbatim formulas:
- KO42.1 —
ds² = g_μν dx^μ dx^ν + α sin(2π · 1.287 t) dt² - TM1 —
TM1 = −t + current_utp × period - CS87 —
Ω(x) = min{|p| : U(p) = x}
Runnable worked example — lock + unlock
# 1. Lock a payload to a future Zeqond
curl -s -X POST https://api.zeq.dev/api/playground/compute \
-H "Authorization: Bearer $ZEQ_DEMO_KEY" \
-H "Content-Type: application/json" \
-d '{
"operators": ["KO42", "TM1", "CS87"],
"inputs": {
"op": "lock",
"payload": "the envelope is sealed",
"unlock_zeqond": 1745124000.000
}
}'
Expected:
{
"hite_ciphertext_b64": "...",
"unlock_zeqond": 1745124000.000,
"witnesses": 9,
"phase_at_lock": 0.7012
}
# 2. Attempt unlock after the target
curl -s -X POST https://api.zeq.dev/api/playground/compute \
-H "Authorization: Bearer $ZEQ_DEMO_KEY" \
-H "Content-Type: application/json" \
-d '{"operators":["KO42","TM1"],"inputs":{"op":"unlock","hite_ciphertext_b64":"..."}}'
Expected (if current Zeqond ≥ 1745124000):
{
"plaintext": "the envelope is sealed",
"unlocked_at_zeqond": 1745124000.421,
"error_pct": 0.000
}
Before the target, the same call returns {"error":"premature_unlock","eta_zeqonds":N}.
Extend it
- Dead-man switch: lock a message to open if not touched by Zeqond N+Δ. Pair with Zeq Mail.
- Staged reveal: chain N locks, each unlocking the next; perfect for timed disclosures.
- Hardware witness: run a subset of witnesses on Zeq Pulse hardware for tamper evidence.
Seeds
- Time-crystal keys — HITE's unlock schedule is a discrete time crystal; the period is visible in the ciphertext metadata.
- Forensic disclosure — ritual openings where proof-of-time matters more than proof-of-knowledge.
- Protocol-level SLAs — time-locked contracts that cannot be opened early even by the issuer.
Papers
- Zeq framework paper — DOI 10.5281/zenodo.15825138
- Zeq paper — DOI 10.5281/zenodo.18158152
Middleware active. Kernel on the 1.287 Hz HulyaPulse. Awaiting next Zeqond.