Версии MTProto: от 1.0 к 2.0
Протокол Telegram менялся дважды по-крупному: в 2017 году вышла версия 2.0, а к 2019-му серверы перестали принимать первую. Клиенты сейчас работают только на второй.
MTProto 1.0 (2013–2017)
Первая версия использовала SHA-1 для вычисления msg_key, фиксированное дополнение и схему, которую криптографы критиковали как нестандартную: формально она была уязвима к некоторым теоретическим атакам, хотя практических взломов не показали. Транспорт был прост — длина плюс данные без какой-либо маскировки.
MTProto 2.0 (с 2017 года)
Во второй версии заменили SHA-1 на SHA-256, сделали дополнение случайной длины и изменили порядок вывода ключей так, чтобы схема соответствовала известным доказуемо стойким конструкциям. Секретные чаты перевели на новый слой сквозного шифрования с ротацией ключей. Подробно — «Шифрование MTProto 2.0».
Транспортные версии — отдельная история
Помимо криптографического слоя, менялся транспорт: abridged, intermediate, padded intermediate, а затем обфусцированный транспорт для прокси и FakeTLS. Это не «версии MTProto» в строгом смысле — верхний слой их не замечает, — но именно транспорт определяет, как трафик выглядит для DPI. Разбор — «FakeTLS» и «dd-секрет».
Что это значит для старых клиентов
Клиент, не обновлявшийся с 2018 года, к серверам не подключится — версии 1.0 больше нет. То же с прокси: сервер, не понимающий секреты dd и ee, бесполезен в 2026 году. Если у вас «MTProto не работает» на старом устройстве, первым делом обновите приложение.
Будет ли 3.0
Официальных анонсов нет. Изменения последних лет касаются транспорта и API, а не криптографического ядра — оно после 2.0 считается устоявшимся. Больше о протоколе — «Что такое MTProto».