ключ шифрования что это такое
Ключ (криптография)
Ключ — секретная информация, используемая криптографическим алгоритмом при шифровании/расшифровке сообщений, постановке и проверке цифровой подписи, вычислении кодов аутентичности (MAC). При использовании одного и того же алгоритма результат шифрования зависит от ключа. Для современных алгоритмов сильной криптографии утрата ключа приводит к практической невозможности расшифровать информацию.
Согласно принципу Керхгоффса, надёжность криптографической системы должна определяться сокрытием секретных ключей, но не сокрытием используемых алгоритмов или их особенностей.
Длина ключа
Количество информации в ключе, как правило, измеряется в битах.
Для современных симметричных алгоритмов (AES, CAST5, IDEA, Blowfish, Twofish) основной характеристикой криптостойкости является длина ключа. Шифрование с ключами длиной 128 бит и выше считается сильным, так как для расшифровки информации без ключа требуются годы работы мощных суперкомпьютеров. Для асимметричных алгоритмов, основанных на проблемах теории чисел (проблема факторизации — RSA, проблема дискретного логарифма — Elgamal) в силу их особенностей минимальная надёжная длина ключа в настоящее время — 1024 бит. Для асимметричных алгоритмов, основанных на использовании теории эллиптических кривых (ECDSA, ГОСТ Р 34.10-2001, ДСТУ 4145-2002), минимальной надёжной длиной ключа считается 163 бит, но рекомендуются длины от 191 бит и выше.
Классификация ключей
Криптографические ключи различаются согласно алгоритмам, в которых они используются.
Главное свойство ключевой пары: по секретному ключу легко вычисляется открытый ключ, но по известному открытому ключу практически невозможно вычислить секретный. В алгоритмах ЭЦП подпись обычно ставится на секретном ключе пользователя, а проверяется на открытом. Таким образом, любой может проверить, действительно ли данный пользователь поставил данную подпись. Тем самым асимметричные алгоритмы обеспечивают не только целостность информации, но и её аутентичность. При шифровании же наоборот, сообщения шифруются на открытом ключе, а расшифровываются на секретном. Таким образом, расшифровать сообщение может только адресат и больше никто (включая отправителя). Использование асимметричных алгоритмов снимает проблему распространения ключей пользователей в системе, но ставит новые проблемы: достоверность полученных ключей. Эти проблемы более-менее успешно решаются в рамках инфраструктуры открытых ключей (PKI).
Ключ шифрования что это такое
Важные понятия
Как объяснить ребенку информатику
Что такое шифрование?
Не одну тысячу лет люди посылают сообщения, понятные только конкретным адресатам, чтобы защитить свои тайны от перехвата. Создание таких сообщений называется шифрованием.
Шифрование — это процесс изменения сообщений, после которого их могут прочитать лишь определенные адресаты. Исторически главным назначением шифрования была связь между военачальниками, шпионами и главами государств. Сегодня, с развитием интернета и онлайн-шопинга, важность шифрования неуклонно растет. Например, оно помогает защитить средства покупателей от мошенников.
Нешифрованное сообщение, или открытый текст, кодируется с помощью алгоритма и ключа. Получается шифрованный текст, который можно прочитать, используя правильный ключ.
Простое шифрование
В перестановочном шифре позиции букв в сообщении меняются по некоему правилу, которое и является ключом. Адресат, тоже владеющий ключом, выполняет обратный процесс и получает оригинальный текст. Запись сообщения задом наперед — это тоже перестановочный шифр, но нестойкий, потому что его легко разгадать. Перестановочные шифры меняют буквы местами согласно правилу или набору правил.
Частотный анализ
Перестановочный шифр легко взломать методом частотного анализа. Выбрав наиболее часто встречающиеся буквы шифровки, можно соотнести их с наиболее частотными в словах языка. В английском языке чаще всего используется буква «e», а в русском — «о».
Шифр подстановки
Использовался Юлием Цезарем. Каждая исходная буква сдвигается по алфавиту на заданное число позиций. Ключом является величина сдвига.
Шифрование с открытым ключом
Недостаток простых шифров в простоте их перехвата и взлома. Эту проблему решает придуманное в 1970-х годах шифрование с открытым ключом. У каждой стороны есть два ключа — открытый, служащий для шифрования, и закрытый, который известен лишь отправителю и адресату.
Открытый ключ шифрует текст так, что решений может быть бессчетное множество. Закрытый ключ содержит данные, сводящие решение к одному варианту.
Чтобы зашифровать интернет-соединение, к обычным процедурам связи добавляют протокол SSL. URL сайта, использующего SSL, начинается с «https» вместо «http». Любой сайт, который хочет работать с SSL-протоколом, должен получить сертификат у официального провайдера. В него входят открытый и закрытый ключи для шифрования трафика между сайтом и его посетителями. Также SSL используется для защиты почтовых сообщений.
Если сайт использует просроченный или не заверенный сертификат, браузер выдаст предупреждение. Некоторые браузеры блокируют просмотр таких сайтов.
Передача ключей шифрования означает, что третьи лица будут знать пароли пользователей, иметь возможность читать переписку, отслеживать нахождение пользователя на сайте. Однако закон предполагает, что ключи шифрования хотя и будут храниться на стороннем сервисе, но смогут использоваться только по решению суда. В «Яндексе» заявили, что можно соблюсти интересы безопасности без передачи ключей. Как это будет, скоро узнаем.
Энциклопедия «Как объяснить ребенку информатику» поможет разобраться в цифровой среде детям и взрослым.
Ключевые понятия в шифровании
Иногда процесс шифрования является достаточно простым и автоматическим. Но иногда в нём случаются сбои. Чем больше вы знаете о шифровании, тем в большей безопасности вы будете при возникновении подобных ситуаций. Для начала, если вы этого ещё не сделали, рекомендуем ознакомиться с руководством «Что я должен знать о шифровании?»
В настоящем руководстве мы рассмотрим пять основных идей. Это важные понятия о процессе шифрования:
Шифр и ключ Anchor link
Вы наверняка сталкивались с чем-либо на первый взгляд непонятным. Это могло быть похоже на надпись на чужом языке или вовсе на какую-то бессмыслицу. Что-то препятствовало прочтению и пониманию. Но это вовсе не означает, что было использовано шифрование.
Каковы отличия чего-то зашифрованного от непонятного?
Шифрование — это математический процесс, используемый для превращения информации в нечитаемый (зашифрованный) вид. При этом восстановление первоначального вида информации (расшифровывание) возможно лишь с помощью специальных знаний. В процессе шифрования используются шифр и ключ.
Шифр — это набор правил (алгоритм), используемый при шифровании и расшифровывании. Это чётко определённые, выраженные в виде формулы правила, которым необходимо следовать.
Ключом является инструкция для шифра: как именно нужно шифровать и расшифровывать данные. Ключи являются одной из наиболее важных концепций в шифровании.
Один ключ или несколько? Anchor link
При использовании симметричного шифрования существует единственный ключ как для шифрования, так и расшифровывания данных.
Старые способы шифрования были симметричными. В «шифре Цезаря», использованном Юлием Цезарем, ключом для шифрования и для расшифровывания сообщений был сдвиг по алфавиту на три символа. Например, символ «A» будет изменён на «Г». Сообщение «ШИФРОВАНИЕ — ЭТО КРУТО» превратится с помощью этого ключа («три») в «ЫЛЧУСЕГРЛЗ АХС НУЦХС». Тот же самый ключ используется и для расшифровывания сообщения обратно в исходный вид. |
Симметричное шифрование все ещё применяется сегодня. Оно часто существует в форме «потоковых» и «блочных шифров», которые используют сложные математические процессы для усложнения взлома. В настоящее время процесс шифрования данных проходит в несколько этапов, максимально усложняя извлечение исходных данных при отсутствии подходящего ключа. Современные алгоритмы симметричного шифрования, такие как алгоритм Advanced Encryption Standard (AES), являются надёжными и быстрыми. Симметричное шифрование широко используется компьютерами для таких задач, как шифрование файлов, разделов жёстких дисков на компьютере, полного шифрования дисков и устройств, а также шифрования баз данных, например в менеджерах паролей. При расшифровывании информации, зашифрованной с помощью симметричного шифрования, у вас будут запрашивать пароль
. Именно поэтому мы рекомендуем использовать надёжные пароли и предоставляем пособие по созданию надёжных паролей для защиты зашифрованной информации.
Наличие лишь одного ключа может быть полезно, если вы единственный человек, нуждающийся в доступе к зашифрованной информации. Но обладание единственным ключом может стать проблемой при желании поделиться доступом к зашифрованной информации с другом, находящимся вдали от вас. Что, если вы не можете лично встретиться с ним для передачи ключа? И как поделиться ключом через небезопасное подключение к интернету?
Асимметричное шифрование, также называемое шифрованием с открытым ключом, решает эти проблемы. Асимметричное шифрование использует два ключа: закрытый ключ (для расшифровывания) и открытый ключ (для шифрования).
Симметричное шифрование
Асимметричное шифрование
Симметричное и асимметричное шифрование часто используются совместно для шифрования при передаче данных.
Асимметричное шифрование
: закрытые и открытые ключи Anchor link
Закрытый и открытый ключи создаются парами. Они математически связаны друг с другом. Вы можете представить их в виде камня, расколотого пополам. Если соединить обе половинки, то они идеально подойдут друг к другу, образуя единое целое. Ни одна часть никакого другого камня не подойдёт. Файлы открытого и закрытого ключей совпадают также. Они состоят из очень больших чисел, генерируемых компьютером.
Несмотря на своё название, открытый ключ не используется для открытия чего-либо (в отличии от реального ключа). Его предназначение заключается в другом. Более подробную информацию о работе открытых и закрытых ключей вы можете найти в нашем руководстве «Глубокое погружение в мир сквозного шифрования».