Историческая справка
Фред Кохен (Fred Cohen) предал гласности документально подтвержденные факты использования криптографии в Древнем Египте более 4000 лет тому назад. Юлий Цезарь (Julius Caesar) использовал свой собственный способ шифровки писем, который получил название шифра Цезаря. Идея шифра Цезаря заключалась в замене каждой буквы на третью букву далее по алфавиту. Например, S заменялась на букву V, а E – на H. По современным меркам шифр Цезаря слишком прост, но он хорошо служил Цезарю в его дни. Читателю, желающему углубить свои знания по истории криптографии, автор рекомендует посетить сайт www.all.net/books/ip/Chap2-1.html.
Подобный шифру Цезаря алгоритм ROT13 (алгоритм сдвига символов на 13 позиций английского алфавита – примитивный способ скрытия электронных посланий от посторонних глаз) используется в системах UNIX до сих пор. Он не годится для хранения секретов в тайне. Алгоритм ROT13 больше подходит для скрытия решений ребусов, шуточных посланий и потенциально оскорбительного текста. Если же подобный текст будет расшифрован, то ответственность за возможно нанесенную обиду ляжет не на отправителя, а на того, кто расшифровал его. Например, мистер G. может получить приведенное ниже сообщение, расшифровав которое он, возможно, оскорбится. Но в зашифрованном виде сообщение никого обидеть не может: V guvax Jvaqbjf fhpxf.
Алгоритм ROT13 очень прост, для того чтобы с ним можно было работать с карандашом в руке и листком бумаги. Достаточно написать алфавит в два ряда со смещением второго ряда на тринадцать букв относительно первого:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
NOPQRSTUVWXYZABCDEFGHIJKLM
Типы криптосистем
В криптографии используется два типа криптосистем: симметричные и асимметричные. В симметричных криптосистемах используются более длинные ключи, причем один и тот же ключ используется как для зашифровки, так и для расшифровки текста. Такой ключ называется секретным ключом, и его следует хранить в тайне из-за того, что любой владелец секретного ключа может расшифровать данные, зашифрованные этим же ключом. Большинство симметричных криптосистем используются много лет и хорошо известны. Единственное, что действительно является тайной, – это используемый ключ. Практически все действительно полезные алгоритмы, применяемые на практике сегодня, полностью открыты обществу.
Оценка криптостойкости алгоритма
Проверить алгоритмическую безопасность криптографического алгоритма можно, только атакуя его. Поскольку намного чаще подвергаются атаке криптографические алгоритмы, опубликованные в открытой печати, то чем дольше алгоритм доступен для всеобщего изучения, тем больше будет предпринято попыток перехитрить или взломать его. Ненадежные криптографические алгоритмы взламываются