Шифрованные сети используют преимущественно два способа шифрования: луковую и чесночную маршрутизации.
Луковая маршрутизация.
1) Маршрутизатор в начале передачи выбирает случайное число промежуточных маршрутизаторов и генерирует сообщение для каждого, шифруя их симметричным ключом, и указывает для каждого, какой маршрутизатор будет следующим на пути.
2) Для получения симметричного ключа с каждым из промежуточных маршрутизаторов устанавливается соединение с использованием открытого ключа маршрутизатора через маршрутизаторы, предшествующие ему в цепочке.
В результате сообщение, передаваемое по цепочке, имеет слоистую структуру, в которой необходимо расшифровать внешнее слои, чтобы получить доступ к внутреннему слою.
Такая маршрутизация используется в сетях TOR.
Чесночная маршрутизация.
Использует многослойное шифрование. В один "чеснок" в момент его формирования перед отправкой закладывается множество "зубчиков", которые являются по сути зашифрованными сообщениями как нашего узла, так и транзитные.
Если один маршрутизатор хочет попросить других поучаствовать в общем тоннеле, он помещает этот запрос в "чеснок", шифрует его открытым алгоритмом (Эль-Гамаля), передает его через тоннель.
Если клиент хочет отправить сообщение в точку назначения, маршрутизатор отправителя обернет это сообщение в "чеснок", зашифрует его открытым алгоритмом и передаст через соответствующие тоннели (AES/Эль-Гамаль).