В статье рассмотрена классификация алгоритмов шифрования и дана их краткая характеристика.
Криптографические алгоритмы классифицируются по характерным признакам. Некоторые криптоалгоритмы могут входить сразу в несколько схем, находясь в одной из ее подгрупп.
Все криптоалгоритмы делятся следующим образом:
- тайнопись;
- шифрование с ключом.
2.1. симметричные алгоритмы;
- потоковые (на основе генератора случайных чисел, с конечным ключем, с бесконечным ключем),
- блочные (моноалфавитные, полиалфавитные, шифры замены и перестановки)
- составные (люцифер, DES, ГОСТ 28147, B-Crypt, IDEA, FEAL)
2.2. асимметричные алгоритмы (Diffie -Hellman, RSA, ElGamal)
При применении тайнописи, для зашифровывания и дешифрации данных проводится их конвертация, по параметрам известным только отправителю и получателю. Всем остальным параметры преобразования не разглашаются.
При употреблении ключей, напротив, алгоритм кодирования доступен любому лицу. А в качестве параметра шифрования выступает ключ (специальный блок данных), известный лишь отправителю с получателем.
Различие симметричных и ассиметричных алгоритмов так же состоит в используемых ключах. В симметричном алгоритме ключ одинаков для обеих сторон шифрования. Во втором случае применяется пара ключй, один «открытый» - известный любому лицу и необходимый для зашифровки, а второй «закрытый» - предназначенный только получателю, чтобы он мог расшифровать сообщение.
Алгоритмы с ключами могут быть преобразованы в тайнопись, путем фиксации в исходном коде программы стабильного ключа. В то время как перевод из тайнописи в «ключевой» алгоритм является почти не выполнимой задачей.
Другая схема классификации в качестве параметра использует характер воздействия на данные:
- перестановка;
- подстановка.
Когда используются такие схемы шифрования, то передаваемые данные разбиваются на блоки - байты, биты и т.д. А затем, в зависимости от алгоритма, либо меняется их порядок, без изменения самих блоков (перестановочный алгоритм), либо наоборот изменяется каждый отдельный блок (подстановочный).
Большая часть используемых сегодня алгоритмов относится к подстановочным.
Ни один криптоалгоритм не должен увеличивать объем преобразуемых данных, он должен только изменять ее представление. Если же полученный после зашифровывания выходной файл становится значительно больше, значит в основе программы шифрации заложен не оптимизированный или возможно не корректно работающий алгоритм.
Если в криптосистему встроен алгоритм архивации, и присутствуют условия сжимаемости, тогда зашифрованный файл может и должен уменьшиться в объемах.
В основе еще одной классификации криптоалгоритмов лежит размер блока данных, исходя из этого шифры можно разделить на:
В потоковых алгоритмах в качестве блока для кодирования используется один бит информации. Прошедший ранее входной поток никак не влияет на конечный результат шифрования. Потоковые шифры используются в потоковых системах передачи данных, в которых передача начинается и завершается в случайные временные промежутки и та же случайно может быть прервана. Один из ярких представителей потокового алгоритма – это скремблер.
В блочных алгоритмах в роли блока выступает некоторое количество байтов (от 4 до 32), от которых и будет зависеть конечный результат шифрования. Блочные шифры используются в пакетных передачах и кодированиях данных.
Современные схемы шифрования, в отличии от их предков, уже не могут быть выполнены человеком самостоятельно, ввиду их повышенной сложности. Поэтому для их работы применяются вычислительные устройства и различное аппаратное обеспечение. Благодаря достаточно доступным и разнообразным криптопакетам, в большей части приложений шифрование выполняется при помощи программного беспечения.
Работая по отдельности, симметричные схемы будут выполняться скорее ассиметричных. Однако, в практическом применении они чаще всего применяются вместе. Схемой с открытым ключом генерируется секретный ключ, необходимый для дешифрации полученных данных.
Читать дальше:
Общие сведения о шифровании данных
О том, насколько опасны почтовые рассылки и работа с электронной почтой, и как защититься при использовании email
С развитием технологий возникает потребность в современных средствах защиты безопасности информационных систем.