Я что-то не понял, как происходит шифрование. Почему первый сервер не может расшифровать, что предназначенно третьему???
Цитата: Валентин Н от сентября 11, 2016, 18:41
Я что-то не понял, как происходит шифрование. Почему первый сервер не может расшифровать, что предназначенно третьему???
Потому что у первого нет приватного ключа третьего сервера, очевидно же.
Цитата: Upliner от сентября 11, 2016, 18:43
Потому что у первого нет приватного ключа третьего сервера, очевидно же.
Почему ключ есть у третьего и нет у первого? Эти ключи в самом браузере заложены? Но тогда, такие же ключи есть и у серверов.
Цитата: Валентин Н от сентября 11, 2016, 19:19
Цитата: Upliner от сентября 11, 2016, 18:43
Потому что у первого нет приватного ключа третьего сервера, очевидно же.
Почему ключ есть у третьего и нет у первого? Эти ключи в самом браузере заложены? Но тогда, такие же ключи есть и у серверов.
В каком браузере? Публичные ключи серверов известны всем, а приватные -- хранятся на самих серверах и никому не разглашаются. Вам с самого начала объяснять, как вообще ассиметричное шифрование работает?
Цитата: Upliner от сентября 11, 2016, 19:21
В каком браузере? Публичные ключи серверов известны всем, а приватные -- хранятся на самих серверах и никому не разглашаются.
А как тор браузер-узнаёт как шифровать, если у него ключа нет, а если у него есть, тогда и удругих серверов есть.
Цитировать
Вам с самого начала объяснять, как вообще ассиметричное шифрование работает?
Если не трудно :-[
Цитата: Валентин Н от сентября 11, 2016, 19:27
Цитата: Upliner от сентября 11, 2016, 19:21
В каком браузере? Публичные ключи серверов известны всем, а приватные -- хранятся на самих серверах и никому не разглашаются.
А как тор браузер-узнаёт как шифровать, если у него ключа нет, а если у него есть, тогда и удругих серверов есть.
Цитировать
Вам с самого начала объяснять, как вообще ассиметричное шифрование работает?
Если не трудно :-[
Чтобы зашифровать -- достаточно публичного ключа, а вот чтобы расшифровать -- нужен приватный.
Браузер берёт, скажем 3 сервера, и шифрует информацию сразу тремя публичными ключами. Причём информация о том, каким серверам посылать данные -- тоже шифруется.
Потом посылает зашифрованные данные 1-му серверу. Он расшифровывает её своим приватным ключом, но прочитать полные данные по-прежнему не может. У него есть только адрес 2-го сервера и частично расшифрованные данные. Адрес 3-го сервера он тоже не знает. И так данные идут по цепочке к 3-му серверу (exit node или как его там), который может полностью расшифровать данные и посылает запрос веб-серверу и получает ответ. Дальше не знаю :)
Цитата: Upliner от сентября 11, 2016, 19:37
Чтобы зашифровать -- достаточно публичного ключа, а вот чтобы расшифровать -- нужен приватный.
Но как это может быть? Если могу зашифровать, значит могу и расшифровать.
Закрыть одним ключом, а открыть другим? Это как?! :what:
Цитата: Валентин Н от сентября 11, 2016, 19:43
Цитата: Upliner от сентября 11, 2016, 19:37
Чтобы зашифровать -- достаточно публичного ключа, а вот чтобы расшифровать -- нужен приватный.
Но как это может быть? Если могу зашифровать, значит могу и расшифровать.
Закрыть одним ключом, а открыть другим? Это как?! :what:
Именно так. Ключ для закрывания есть у всех, а ключ для открывания -- только у получателя.
(wiki/ru) Криптосистема_с_открытым_ключом (https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%81_%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8B%D0%BC_%D0%BA%D0%BB%D1%8E%D1%87%D0%BE%D0%BC)
Однако я всё же ошибся -- в Торе используется симметричное шифрование -- одним и тем же ключом можно и шифровать и расшифровывать. Ассиметричное шифорвание используется только для передачи симметричных "ключей сессии". Однако схему прямой передачи сообщения это не меняет. А при обратной передаче соответственно снова каждый промежуточный сервер шифрует данные своим ключом сессии и возвращает отправителю. С ассиметричными ключами изначальный пользователь не смог бы расшифровать полученный ответ, но так как ключи симметричные -- может. У него есть все ключи, но у каждого из промежуточных серверов есть только один ключ, поэтому кроме exit-node и изначального пользователя содержимое ответа веб-сервера никто не знает.
Хотя по-моему логичнее было бы всё-таки использовать ассиметричные ключи, а exit-ноду передавать свой публичный ключ и дальше возвращать ответ по цепоке уже без перешифрования.
Я ничего не понял ;D
Если совсем ничего -- то ничем не могу помочь. Если всё же что-то понятно, но по каким-то пунктам остались вопросы -- обращайтесь.
Цитата: Валентин Н от сентября 11, 2016, 19:43
Но как это может быть? Если могу зашифровать, значит могу и расшифровать.
Закрыть одним ключом, а открыть другим? Это как?! :what:
Упрощённо:
Допустим, вы зашифровали текст таким ключом: { а→01, б→02, ..., я→33 }. Тогда для расшифровки вам понадобится не тот же самый, а обратный ключ: { 01→а, 02→б, ..., 33→я }. В данном случае получить обратный ключ из прямого очень легко. А в несимметричном шифровании используется такой ключ, из которого, чтобы получить обратный, потребуются колоссальные вычислительные мощности (скажем, на всех компьютерах Земли вычислять 10 лет).