LINUX.ORG.RU
ФорумTalks

Криптоалгоритмы

 


0

1

Дано: Алиса и Боб. Алиса и Боб никогда ранее не встречались и не имеют возможности обменяться ключами по другим каналам связи. Необходимо чтобы сообщение шифровалось на стороне Алисы перед отправкой, шло зашифрованным по каналам связи, получалось зашифрованным и на стороне Боба уже расшифровывалось. С помощью каких средств Алиса отправляет в зашифрованном сообщении Бобу ключ? Это возможно вообще? Какими средствами?


Ответ на: комментарий от reprimand

Я немного наверное задачу сформулировал не ясно. Меня эта тема интересует в решении p2p сети проходящей поверх обычного соединения типа i2p. Т.е. самый интересный момент как осуществляется расшифровка первого сообщения переданного, если до этого Алиса и Боб никогда не встречались и не устанавливали связь между собой? Передачей открытого ключа? Эту задачу полностью решает асинхронное кодирование? Как узнать, что открытый ключ это ключ Алисы, а не Васи? Хмм... Кажется до меня начинает доходить. Боб шифрует сообщение используя открытый ключ Алисы, а она его расшифровывает уже используя свой закрытый ключ? (мысли вслух)

xtala
() автор топика

Кстати нашел в гугле простое объяснение решения этой задачи. Буквально на пальцах.

Представим что Алиса и Боб живут в стране, в которой вся почтовая система абсолютно аморальна и почтовые служащие читают всю незащищенную корреспонденцию. Алиса, девочка не глупая, прежде чем отправить сообщение Бобу, взяла железный ящик и, положив внутрь письмо и закрыв его на свой замок, отправляет этот ящик Бобу. Естественно на почте прочитать это письмо не могут, но его не может прочитать и сам Боб, так как у него нет ключа которым закрыт замок. Алиса, конечно, может взять еще один железный ящик, положить в него ключ от предыдущего, и отправить его Бобу, но его Боб тоже не сможет открыть…

Единственный путь это все же сделать дубликат ключа и дать его Бобу при личной встрече… И вот начинает казаться что обмен ключами является неизбежной частью шифрования — или все-таки нет?

Представим другую картину. Распишу пошагово:

Алиса кладет свое письмо в железный ящик и, заперев его на замок, отправляет Бобу. Боб при получении ящика, (внимание!) берет свой замок и, дополнительно заперев им ящик, отправляет обратно. Алисе ящик приходит уже с двумя замками (напомню с первым замком Алисы от которого у нее есть ключ, и со вторым — Боба, от которого ключ есть есть только у Боба). Алиса снимает свой замок, и отправляет ящик обратно Бобу Бобу приходит ящик с уже одним его замком от которого у него есть ключ Боб отпирает оставшийся его замок своим ключом, и читает сообщение

xtala
() автор топика
Ответ на: комментарий от xtala

Но это идеальный случай. Оказывается нельзя снимать слои шифра в произвольном порядке. Только в обратном по правилу last in first out

xtala
() автор топика
Ответ на: комментарий от xtala

Ну и вот собственно с того же источника объяснение на пальцах современного способа передачи ключей по открытому каналу.

Допустим вначале, что у всех, включая Алису, Боба и Еву, имеется трехлитровая банка, в которую налит один литр желтой краски. Если Алиса и Боб хотят договориться о секретном ключе, они добавляют в свои банки по одному литру своей собственной секретной краски.

Алиса может добавить краску фиолетового оттенка, а Боб — малинового. После этого каждый из них посылает свою банку с перемешанным содержимым другому.

И наконец, Алиса берет смесь Боба и подливает в нее один литр своей секретной краски, а Боб берет смесь Алисы и добавляет в нее один литр своей секретной краски. Краска в обеих банках теперь станет одного цвета, поскольку в каждой находится по одному литру желтой, фиолетовой и малиновой краски.

Именно этот цвет, полученный при добавлении дважды в банки красок, и будет использоваться как ключ. Алиса понятия не имеет, какую краску добавил Боб, а Боб также не представляет, какую краску налила Алиса, но оба они достигли одного и того же результата.

Между тем Ева в ярости. Даже если она и сумеет перехватить банки с промежуточным продуктом, ей не удастся определить конечный цвет, который и будет согласованным ключом. Ева может видеть цвет краски, полученной при перемешивании желтой краски и секретной краски Алисы в банке, отправленной Бобу, и она может видеть цвет краски, полученной при перемешивании желтой краски и секретной краски Боба в банке, отправленной Алисе, но чтобы найти ключ, ей, на самом деле, необходимо знать цвета исходных секретных красок Алисы и Боба. Однако, рассматривая банки с перемешанными красками, Ева не сможет определить секретные краски Алисы и Боба. Даже если она возьмет образец одной из смешанных красок, ей не удастся разделить ее на исходные краски, чтобы найти секретную, поскольку смешивание краски является односторонней функцией.

https://intsystem.org/security/asymmetric-encryption-how-it-work/

xtala
() автор топика
Ответ на: комментарий от xtala

Оказывается это гораздо проще чем можно было подумать.

xtala
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.