Шифрование превратилось в модное словечко. Мы все время слышим, как шифрование может защитить нас от прослушивания и слежки. Многие пользователи интернета используют зашифрованные приложения, электронную почту, мессенджеры или VPN для защиты своего соединения.
Между тем, правительства имеют свои представления о зашифрованных услугах – они хотят получить полный доступ к различным учетным записям в чрезвычайных ситуациях. И именно поэтому они требуют предоставлять бэкдоры к зашифрованным услугам через законодательство. Естественно, эти новые законы привлекают большое внимание СМИ, ставя шифрование в центр внимания.
В интернете повсюду мы можем наткнуться на множество случайных букв и цифр, указывающих на шифрование – ECC, XChacha20, AES-256, RC6, 2DES, QUAD или DSA. Но если вы обычный пользователь, заботящийся о своей конфиденциальности и безопасности, все эти аббревиатуры будет трудно переварить в одиночку. Будем надеяться, что некоторые пояснения помогут вам лучше их понять.
Различные типы алгоритмов шифрования
Существует достаточно много алгоритмов шифрования. Поэтому стоит рассмотреть наиболее распространенные из них.
ECC
Это алгоритм асимметричного шифрования нового поколения. Он также используется для генерации ключей шифрования и создания безопасных соединений для безопасной передачи данных. ECC намного быстрее и безопаснее, чем RSA или DSA. Он использует более короткие ключи, чем RSA, которые так же сложно взломать. Например, 512-битный ECC ключ так же безопасен, как и 15360-битный RSA ключ, но поскольку он намного короче, то потребляет значительно меньше вычислительной мощности для его генерации. ECC используется не так часто, как RSA, поскольку он относительно новый, к тому же RSA легче реализовать.
XChaCha20
Это алгоритм симметричного шифрования, который был разработан Даниэлем Бернштейном. Как и ECC, он относительно новый, но уже зарекомендовал себя как очень безопасный, надежный и быстрый алгоритм. ChaCha является потоковым шифром, что означает, что он шифрует данные бит за бит по мере их поступления. Благодаря этому ChaCha намного быстрее любого блочного шифра и не нуждается в аппаратном обеспечении или большой вычислительной мощности. Это также является причиной того, что ChaCha не подвержен временным атакам, в отличие от некоторых блочных шифров.
RC6 (предыдущие версии-RC4 и RC5)
Это алгоритм симметричного (закрытый ключ) шифрования. Получатель зашифрованных данных может получить доступ к ним только с помощью закрытого ключа, совместно используемого отправителем. RC6 не предназначен для общего пользования и имеет ограничения по объему данных, которые могут быть зашифрованы. Нет никаких известных атак, которые бы ослабили RC6 до такой степени, чтобы взлом был реально осуществим.
AES
Это еще один симметричный алгоритм, который шифрует данные в одном блоке фиксированного размера за один раз. AES может иметь ключи различной длины, например, AES-128, AES-192 или AES-256. Несмотря на то, что 128-битный алгоритм эффективен и безопасен, службы шифрования чаще используют AES-192 для обеспечения максимальной безопасности.
Triple DES
Это более новая версия стандарта шифрования данных, которая широко используется финансовыми службами. Этот алгоритм использует 56-битный ключ, но шифрует данные три раза, превращая их в 168-битный ключ. Однако некоторые эксперты утверждают, что это больше похоже на 112-битный ключ. Процесс тройного шифрования делает его намного медленнее по сравнению с другими алгоритмами. Также, из-за того, что в нем используются более короткие блоки данных, это может быть проще для расшифровки и утечки данных. По мере появления более современных и быстрых технологий, технология DES постепенно сворачивается.
Blowfish
Это метод шифрования закрытого ключа, разработанный Брюсом Шнайером. Он был введен в 1993 году как быстрая, безлицензионная альтернатива другим популярным в то время алгоритмам шифрования. Многие криптографы все еще изучают этот алгоритм и пытаются подтвердить, что он защищен от взлома.
RSA
В качестве алгоритма асимметричного шифрования (открытого ключа) он использует два ключа: открытый и закрытый. Открытый ключ применяется для шифрования данных, а закрытый – для их расшифровки. RSA широко распространен, но не для шифрования реальных данных, проходящих через интернет. Вместо этого, он используется для шифрования ключей другого алгоритма, особенно когда вам нужно поделиться своим личным ключом. Сообщается, что 768-битный RSA ключ был взломан, но в настоящее время большинство RSA ключей – 2048-битный и 4096-битный. Это делает его более безопасным для шифрования, но работает он очень медленно.
Diffie-Hellman
Это один из первых протоколов для безопасного обмена ключами по публичному каналу. Как и RSA, Diffie-Hellman полагается на крайнюю сложность больших простых чисел. Обычно он используется для систем SSL, SSH, PGP и других систем PKI (инфраструктура открытых ключей). Поэтому каждый раз, когда вы заходите на веб-сайт со значком замка рядом с его URL-адресом, это означает, что ваше устройство использует Diffie-Hellman.
DSA
Это еще один алгоритм открытого ключа. NIST предложил его для безопасной электронной подписи еще в 1991 году. Как и все методы асимметричного шифрования, этот алгоритм имеет частную и публичную части в своем процессе кодирования. Лицо, которое подписывает, является частным, а лицо, которое проверяет подпись, является публичным. DSA в настоящее время используется как в неклассифицированных, так и в засекреченных сообщениях.
El Gamal
Это алгоритм шифрования с открытым ключом, созданный в 1984 г. Тахером Эль-Гамалем. Это упрощенный алгоритм Diffie-Hellman, позволяющий шифровать в одном направлении без необходимости активного участия второй стороны. Ключевым недостатком этого алгоритма является то, что шифрованный текст в два раза длиннее открытого текста. А наибольшим преимуществом является то, что один и тот же текст создает другой зашифрованный текст каждый раз, когда он шифруется. Неоднократно было доказано, что это очень безопасный метод шифрования.
Вам будет полезно узнать – что такое сквозное шифрование.
Какие типы алгоритмов шифрования наиболее безопасны?
На этот вопрос нет простого ответа. Большинство экспертов по кибербезопасности скажут вам, что многое зависит от того, где и как используется каждый алгоритм. Каждый метод шифрования имеет свои минусы и плюсы. Поэтому во многих случаях асимметричное шифрование необходимо использовать в сочетании с симметричным.
В настоящее время AES является самым популярным симметричным алгоритмом, используемым во многих службах шифрования. Он также признан стандартом во многих странах. Однако все больше технических гигантов начинают использовать более новые алгоритмы, такие как ChaCha.
Но симметричное шифрование имеет свои недостатки – закрытый ключ должен быть отправлен получателю. Именно здесь в игру вступают асимметричные алгоритмы. Поэтому, на сегодняшний день будет лучше использовать ECC в сочетании с ChaCha для обеспечения пуленепробиваемой безопасности и наслаждаться душевным спокойствием.
Вам будет полезно узнать – dlp система (это специальное программное обеспечение, предназначенное для защиты данных).
Придумал алгоритм шифрования, можете подсказать ресурс где можно было бы проверить его стойкость в качестве головоломки или задачи