Определение алгоритма шифрования
От: csit_shagrat Россия  
Дата: 10.12.10 18:59
Оценка:
Здравствуйте!
Подскажите алгоритм на следующее задание:

дана матрица размерности n*m (вводятся с клавиатуры)
дан набор точек этой матрицы(вводятся с клавиатуры)
это ключ
далее, входноее сообщение(фильтрация как в первом задании, файл. вв-выв) посл. записывается в строки матрицы...
но! те точки матрицы, которые были введены в ключе не должны заполняться
после заполнения матрицы — пройтись по спирали от правого нижнего угла матрицы до центра записывая символы в строку — это и есть закодированное сообщение.
раскодировать тем же ключом по томц же алгоритму.

как мне сказали, это из серии блочного кодирования, но информации по реализации или хотя-бы объяснений найти не могу.
Если можете — помогите. Очень срочно надо.
Re: Определение алгоритма шифрования
От: Аноним  
Дата: 10.12.10 21:07
Оценка:
Здравствуйте, csit_shagrat, Вы писали:

_>Здравствуйте!

_>Подскажите алгоритм на следующее задание:
_>

_>дана матрица размерности n*m (вводятся с клавиатуры)
_>дан набор точек этой матрицы(вводятся с клавиатуры)
_>это ключ
_>далее, входноее сообщение(фильтрация как в первом задании, файл. вв-выв) посл. записывается в строки матрицы...
_>но! те точки матрицы, которые были введены в ключе не должны заполняться
_>после заполнения матрицы — пройтись по спирали от правого нижнего угла матрицы до центра записывая символы в строку — это и есть закодированное сообщение.
_>раскодировать тем же ключом по томц же алгоритму.

_>как мне сказали, это из серии блочного кодирования, но информации по реализации или хотя-бы объяснений найти не могу.
_>Если можете — помогите. Очень срочно надо.
_>

Это блочный шифр перестановки, <off>очень ненадежный, вскрытие тривиально при достаточной для вычисления статистики текста длине сообщения</off>.
Соответственно, по заданной структуре "местами продырявленной матрицы" нужно вычислить перестановку (заполнить по строкам матрицу
номерами 1...M, где М — число "доступных для записи символов сообщения" ячеек, затем выписать их из этой матрицы по спирали).
Далее шифровать применением перестановки к одинаковой длины блокам текста. Расшифровывать — применением обратной перестановки.
Re[2]: Определение алгоритма шифрования
От: dilmah США  
Дата: 10.12.10 21:21
Оценка:
А>Это блочный шифр перестановки, <off>очень ненадежный, вскрытие тривиально при достаточной для вычисления статистики текста длине сообщения</off>.
А>Соответственно, по заданной структуре "местами продырявленной матрицы" нужно вычислить перестановку (заполнить по строкам матрицу
А>номерами 1...M, где М — число "доступных для записи символов сообщения" ячеек, затем выписать их из этой матрицы по спирали).
А>Далее шифровать применением перестановки к одинаковой длины блокам текста. Расшифровывать — применением обратной перестановки.

ну вообще-то, большинство шифров так и работает: ключ кодирует перестановку над 64- или 128-битным алфавитом. Дальнейшая секурность достигается режимом кодирования (CBC etc).
Re[3]: Определение алгоритма шифрования
От: Аноним  
Дата: 10.12.10 21:41
Оценка:
Здравствуйте, dilmah, Вы писали:


А>>Это блочный шифр перестановки, <off>очень ненадежный, вскрытие тривиально при достаточной для вычисления статистики текста длине сообщения</off>.

А>>Соответственно, по заданной структуре "местами продырявленной матрицы" нужно вычислить перестановку (заполнить по строкам матрицу
А>>номерами 1...M, где М — число "доступных для записи символов сообщения" ячеек, затем выписать их из этой матрицы по спирали).
А>>Далее шифровать применением перестановки к одинаковой длины блокам текста. Расшифровывать — применением обратной перестановки.

D>ну вообще-то, большинство шифров так и работает: ключ кодирует перестановку над 64- или 128-битным алфавитом. Дальнейшая секурность достигается режимом кодирования (CBC etc).

В нормальных системах ключ кодирует ПОДстановку (биективное отображение в себя)
над ОЧЕНЬ большим алфавитом (мощность алфавита должна быть >> ресурсов по памяти
и вычислительной мощности). А ПЕРЕстановочные шифры принципиально ненадежны.
Перестановка -- это же просто линейный оператор с сильно специальной структурой
(разреженная матрица единичек). Линейным анализом ее и того.

Кстати, надежность простой подстановки даже в случае этого самого очень большого
алфавита тоже может пострадать от слишком большой длины сообщения, поэтому ее
чаще делают не простой а многоалфавитной (применяют гаммирование/свертку/модификацию
ключа и т.п.)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.