powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Улучшение шифра Виженера
10 сообщений из 10, страница 1 из 1
Улучшение шифра Виженера
    #39279347
DeviLooper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый.
Нужно было простенькое шифрование двоичных данных (байтов). Решил попробовать шифрование Виженера .

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

Собственно, составляю таблицу (256x256). Но при каждой следующей итерации (когда нужно повторять пароль) меняю все символы пароля (делаю циклическое вращение битов). Т.е. в итоге я кодирую не повторяющимся паролем, а уже неким длинным кодом.
По идее это же должно увеличить стойкость кода?

Также обратил внимание, что если при декодировании использовать пароль, первые N символов которого совпадают с паролем, использованным при кодировании, то можно декодировать первые N байт закодированных данных, т.е. сделать вывод какие символы в пароле были использованы. Ну, например, если кодировалось паролем "abcdefg", а при декодировании использовать пароль "abc", то первые 3 байта данных будут успешно декодированы.
Чтобы избежать этого предварительно (перед кодированием/декодированием) циклически вращаю все биты символов пароля на длину пароля. Т.е. ухожу от повторов в одинаковых начальных символах. (?)

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

Могу кинуть исходники. Просто не знаю, разбирают тут такое или нет.
...
Рейтинг: 0 / 0
Улучшение шифра Виженера
    #39279355
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не проще ли в качестве ключа использовать хэш пароля?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Улучшение шифра Виженера
    #39279357
DeviLooper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
Ну наверное, хэш будет правильнее, хотя он нужен длинный. Мне интереснее правильно ли я мыслю в плане составления таблицы, завязанной на пароле.
...
Рейтинг: 0 / 0
Улучшение шифра Виженера
    #39279358
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeviLooperРешил немного его улучшить.

Шифр Виженера - это сегодня учебный пример того как работает симметричная криптография.
Он ни на что ни годен кроме как для наглядных демонстраций самих основ.

Далее - твои шаги весьма сложно судить т.к. неясно обозначена цель. Ты решил
что-то улучшить. Как ты измерял улучшение? Тоесть должен быть модульный тест
который выдает метрику. Вещественное число которое будет показывать "улучшение"
в виде каких-то процентов или единиц. К примеру первом кейсе ты береш классический
Виженер и 200 рандомных ключей и 30 рандомных текстов. Шифруешь их и детектируешь
эту метрику "прочности" или "надежности".

Потом во втором кейсе ты берешь своё улучшение и снова повторяешь 200 * 30 = 6000 измерений
и выдаешь эту метрику и видишь что она увеличилась к примеру на +2%.

Желаю удачи.
...
Рейтинг: 0 / 0
Улучшение шифра Виженера
    #39279361
DeviLooper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonДалее - твои шаги весьма сложно судить т.к. неясно обозначена цель.
Ну просто попытался исправить "видимые на глаз" провалы исходного алгоритма. Как тот же циклически повторяющийся пароль для кодирования.

maytonТы решил что-то улучшить. Как ты измерял улучшение?
Ну, конечно, проводить тесты я не смогу ввиду незнания этой области. Просто думал, может, так кто-то увидит - имеют ли эти изменения смысл. :)
...
Рейтинг: 0 / 0
Улучшение шифра Виженера
    #39279363
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeviLooper, да. Мы можем этим заниматься от скуки.

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

Так мы плавно изобретём сеть Файстеля.
...
Рейтинг: 0 / 0
Улучшение шифра Виженера
    #39279380
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeviLooper, возьми массив нулей и зашифруй своим шифром.

Надо не только генерить не повторяющуюся последовательность, надо еще чтобы эта последовательность зависела от шифруемых данных.
Чтобы начало не расшифровали - ставишь в начало 4 байта случайного числа, а дальше полезная инфа.
...
Рейтинг: 0 / 0
Улучшение шифра Виженера
    #39279454
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЧтобы начало не расшифровали - ставишь в начало 4 байта случайного числа, а дальше
полезная инфа.

Сугубо пофиг. У Виженера и ему подобных - врождённая уязвимость к атаке по известному
открытому тексту. Как ни улучшай.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Улучшение шифра Виженера
    #39279560
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovDima TЧтобы начало не расшифровали - ставишь в начало 4 байта случайного числа, а дальше
полезная инфа.

Сугубо пофиг. У Виженера и ему подобных - врождённая уязвимость к атаке по известному
открытому тексту. Как ни улучшай.

Это было не про Виженера и т.п. а продолжение предыдущей строки моего поста, т.е. корректно так цитировать
Dima T...надо еще чтобы эта последовательность зависела от шифруемых данных.
Чтобы начало не расшифровали - ставишь в начало 4 байта случайного числа, а дальше полезная инфа.
...
Рейтинг: 0 / 0
Улучшение шифра Виженера
    #39279659
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeviLoopermaytonДалее - твои шаги весьма сложно судить т.к. неясно обозначена цель.
Ну просто попытался исправить "видимые на глаз" провалы исходного алгоритма. Как тот же циклически повторяющийся пароль для кодирования.

maytonТы решил что-то улучшить. Как ты измерял улучшение?
Ну, конечно, проводить тесты я не смогу ввиду незнания этой области. Просто думал, может, так кто-то увидит - имеют ли эти изменения смысл. :)Зачем? Если вам надо простое в реализации шифрование - ну возьмите RC4. Двадцать строк кода. И при всех его известных недостатках все равно на порядок лучше всего, что вы сможете придумать.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Улучшение шифра Виженера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]