<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2374001</guid>
        <pubDate>Mon, 21 Sep 2009 15:30:26 +0000</pubDate>
        <title>TCP_NODELAY</title>
        <link>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2374001</link>
        <description><![CDATA[Alexandoros: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Но, к сожалению, та функция по частям расшифровывать не умеет,</div></div><br>
В этом случае поможет написание своей ф-ции для рассшифровки. Если алгоритм стандартне и документирован, то проблем не должно возникнуть.]]></description>
        <author>Alexandoros</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2371292</guid>
        <pubDate>Fri, 18 Sep 2009 17:02:45 +0000</pubDate>
        <title>TCP_NODELAY</title>
        <link>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2371292</link>
        <description><![CDATA[Хрен: Да, ступил чуть-чуть. Но, к сожалению, та функция по частям расшифровывать не умеет, т.к. после расшифровки проверяет текст на целостность при помощи сравнения имитовставок. Так что ничего не получилось бы.<br>Но это ужо не важно - решили всё-таки ставить заголовки с длиной пакета =)<br>Всем спасибо.]]></description>
        <author>Хрен</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369702</guid>
        <pubDate>Thu, 17 Sep 2009 09:35:38 +0000</pubDate>
        <title>TCP_NODELAY</title>
        <link>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369702</link>
        <description><![CDATA[Alexandoros: Может я туплю в чем то, но как раз здесь все получится по 8 байт расшифровывать. Объясни проблему.<br><br>Алгоритм - получаем первый блок(8байт), расшифровуем, результат используем для разшифровки второго блока, результат второго для третьего и т.д. В чем проблема, я не пойму?]]></description>
        <author>Alexandoros</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369683</guid>
        <pubDate>Thu, 17 Sep 2009 09:21:37 +0000</pubDate>
        <title>TCP_NODELAY</title>
        <link>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369683</link>
        <description><![CDATA[Хрен: ГОСТ28147-89 - блочный симметричный алгоритм шифрования. Как и большинство БСШ, имеет 3 режима шифрования:<br>1. простой замены - текст берётся поблочно (блок - 8 байт) и каждый блок шифруется непосредственно на ключе;<br><br>2. гаммирования - при помощи алгоритма шифруется 8 байт начального текста, который называется синхропосылкой и отправляется вместе с шифртекстом. Результат шифрования синхропосылки складывается с блоком открытого текста по модулю 2, и затем снова шифруется, и складывается со следующим блоком открытого текста и т.д.<br><br>3. гаммирования с обратной связью - то же, что гаммирования, однако в шифровании каждого следующего блока участвует результат зашифрования предыдущего блока. Т.е. получается лавинный эффект.<br><br><br>У нас используется 3-й режим. Поэтому читать по 8 байт и расшифровывать отдельно каждый блок не получится =(]]></description>
        <author>Хрен</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369659</guid>
        <pubDate>Thu, 17 Sep 2009 08:56:02 +0000</pubDate>
        <title>TCP_NODELAY</title>
        <link>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369659</link>
        <description><![CDATA[Alexandoros: ГОСТ это стандарт или название протокола?<br>Описалово/дока имелось в виду.]]></description>
        <author>Alexandoros</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369629</guid>
        <pubDate>Thu, 17 Sep 2009 08:29:43 +0000</pubDate>
        <title>TCP_NODELAY</title>
        <link>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369629</link>
        <description><![CDATA[Хрен: ГОСТ писали не мы, и исходников у нас нет. Так что тут беда с этим =)]]></description>
        <author>Хрен</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369583</guid>
        <pubDate>Thu, 17 Sep 2009 07:56:18 +0000</pubDate>
        <title>TCP_NODELAY</title>
        <link>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369583</link>
        <description><![CDATA[Alexandoros: Гост в студию плиз.]]></description>
        <author>Alexandoros</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369539</guid>
        <pubDate>Thu, 17 Sep 2009 07:03:08 +0000</pubDate>
        <title>TCP_NODELAY</title>
        <link>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369539</link>
        <description><![CDATA[Хрен: Да, это хорошо. Но проблема в том, что в функции шифрования используется ГОСТ с обратной связью (только что узнал). Так что отдельно блоки расшифровать не получится =(]]></description>
        <author>Хрен</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369287</guid>
        <pubDate>Wed, 16 Sep 2009 19:45:05 +0000</pubDate>
        <title>TCP_NODELAY</title>
        <link>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369287</link>
        <description><![CDATA[Хрен: Нет. Есть совершенно отдельные пакеты данных.<br>&lt;пакет&gt;<br>&lt;пакет&gt;<br>.......<br>&lt;пакет&gt;<br><br>Каждый из них заканчивается меткой перевода каретки &#092;r&#092;n.<br>Каждый пакет ОТДЕЛЬНО шифруется на ГОСТе.<br>&lt;зашифрованный пакет&gt;<br>&lt;зашифрованный пакет&gt;<br>.......<br>&lt;зашифрованный пакет&gt;<br><br>Эти пакеты генерируются, шифруются и передаются ОТДЕЛЬНО, в разные промежутки времени. А на сервере иногда принимаются в следующем виде:<br>1-й RECV:<br>&lt;зашифрованный пакет&gt;&lt;зашифрованный пакет&gt;&lt;зашифрован<br>2-й RECV:<br>ный пакет&gt;&lt;зашифрованный пакет&gt;<br><br>Надо их разделить. Проблема в том, что если даже забить на секюрность и использовать разделители, то не факт, что текст этого разделителя не встретится где-нибудь в теле шифропакета. Понятно, что чем длиннее разделитель, тем меньше шанс коллизии, но всё-таки хотелось бы эту возможность исключить.<br><br>Вот.]]></description>
        <author>Хрен</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369280</guid>
        <pubDate>Wed, 16 Sep 2009 19:29:56 +0000</pubDate>
        <title>TCP_NODELAY</title>
        <link>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369280</link>
        <description><![CDATA[Хрен: Походу, мы друг-друга не особо понимаем =)<br>Приведи пример, как ты себе эту систему видишь. Может я до чего-то элементарного допереть не могу - бывает :)]]></description>
        <author>Хрен</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369268</guid>
        <pubDate>Wed, 16 Sep 2009 19:07:57 +0000</pubDate>
        <title>TCP_NODELAY</title>
        <link>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369268</link>
        <description><![CDATA[Хрен: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Что тебе мешает сначала добавить метки, затем поток зашифровать?</div></div><br>
<br>
Так пакеты шифруются каждый по отдельности на клиенте. А на сервере приходит это нагромождение пакетов, причём вполне возможно, что один из них неполный. Как разделить уже зашифрованные пакеты, и какая разница, были метки в открытых пакетах или нет (в открытых пакетах они, кстати, есть) =) <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2009-09-16T19:11:07+00:00">16.09.09, 19:11</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=282251&view=findpost&p=2369260'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>albom &#064; <time class="tag-quote__quoted-time" datetime="2009-09-16T18:51:55+00:00">16.09.09, 18:51</time></span><div class='quote '>Экранирование escape последовательностой полвека назад придумали .</div></div><br>
Наверно чего-то недопонял. Пример, допустим, 2-х шифртекстов, разделённых этой самой &quot;экранированной&quot; последовательностью, могёшь показать?]]></description>
        <author>Хрен</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369258</guid>
        <pubDate>Wed, 16 Sep 2009 18:48:10 +0000</pubDate>
        <title>TCP_NODELAY</title>
        <link>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369258</link>
        <description><![CDATA[Хрен: Вызвано это тем, что идут шифрованные данные.<br>Во-первых, понижается безопасность, т.к. можем этим выдать смысл зашифрованных данных.<br>Во-вторых, нет 100% гарантии, что в криптотексте не получится набора символов, аналогичных метке.<br><br>Всё это не потому что мне так хочется =)]]></description>
        <author>Хрен</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369173</guid>
        <pubDate>Wed, 16 Sep 2009 16:34:41 +0000</pubDate>
        <title>TCP_NODELAY</title>
        <link>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369173</link>
        <description><![CDATA[Хрен: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>И разделителей или других псевдозаголовков тоже ставить нельзя. Короче, модификацию протокола не предлагать =)</div></div><br>
<br>
К сожалению, это не вариант :( <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2009-09-16T16:53:50+00:00">16.09.09, 16:53</time></span></span><br>
Тогда такой вопрос... При работе с RAW сокетами предусмотрен какой-нибудь автоматический фильтр по портам хотя бы? Или мы будем обязательно принимать все пакеты, которые поступили на комп, и разбирать всё придётся вручную?]]></description>
        <author>Хрен</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369133</guid>
        <pubDate>Wed, 16 Sep 2009 15:01:21 +0000</pubDate>
        <title>TCP_NODELAY</title>
        <link>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369133</link>
        <description><![CDATA[Alexandoros: Размер пакета включать в пакет. Расшифровал первый, откусил от общего буфера и т.д.]]></description>
        <author>Alexandoros</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369120</guid>
        <pubDate>Wed, 16 Sep 2009 14:43:09 +0000</pubDate>
        <title>TCP_NODELAY</title>
        <link>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2369120</link>
        <description><![CDATA[Хрен: Т.е. единственный вариант, получается, SOCK_RAW и парсить?]]></description>
        <author>Хрен</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2368994</guid>
        <pubDate>Wed, 16 Sep 2009 13:05:20 +0000</pubDate>
        <title>TCP_NODELAY</title>
        <link>https://forum.sources.ru/index.php?showtopic=282251&amp;view=findpost&amp;p=2368994</link>
        <description><![CDATA[Хрен: Доброго времени всем&#33;<br>Ситуация у меня следующая:<br>Есть клиент, который передаёт небольшие (до 128 байт) пакеты данных разной длины по протоколу TCP. И есть сервер, которые эти данные принимает.<br>Дело в том, что пакеты на клиенте шифруются, каждый отдельно. Следовательно, для их успешной расшифровки необходимо их принимать так же отдельно. Но коварный (в нашем случае) алгоритм Нейгла не даёт принимать все пакеты отдельно, и приходят они иногда склеенными, разорванными и не подлежащими разбиению на правильные куски.<br>Я подумываю о TCP_NODELAY, но на довольно многих форумах встречал высказывания, которые гласили, что TCP_NODELAY, дескать, ересь, и программистам, которые его используют, вечная анафема =)<br><br>Кто что посоветовать могёт по этому поводу? Протокол на UDP менять нельзя. И разделителей или других псевдозаголовков тоже ставить нельзя. Короче, модификацию протокола не предлагать =)<br><br>Заранее спасибо]]></description>
        <author>Хрен</author>
        <category>C/C++: Сетевое программирование</category>
      </item>
	
      </channel>
      </rss>
	