Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Улучшение шифра Виженера
|
|||
|---|---|---|---|
|
#18+
День добрый. Нужно было простенькое шифрование двоичных данных (байтов). Решил попробовать шифрование Виженера . Решил немного его улучшить. Если есть тут спецы, подскажите правильно ли я делаю. Камнями сильно ни кидайтесь в криптографии я ноль. Собственно, составляю таблицу (256x256). Но при каждой следующей итерации (когда нужно повторять пароль) меняю все символы пароля (делаю циклическое вращение битов). Т.е. в итоге я кодирую не повторяющимся паролем, а уже неким длинным кодом. По идее это же должно увеличить стойкость кода? Также обратил внимание, что если при декодировании использовать пароль, первые N символов которого совпадают с паролем, использованным при кодировании, то можно декодировать первые N байт закодированных данных, т.е. сделать вывод какие символы в пароле были использованы. Ну, например, если кодировалось паролем "abcdefg", а при декодировании использовать пароль "abc", то первые 3 байта данных будут успешно декодированы. Чтобы избежать этого предварительно (перед кодированием/декодированием) циклически вращаю все биты символов пароля на длину пароля. Т.е. ухожу от повторов в одинаковых начальных символах. (?) Также интересует, а если при составлении таблицы шифра в качестве первого значения (0,0) использовать, например, ту же первую букву пароля и уже от нее плясать. Т.е. таблица для каждого пароля будет разная. Опять же должно несколько увеличить стойкость? Могу кинуть исходники. Просто не знаю, разбирают тут такое или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2016, 23:27 |
|
||
|
Улучшение шифра Виженера
|
|||
|---|---|---|---|
|
#18+
Не проще ли в качестве ключа использовать хэш пароля?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 00:31 |
|
||
|
Улучшение шифра Виженера
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Ну наверное, хэш будет правильнее, хотя он нужен длинный. Мне интереснее правильно ли я мыслю в плане составления таблицы, завязанной на пароле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 00:44 |
|
||
|
Улучшение шифра Виженера
|
|||
|---|---|---|---|
|
#18+
DeviLooperРешил немного его улучшить. Шифр Виженера - это сегодня учебный пример того как работает симметричная криптография. Он ни на что ни годен кроме как для наглядных демонстраций самих основ. Далее - твои шаги весьма сложно судить т.к. неясно обозначена цель. Ты решил что-то улучшить. Как ты измерял улучшение? Тоесть должен быть модульный тест который выдает метрику. Вещественное число которое будет показывать "улучшение" в виде каких-то процентов или единиц. К примеру первом кейсе ты береш классический Виженер и 200 рандомных ключей и 30 рандомных текстов. Шифруешь их и детектируешь эту метрику "прочности" или "надежности". Потом во втором кейсе ты берешь своё улучшение и снова повторяешь 200 * 30 = 6000 измерений и выдаешь эту метрику и видишь что она увеличилась к примеру на +2%. Желаю удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 00:46 |
|
||
|
Улучшение шифра Виженера
|
|||
|---|---|---|---|
|
#18+
maytonДалее - твои шаги весьма сложно судить т.к. неясно обозначена цель. Ну просто попытался исправить "видимые на глаз" провалы исходного алгоритма. Как тот же циклически повторяющийся пароль для кодирования. maytonТы решил что-то улучшить. Как ты измерял улучшение? Ну, конечно, проводить тесты я не смогу ввиду незнания этой области. Просто думал, может, так кто-то увидит - имеют ли эти изменения смысл. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 00:58 |
|
||
|
Улучшение шифра Виженера
|
|||
|---|---|---|---|
|
#18+
DeviLooper, да. Мы можем этим заниматься от скуки. И когда мы закончим игры со сдвигами, сложениями по модулю 2 то придем к выводу что нужно взять хороший ключ (на базе пароля) и придумать циклическое (раундовое применение сдвигов и сложений). Так мы плавно изобретём сеть Файстеля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 01:03 |
|
||
|
Улучшение шифра Виженера
|
|||
|---|---|---|---|
|
#18+
DeviLooper, возьми массив нулей и зашифруй своим шифром. Надо не только генерить не повторяющуюся последовательность, надо еще чтобы эта последовательность зависела от шифруемых данных. Чтобы начало не расшифровали - ставишь в начало 4 байта случайного числа, а дальше полезная инфа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 07:01 |
|
||
|
Улучшение шифра Виженера
|
|||
|---|---|---|---|
|
#18+
Dima TЧтобы начало не расшифровали - ставишь в начало 4 байта случайного числа, а дальше полезная инфа. Сугубо пофиг. У Виженера и ему подобных - врождённая уязвимость к атаке по известному открытому тексту. Как ни улучшай. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 11:00 |
|
||
|
Улучшение шифра Виженера
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovDima TЧтобы начало не расшифровали - ставишь в начало 4 байта случайного числа, а дальше полезная инфа. Сугубо пофиг. У Виженера и ему подобных - врождённая уязвимость к атаке по известному открытому тексту. Как ни улучшай. Это было не про Виженера и т.п. а продолжение предыдущей строки моего поста, т.е. корректно так цитировать Dima T...надо еще чтобы эта последовательность зависела от шифруемых данных. Чтобы начало не расшифровали - ставишь в начало 4 байта случайного числа, а дальше полезная инфа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 12:31 |
|
||
|
Улучшение шифра Виженера
|
|||
|---|---|---|---|
|
#18+
DeviLoopermaytonДалее - твои шаги весьма сложно судить т.к. неясно обозначена цель. Ну просто попытался исправить "видимые на глаз" провалы исходного алгоритма. Как тот же циклически повторяющийся пароль для кодирования. maytonТы решил что-то улучшить. Как ты измерял улучшение? Ну, конечно, проводить тесты я не смогу ввиду незнания этой области. Просто думал, может, так кто-то увидит - имеют ли эти изменения смысл. :)Зачем? Если вам надо простое в реализации шифрование - ну возьмите RC4. Двадцать строк кода. И при всех его известных недостатках все равно на порядок лучше всего, что вы сможете придумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2016, 13:45 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39279357&tid=2018468]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 280ms |
| total: | 442ms |

| 0 / 0 |
