Рейтинг:6

Почему расчет мода необходим при шифровании одноразового блокнота?

флаг de

Учитывая, что английские алфавиты зашифрованы, почему необходимо вычисление по модулю 26 после добавления дополнения к обычному тексту. Это просто добавляет еще один уровень шифрования или используется для того, чтобы две буквы могли заканчиваться одним и тем же символом в шифре? 3 по модулю 26 равно 3, а 29 по модулю 26 равно 3.

fgrieu avatar
флаг ng
Подсказки: (1) с модом, который используется, а затем не используется, спросите себя следующее: каково максимально возможное значение зашифрованного текста? Когда это произойдет? Может ли противник, заметив это значение в зашифрованном тексте, узнать что-нибудь об открытом тексте? (2) Копните глубже: предположим, что открытый текст состоит из случайных независимых символов и случайного заполнения: сколько информации (в битах или долях на символ открытого текста) извлекается из открытого текста с использованием мода и не используется?
jjj avatar
флаг cn
jjj
Никакие две буквы не заканчиваются одним и тем же символом. Подумайте об этом, как будто алфавит повторяется после 25. Таким образом, 26 снова будет «а». 3 и 29 соответствуют одной и той же букве. Мод просто уменьшает число, так что вам нужно только от 0 до 25
Joshua avatar
флаг cn
Я единственный, чье первое использование One Time Pad использовало пятизначные числа, причем числа были далеко не на обоих концах? Если бы это был случайный гауссовский, а не случайный равномерный, он пропускал бы очень мало информации.
Paul Uszak avatar
флаг cn
@ Джошуа Нет, у вас не может быть гауссового ключа OTP. Если только вы не пропустили экстрактор случайности из вашего TRNG.
Рейтинг:21
флаг fr

Есть две основные причины.

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

Во-вторых, что более важно, неиспользование здесь модульной арифметики приводит к утечке информации, иногда большой части информации о данных. Например, если мы используем диапазон от 0 до 25 для представления наших букв, если мы видим 0 в качестве зашифрованного вывода, мы знаем, что и подушечка, и ввод были 0, и если мы видим 50, мы знаем, что оба панель и ввод были 25. Точно так же 49 говорит нам, что два задействованных числа были 24 и 25 в некотором порядке. С такой информацией и статистическим анализом мы, вероятно, сможем расшифровать зашифрованный текст.

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

fgrieu avatar
флаг ng
«вероятно, мы сможем расшифровать зашифрованный текст»: если предположить, что английский без пробелов, я думаю, это будет сложно. Изучение того, когда это можно сделать, на самом деле интересная задача!
флаг jp
@fgrieu Сложно, но не обязательно невозможно.
John Coleman avatar
флаг jp
@user253751 user253751 С потоком случайных ключей я бы сказал, что атака только зашифрованным текстом, которая успешно восстанавливает открытый текст, обычно невозможна. Что вы можете сделать, так это исключить некоторые открытые тексты-кандидаты, так что это определенно приведет к утечке информации, но, как правило, недостаточно для полного взлома. Для некоторых более коротких сообщений может быть достаточно информации для удачного предположения, особенно если есть некоторая предварительная информация о вероятном содержании открытого текста.
fgrieu avatar
флаг ng
Если бы открытый текст был случайным, мы бы узнали — 0,7191 бит/символ, что, я думаю, недостаточно для восстановления английского языка даже с полунадежной точностью. То, сколько мы узнаем для открытого текста конкретного языка, зависит от частоты букв и значения, присвоенного каждой букве, но я думаю, что это остается значительно меньше, чем 1 бит/символ, и это все еще немного.
флаг cn
Учитывая, что вопрос касается конкретно мода 26, я предполагаю, что сообщение будет на простом английском языке с незашифрованными знаками препинания и пробелами. Это было бы глупо, если вы пытаетесь обеспечить настоящую безопасность. Вы можете создавать таблицы на основе вероятности каждой буквы с учетом значения и учитывать, как часто встречается буква и какой диапазон возможен. Вы можете сделать то же самое для слов и ограничить его возможными и вероятными буквами, чтобы получить вероятность для каждого слова. Затем вы можете ограничить это синтаксическим анализом языка и любой известной вам информацией о сообщении...
флаг cn
Например, скажем, исходное сообщение «a-z», и без мода значения могут быть добавлены как «A-Z» (т. Е. «e» равно 4, добавление 21 дает «z», добавление 22 дает «A» и т. д.). Если в зашифрованном тексте есть буква «d», вы знаете, что буква должна быть a, b, c или d. Если зашифрованным словом является «аВ», вы знаете, что это «а» и какая-то другая буква от с до z. Это могут быть «ат», «ан», «ас», но не «адж», «ао», «ап», потому что это не слова. «as» — это объявление или союз и 17-е место среди самых популярных английских слов, «at» — 20-е место и предлог, «an» — 32-е место и артикль. Вы не смогли расшифровать...
флаг cn
сообщение со 100% уверенностью в большинстве случаев, но вы можете написать программное обеспечение, чтобы найти наиболее *вероятные* расшифровки без особых усилий.
John Coleman avatar
флаг jp
@JasonGoemaat В классической криптографии пробелы и знаки препинания * подавляются *, а не остаются незашифрованными. Конечно, это глупо с точки зрения истинной безопасности, но расстояние уникальности со случайным ключом все равно будет близко к полной длине ключа. Вы можете придумать наиболее вероятную расшифровку, но, учитывая астрономически большое количество возможных расшифровок, рассматриваемая вероятность может быть значительно ниже 1%.
dan04 avatar
флаг in
Хорошо, чтобы проверить эту идею, вот сообщение, в котором каждая буква закодирована как A=0...Z=25 плюс псевдослучайный ключевой номер от 0 до 25: 13-28-30-10-38-22 -38-21-36-8-21-15-15-30-39-14-28-16-19-20-39-19-25-18-14-21-26-36-41-31-23 -24-21-22-14-14-17-35-11-7-31-28-23-11-36-26-42-20-40-29-12-11-31-28-37.
John Coleman avatar
флаг jp
@dan04 интересная идея.Существует `379795625645561400500295616557020644794325322956800000000000000000000` возможных расшифровок, хотя подавляющее большинство не соответствует разумному английскому языку. Глядя только на первые три буквы, легко найти несколько трехбуквенных слов, которые можно зашифровать таким образом (и, конечно, это не обязательно должно начинаться с трехбуквенного слова). Чтобы добиться более серьезного прогресса, я бы создал [DAWG](https://en.wikipedia.org/wiki/Deterministic_acycle_finite_state_automaton) для большого списка слов и написал сценарий для преобразования исходных последовательностей зашифрованного текста в пути через него.
флаг jp
@ dan04 Я собираюсь предположить, что это не «поздравления, драматическая иллюстрация, привилегии milfhunter» (да, «milfhunter» серьезно фигурирует в списке 10 000 слов Google). Но «поздравляю» — весьма вероятное начальное слово, учитывая контекст, и «драматичный-» также достаточно вероятен. Вероятность правильного угадывания длинных слов гораздо выше, потому что на них больше ограничений. Конечно, это могло быть просто совпадением, что "поздравление" подходит. Я не пробовал более мелкие слова, такие как "поздравляю, у вас есть" или "поздравляю, это"
dan04 avatar
флаг in
@ user253751: «Поздравляю» — действительно предполагаемое первое слово. Теперь вам просто нужно найти комбинацию других английских слов, которая (после удаления знаков препинания и пробелов) соответствует регулярному выражению `[A-O][D-Z][A-Q][A-T][A-U][O-Z][A-T][A-Z][A-S ][A-O][AV][BZ][LZ][QZ][GZ][AX][AY][AV][AW][AAO][AAO][AR][KZ][AL][AH][ G-Z][DZ][A-X][A-L][LZ][BZ][RZ][AU][PZ][EZ][AM][AL][GZ][DZ][MZ]`
флаг jp
@dan04 "драматическая иллюстрация, привилегии milfhunter" - вот такая комбинация :P
John Coleman avatar
флаг jp
@ dan04 «Поздравляем: словари предоставляют множество вариантов: секрет охоты» - это возможная расшифровка, в которой я не уверен. Я написал скрипт для поиска совпадений в сегментах зашифрованного текста, используя список из 10 тысяч слов, и был удивлен тем, как много их было. Если мой сценарий не глючит, есть почти 2000 вариантов следующего слова после «поздравления».Помимо удачных догадок, этот метод шифрования кажется устойчивым к полному восстановлению открытого текста (что, конечно, не означает, что он хорош).
Рейтинг:19
флаг jp
Fax

Не использовать информацию об утечках модуля.

Для английского языка это не так очевидно. С другой стороны, для изображения...

то, что кажется случайным шумом слева, и шумный, но четко опознаваемый смокинг справа

В левой половине используется сложение и модуль, в правой половине используется сложение и деление на два (т.е. половинная яркость).

Paul Uszak avatar
флаг cn
Не уверен, что молодой TUX является подходящим примером (относительно одноразовых паролей), поскольку нечетные значения символов не могут быть разделены на целые числа. Так что, конечно, вы округлили свои значения RBG (целые числа). Вам действительно нужен совершенно другой алгоритм/символ/сопоставление клавиш. Который тогда не был бы равномерно случайным, а скорее какой-то группой.
dan04 avatar
флаг in
@PaulUszak: Чтобы быть технически правильным, выходной формат должен поддерживать значения RGB в диапазоне [0, 510] и использовать сжатие без потерь. Изображение здесь просто приблизительно из-за технических ограничений. Дело в том, что если вы «зашифровываете» растровое изображение и получаете что-то, что легко распознается человеческим глазом (хотя и со случайным «шумом»), то у вас действительно плохой алгоритм шифрования.
Fax avatar
флаг jp
Fax
@PaulUszak Конечно, можно создать 9-битное изображение без потерь без деления и округления, но даже если у вас есть монитор, способный его отображать, это не изменит вывод.
Рейтинг:3
флаг cn

Это не.

Шифрование/дешифрование может быть выполнено любым удобным для вас способом. Математика вообще не нужна. Все, что он представляет, — это отображение 1:1 (биекция) между сообщением и зашифрованным текстом.Важно только то, что ключевой материал генерируется в результате действительно случайного (физического) процесса. Просто либо операция по модулю, либо XOR упрощают реализацию на компьютере.

Это шифрование/дешифрование без математики с использованием обратной ДИАНА Таблица:-

Таблица

Также помните, что в криптографии более 26 символов. Есть цифры, знаки препинания (очень важно, так как может изменить смысл предложения при объявлении войны кому-то). Затем перечисляются кодовые слова, вроде 73 (для кого-то что-то значит). Со страницы вики: " JN-25 код, использовавшийся во время Второй мировой войны, использовал кодовую книгу из 30 000 кодовых групп, суперзашифрованных с 30 000 случайных добавок. ". До сих пор вы могли выполнять отображение по модулю 10, поразрядно.

Maarten Bodewes avatar
флаг in
Вопрос звучит так: «Почему необходимо вычисление мода 26 *после добавления блока к обычному тексту*». Ваш пост, безусловно, интересен, но он не отвечает на вопрос. Вторая часть вашего ответа также противоречит предположению в первой строке вопроса: «* Считая, что английский алфавит * должен быть зашифрован»
ilkkachu avatar
флаг ws
и если вы посмотрите, как создается таблица, вы увидите, например. в столбце `N` две записи `Ma` и `Nz` рядом друг с другом. Это говорит о модульной арифметике.
Paul Uszak avatar
флаг cn
@MaartenBodewes Мой ответ правильный, потому что вопрос спорный. Мы можем сделать "A/9" $\to$, что предполагает только дружбу, а не математику.

Ответить или комментировать

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