Track 3 — Learn & Apply · Crypto · 300 pts
Перед вами 2-страничная статья с описанием нестандартной симметричной криптосхемы — варианта потокового шифра с детерминированным keystream-ом на основе SHA-256.
N байт хеша SHA-256(seed), где N равно длине шифротекста в байтах.ciphertext[i] = plaintext[i] XOR keystream[i].plaintext[i] = ciphertext[i] XOR keystream[i].Seed (ASCII, ровно эти символы):
KYZYLORDA_STREAM_2026
Ciphertext (hex, 19 байт):
cc79ef48c9e88fd7aa6459f6fa16b34a0d2d8a
SHA-256("KYZYLORDA_STREAM_2026") — любым стандартным инструментом (Python hashlib, openssl, sha256sum).import hashlib
seed = b"KYZYLORDA_STREAM_2026"
ct = bytes.fromhex("cc79ef48c9e88fd7aa6459f6fa16b34a0d2d8a")
ks = hashlib.sha256(seed).digest()[:len(ct)]
print(bytes(c ^ k for c, k in zip(ct, ks)).decode())
Алдыңызда стандартты емес симметриялы криптосұлбаның сипаттамасы бар 2 беттік мақала — SHA-256 негізіндегі детерминирленген keystream-i бар ағынды шифр нұсқасы.
SHA-256(seed) хешінің алғашқы N байты, мұндағы N — шифрмәтін ұзындығы (байт).ciphertext[i] = plaintext[i] XOR keystream[i].plaintext[i] = ciphertext[i] XOR keystream[i].Seed (ASCII, дәл осы таңбалар):
KYZYLORDA_STREAM_2026
Ciphertext (hex, 19 байт):
cc79ef48c9e88fd7aa6459f6fa16b34a0d2d8a
SHA-256("KYZYLORDA_STREAM_2026") есептеңіз — кез келген стандартты құралмен.RU: Введите расшифрованный plaintext. Сервер вернёт ваш персональный флаг.
KK: Шешілген plaintext-ті енгізіңіз. Сервер сізге жеке жалаушаны қайтарады.
RU: Каждая подсказка снимает баллы.
KK: Әр кеңес ұпайды кемітеді.