Сквозное шифрование (также оконечное шифрование; англ. end-to-end encryption) — способ передачи данных, в котором только пользователи, участвующие в общении, имеют доступ к сообщениям. Таким образом, использование сквозного шифрования не позволяет получить доступ к криптографическим ключам со стороны третьих лиц.
 Для обмена ключами могут быть применены симметричный и асимметричный алгоритмы. Сквозное шифрование предполагает, что ключи шифрования известны только общающимся между собой сторонам. Для реализации данного условия может быть использована схема с предварительным разделением секрета или, например, протокол Диффи-Хелмана, который используется в мессенджерах WhatsApp (по умолчанию) и Telegram (в т.н. секретных чатах).
 Сквозное шифрование гарантирует, что доступ к исходному тексту сообщения имеется только у отправителя и получателя. Это означает, что пользовательская информация становится недоступной даже серверам, передающим данные.
 Шифрование и дешифрование происходит на конечных устройствах пользователей. Кроме того, данные остаются зашифрованными, пока не будут доставлены к месту назначения. Поэтому часто сквозное шифрование также называют «нулевой доступ» или «шифрование на стороне клиента». Однако, следует различать оконечное шифрование при передаче данных и шифрование на стороне клиента при хранении данных.
 Одним из первых стандартов для асинхронного обмена сообщениями является протокол SMTP. Этот протокол, изначально использовавшийся только для передачи электронной почты, в первоначальной своей реализации не обеспечивал конфиденциальности переписки при помощи сквозного шифрования. В 1991 году Филиппом Циммерманом был создан пакет программного обеспечения для шифрования электронной почты PGP. Библиотека получила широкое распространение по всему миру, поэтому у многих компаний возникло желание создавать собственное ПО, совместимое с PGP. После этого в 1997 году IETF окончательно определила набор стандартов для сквозного шифрования электронной почты, который назвали OpenPGP. OpenPGP реализован в программном обеспечении систем с открытым исходным кодом, таких как Enigmail для Thunderbird, а также в мобильных приложениях, таких как IPGMail для iOS и в системе управления ключами Openkeychain для Android и других.
 В 1999 году Фондом свободного программного обеспечения была разработана реализация OpenPGP, которая получила название GnuPG. Она соответствует стандартам спецификации OpenPGP, выступая в качестве основы свободного программного обеспечения для большинства современных приложений с поддержкой PGP.
 В отличие от электронной почты, которая использует асинхронный обмен сообщениями, системы мгновенного обмена сообщениями изначально использовали синхронную передачу данных, однако сегодня многие мессенджеры позволяют осуществлять асинхронную доставку сообщений. В последнее время такие системы становятся более популярными по сравнению с почтовыми клиентами, так как они также предоставляют поддержку передачи видео, файлов и голоса.
 В 1998 году Джереми Миллером началась разработка проекта Jabber, который впоследствии получил название XMPP. XMPP предоставляет технологию для асинхронного обмена структурированными данными в распределенной сети с участием клиентов и серверов, поддерживающую уведомления о присутствии. Чтобы повысить уровень безопасности, в новых спецификациях протокола будет добавлена поддержка сквозного шифрования, так как сейчас информация, переданная посредством XMPP, по умолчанию не шифруется, хотя в нем и используются встроенные протоколы SASL и TLS. Первоначально именно открытый стандарт протокола XMPP, разработанный IETF, использовался в большинстве систем мгновенного обмена сообщениями, таких как Google Talk..
 Протокол OTR, выпущенный в 2004 году, является расширением XMPP с целью обеспечить сквозное шифрование. Он также обеспечивает оповещение пользователей, в отличие от PGP, которое впоследствии может быть использовано в качестве записи об установке соединения и идентификации участников. OTR в каком-то смысле можно считать обновлением безопасности по PGP, так как он не хранит долгосрочных открытых ключей, которые могут быть скомпрометированы. К недостаткам OTR можно отнести отсутствие поддержки групповых чатов и асинхронного обмена сообщений, так как он предназначен для синхронного обмена сообщениями между двумя людьми.
 Несколько современных мессенджеров используют для шифрования Signal Protocol.
 Сквозное шифрование предусматривает, что контроль за перепиской осуществляется непосредственно пользователями. Одним из вариантов обхода сквозного шифрования для злоумышленника является захват под свой контроль канала связи между конечными точками, после этого он может попытаться выдать себя за получателя сообщения, чтобы, например, подменить открытый ключ. Чтобы не дать себя обнаружить, злоумышленник после дешифровки сообщения может зашифровать его ключом, который он разделяет с фактическим получателем, или его открытым ключом (в случае асимметричных систем) и снова отправить сообщение. Атаки такого типа принято называть атаками «человек посередине» - MITM (Man-In-The-Middle) .
 Для предотвращения MITM-атак большинство криптографических протоколов используют аутентификацию. Для этого могут использоваться, например, центры сертификации. Альтернативным методом является создание отпечатков открытого ключа на основе общедоступных открытых ключей пользователей или общих секретных ключей. Прежде чем начать разговор, стороны сравнивают свои отпечатки открытых ключей с использованием внешнего канала связи, который гарантирует целостность и аутентичность связи, при этом он не обязательно должен быть секретным. Если отпечатки ключей совпадают, значит атака «человек посередине» не была произведена.
 Другим способом обхода сквозного шифрования является атака непосредственно на конечные точки доступа. Каждое устройство пользователя может быть взломано с целью украсть криптографический ключ (для создания атаки «человек посередине») или просто прочитать дешифрованные сообщения пользователей. Для избежания такого рода попыток взлома необходимо обеспечить соответствующую защиту пользовательских устройств с помощью программных или иных методов. Основными попытками повысить безопасность конечных точек были выделение ключевых операций генерации, хранения и криптографии на смарт-карту, например, в Project Vault Google. Тем не менее, так как ввод и вывод открытого текста видны в системе, то эти подходы не способны защитить от клавиатурных шпионов и вредоносного программного обеспечения, которое может отслеживать разговоры в режиме реального времени. Более надежный подход заключается в физической изоляции устройства.
 Компании могут также (самостоятельно или по принуждению) внедрять в свое программное обеспечение бэкдоры, которые помогают нарушить согласование ключа или обойти шифрование. Согласно информации, раскрытой Эдвардом Сноуденом в 2013 году, Skype содержал бэкдор, который позволял Microsoft передавать в АНБ сообщения пользователей, несмотря на то, что официально эти сообщения подвергались сквозному шифрованию.