|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.10.2012, 12:22 | #1 |
Пользователь
Регистрация: 22.09.2011
Сообщений: 14
|
Простое шифрование
Всем доброго времени суток, к завтрешнему дню нужно написать 3 шифра: Шифр Цезаря, Шифрование с периодическим ключом и лозунговый шифр. Почти работает шифр цезаря, но есть некие непонятные мне проблемы, про остальные шифры ничего вообще не знаю. Поиск в гугл ничего к хорошему не привел.
Помогите пожалуйста. Код:
Последний раз редактировалось alex.snap; 09.10.2012 в 12:24. |
09.10.2012, 12:58 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
|
09.10.2012, 13:57 | #3 | |
Пользователь
Регистрация: 22.09.2011
Сообщений: 14
|
Цитата:
|
|
09.10.2012, 17:30 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Меня заинтересовала эта тема, поэтому выкладываю свои наработки. Пока только шифр Цезаря. По идее, должен нормально работать (вроде все учел). Возможно появятся и остальные шифры
17:55 Update Шифрование с периодическим ключом - шифр Виженера вроде подходит на эту роль 19:00 Update Чуть изменены функции шифрования и появился незаконченный код лозунгового шифра 20:05 Update сделаны все 3 метода (последний метод не очень красиво реализован) ПС Все требует тщательного тестирования, так как код пишется в реальном времени, а не берется уже отлаженный из закромов
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 09.10.2012 в 20:06. |
09.10.2012, 17:40 | #5 |
Участник клуба
Регистрация: 30.01.2011
Сообщений: 1,578
|
шифровки которые есть ... сделаны конечно на билдере с++... но при большом желании могу перевести на паскаль или дельфу...
по возвращении домой с работы проверю тему... и возьмусь за "помощь"... п.с. лозунговый есть, или одна из его модификаций... но на том же с++ билдере переодичное что то не припоминаю...
пишу код не только за печеньки
Последний раз редактировалось VIK_aka_TOR; 09.10.2012 в 17:50. Причина: найден лозунговый шифр |
09.10.2012, 17:51 | #6 | |
Пользователь
Регистрация: 22.09.2011
Сообщений: 14
|
Цитата:
Поюзал вашего цезаря, работает на ура. вот только не могу понять что куда и зачем.. Не могли бы вы разъеснить сам алгоритм. Заранее спасибо. Подскажите как можно улучшить код на первом посте? Последний раз редактировалось Stilet; 10.10.2012 в 16:22. |
|
09.10.2012, 18:07 | #7 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Код:
(t - 1 + key + lalp) mod lalp + 1 t - позиция в алфавите исходной буквы -1 - из-за mod нужно так сделать (потом делается +1, это как раз одна и та же единица, которая вынесена из-под mod), этот момент не могу сходу объяснить +key - сдвиг на ключ +lapl - если t-1 малое число, а key отрицательное и большое, это слагаемое препятствует появлению отрицательных чисел По-моему, лучше не улучшать (сорри за тафтологию) код из первого поста, а взять чью-нибудь реализацию, т.к. в вашей реализации очень много всего не учтено.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 09.10.2012 в 18:14. |
09.10.2012, 18:18 | #8 |
Пользователь
Регистрация: 22.09.2011
Сообщений: 14
|
Ну если к примеру я возьму ваш код, то мне препод просто не поверит)
то что в первом посте он этот код сам использует и пропагандирует студентам. На паре написал шифровку цезаря, работала слабовато, по крайне мере четырех стишье Пушкина расшифровал) смотрел код программы препода у него почти такой же только он использует два алфавита отдельных как у вас, но не много по другому.. то что писал на паре увы забыл ): |
09.10.2012, 18:21 | #9 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Если преподаватель требует демонстрации, то можно схитрить.
Выбросить всю кучу проверок, но в голове держать список того, каким ключ не может быть, и не вводить такой ключ
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
09.10.2012, 18:24 | #10 |
Пользователь
Регистрация: 22.09.2011
Сообщений: 14
|
Увы, он не на столько глуп) даже в оочень хорошей работе он находит как ему кажется серьезные ошибки. насчет демонстрации без проверки кода увы программа просто не пройдет.
Завтра напишу в тему код который писал на паре, он крайне не точно работает, как и говорил раньше, некоторые буквы он не правильно сдвигает и получается так что все буквы в слове расшифрованы кроме 2-3. этот косяк не смог исправить. Спасибо за помощь |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
k-е простое | daniil123 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 14.12.2011 23:52 |
простое число | Kukurudza | Общие вопросы C/C++ | 2 | 13.09.2011 14:43 |
Простое наследование | Саааня | Общие вопросы C/C++ | 7 | 12.08.2011 00:45 |
Простое шифрование пароля на assembler | artemr | Помощь студентам | 1 | 30.05.2011 11:42 |
Простое суммирование | Trimbl | Microsoft Office Excel | 2 | 20.12.2010 08:58 |