<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Artem Baykov</title><author><name>Artem Baykov</name></author><id>https://teletype.in/atom/baykart</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/baykart?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@baykart?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=baykart"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/baykart?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-09T06:54:44.359Z</updated><entry><id>baykart:W0wwZT9Qv_C</id><link rel="alternate" type="text/html" href="https://teletype.in/@baykart/W0wwZT9Qv_C?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=baykart"></link><title>Как купить Velocidrone за биткоин</title><published>2023-01-03T20:44:38.721Z</published><updated>2023-01-03T20:44:38.721Z</updated><summary type="html">Периодически встречаю вопрос о том, как получить Velocidrone в РФ в условиях санкций. 
Опишу здесь путь, которым я решил этот вопрос для себя.</summary><content type="html">
  &lt;p id=&quot;WgqZ&quot;&gt;Периодически встречаю вопрос о том, как получить Velocidrone в РФ в условиях санкций. &lt;br /&gt;Опишу здесь путь, которым я решил этот вопрос для себя.&lt;/p&gt;
  &lt;p id=&quot;9VYY&quot;&gt;Чтобы получить Velocidrone за биткоины нужен настроенный VPN (по крайней мере для первого запуска он необходим) и свой криптокошелек. &lt;/p&gt;
  &lt;p id=&quot;dVn9&quot;&gt;VPN, встроенный в браузер (плагин для браузера и тп) не подойдет. Лучше вообще поднять приватный. Стоит это удовольствие всего 200 рублей в месяц. &lt;br /&gt;Не буду повторяться и писать как это сделать, но процесс настройки хорошо описан, например, тут: &lt;a href=&quot;https://vdt.the23.ru/?vpn&quot; target=&quot;_blank&quot;&gt;https://vdt.the23.ru/?vpn&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;PeXg&quot;&gt;Создать биткоин кошелек легче всего в приложении Bitcoin Wallet, ссылки на него в сторах тут: &lt;a href=&quot;https://wallet.bitcoin.com/&quot; target=&quot;_blank&quot;&gt;https://wallet.bitcoin.com/&lt;/a&gt;&lt;br /&gt;Получить номер своего биткоин кошелька в приложении так: &amp;quot;Мой BTC Кошелек&amp;quot; -&amp;gt; &amp;quot;Получить&amp;quot; -&amp;gt; &amp;quot;Скопировать адрес&amp;quot;.&lt;/p&gt;
  &lt;p id=&quot;CLF9&quot;&gt;Два основных способа пополнения кошелька - это биржа и обменники. &lt;br /&gt;Хоть биржа и кажется лучшим вариантом, но для перевода небольшой суммы я предпочел воспользоваться обменником (решил, что лучше потеряю пару тысяч рублей, чем солью сканы своих документов непонятно кому). &lt;/p&gt;
  &lt;p id=&quot;YM2D&quot;&gt;Список обменников с отзывами можно посмотреть на сайте-агрегаторе &lt;a href=&quot;https://www.bestchange.ru/list.html&quot; target=&quot;_blank&quot;&gt;https://www.bestchange.ru/list.html&lt;/a&gt;&lt;br /&gt;Я долго не выбирал, смотрел на минимальную сумму обмена и в итоге воспользовался этим: &lt;a href=&quot;https://onemoment.cc/&quot; target=&quot;_blank&quot;&gt;https://onemoment.cc/&lt;/a&gt;. Но не агитирую пользоваться именно им. &lt;br /&gt;И думаю, что схема обмена плюс-минус везде одинаковая: указываешь сумму перевода, номер карты откуда будешь делать перевод и своего биткоин-кошелька в ответ получаешь номер карты куда и надо сделать перевод.&lt;br /&gt;Полагаю, что номер своей карты нужно указывать для того, чтобы обменник в автоматическом режиме смог сопоставить запрос на обмен с банковской транзакцией. Но на всякий случай я создал виртуальную карту в приложении Тинькофф специально для этого перевода, после чего сразу ее удалил.&lt;/p&gt;
  &lt;p id=&quot;TPwW&quot;&gt;Тут стоит упомянуть, что Velocidrone стоит чуть меньше 20$, но фактически нужно будет заплатить на несколько долларов больше - это плата майнерам за проведение транзакции. &lt;br /&gt;В моем случае эта &amp;quot;комиссия&amp;quot; составила чуть больше 2$. Об этом стоило подумать еще на этапе пополения криптокошелька, но  я продолбал этот момент и пришлось покупать биткоин еще раз, а из-за минимальной суммы обмена в обменнике я на это потратил чуть больше, чем если бы рассчитал все заранее.&lt;/p&gt;
  &lt;p id=&quot;LMt4&quot;&gt;Кстати, транзакция в блокчейне занимает время, около получаса, но ее выполнение можно отследить, например, в том же приложении Bitcoin Wallet.&lt;/p&gt;
  &lt;p id=&quot;AJSI&quot;&gt;С кошельком, набитым криптоденьгами, можно отправиться наконец за покупкой. Но не на &lt;a href=&quot;https://www.velocidrone.com/&quot; target=&quot;_blank&quot;&gt;www.velocidrone.com&lt;/a&gt;, а на &lt;a href=&quot;https://www.team-blacksheep.com/simulator&quot; target=&quot;_blank&quot;&gt;www.team-blacksheep.com/simulator&lt;/a&gt;. &lt;/p&gt;
  &lt;p id=&quot;j4lP&quot;&gt;Именно на сайте TBS можно купить симулятор за крипту. Процесс оформления заказа описывать смысла нет, там все просто. Единственное, что можно упомянуть - это то, что для покупки нужно зарегистрировать там аккаунт, который после покупки будет перенесен на сайт &lt;a href=&quot;https://www.velocidrone.com/&quot; target=&quot;_blank&quot;&gt;velocidrone.com.&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;k35X&quot;&gt;После оформления заказа надо дождаться появления способов оплаты (почему-то они появляются на странице не сразу) и выбрать &amp;quot;PAY VIA CRYPTO&amp;quot;. После выбора валюты оплаты (в нашем случае биткоин) должен появиться qr-код, который сканируется через приложение Bitcoin Wallet (&amp;quot;Мой BTC Кошелек&amp;quot; -&amp;gt; &amp;quot;Отправить&amp;quot; -&amp;gt; &amp;quot;Сканировать QR-код&amp;quot;). &lt;/p&gt;
  &lt;p id=&quot;rd5s&quot;&gt;После завершения оплаты надо включить VPN, перейти на &lt;a href=&quot;https://www.velocidrone.com/account/my_licenses&quot; target=&quot;_blank&quot;&gt;https://www.velocidrone.com/account/my_licenses&lt;/a&gt; (надо войти под той же учетной записью, которая была зарегестрирована ранее на &lt;a href=&quot;https://www.team-blacksheep.com/simulator&quot; target=&quot;_blank&quot;&gt;www.team-blacksheep.com&lt;/a&gt;) и скачать оттуда симулятор.&lt;br /&gt;После установки симулятора на компьютер надо запустить его не выключая VPN (vpn необходим по крайней мере при первом запуске), и используя все ту же учетку завершить регистрацию приложения.&lt;/p&gt;
  &lt;p id=&quot;MoZl&quot;&gt;Все, на этом процесс получения velocidrone завершен. &lt;br /&gt;К сожалению, описанный выше способ можно использовать для получения только самого симулятора, дополнения к нему в настоящий момент нельзя купить через &lt;a href=&quot;https://www.team-blacksheep.com/simulator&quot; target=&quot;_blank&quot;&gt;www.team-blacksheep.com&lt;/a&gt; за криптовалюту.&lt;/p&gt;
  &lt;p id=&quot;4rJ3&quot;&gt;(&lt;em&gt;Информация в тексте не является индивидуальной инвестиционной рекомендацией. Решение об использовании биткоина и любых других финансовых инструментов пользователь принимает самостоятельно.&lt;/em&gt;)&lt;/p&gt;

</content></entry><entry><id>baykart:z33GiRtLMBT</id><link rel="alternate" type="text/html" href="https://teletype.in/@baykart/z33GiRtLMBT?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=baykart"></link><title>Почему работает автокорреляционный метод в криптоанализе</title><published>2021-12-15T10:42:19.719Z</published><updated>2021-12-15T11:07:43.202Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/83/8f/838f9e2c-55d0-45e2-abd6-55f26677d38d.jpeg"></media:thumbnail><tt:hashtag>шифр</tt:hashtag><tt:hashtag>шифр_виженера</tt:hashtag><tt:hashtag>метод_фридмана</tt:hashtag><tt:hashtag>криптоанализ</tt:hashtag><tt:hashtag>криптография</tt:hashtag><tt:hashtag>xor</tt:hashtag><tt:hashtag>xor_шифрование</tt:hashtag><summary type="html">Метод, предложенный Уильямом Фридманом, известен и пременяется для криптоанализа шифра Виженера уже более ста лет.
Но по какой-то причине сложно найти простое обьяснение работы этого метода с парой примеров &quot;на пальцах&quot;.</summary><content type="html">
  &lt;p id=&quot;rGdj&quot;&gt;&lt;a href=&quot;https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%B4%D0%B5%D0%BA%D1%81_%D1%81%D0%BE%D0%B2%D0%BF%D0%B0%D0%B4%D0%B5%D0%BD%D0%B8%D0%B9&quot; target=&quot;_blank&quot;&gt;Метод, предложенный Уильямом Фридманом&lt;/a&gt;, известен и пременяется для криптоанализа &lt;a href=&quot;https://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D1%84%D1%80_%D0%92%D0%B8%D0%B6%D0%B5%D0%BD%D0%B5%D1%80%D0%B0&quot; target=&quot;_blank&quot;&gt;шифра Виженера&lt;/a&gt; уже более ста лет.&lt;br /&gt;Но по какой-то причине сложно найти простое обьяснение работы этого метода с парой примеров &amp;quot;на пальцах&amp;quot;.&lt;/p&gt;
  &lt;p id=&quot;eSL1&quot;&gt;Кстати, надо сказать, что описанный выше &lt;a href=&quot;https://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D1%84%D1%80_%D0%92%D0%B8%D0%B6%D0%B5%D0%BD%D0%B5%D1%80%D0%B0&quot; target=&quot;_blank&quot;&gt;автокорреляционный метод&lt;/a&gt; применим в целом к &lt;a href=&quot;https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D0%B8%D0%B0%D0%BB%D1%84%D0%B0%D0%B2%D0%B8%D1%82%D0%BD%D1%8B%D0%B9_%D1%88%D0%B8%D1%84%D1%80&quot; target=&quot;_blank&quot;&gt;полиалфовитным шифрам&lt;/a&gt;, а не только к шифру Виженера. &lt;br /&gt;Более того, особый интерес с этой точки зрения представляет шифрование операцией XOR с ключом ограниченного размера (циклически повторяющемся для соответствия длине открытого текста).&lt;/p&gt;
  &lt;h1 id=&quot;Hu5j&quot;&gt;Итак, почему же работает метод Фридмана?&lt;/h1&gt;
  &lt;p id=&quot;8Hwk&quot;&gt;Алгоритм нахождения длины ключа шифрования этим способом заключается в поочередном сравнении зашифрованной строки со строками, полученными из нее же сдвигом на 1, 2, 3...n символов вправо. Длина ключа будет равна сдвигу, на котором индекс совпадений (обратнопропорциональный &lt;a href=&quot;https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%B4%D0%B5%D0%BA%D1%81_%D1%81%D0%BE%D0%B2%D0%BF%D0%B0%D0%B4%D0%B5%D0%BD%D0%B8%D0%B9&quot; target=&quot;_blank&quot;&gt;расстоянию Хэмминга&lt;/a&gt;) будет близок к известному среднему его значению для используемого языка.&lt;/p&gt;
  &lt;p id=&quot;bi75&quot;&gt;Это объясняется парой моментов:&lt;/p&gt;
  &lt;p id=&quot;zyFb&quot;&gt;&lt;strong&gt;1. Если шифротекст разделить на блоки, длина которых будет кратна длине ключа шифрования, и сравнить их попарно между собой, то количество совпадающих между ними символов будет таким же, как если бы сравнивались те же самые блоки, но из открытого текста. &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;BIUY&quot;&gt;Потому что символы, находящиеся на одной и той же позиции в этих блоках шифруются одним и тем же символом ключа шифрования.&lt;br /&gt;Сравнение блоков шифротекста любой другой длины ближе к сравнению двух случайных наборов символов.&lt;/p&gt;
  &lt;p id=&quot;eRRL&quot;&gt;&lt;strong&gt;2. При сравнении двух осмысленных строк (а в нашем случае строки и ее копии, сдвинутой на несколько символов) количество совпадающих символов будет больше, чем при сравнении двух строк, состоящих из просто случайных символов. &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;Cog5&quot;&gt;Так происходит из-за того, что некоторые буквы встречаются в словах чаще, чем другие. Этот перевес в сторону части алфавита и приводит к аномалиям при сравнении реальных тестов.&lt;br /&gt;&lt;br /&gt;Как раз это мне не кажется интуитивно понятным, но это очень легко объяснить. &lt;br /&gt;Для простоты представим, что существует язык, алфавит которого состоит всего из двух букв: А и Б. &lt;/p&gt;
  &lt;p id=&quot;nYOv&quot;&gt;Случайно сгенерированная строка в этом языке будет содержать примерно одинаковое количество обеих букв алфавита. &lt;br /&gt;Тогда вероятность того, что при сравнении ее с другой случайной строкой, два символа на какой-то определенной позиции будут совпадать, составляет интуитивно понятные 50%.&lt;/p&gt;
  &lt;p id=&quot;v4j0&quot;&gt;Теперь представим, что в &amp;quot;реальных&amp;quot; текстах этого выдуманного языка буква А встречается в 9 раз чаще, чем буква Б.&lt;br /&gt;Так же интуитивно понятно, что две строки, соответствующие такой пропорции (почти полностью состоящие из одной буквы) будут иметь в среднем больше совпадающих символов, чем две случайные строки. &lt;/p&gt;
  &lt;p id=&quot;FsOl&quot;&gt;Если же взять больший по размеру алфавит, но представить, что он используется в языке, слова которого все так же на 90% состоят из одной буквы, то разница в индексе совпадений между реальными текстами и случайными строками будет еще больше.&lt;br /&gt;&lt;br /&gt;В существующих языках из-за меньшего разброса частот появления разных букв в словах, конечно, такие корреляции будут намного реже. Но количество совпадений между осмысленными текстами и случайными строками все равно будет отличаться.&lt;/p&gt;
  &lt;h1 id=&quot;lG7b&quot;&gt;XOR вместо таблицы Виженера&lt;/h1&gt;
  &lt;p id=&quot;avNE&quot;&gt;Автокорреляционный метод, очевидно, одинаково применим не только к шифру Виженера, но и к другим полиалфавитным шифрам.&lt;/p&gt;
  &lt;p id=&quot;BXU3&quot;&gt;Но если зашифрованное сообщение получено операцией XOR между символами ключа и исходного текста, то в некоторых случаях для поиска длины ключа эффективнее будет использовать бинарное представление шифротекста вместо явного посимвольного сравнения.&lt;/p&gt;
  &lt;p id=&quot;Z2Cq&quot;&gt;Этому способствует совокупность 3 фактов:&lt;/p&gt;
  &lt;p id=&quot;gpcg&quot;&gt;&lt;strong&gt;1. Поиск несовпадающих битов можно свести так же к операции исключающего ИЛИ между двумя сравниваемыми подстроками и последующим подсчетом разрядов результата, равных единице.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;IUaV&quot;&gt;&lt;strong&gt;2. Если над зашифрованной строкой и ее копией, циклически сдвинутой на N символов, выполнить операцию побитового исключающего &amp;quot;ИЛИ&amp;quot;, то количество переменных, влияющих на результат будет зависеть от того, кратно ли N длине ключа шифрования. &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;IiWc&quot;&gt;И вот почему:&lt;br /&gt;Так как каждый бит шифротекста в процессе шифрования и сам был получен XOR-ом над определенными разрядами открытого текста и ключа, в операции фактически участвуют четыре значения: два бита открытого текста (из оригинальной и сдвинутой строки: P1, P2) и два соответствующих им бита ключа (K1, K2):&lt;/p&gt;
  &lt;pre id=&quot;OSCq&quot;&gt;(i-ый бит символа шифротекста) XOR ((i+N)-ый бит символа шифротекста) = 
(P1 XOR K1) XOR (P2 XOR K2)&lt;/pre&gt;
  &lt;p id=&quot;xmct&quot;&gt;Это в общем случае. Но если N кратен длине ключа шифрования, то символы из двух рассматриваемых строк были получены шифрованием одним и тем же символом ключа (K). &lt;br /&gt;А это значит, что в силу самообратимости и идемпотентности исключающего &amp;quot;ИЛИ&amp;quot;, ключ в этом случае вообще перестает влиять на конечный результат:&lt;/p&gt;
  &lt;pre id=&quot;rlBP&quot;&gt;(P1 XOR K) XOR (P2 XOR K) = 
(P1 XOR P2) XOR (K XOR K) = 
(P1 XOR P2)&lt;/pre&gt;
  &lt;p id=&quot;fCHs&quot;&gt;Поэтому для сдвигов шифротекста, кратных длине ключа, каждый разряд результата будет зависеть от двух битов, а для не кратных - от четырех.&lt;/p&gt;
  &lt;p id=&quot;znjv&quot;&gt;&lt;strong&gt;3. В некоторых случаях вероятность получить 1 в результате XOR-a с 4-мя операндами больше, чем с 2-мя. Это проще объяснить на монетке. &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;YSwb&quot;&gt;Допустим, есть монета, которая чаще падает орлом вверх. Если подбросить такую монету четное количество раз, то, вероятнее всего, &amp;quot;орел&amp;quot; выпадет тоже в четном количестве случаев. &lt;br /&gt;Все потому, что вообще наиболее ожидаемый результат нескольких бросков такой монетки - &amp;quot;все орлы&amp;quot;. &lt;/p&gt;
  &lt;p id=&quot;ul2U&quot;&gt;И именно из-за этой комбинации происходит &amp;quot;перекос&amp;quot; вероятности в сторону четного количества выпавших орлов при четном количестве бросков. Но с увеличением количества бросков падает вероятность того, что не выпадет ни одной решки. &lt;/p&gt;
  &lt;p id=&quot;aExu&quot;&gt;То есть выкинуть 4-ех орлов подряд сложнее, чем 2-ух. И, следовательно, вероятность выпадения нечетного количества орлов в случае 4-ех бросков хоть и меньше 50%, но больше, чем в случае 2-ух.&lt;/p&gt;
  &lt;p id=&quot;0kIS&quot;&gt;Немного цифр для наглядности:&lt;/p&gt;
  &lt;pre id=&quot;vqkP&quot; data-lang=&quot;markdown&quot;&gt;| Комбинация 2 битов                                     | Частота (при вероятности единицы 90%) | Частота (при вероятности единицы 60%) |
|--------------------------------------------------------|---------------------------------------|---------------------------------------|
| 00                                                     | 0.01                                  | 0.16                                  |
| 11                                                     | 0.81                                  | 0.36                                  |
| Любая комбинация с четным количеством нулей и единиц   | 0.82                                  | 0.52                                  |
| 01                                                     | 0.09                                  | 0.24                                  |
| 10                                                     | 0.09                                  | 0.24                                  |
| Любая комбинация с нечетным количеством нулей и единиц | 0.18                                  | 0.48                                  |&lt;/pre&gt;
  &lt;p id=&quot;ln7X&quot;&gt;&lt;/p&gt;
  &lt;pre id=&quot;k2p0&quot; data-lang=&quot;markdown&quot;&gt;| Комбинация 4 битов                                     | Частота (при вероятности единицы 90%) | Частота (при вероятности единицы 60%) |
|--------------------------------------------------------|---------------------------------------|---------------------------------------|
| 0000                                                   | 0.0001                                | 0.0256                                |
| 0011                                                   | 0.0081                                | 0.0576                                |
| 0101                                                   | 0.0081                                | 0.0576                                |
| 0110                                                   | 0.0081                                | 0.0576                                |
| 1001                                                   | 0.0081                                | 0.0576                                |
| 1010                                                   | 0.0081                                | 0.0576                                |
| 1100                                                   | 0.0081                                | 0.0576                                |
| 1111                                                   | 0.6561                                | 0.1296                                | 
| Любая комбинация с четным количеством нулей и единиц   | 0.7048                                | 0.5008                                |
| 0001                                                   | 0.0009                                | 0.0384                                |
| 0010                                                   | 0.0009                                | 0.0384                                |
| 0100                                                   | 0.0009                                | 0.0384                                |
| 1000                                                   | 0.0009                                | 0.0384                                |
| 0111                                                   | 0.0729                                | 0.0864                                |
| 1011                                                   | 0.0729                                | 0.0864                                |
| 1101                                                   | 0.0729                                | 0.0864                                |
| 1110                                                   | 0.0729                                | 0.0864                                | 
| Любая комбинация с нечетным количеством нулей и единиц | 0.2952                                | 0.4992                                |&lt;/pre&gt;
  &lt;p id=&quot;7wC2&quot; data-align=&quot;center&quot;&gt;* * * &lt;/p&gt;
  &lt;p id=&quot;eL7z&quot;&gt;Таким образом эффективность этого способа зависит от бинарного представления символов алфавита, используемого в исходном открытом тексте. А точнее от наличия &amp;quot;перекоса&amp;quot; в распределении вероятностей появления 0 или 1 на определенной позиции в двоичном представлении символов алфавита. &lt;/p&gt;
  &lt;p id=&quot;YaKr&quot;&gt;Для примера рассмотрим представление букв латинского алфавита в ASCII-кодировке:&lt;/p&gt;
  &lt;pre id=&quot;4bRT&quot; data-lang=&quot;markdown&quot;&gt;| Символ | Двоичное представление | Символ | Двоичное представление |
|--------|------------------------|--------|------------------------|
| A      | 01000001               | a      | 01100001               |
| B      | 01000010               | b      | 01100010               |
| C      | 01000011               | c      | 01100011               |
| D      | 01000100               | d      | 01100100               |
| E      | 01000101               | e      | 01100101               |
| F      | 01000110               | f      | 01100110               |
| G      | 01000111               | g      | 01100111               |
| H      | 01001000               | h      | 01101000               |
| I      | 01001001               | i      | 01101001               |
| J      | 01001010               | j      | 01101010               |
| K      | 01001011               | k      | 01101011               |
| L      | 01001100               | l      | 01101100               |
| M      | 01001101               | m      | 01101101               |
| N      | 01001110               | n      | 01101110               |
| O      | 01001111               | o      | 01101111               |
| P      | 01010000               | p      | 01110000               |
| Q      | 01010001               | q      | 01110001               |
| R      | 01010010               | r      | 01110010               |
| S      | 01010011               | s      | 01110011               |
| T      | 01010100               | t      | 01110100               |
| U      | 01010101               | u      | 01110101               |
| V      | 01010110               | v      | 01110110               |
| W      | 01010111               | w      | 01110111               |
| X      | 01011000               | x      | 01111000               |
| Y      | 01011001               | y      | 01111001               |
| Z      | 01011010               | z      | 01111010               |&lt;/pre&gt;
  &lt;p id=&quot;3Zyn&quot;&gt;Видно, что два старших бита одинаковы для всех букв в обоих регистрах и результат XOR-a по ним всегда будет равен 0, поэтому их можно сразу выбросить из рассмотрения. &lt;/p&gt;
  &lt;p id=&quot;1olC&quot;&gt;Для всех остальных разрядов вероятности появления единицы/нуля будут примерно такими:&lt;/p&gt;
  &lt;pre id=&quot;ZIfk&quot; data-lang=&quot;markdown&quot;&gt;| Разряд        | 5   | 4    | 3    | 2    | 1   | 0   |
|---------------|-----|------|------|------|-----|-----|
| Вероятность 1 | 0.5 | 0.42 | 0.42 | 0.46 | 0.5 | 0.5 |
| Вероятность 0 | 0.5 | 0.58 | 0.58 | 0.54 | 0.5 | 0.5 |&lt;/pre&gt;
  &lt;p id=&quot;O4Ir&quot;&gt;Вероятность появления единицы в 2, 3 и 4 разрядах каждого символа ниже, чем вероятность появления нуля. А это как раз тот случай, который попадает по условие 3-го пункта выше. &lt;/p&gt;
  &lt;p id=&quot;PngD&quot;&gt;Так что даже если исходный текст до шифрования представлял собой строку из случайных букв в ASCII-кодировке, все равно есть вероятность найти длину ключа через работу с битовым представлением шифротекста.&lt;/p&gt;
  &lt;tt-tags id=&quot;iTK1&quot;&gt;
    &lt;tt-tag name=&quot;шифр&quot;&gt;#шифр&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;шифр_виженера&quot;&gt;#шифр_виженера&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;метод_фридмана&quot;&gt;#метод_фридмана&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;криптоанализ&quot;&gt;#криптоанализ&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;криптография&quot;&gt;#криптография&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;xor&quot;&gt;#xor&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;xor_шифрование&quot;&gt;#xor_шифрование&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry></feed>