1. Теоретическая часть.
1.1. Симметричные алгоритмы.
Существует два основных типа алгоритмов, основанных на ключах:
- симметричные;
- с открытым ключом.
Симметричные алгоритмы, иногда называемые условными алгоритмами, представляют собой алгоритмы, в которых ключ шифрования может быть рассчитан по ключу дешифрирования и наоборот. В большинстве симметричных алгоритмов кличи шифрования и дешифрирования одни и те же.
Эти алгоритмы, также называемые алгоритмами с секретным ключом или алгоритмами с одним ключом, требуют, чтобы отправитель и получатель согласовали используемый ключ перед началом безопасной передачи сообщений. Безопасность симметричного алгоритма определяется ключом, раскрытие ключа означает, что кто угодно сможет шифровать и дешифрировать сообщения. Пока передаваемые сообщения должны быть тайными, ключ должен храниться в секрете.
Шифрование и дешифрирование с использованием симметричного алгоритма обозначается как:
Симметричные алгоритмы делятся на две категории. Одни алгоритмы обрабатывают открытый текст побитно (иногда побайтно), они называются потоковыми алгоритмами или потоковыми шифрами. Другие работаю с группами битов открытого текста. Группы битов называются блоками, а алгоритмы — блочными алгоритмами или блочными шифрами.
1.2. Криптоанализ.
Смысл криптографии – в сохранении открытого текста (или ключа, или и того, и другого) в тайне от злоумышленников (также называемых взломщиками, соперниками, врагами, перехватчиками). Предполагается, что злоумышленники полностью контролируют линии связи между отправителем и получателем.
Криптоанализ – это наука получения открытого текста, не имея ключа. Успешно проведенный криптоанализ может раскрыть открытый текст или ключ. Он также может обнаружить слабые места в криптосистемах, что, в конце концов, приведет к предыдущему результату. Раскрытие ключа не криптологическими способами называется компрометацией.
Попытка криптоанализа называется вскрытием. Основное предположение криптоанализа состоит в том, что безопасность полностью определяется ключом, то есть предполагается, что у криптоаналитика есть полное описание алгоритма и его реализации.
Хотя в реальном мире криптоаналитики не всегда обладают подробной информацией, такое предположение является хорошей рабочей гипотезой. Если противник не сможет взломать алгоритм, даже зная, как он работает, то тем более враг не сможет вскрыть алгоритм без этого знания.
Существует четыре основных типа криптоаналитического вскрытия:
- Вскрытие с использованием только шифротекста;
- Вскрытие с использованием открытого текста;
- Вскрытие с использованием выбранного