Показать сообщение отдельно
Старый 10.03.2004, 12:10     # 5
CragHack2002
Junior Member
 
Регистрация: 14.03.2003
Сообщения: 78

CragHack2002 Путь к славе только начался
ОК. Не будем разводить большую дискуссию по криптографии и криптоанализу .
Без обид, k0ba1t, просто в твоей статье есть небольшая путаница. Я попробую объяснить в чем она не углубляясь в дебри математики.

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

ТЕРМИНОЛОГИЯ
Само сообщение называется открытым текстом.
Изменение вида сообщения так, чтобы спрятать его содержание называется шифрованием (enchipher).
Шифрованное сообщение называется шифротекстом.
Процесс преобразования шифротекста в открытый текст называется дешифрованием (dechipher).

Давайте ответим себе на вопрос: Почему что то хорошо жмется, а что то не очень?
Ответ следует искать в теории информации.
Теория информации определяет количество информации в сообщении как минимальное количество бит, необходимых для кодирования всех возможных значений сообщения, считая все сообщения равновероятными. К примеру, для кода числа месяца достаточно всего лишь 5 битов (2 в степени 5 = 32). Если же кодировать каждое число месяцы как число, то уже 8 бит, если каждую цифру как симво, то 16 бит...Вместе с тем информации больше не стало, она просто стала занимать больше места.
Количество информации в некотором сообщении M определяется энтропией и вычисляется она как двоичный логарифм от количества возможных значений, обозначим ее H(M). В примере с числами месяца количество возможных значений 31. Двоичный логарифм от 32 равнется 5.
Энтропия сообщения является мерой его неопределенности. Т.е в случае с числами месяца криптоаналитику достаточно знать 5 битов, чтобы определить какое число зашифровано.
Норма языка равна отношению H(M)/N, где N - длина сообщения. Для английского языка равна 1,3 бит/буква.
Абсолютная норма языка равна максимальному количеству битов, которое может быть передано каждым символом, при условии, что последовательности символов равновероятны. Обозначим ее R.
Если в английском языке 26 букв, то абсолютная норма языка равна двоичному логарифму от 26, т.е 4.7 бит/буква.
Избыточность языка, обозначаемая как D определяется как D=R-r.
Для английского языка избыточность составляет 4,7-1,3=3,4
У сообщения, состоящего только из английских букв, в каждом байте содержится 6,7 бита излишней информации.

Алгоритмы сжатия информации как раз и основаны на устранении избыточности информации.
Задачи же криптографии несколько другие - скрытие исходного сообщения.

В качестве критерию "хорошести алгоритма" k0ba1t выбрал степень сжимаемости зашифрованного текста, что по большому счету неверный критерий.
И наверно, самый яркий пример: стеганография. В bmp шный файл я могу спрятать ключевую фразу используя DES, Blowfish или RSA, файл хорошо сожмется, однако из этого должно следовать, что RSA или DES плох?
CragHack2002 вне форума