Форум: Форум C++Разное
Новые темы: 00
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Шифрование методом решетки
 
 автор: MHz   (29.05.2008 в 14:38)   письмо автору
 
 

Доброго времени суток.
В университете дали задачу: написать программу для шифрования/дешифрования текста из файла методом решетки.
Алгоритм шифрования толком не обьяснили.
В интеренете информации мало.
Как я понял для начала нужно создать двумерный массив алфавита со смещением в каждой новой строчке первого элемента в конец строки.
Не могу придумать как это сделать.
Помогите пожалуйста!

  Ответить  
 
 автор: Фитч   (29.05.2008 в 16:59)   письмо автору
 
   для: MHz   (29.05.2008 в 14:38)
 

А можно поточнее сказать алгоритм? Существуют разные виды шифрования методом решетки. Если это решетка Кардано, то посмотрите здесь: http://volvo71.narod.ru/faq_folder/code_text.htm (это метод без поворота).

  Ответить  
 
 автор: MHz   (30.05.2008 в 18:51)   письмо автору
 
   для: Фитч   (29.05.2008 в 16:59)
 

Да. Нужно написать шифрование методом решетки Кардано. Пытаюсь разобрать программу по ссылке, но я не знаю паскаль :-(

  Ответить  
 
 автор: MHz   (05.06.2008 в 22:22)   письмо автору
 
   для: MHz   (30.05.2008 в 18:51)
 

Ну что, ни кто не может помоч? А то 10-го числа надо сдавать работу, а у меня все еще ничего не готово...

  Ответить  
 
 автор: Фитч   (06.06.2008 в 19:53)   письмо автору
 
   для: MHz   (05.06.2008 в 22:22)
 

По-идее, за 4 дня можно освоить паскаль до уровня понимания того исходника (тем более после С++ это не трудно) и тупо все перевести. По-моему разумный выход...

  Ответить  
 
 автор: MHz   (07.06.2008 в 16:40)   письмо автору
 
   для: Фитч   (06.06.2008 в 19:53)
 

Ну не могу я тот код понять.
Мне бы только придумать как можно сделать алфавит со смщением. Типа:
a b c d e f
b c d e f a
c d e f a b
d e f a b c
e f a b c d
f a b c d e

  Ответить  
 
 автор: Фитч   (07.06.2008 в 20:57)   письмо автору
 
   для: MHz   (07.06.2008 в 16:40)
 

Навскидку (не проверял, т.к. нет под рукой компилятора), могу выдать такой код:

char* alphabet = "abcdefghijklmnopqrstuvwxyz";
char* table = new char[36]; // нам не нужен '\0' в таблице
for (int i = 0; i < 6; i++)
{
 strncpy(table + i*6, alphabet + i, 6);
}
// ...
delete [] table;

После этого в table будет искомая таблица (обращаться к элементу как table[строка*6 + столбец]).
Для компиляции необходимо подключить файл <cstring>. Алфавит может, разумеется, быть любым, в том числе генерироваться программой.

  Ответить  
 
 автор: MHz   (08.06.2008 в 02:06)   письмо автору
 
   для: Фитч   (07.06.2008 в 20:57)
 

Работает! Именно то что мне и нужно было. Огромное Вам спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования