0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 7
1

Cоздать программу шифрования и дешифрования

13.12.2011, 21:23. Показов 8415. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят, сначала немного объясню ситуацию. Проболев пол семестра и увидев задание по курсовой, я немного вздрогнул и вздрагиваю до сих пор, т.к. ничего не получается, а завтра последний срок(

Задача такова: Символ кодируется номером строки и позицией символа в строке заданного текстового файла. Требуется создать программу шифрования и дешифрования. Ключ хранить в отдельном файле.
Может кто что подскажет?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2011, 21:23
Ответы с готовыми решениями:

Написать программу шифрования и дешифрования методом подстановки
Написать программу шифрования и дешифрования методом подстановки!!!

Написать программу, реализующую алгоритм шифрования и дешифрования сообщения RSA
Помогите написать программу, реализующую алгоритм шифрования и дешифрования сообщения RSA. Входные...

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

Я написал программу шифрования и дешифрования,но много ошибок, исправьте пожалуйста
Вот код который я написал, но там много ошибок, помогите исправить, или посоветуйте что нужно...

25
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
13.12.2011, 22:06 2
Непонял =(

А ключ как используется?.. Это алгоритм шифрования перестановками символов?.. Или заменой алфавита?.. Если так - всё элементарно. Если нет - что ж... Даже бессонная ночь Вам вряд ли поможет. Впрочем - пишите... Помониторю тему пару часиков.
0
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 7
13.12.2011, 22:11  [ТС] 3
Суть заключается в том, чтобы заменить каждый символ на два числа(т.е. первое число - номер строки, второе - номер символа в тексте(номер позиции) а потом обратно раскодировать
более подробно не знаю, как объяснить
0
50 / 50 / 12
Регистрация: 22.05.2011
Сообщений: 326
13.12.2011, 22:13 4
А как вы обратно раскодируете? Невозможно же, если будет дана только закодированная строка
0
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 7
13.12.2011, 22:18  [ТС] 5
Я тоже долго думал на эту тему, пришла только мысль, что бы куда-нибудь записывать символы, которые кодируешь
не знаю, как по-другому(
0
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
13.12.2011, 22:53 6
Цитата Сообщение от en0ugh Посмотреть сообщение
более подробно не знаю, как объяснить
Продемонстрируйте на примере.
0
2 / 5 / 0
Регистрация: 06.11.2011
Сообщений: 277
13.12.2011, 22:59 7
А нельзя ли символьный массив представить в виде двумерного символьного массива с дальнейшим преобразованием в числовой, где каждому символу соответствует два числа - номер строки и номер столбца ?
0
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 7
13.12.2011, 23:06  [ТС] 8
допустим, последовательность

qwerty
uiop

кодируем: номер строки, номер символа
1112131415
21222324

и т.д.
0
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
13.12.2011, 23:12 9
То есть, если у нас больше 10 символов в строке - возникает непонятки. Впрочем, элементарно держать счётчик и автоматически увеличивать длину кодона (блджад, биология? в общем, читай, "кодируемое слово" или как-то так =/ ). Вопрос в другом - что нам это даст?.. Было бы неплохо привести пример декодирования.
0
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
13.12.2011, 23:12 10
Обе стороны имеют файл с символами, содержимое этого файла - и есть ключ.
Символы в сообщениях заменяются их расположением в файле-ключе, который имеют обе стороны.
Всё тривиально...
0
1180 / 893 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
13.12.2011, 23:14 11
В задании сказано ключ хранить в отдельном файле. Тогда в принципе все элементарно становится. Создать текстовый файл с необходимым алфавитом. И просто сравнивать по но номеру строки и столбца. Чтобы было проще, можно сделать массив в файле 9х9.
0
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 7
13.12.2011, 23:22  [ТС] 12
так, много советов, но ничего из этого пока не получается воплотить, можно более подробную инструкцию?
0
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
13.12.2011, 23:31 13
Цитата Сообщение от Net_Wanderer Посмотреть сообщение
Обе стороны имеют файл с символами, содержимое этого файла - и есть ключ.
Символы в сообщениях заменяются их расположением в файле-ключе, который имеют обе стороны.
Всё тривиально...
Нет, я решительно ничего не понимаю =/
Если есть файл с символами - зачем тогда вообще шифрование? Just for fun?..
И что за файл с символами?.. Я лично вот, не понял как будем дешифровать...

Добавлено через 7 минут
Итак, что мы имеем сейчас? Мы имеем странную хрень (простите) - мы тупо заменяем каждый символ его координатами. Теперь, понять бы что из себя представляет ключ...
0
1180 / 893 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
13.12.2011, 23:31 14
AnyOne697, эмммм... есть файл, в котором хранится массив символов, порядок которого известен только программисту. При шифровании символ из шифруемого слова ищется в этом массиве и заменяется на число, например, номер строки + номер столбца, или номер строки * 10 + номер столбца. При дешифровке просто это число разбивается на две части, которые являются номером строки и номером столбца, и просто по эти данным берется символ из массива который находится в файле-ключе. Это ведь простое задание для ознакомления а не для реального использования.
1
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
14.12.2011, 01:23 15
Цитата Сообщение от Toshkarik Посмотреть сообщение
есть файл, в котором хранится массив символов, порядок которого известен только программист
Если он известен программисту, значит он известен и мне. Особенно, если программист пишет на C++/C#/Java. Даже если он использует инструменты рефакторинга они никак не повлияют на содержимое констант (ибо рефакторинг - не шаманство).
Вот что за народ пошёл?.. На десятый раз перепрочтения дошло!

Только автор топика хочет чего-то другого. Или именно этого?.. По крайне менее с примером не сходится. Кстати, то что вы назвали по сути - не что иное, как замена алфавита. Не более и неменее. Разве только сомнительная арифметика. Ну да ладно...
0
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 7
14.12.2011, 01:36  [ТС] 16
в принципе, можно это назвать и "заменой алфавита"
если так это принципиально
0
Заблокирован
14.12.2011, 03:10 17
Цитата Сообщение от AnyOne697 Посмотреть сообщение
Если он известен программисту, значит он известен и мне.
Просто тут не о шифровании речь. Имеется исходное сообщение, его надо закодировать. Cимвол кодируется двузначным числом, которое компактно садится в чар с помощью файла с кодами. Предполагается что у получателя такой же файл с кодами, с помощью которого он декодирует сообщение. Поскольку чар можно представить в виде матрицы 16х16 то максимальное закодированное число предполагается ff, конечно минимальное - 0. Это уже собственная кодировка. Можете как за основу взять таблицу ascii, транспонировать ее, добавить в пустые клетки кириллицу, например, и спомощью полученной матрицы кодировать\декодировать свои сообщения. И назвать это например my_utf8
0
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 7
14.12.2011, 03:15  [ТС] 18
alkagolik
правильные мысли излагает, только перевести бы их ещё на си, да ещё и в грамотной форме
0
Заблокирован
14.12.2011, 03:50 19
en0ugh, так в чем проблема? главное не забыть учесть в текством файле управляющие символы ОС. В идеале файл с кодами должен быть бинарый и матрицы в нем нет, она как бы виртуальная, в реальности есть массив размером 2^8. Строка i вычисляется делением на 16, а столбец j - остатком от деления. Символ кодируется так
C
1
unsigned char symb = (i << 3) | j;
а декодируется так
C
1
2
3
4
5
6
unsigned char buf[ 256 ];
fread(buf, sizeof(unsigned char), 256, file);
цикл
i = (symb >> 3);
j = symb & 0x0f;
deecode_symb = buf[ i * 16 + j ];
0
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
14.12.2011, 09:10 20
И всё так просто?.. Ну вот и славненько =)

Не понимаю, правда, чем Вам ASCII не устроила =) Нет, нет. Обучение - это замечательно. Но давать такие курсовые - сущий бред. Лучше бы простенький ftp-клиент написать или файловый менеджер с базовым набором функций (то, как - два окна просмотра файлов, копирование и перемещение между ними; удаление, переименовывание, создание пустого файла, открытие by ОС и, по-желанию, командной строкой; усё, а то что это, читай, far - всеми любимый файл-мэнеджер... ну... почти =) а как доставляет!). Ну да ладно. Студенту как об стенку и больше он к этой теме не вернётся. А зря...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2011, 09:10
Помогаю со студенческими работами здесь

Программа шифрования и дешифрования
Программа должна обеспечивать: • шифрование информации, находящейся в текстовом файле, с записью...

Программа шифрования\дешифрования
Уважаемые программисты! Хочу попросить у Вас помощи в написании 2-х программ... Я ещё не очень...

Программы шифрования-дешифрования текстового файла
Нужен код для программы по шифрованию и дешифрованию текстового файла с помощью циклической заменой...

Реализация алгоритма шифрования и дешифрования Serpent.
Помоги сделать!!! Реализация алгоритма шифрования и дешифрования Serpent.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru