Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
tor_i2p.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.24 Mб
Скачать

# Base64 и Base32

При использовании i2p у вас гарантированно возникнет вопрос - "Что такое и зачем нужны Base64 и Base32 адреса, и в чем их отличие?".

Base64 и Base32 - математические кодировки с 64-ю и 32-мя поддерживаемыми символами. Аналогом IP-адреса и полным сетевым именем ресурса в i2p является именно Base64-адрес длиной 516 символов, которые включают в себя:

1. Полный открытый ключ ресурса для доступа из вне;

2. Ключ подписи;

3. Сертификат;

4. B64-адрес в i2p всегда заканчивается он на "АААА".

Base32-адрес - более короткий и используется для немного других целей. Он имеет форму "[52 символа].b32.i2p" в которой 52 символа - хэш-сумма полного Base64-адреса. Именно поэтому в адресную книгу можно добавить только полный Base64-адрес.

Не вдаваясь в подробности - использование B32-адресов обусловлено тем, что они короче, а так как Base64-адреса нужны не всегда - часто, быстрее орудовать с B32-адресом. Одновременно, его относительно удобно использовать людям (всего-то 52 символа), и роутер может распознать его и найти по нему полный B64-адрес.

# Как работают криптосистемы с открытым ключом

"Трое могут сохранить секрет, если двое из них мертвы."

Чуть выше мы говорили об "Открытом ключе", расположенном в Base64-адресе. В i2p используется уйма различных алгоритмов шифрования и протоколов, управляющих их слаженной работой. Рассматривать их подробно мы не будем, но раз уж речь пошла о криптографии, уместно будет вкратце объяснить, как работают криптосистемы с открытым ключом (помимо i2p, они используются повсеместно).

К примеру, существует два узла "А" и "B", и им необходимо передать друг другу зашифрованное сообщение. Для этого, оба узла формируют некий "Открытый ключ", и на его основе "Закрытый ключ" - оба ключа математически связаны друг с другом. Закрытый ни в коем случае нельзя передавать, а открытый - можно даже лично отправить недоброжелателям, жаждущим увидеть вашу скрытую информацию. Когда узлам нужно связаться, узел "А" просит у узла "B" его открытый ключ, и на его основе шифрует своё сообщение. Важный момент - данные можно только зашифровать по открытому ключу, но не расшифровать.

Далее, зашифрованный пакет данных передается узлу "B". Если его украдут по пути - расшифровать его без закрытого ключа будет невероятно сложно. Если же данные дойдут до узла "В" - он запросто расшифрует их своим закрытым ключом.

Подробнее об этом можно узнать здесь:

https://ru.wikipedia.org/wiki/Криптосистема_с_открытым_ключом

# NetDb, туннели и маршрутизация

Помимо базы с Base32/64-адресами ресурсов, есть NetDB - ещё одна база с данными о всех устройствах в сети, необходимая для обеспечения связи между роутерами и построения туннелей.

NetDB хранится распределенно. То есть, когда вы в первый раз запустили i2p-клиент, он посылает запрос на получение базы данных от случайно выбранного активного пира. База данных сохраняется на локальном компьютере, вы получаете больше активных пиров, ещё несколько запросов и вуаля - у вас есть полная база данных по всей сети.

Откуда клиент знает адрес первого пира? Часть базы данных с Base64-адресами пиров выложена в Интернете, и несколько доверенных адресов "вшиты" в i2p-клиент - именно на них роутер посылает свой первый запрос для интеграции в i2p-сеть.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]