В статье рассказывается:
- Понятие шифрования
- Требования к алгоритмам шифрования
- Виды алгоритмов шифрования
- Сферы применения алгоритмов шифрования
- Алгоритмы шифрования и криптовалюты
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Алгоритмы шифрования необходимы для сохранения конфиденциальности информации, которая передается в той или иной сети. Это могут быть банковские данные, бизнес-информация, сведения медицинского характера и все то, что необходимо скрывать от чужих глаз.
Подходов к шифрованию существует несколько, и каждый имеет свои особенности. В нашей статье мы расскажем, какие бывают алгоритмы шифрования, как они реализовываются и какие требования к ним предъявляют.
Понятие шифрования
Как только в мире зародилось понятие секретной информации, которая должна была оставаться доступной лишь узкому кругу людей, так сразу же стало использоваться и шифрование. Происходило это в очень давние времена. В частности, есть шифровальный метод, названный в честь Цезаря. Возможно, он сам его придумал, или просто любил использовать.
Суть криптографии состоит в том, чтобы сделать недоступным смысл сообщения и иметь возможность расшифровать его, задействовав определенные алгоритмы и ключи. Здесь ключ алгоритма шифрования – это некое скрытое состояние шифровальных и дешифровальных параметров. Тот, кто знает ключ, прочтет и засекреченное послание. Впрочем, не факт, что посторонние его не смогут прочитать, даже если ключа у них нет.
Требования к алгоритмам шифрования
Алгоритм шифрования данных может быть программным либо аппаратным. Последний вариант обходится дороже, но он же и производительнее, проще в использовании и дает более высокую защиту. Программное криптографическое закрытие данных практичнее и гибче.
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Скачивайте и используйте уже сегодня:
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка
Только проверенные нейросети с доступом из России и свободным использованием
ТОП-100 площадок для поиска работы от GeekBrains
Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽
Обычно требования к криптографическим системам выдвигаются такие:
- нельзя, чтобы зашифрованное сообщение читалось без ключа;
- чтобы определить по фрагменту зашифрованного сообщения и куску этого же открытого текста, какой именно использовался ключ, необходимо провести столько же операций (не меньше), сколько вообще тут могло быть применено ключей;
- когда речь идет о расшифровке данных путем подбора, то количество операций должно быть четко ограничено снизу и превышать возможности (в том числе и связанные с сетевыми вычислениями) современных компьютеров;
- даже если алгоритм шифрования известен, защита все равно должна оставаться надежной;
- необходимо, чтобы даже небольшое изменение ключа давало сильное изменение вида закодированного послания;
- структуру алгоритма шифрования менять нельзя;
- если в ходе шифрования в текст вносятся дополнительные биты, то в зашифрованном послании они должны быть абсолютно незаметны;
- исходник и зашифрованное сообщение должны быть одинаковыми по длине;
- если в ходе шифрования последовательно задействовалось несколько ключей, то нельзя допускать, чтобы зависимость между ними легко отслеживалась;
- какой бы ключ из всех существующих ни был выбран, он должен гарантировать полную защиту данных;
- требуется наличие возможности для реализации алгоритма, как аппаратным, так и программным способом. Если ключ становится длиннее, это не должно отражаться на качественных параметрах алгоритма шифрования.
Виды алгоритмов шифрования
Современных алгоритмов шифрования с высокой криптографической стойкостью (то есть, таких, которым «не страшен» криптоанализ) сейчас очень много. Обычно их разделяют на три группы:
Симметричные алгоритмы шифрования
Под симметричностью здесь понимается применение для расшифровки того же самого ключа, которым было зашифровано послание. Основные требования (их два) к симметричным алгоритмам такие: статистических закономерностей в шифруемом сообщении оставаться не должно, линейности – тоже. Симметричные системы в свою очередь делят на блочные и поточные.
В поточных алгоритмах формируется так называемая выходная гамма (определенная последовательность), и в процессе ее генерирования осуществляется шифрование послания. То есть, она потоком накладывается на исходник.
Скачать файлВ ходе симметричного шифрования для подстановки и перестановки исходных данных задействуются сложные, многоуровневые алгоритмы. Этих уровней (их еще называет проходами) может быть очень много и каждый – со своим ключом (ключ прохода).
В ходе подстановки сначала выполняется первое требование, которому должен отвечать симметричный шифр: биты сообщения перемешиваются (по заданному алгоритму), тем самым убираются все статистические данные. А путем перестановок достигается соответствие второму требованию: алгоритм становится нелинейным. Для этого часть сообщения (объём этой части задается) меняется на стандартное значение, взятое из исходного массива.
Если сравнивать симметричные алгоритмы шифрования с асимметричными, то и там, и там будут свои плюсы и минусы. Преимущество симметричных систем в том, что они больше изучены, проще в применении, шифруют быстро, и при меньшей допустимой длине ключа дают ту же стойкость.
А недостатки здесь такие: обмен ключами усложняется из-за того, что в ходе этого обмена может нарушиться их секретность (а без обмена тут не обойтись). И еще, если сеть довольно объёмна, то управлять ключами тоже становится сложно.
на курсы от GeekBrains до 01 декабря
Вот несколько симметричных шифров:
- ГОСТ 28147-89 — стандартный отечественный образец;
- 3DES — тройной DES или Triple-DES;
- RC6 —Шифр Ривеста;
- Twofish;
- SEED — шифровальный алгоритм корейского происхождения;
- Camellia – японский шифр;
- CAST — название составлено из инициалов разработчиков (Carlisle Adams и Stafford Tavares);
- IDEA;
- XTEA —самый простой алгоритм шифрования;
- AES – стандартный американский образец;
- DES – шифр применялся в Соединенных Штатах до появления AES.
Асимметричные алгоритмы шифрования
Другое название асимметричных шрифтов – криптосистемы с открытым ключом. Суть здесь в том, что ключ в открытом виде передается по открытому каналу и применяется для того, чтобы проверить подлинность электронной подписи и зашифровать послание. А вот создание электронной подписи и дешифровка осуществляется с помощью уже другого, засекреченного ключа.
В основе асимметричных алгоритмов шифрования – идея односторонних функций ƒ(х), в которых найти х совершенно просто, однако даже когда х известен, значение ƒ(х) определить практически невозможно. В качестве примера подобной функции можно привести справочник телефонных номеров крупного города. Если вы знаете фамилию и инициалы человека, то запросто отыщете тут его номер телефона, но обратное действие (по номеру найти человека) намного сложнее.
Пусть, например абонент В хочет переслать для абонента А закодированное послание. Тогда он, используя открытый ключ, шифрует текст и пересылает его по открытому каналу связи, но уже в зашифрованном виде. А расшифровку получатель (то есть, абонент А), делает уже другим, секретным ключом.
Вот несколько существующих асимметричных шрифтов:
- RSA — по инициалам Rivest-Shamir-Adleman (Ривест — Шамир — Адлеман);
- DSA — Digital Signature Algorithm;
- Elgamal — шифросистема Эль-Гамаля;
- Diffie-Hellman — обмен ключами Диффи — Хелмана;
- ECC — Elliptic Curve Cryptography (криптография эллиптической кривой);
- ГОСТ Р 34.10-2001;
- Rabin;
- Luc;
- McEliece.
Хеш-функции как алгоритмы шифрования информации
Название термина хеширование взято от английского слова hash. Хеширование — это когда некий массив информации любой длины преобразуют в битовый файл, длина которого уже фиксирована.
Хеш-функций существует сейчас много, разных по разрядности, криптостойкости, сложности вычисления и т.п.
Наибольший интерес представляют именно криптостойкие, и основных требований к ним обычно два:
- К имеющемуся сообщению С невозможно подобрать сообщение С’, которое будет обладать аналогичным хешем.
- Задача подбора пар сообщений (СС’) с одинаковым хешем должна быть практически невыполнимой.
Вот несколько примеров хеш-алгоритмов шифрования:
- SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512);
- MD2;
- MD4;
- MD5;
- Adler-32;
- N-Hash;
- Skein;
- Snefru;
- IP Internet Checksum (RFC 1071);
- CRC;
- SHA-1;
- RIPEMD-160;
- RIPEMD-256;
- RIPEMD-320;
- HAVAL;
- Tiger (TTH);
- ГОСТ Р34.11-94 (ГОСТ 34.311-95);
- Whirlpool.
Сферы применения алгоритмов шифрования
Любые пользовательские и архивные данные непременно должны быть защищены, и это забота цифровых сервисов. Последствия утечек бывают плачевными. К примеру, чужими электронными материалами с целью мошенничества могут воспользоваться хакеры.
Сейчас жизнь современного человека тесно связана с самыми разными гаджетами и IT-технологиями. Через мобильные приложения проводятся платежи, финансовые сделки, рабочие операции и т.п. Это отнюдь не безопасные каналы передачи данных, поэтому обязательно нужно заботиться об их защите.
Читайте также!
Вот в каких сферах задействуются алгоритмы шифрования информации:
- банковские операции;
- сфера IT;
- компьютерные технологии;
- телевидение;
- радио;
- иные коммуникационные каналы;
- программирование.
Алгоритмы шифрования и криптовалюты
Росту всемирной популярности криптовалют не в последнюю очередь поспособствовало стремительное развитие алгоритмов шифрования. Перспективы активного применения технологии блокчейн очевидны уже сейчас, а она опирается как раз на алгоритмы шифрования.
Майнинг (выработка криптовалют) осуществляется за счет разных компьютерных технологий, которыми вполне можно взламывать алгоритмы шифрования. Это одна из уязвимостей, которую в криптовалютах второго и последующих поколений стараются устранять. К примеру, биткоин (криптовалюта первого поколения) майнится с помощью брутфорс SHA-256.
А взломать этот алгоритм можно через майнинг-ферму (нужно лишь слегка перенастроить). Собственный алгоритм шифрования есть у эфириума, но там свои нюансы. В случае с биткоином применяются асики (интегральные микросхемы узкой направленности), которые «умеют» делать лишь одну операцию – перебирать хеши в SHA-256. А вот для майнинга эфириума применяются уже универсальные процессоры на CUDA-ядрах.
Тем, кто хочет стать профессиональным криптографом, нужно сначала освоить IT, программирование, информатику, работу алгоритмов. По всем перечисленным направлениям существует много самых разных специальных курсов.