Помощь - Поиск - Пользователи - Календарь
Полная версия: зашифровать файл
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи > Задачи на заказ
sager01
Задача:
Зашифровать текст по ключевой фразе и использовать избыточность ключевой фразы.
Пример:
В файле ес т ь к а к о й - т о т е к с т
1234567891011121314151617181920 21222324252627
Это ключевая фраза, ее размер не ограничен, нумеруем в ней каждый символ и потом создаем файл и в нем отмечаем каждый символ так

file.txt:
а - 4,15,...299
е - 7,9,24,...523
....

т.е. записываем все номера каждого символа
Потом берем любой текст и шифруем его - заменяем все буквы а на 4,15,... 299 затем опять по кругу 4,15,...,299, буквы е на 7,9,24,...523 .... и так все символы, кот есть в тексте. Но в тексте могут быть символы, кот. нет в ключевой фразе, поэтому в конец ключевой фразы дописываем два раза(т.к. нужно использовать избыточность) неполную таблицу ASCII(все символы записывать смысла нет, а только русские, английские, запятые, скобки, слэши).
Желательно бы сделать до воскресенья.
Lapp
sager01, есть несколько вопросов к тебе.
Цитата(sager01 @ 10.03.2006 18:55) *

ключевая фраза, ее размер не ограничен
...
file.txt:
а - 4,15,...299
е - 7,9,24,...523
....
заменяем все буквы а на 4,15,... 299 затем опять по кругу 4,15,...,299, буквы е на 7,9,24,...523 ....

1. (принципиальный вопрос) Символ в тексте занимает один байт. Числа, большие чем 255, занимают более одного байта. Невозможно записать 299 в один байт (также и 523). Если принять, что длина ключевой фразы (плюс дополнение) больше 256, то на каждый номер нужно отводить два байта (и это при условии, что размер ключа все же не больше чем 64 Кбайт, иначе номер придется писать в большее количество байт). Но тогда результирующий файл (зашифрованный) будет вдвое больше исходного. Если ты с этим согласен, то можно продолжить разговор. Если нет - предложи другой способ шифрования, либо разговор окончен.

2. В задании ничего не сказано о дешифрующей программе. Она не нужна?

3. Обязательно ли создавать file.txt с номерами букв в ключе? Для собственно шифровки он не нужен.
Lapp
sager01, в случае согласия оплата только в WMZ.
Моя цена $6.
Можешь писать на мой адрес (в профиле).
sager01
Насчет твоих вопросов точно сказать не могу, но давай сделай хотя бы так, а потом если че посмотрим.
1. Отводить тогда уж 2 байта, а то препод говорит, что зашифрованная фраза может быть больше 256 символов, а то что зашифроованный файл будет вдвое больше исходного я думаю это не беда.
2. Дешифрующая программа нужна конечно.
3. file.txt создавать наверное необязательно - просто так удобнее было объяснить задачу, хотя я, например, не понимаю как без него можно обойтись - сам сначала хотел его создать, а потом по нему текст шифровать.
До завтра сделаешь? А то мне бы побыстрее сдать ее, да и препод такой, что ко всяким мелочам придирается....(время ведь не резиновое - препод приезжий, через неделю уезжает)
Да и еще, если можно, то хотя бы сделай в проге минимум комментарий.
Lapp
Программа практически готова. Последняя отладка займет порядка часа.
Пожалуйста, подтверди здесь, что заплатишь требуемую сумму ($6.00) через webmoney.
Lapp
sager01, программа давно написана (с комментариями).
Я жду подтверждения об оплате
sager01
Все. Деньги отправил. Жду прогу....
Lapp
Деньги получил.
Отправил прогу и пояснения к ней.
Успехов!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.