Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 02.11.2013, 20:22   #1
8==>
Заблокирован
 
Регистрация: 02.11.2013
Сообщений: 4
По умолчанию А давайте шифроваться. Шифр Вернама

Шифр Вернама ето ооень и очень прикольная штука. Хочу с вами обсудить такой вариант его использования, типо алгоритм:

Сообщения и ключ пусть будут размером 128 байт, а сообщение с парой тегов для проверки расшифрования "<старт>сообщение<конец>946297и88и8 ап289Избытоностьвадр3шг"

Пару лиц участвующих в обмене сообщениями назову абонент и оператор, то есть тот с кем идёт обмен и тот кто его иницировал.

Шифрование проводится на каждой из двух сторон, ими же запоминаются последние принятые и последние отправленные сообщения.

1. Открытие зашифрованного канала
Оператором генерируется случайный одноразовый ключ размером 128 байт.
Передаётся абоненту.
Канал открыт.
2. Обмен первым сообщением
Абонент дополняет сообщение случайным текстом до размера 128 байт(если длина сообщения меньше оговорённого размера) , запоминает его, шифрует полученным ключём и отправляет оператору.
3. Последующий обмен сообщениями.
Оператор с помощью ключа расшифровывает сообщение, с помощью тегов выделяет из него передаваемые данные, выводит на пример, на экран и запоминает расшифрованное сообщение целиком.
Следующее отправляемое сообщение оператор шифрует расшифрованным принятым сообщением (их размеры равны 128 байт и часть рашифрованных данных случайна, а также расшифрованный текст никому не известен кроме отправител и получателя).
Абонент приняв очередное сообщение расшифровывает его последним отправленным сообщением и цикл повторяется.

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

Последний раз редактировалось 8==>; 02.11.2013 в 21:16.
8==> вне форума
Старый 02.11.2013, 20:54   #2
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Если учесть, что злоумышленник сможет получить только все зашифрованные сообщения, то данную систему можно считать абсолютно криптостойкой, при малом кол-ве сообщений.
Цитата:
1. Открытие зашифрованного канала
Оператором генерируется случайный одноразовый ключ размером 128 байт.
Отправляется абоненту.
Канал открыт.
Я так и не понял, у вас ключ в открытом виде передаётся? Если да, то это глупо.
И у вас нет никакой проверки подлинности сообщений, злоумышленник может просто встать по середине и перехватывать все сообщения, изменяя их.
Ещё один не понятный момент: почему оператор устанавливает соединение с абонентом, а не наоборот?

Рекомендую почитать это, а не изобретать велосипед: RSA, Протокол Диффи — Хеллмана, Схема Эль-Гамаля, DSA.
Kix.IV вне форума
Старый 02.11.2013, 21:08   #3
8==>
Заблокирован
 
Регистрация: 02.11.2013
Сообщений: 4
По умолчанию

Цитата:
Я так и не понял, у вас ключ в открытом виде передаётся? Если да, то это глупо.
Я знал что кто нибудь так скажет. Передать ключ можно иным путём - задолго до сеанса связи, по иному каналу или ещё каким либо образом, что не даёт злоумышленнику возможности предугадать был ли уже передан ключ или будет ли передан.
Цитата:
И у вас нет никакой проверки подлинности сообщений, злоумышленник может просто встать по середине и перехватывать все сообщения, изменяя их.
Да, может, но не имея первого ключа, он не сможет корректировать содержание, а значит, что не читаемость передаваемых данных является сигналом о наличии третьей стороны, перехватывающей сообщения. В конце концов в содержании можно задать область данных, гарантирующих подлинность.

зы. Ни один существующий стандарт не гарантирует абсолютно безопасного соединения.

Цитата:
Ещё один не понятный момент: почему оператор устанавливает соединение с абонентом, а не наоборот?
По тому, что оператор это инициатор, один из участников обмена или любой из участников обмена сообщениями.
Просто мне не хотелось писать абонент_1 и абонент_2. Так нагляднее.

Последний раз редактировалось 8==>; 02.11.2013 в 21:12.
8==> вне форума
Старый 02.11.2013, 21:19   #4
8==>
Заблокирован
 
Регистрация: 02.11.2013
Сообщений: 4
По умолчанию

Цитата:
Рекомендую почитать это, а не изобретать велосипед
Всем рекомендателям, рекомендую мне ничего не рекомендовать, по тому что я любую рекомендацию либо читал либо скоро прочту без ваших рекомендаций.
8==> вне форума
Старый 02.11.2013, 21:34   #5
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Цитата:
Сообщение от 8==> Посмотреть сообщение
Я знал что кто нибудь так скажет. Передать ключ можно иным путём - задолго до сеанса связи, по иному каналу или ещё каким либо образом, что не даёт злоумышленнику возможности предугадать был ли уже передан ключ или будет ли передан.
А зачем такое нужно? В данный момент в основном используются алгоритмы, позволяющие быстро установить шифрованное соединение с любым участником.
Цитата:
Сообщение от 8==> Посмотреть сообщение
Да, может, но не имея первого ключа, он не сможет корректировать содержание, а значит, что не читаемость передаваемых данных является сигналом о наличии третьей стороны, перехватывающей сообщения. В конце концов в содержании можно задать область данных, гарантирующих подлинность.
С первым ключом основная проблема. В предложенном варианте нету нормальной передачи ключа. К тому же, шифр Вернама предполагает одноразовое использование ключа, что у вас, по всей видимости, не выполняется, а значит система не является абсолютно криптостойкой. И с каждым следующем сообщением ключ будет заполучить проще.

А вообще, к чему это? Сейчас есть весьма эффективные и проверенные алгоритмы.
Kix.IV вне форума
Старый 02.11.2013, 23:48   #6
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

Цитата:
В данный момент в основном используются алгоритмы, позволяющие быстро установить шифрованное соединение с любым участником.
просто любопытствую, о каких именно алгоритмах идет речь?
f.hump вне форума
Старый 03.11.2013, 06:43   #7
MooNDeaR
В стагнации
Участник клуба
 
Аватар для MooNDeaR
 
Регистрация: 29.07.2011
Сообщений: 1,303
По умолчанию

Цитата:
зы. Ни один существующий стандарт не гарантирует абсолютно безопасного соединения.
Странно. Видимо, RSA (для передачи ключа) в связке с DES (или др. симметричным алгоритмом) + ЭЦП - это изобретения параллельной вселенной. На данный момент их невозможно взломать. Нет, конечно теоретически их можно взломать, но я желаю вам удачи, лет через 90 встретимся...

Цитата:
Всем рекомендателям, рекомендую мне ничего не рекомендовать, по тому что я любую рекомендацию либо читал либо скоро прочту без ваших рекомендаций.
Тогда советую вам писать докторскую в области криптографии, раз уж у вас такие обширные познания в этой области.

Цитата:
просто любопытствую, о каких именно алгоритмах идет речь?
Посмотрите такие протоколы, как SSL и HTTPS, как его наиболее полулярную форму. Можете так же глянуть IPSec, как там реализуется всё. Но все они работают по одной и той же схеме: ключ отправляется по открытому каналу с помощью ассиметричных алгоритмов шифрования (для аутентификации чаще всего используют сертификаты), далее использую более быстрый DES для передачи сообщений. Проверка целостности возлагается на контрольные суммы + ЭЦП.
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание.

Последний раз редактировалось MooNDeaR; 03.11.2013 в 06:59.
MooNDeaR вне форума
Старый 03.11.2013, 10:29   #8
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Цитата:
Сообщение от f.hump Посмотреть сообщение
просто любопытствую, о каких именно алгоритмах идет речь?
MooNDeaR уже ответил. Лишь немного добавлю, посмотрите это: Протокол Диффи — Хеллмана.

Последний раз редактировалось Kix.IV; 03.11.2013 в 13:53.
Kix.IV вне форума
Старый 03.11.2013, 17:38   #9
<==8
Заблокирован
 
Регистрация: 03.11.2013
Сообщений: 1
По умолчанию

Цитата:
Странно. Видимо, RSA (для передачи ключа) в связке с DES (или др. симметричным алгоритмом) + ЭЦП - это изобретения параллельной вселенной. На данный момент их невозможно взломать. Нет, конечно теоретически их можно взломать, но я желаю вам удачи, лет через 90 встретимся...
Я только имел в виду, что перехват, модификация, глушение и терморектальный криптоанализ никто не отменял. Чтобы получить информацию совсем необязательно расшифровывать сообщение, можно его просто получить.
Цитата:
Тогда советую вам писать докторскую в области криптографии, раз уж у вас такие обширные познания в этой области.
Я тебе персонально советую мне ничего не советовать и не рекомендовать читать то что я уже читал. Что тут непонятного?
Цитата:
Лишь немного добавлю, посмотрите это
В википедии в самом начале описывается его уязвимость. От этого незащищён ни один канал связи. Конечно самое лучшее на данный момент это для передачи секретного ключа использовать асимметричный алгоритм или передавать его лично, без шанса на перехват, ну а дальше всё везде одинаково, за исключением того, что длину ключа уже пару раз то увеличили, любой алгорим из известных сложнее простого XOR-а. Гдето было написано - нет гарантии будет ли сообщение расшифровано за 5 минут или за 100 лет, по тому как проверялось это чисто теоретически.

Последний раз редактировалось <==8; 03.11.2013 в 17:43.
<==8 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифр Вернама Ko$ Общие вопросы Delphi 15 05.06.2013 19:34
А давайте соберемся и... Ru_DoLF Gamedev - cоздание игр: Unity, OpenGL, DirectX 18 27.12.2010 01:11