|
|
|
| Доброго времени суток.
В университете дали задачу: написать программу для шифрования/дешифрования текста из файла методом решетки.
Алгоритм шифрования толком не обьяснили.
В интеренете информации мало.
Как я понял для начала нужно создать двумерный массив алфавита со смещением в каждой новой строчке первого элемента в конец строки.
Не могу придумать как это сделать.
Помогите пожалуйста! | |
|
|
|
|
|
|
|
для: MHz
(29.05.2008 в 14:38)
| | А можно поточнее сказать алгоритм? Существуют разные виды шифрования методом решетки. Если это решетка Кардано, то посмотрите здесь: http://volvo71.narod.ru/faq_folder/code_text.htm (это метод без поворота). | |
|
|
|
|
|
|
|
для: Фитч
(29.05.2008 в 16:59)
| | Да. Нужно написать шифрование методом решетки Кардано. Пытаюсь разобрать программу по ссылке, но я не знаю паскаль :-( | |
|
|
|
|
|
|
|
для: MHz
(30.05.2008 в 18:51)
| | Ну что, ни кто не может помоч? А то 10-го числа надо сдавать работу, а у меня все еще ничего не готово... | |
|
|
|
|
|
|
|
для: MHz
(05.06.2008 в 22:22)
| | По-идее, за 4 дня можно освоить паскаль до уровня понимания того исходника (тем более после С++ это не трудно) и тупо все перевести. По-моему разумный выход... | |
|
|
|
|
|
|
|
для: Фитч
(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 | |
|
|
|
|
|
|
|
для: 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>. Алфавит может, разумеется, быть любым, в том числе генерироваться программой. | |
|
|
|
|
|
|
|
для: Фитч
(07.06.2008 в 20:57)
| | Работает! Именно то что мне и нужно было. Огромное Вам спасибо! | |
|
|
|