Что такое секретный ключ

Ключ (криптография)

Ключ — секретная информация, используемая криптографическим алгоритмом при шифровании/расшифровке сообщений, постановке и проверке цифровой подписи, вычислении кодов аутентичности (MAC). При использовании одного и того же алгоритма результат шифрования зависит от ключа. Для современных алгоритмов сильной криптографии утрата ключа приводит к практической невозможности расшифровать информацию.

Согласно принципу Керхгоффса, надёжность криптографической системы должна определяться сокрытием секретных ключей, но не сокрытием используемых алгоритмов или их особенностей.

Длина ключа

Количество информации в ключе, как правило, измеряется в битах.

Для современных симметричных алгоритмов (AES, CAST5, IDEA, Blowfish, Twofish) основной характеристикой криптостойкости является длина ключа. Шифрование с ключами длиной 128 бит и выше считается сильным, так как для расшифровки информации без ключа требуются годы работы мощных суперкомпьютеров. Для асимметричных алгоритмов, основанных на проблемах теории чисел (проблема факторизации — RSA, проблема дискретного логарифма — Elgamal) в силу их особенностей минимальная надёжная длина ключа в настоящее время — 1024 бит. Для асимметричных алгоритмов, основанных на использовании теории эллиптических кривых (ECDSA, ГОСТ Р 34.10-2001, ДСТУ 4145-2002), минимальной надёжной длиной ключа считается 163 бит, но рекомендуются длины от 191 бит и выше.

Классификация ключей

Криптографические ключи различаются согласно алгоритмам, в которых они используются.

Главное свойство ключевой пары: по секретному ключу легко вычисляется открытый ключ, но по известному открытому ключу практически невозможно вычислить секретный. В алгоритмах ЭЦП подпись обычно ставится на секретном ключе пользователя, а проверяется на открытом. Таким образом, любой может проверить, действительно ли данный пользователь поставил данную подпись. Тем самым асимметричные алгоритмы обеспечивают не только целостность информации, но и её аутентичность. При шифровании же наоборот, сообщения шифруются на открытом ключе, а расшифровываются на секретном. Таким образом, расшифровать сообщение может только адресат и больше никто (включая отправителя). Использование асимметричных алгоритмов снимает проблему распространения ключей пользователей в системе, но ставит новые проблемы: достоверность полученных ключей. Эти проблемы более-менее успешно решаются в рамках инфраструктуры открытых ключей (PKI).

Источник

Открытый и закрытый ключ шифрования

Открытый и закрытый ключ шифрования

Ключ шифрования – это тайная информация (набор цифр и букв), которая используется алгоритмом для шифрования и расшифровки информации.

Надёжность ключа зависит от его длины в битах. В технологии SSL используют шифры 4096 бит для корневого сертификата и 128–256 бит для клиентских. Такая длина достаточна для безопасной передачи данных.

Протокол SSL использует асимметричное шифрование или шифрование с открытым ключом для установки соединения. Несмотря на название, здесь используются 2 ключа: открытый и закрытый. Оба формируются при запросе SSL-сертификата.

Открытый (публичный ключ) доступен всем. Используется для шифрования данных при обращении браузера к серверу.

Закрытый (секретный ключ) известен только владельцу сайта. Используется для расшифровки данных, отправленных браузером.

Шифрование с двумя ключами разного типа гарантирует сохранность информации. Даже если мошенник перехватит трафик, не сможет расшифровать его без закрытого ключа.

Однако асимметричный алгоритм ресурсоемок, а скорость шифрования на 2-3 порядка ниже симметричного алгоритма. Поэтому в SSL-технологии шифрование с открытым ключом используется только для согласования секретного симметричного ключа. С его помощью устанавливается защищённое HTTPS-соединение – данные передаются быстро и безопасно.

Сразу использовать симметричное шифрование ненадежно. В этом алгоритме один и тот же ключ шифрует и расшифровывает информацию. Посетитель сайта и владелец сервера должны договориться о нем без свидетелей.

Передать по почте, телефону или смской не получится – перехватят или подслушают.

Значит, нужно отправить симметричный ключ в зашифрованном сообщении. Но сначала убедиться, что его получит правильный адресат.

Рассмотрим этот процесс на примере реальных ключей:

Боб отправляет Алисе замок, ключ от которого есть только у него.

Замок здесь – публичный ключ.

Алиса закрывает замком Боба ящик с секретом и посылает обратно.

Так же браузер шифрует сообщение с помощью публичного ключа и передаёт на сервер.

Открыть ящик не сможет никто: ни сама Алиса, ни сотрудники почты.

Мошенник точно так же не может расшифровать сообщение браузера без закрытого ключа.

Боб получает ящик, открывает своим единственным ключом и узнаёт секрет.

Сервер расшифровывает сообщение закрытым ключом, который есть только у него.

Как Алиса и Боб ведут тайную переписку, так браузер и сервер устанавливают защищённое HTTPS-соединение и обмениваются данными.

Источник

Асимметричная криптография с одноразовым секретным ключом: описание идеи и возможное применение

Что такое секретный ключ. Смотреть фото Что такое секретный ключ. Смотреть картинку Что такое секретный ключ. Картинка про Что такое секретный ключ. Фото Что такое секретный ключ
(для понимания того, о чём говорится в этой статье, необходимо и достаточно хотя бы в общих чертах представлять, что такое асимметричная криптография и как работает электронная подпись)

Сценарий использования одноразового секретного ключа:

Существенное преимущество заключается в том, что использованная ключевая пара не может быть скомпрометирована иначе, как брутфорсом, либо через эксплуатацию математической уязвимости использованного алгоритма. Если секретного ключа больше вообще не существует, его невозможно ни украсть, ни выведать обманом, ни выпытать.

Пример использования

Задача: в распределённой системе участники регистрируются под создаваемыми ими самими уникальными идентификаторами. Требуется максимально затруднить задачу «угона» чужого идентификатора (identity theft). В случае состоявшегося угона идентификатора обеспечить истинному владельцу возможность возврата похищенного.

Способы решения задачи без использования рассматриваемой технологии:

Маленькое замечание к использованию одноразовых секретных ключей. Схема работоспособна только в том случае, если у субъекта, создавшего первоначальную ключевую пару, отсутствует мотивация сохранить себе секретный ключ для какой-то своей отдельной надобности. При использовании данной технологии для аутентификации все потребности полностью покрываются набором дополнительных hc-ключей (кстати, загадка для присутствующих: на что намекает аббревиатура «hc»?). Сохранение первоначального ключа никакой выгоды не приносит, зато создаёт уязвимость, делающую возможным необратимый угон идентификатора.

Источник

Что такое приватный ключ для крипто-кошелька? Как его создать и где хранить?

Что такое секретный ключ. Смотреть фото Что такое секретный ключ. Смотреть картинку Что такое секретный ключ. Картинка про Что такое секретный ключ. Фото Что такое секретный ключ

Начало работы с биткоином и другими криптовалютами может показаться достаточно сложным процессом для новичков, однако изучение основ и главных правил является обязательной задачей, если вы действительно решили серьезно заняться криптоактивами.

Безопасность — то, чему нужно уделить особое внимание. И здесь одним из важнейших пунктов является понятие публичных и приватных ключей. В этой статье мы рассмотрим последние.

Навигация по материалу:

Что такое приватный ключ?

Приватный ключ (еще его называют закрытым ключом) — это особая комбинация символов, которая предоставляет доступ к хранящимся на счету криптовалютам. Только человек, который знает ключ, может перемещать и тратить монеты.

В самом простом случае (подробнее об этом ниже) система сама генерирует приватный ключ, после чего на его основе создается публичный (открытый) ключ. Публичный и приватный ключ представляют собой буквенно-цифровые комбинации, которые связаны друг с другом. При этом это однонаправленная связь — зная приватный ключ, можно узнать публичный, однако зная публичный ключ, приватный узнать нельзя.

Что такое секретный ключ. Смотреть фото Что такое секретный ключ. Смотреть картинку Что такое секретный ключ. Картинка про Что такое секретный ключ. Фото Что такое секретный ключ

Приватный ключ — это сложная криптограмма, созданная путем применения алгоритма шифрования; она также служит своего рода подписью при отправке транзакций.

В видео ниже наглядно показано, как работают приватные и публичные ключи:

Как выглядит приватный ключ?

Давайте посмотрим на примере биткоина, как выглядит приватный ключ. В основе Bitcoin лежит алгоритм шифрования SHA-256, который создает 256-битное число, состоящее из нуля и единицы.

Однако пользоваться таким длинным набором очень неудобно и, к тому же, ключ должен быть зашифрован. Поэтому приватный ключ от биткоин-аккаунта создается в виде 32-байтного числа, который состоит из 64 символов. На каждый символ приходится два значения (ноль или единица) из вышеназванного 256-битного числа. При этом используются цифры от 1 до 9 и буквенные символы от A до F.

Пример приватного ключа :

B4653223363AA61F20BD08FC233AC37262

Но некоторые исследователи полагают, что с развитием и усовершенствованием квантовых технологий, появятся способы взлома блокчейна.

Также стоит сказать, что с развитием криптосферы, появились разные форматы для хранения приватных ключей. Это альтернативные форматы, которые называются «Форматом Импорта Кошелька». Их три:

В этих форматах хранится один и тот же ключ. Каждый формат может быть легко преобразован в любой другой.

Для чего нужен приватный ключ?

Приватный ключ выполняет две основные функции. Первая — это надежное хранение криптовалюты, так как только тот, кто знает закрытый ключ, может проводить операции с этими активами. Вот почему нужно быть предельно внимательным при создании ключа, и ни в коем случае не показывать его третьим сторонам, а также не хранить в интернете, и в идеале даже на компьютерах, которые подключены к интернету.

Вторая функция — это подпись транзакций. Приватный ключ также является цифровой подписью. Как уже было сказано выше, к каждому приватному ключу привязан уникальный публичный ключ или адрес.

При отправке BTC-транзакции в сеть ноды проверяют соответствие адреса отправителя с его публичным ключом, при этом информация о закрытом ключе остается секретной для всех, даже для валидаторов. Как только будет получено необходимое количество подтверждений, транзакция будет доставлена получателю.

Как создать надежный приватный ключ?

А теперь поговорим об одном из самых важных моментов — как создать такой ключ, чтобы он обеспечил надежное хранение криптовалютных активов. Сгенерировать приватный ключ можно при помощи нескольких сервисов.

Бумажные кошельки

Преимущество этого способа в том, что ключи хранятся в оффлайне. Одним из проверенных сервисом, при помощи которого создать приватный ключ под силу даже новичку, является сервис bitaddress.org. Нужно выполнить три простых действия:

Шаг 1. Перейдите по ссылке выше. На экране появится окно с набором рандомных буквенных и числовых символов. Двигайте мышкой по экрану до тех пор, пока процент случайности не достигнет 100%:

Что такое секретный ключ. Смотреть фото Что такое секретный ключ. Смотреть картинку Что такое секретный ключ. Картинка про Что такое секретный ключ. Фото Что такое секретный ключ

Шаг 2. Когда показатель достигнет 100%, на экране появится QR-код и хеш приватного ключа:

Что такое секретный ключ. Смотреть фото Что такое секретный ключ. Смотреть картинку Что такое секретный ключ. Картинка про Что такое секретный ключ. Фото Что такое секретный ключ

Шаг 3. Распечатайте новосозданные ключи или можно также переписать ключ на бумагу.

Что такое секретный ключ. Смотреть фото Что такое секретный ключ. Смотреть картинку Что такое секретный ключ. Картинка про Что такое секретный ключ. Фото Что такое секретный ключ

Декстопные кошельки

Процесс генерации ключа в декстопных кошельках очень простой. Самые популярные — кошелек Exodus, Electrum, Jaxx. Ключ будет создан в полностью автоматическом режиме.

Рассмотрим этот процесс на примере кошелька Exodus :

Что такое секретный ключ. Смотреть фото Что такое секретный ключ. Смотреть картинку Что такое секретный ключ. Картинка про Что такое секретный ключ. Фото Что такое секретный ключ

Для надежности файл с ключом скопируйте на носитель, к которому нет интернет-доступа, например, на флешку. Также можно переписать ключ на лист бумаги.

Онлайн-кошельки

Криптовалютные онлайн-кошельки также позволяют создать приватный ключ. В некоторых он генерируется автоматически, а в некоторых его можно создать самостоятельно.

Очень важно ознакомиться с условиями конкретного кошелька. Рекомендуется выбирать те, которые хранят ключи не на сервере, а на стороне пользователя.

Например, таким сервисом является Bitcoin Wallet Blockchain.

Раньше в этом сервисе можно было получить ключи автоматически, однако с недавних пор эту опцию убрали. Теперь это можно сделать путем создания мнемонической фразы. Мнемоническая фраза — это особый список слов, которые впоследствии преобразовываются в хеш приватного ключа. В кошельке Blockchain мнемоническая фраза состоит из 12 слов.

Что такое секретный ключ. Смотреть фото Что такое секретный ключ. Смотреть картинку Что такое секретный ключ. Картинка про Что такое секретный ключ. Фото Что такое секретный ключ

Чтобы получить приватный ключ, нужно сделать следующее :

Что такое секретный ключ. Смотреть фото Что такое секретный ключ. Смотреть картинку Что такое секретный ключ. Картинка про Что такое секретный ключ. Фото Что такое секретный ключ

Система сгенерирует приватный ключ, который вы найдете в нижней части окна в разделе «Derivation Path».

Brain Wallet («мозговой кошелек»)

Этот способ считается более надежным, так как создателем своего ключа является сам пользователь. Однако он подойдет более продвинутым пользователям.

Этот метод называется Brain Wallet, т.е. «мозговой кошелек», так как ключ генерируется мозговыми усилиями владельца будущего ключа, и заключается в том, что пользователь должен придумать любую фразу или число и зашифровать его через алгоритм SHA-256.

Создавая ключ этим способом, нужно помнить всего одно правило: чем сложнее будет фраза/число, тем надежнее будет приватный ключ.

Конечно, можно в качестве ключа использовать и число 1. И вы будете смеяться, но есть пользователи, которые так и сделали.

Хешем числа 1 в системе SHA-256 является следующее значение:

Если вы пройдете по ссылке, то увидите, что за последние несколько лет этот ключ использовался в более чем 1200 транзакциях и на нем было совершено операций почти на 5 BTC:

Что такое секретный ключ. Смотреть фото Что такое секретный ключ. Смотреть картинку Что такое секретный ключ. Картинка про Что такое секретный ключ. Фото Что такое секретный ключ

Аналогичную ситуацию можно наблюдать и при использовании известной фразы «Быть или не быть» в качестве приватного ключа:

Что такое секретный ключ. Смотреть фото Что такое секретный ключ. Смотреть картинку Что такое секретный ключ. Картинка про Что такое секретный ключ. Фото Что такое секретный ключ

Эти примеры показывают, что выбор надежного приватного ключа — этап, к которому нужно отнестись максимально серьезно.

Некоторые сервисы предоставляют опцию создания «мозгового кошелька», например, тот же bitaddress.org.

Чтобы воспользоваться этой функцией, нужно перейти по вкладке «Умный кошелек»:

Что такое секретный ключ. Смотреть фото Что такое секретный ключ. Смотреть картинку Что такое секретный ключ. Картинка про Что такое секретный ключ. Фото Что такое секретный ключ

Далее нужно ввести фразу (обратите внимание, что ее должно быть невозможно или как минимум трудно угадать), подтвердить еще раз и нажать на кнопку «Просмотр». Сайт сгенерирует приватный ключ, который можно распечатать или переписать на бумагу:

Что такое секретный ключ. Смотреть фото Что такое секретный ключ. Смотреть картинку Что такое секретный ключ. Картинка про Что такое секретный ключ. Фото Что такое секретный ключ

Плюс этого способа в том, что даже потеряв приватный адрес, его можно восстановить, если преобразовать ее через стандартный алгоритм SHA-256 — такие конвертеры легко найти в интернете, например, этот.

Приватный ключ можно вообще не записывать, если вы уверены, что запомнили фразу, а адрес нужно записать, чтобы на него можно было перевести биткоины.

Но если вы все еще очень боитесь, что кто-то сможет узнать ваш даже супер-сложный ключ, то есть еще один способ создания приватного ключа, который обеспечит 1000% безопасности. Возьмите монетку, подбрасывайте ее 160 раз подряд и записывайте «0», если выпала решка и «1», если выпал орел. После этого полученное число можно преобразовать в алгоритме SHA-256, и вы получите очень надежный приватный ключ, так как вряд ли кто-то сможет подбросить монету так же как вы.

Как правильно хранить приватные ключи?

Важно не только создать надежный ключ, но и правильно его хранить. В общем есть три варианта хранения ключей:

При этом какой бы способ вы не выбрали, важно помнить, что доступ приватному ключу должен быть только у вас.

А теперь расскажем, какие есть варианты хранения :

Перенос приватных ключей (свиппинг)

В некоторых случаях может потребоваться импорт приватного ключа, например, из бумажного носителя в кошелек. В этом случае важно понимать, что вы создаете вторую копию, что крайне не рекомендуется. Особенно это важно исключить, если ключ был получен от другого человека — ведь не исключен вариант, что он может воспользоваться доступом к средствам с плохими намерениями.

В подобной ситуации лучше всего прибегнуть к свиппингу. Его принцип очень простой. Нужно создать новый приватный ключ в кошельке, который вы планируете использовать. После этого перевести средства со старого адреса на новый. Таким образом в итоге у вас получится новый приватный ключ, известный только вам, в единственном варианте, и средства будут в безопасности.

Использовать свиппинг стоит в таких случаях:

Приватный (закрытый) ключ в отличие от публичного — это секретная информация, которую не должен знать никто, кроме его владельца. Тот, кто владеет закрытым ключом — владеет хранящимися на нем средствами.

Поэтому очень важно обеспечить надежное хранение и не забывать о методе свиппинга, особенно при утрате доступа к хранилищу ключа или если оно попало в руки других людей. Если придерживаться этих простых правил, то ваши криптовалютные активы всегда будут в безопасности.

Источник

Кодирование и Шифрование

В наш век интернет-технологий, когда мы доверяем все свои данные интернет-сервисам, нужно знать и понимать, как они их хранят и обрабатывают.

Но зачем это вообще нужно знать? Чтобы попросту не попасть в ситуацию, когда ваши личные данные, пароли от аккаунтов или банковских карт окажутся в руках мошенников. Как говорится: «Доверяй, но проверяй»

Важные аспекты в хранении данных, будь то на внешних серверах или домашнем компьютере, – это прежде всего кодирования и шифрование. Но чем они отличаются друг от друга? Давайте разбираться!

Ни для кого не секрет, что компьютер может хранить информацию, но он не может хранить её в привычной для нас форме: мы не сможем просто так написать на флешки реферат, не можем нарисовать на жестком диске картинку так, чтобы её мог распознать компьютер. Для этого информацию нужно преобразовать в язык понятный компьютеру, и именно этот процесс называется кодированием. Когда мы нажимаем на кнопку на клавиатуре мы передаем код символа, который может распознать компьютер, а не сам символ.

Определения и различия

Кодирование – процесс преобразования доступной нам информации в информацию понятную компьютерную.

Шифрование – процесс изменения информации таким образом, чтобы её смогли получить только нужные пользователи.

Шифрование применялось и задолго до создания компьютеров и информатики как таковой. Но зачем? Цели её применения можно было понять из определения, но я опишу их ещё раз более подробно. Главные цели шифрования это:

конфиденциальность – данные скрыты от посторонних

целостность – предотвращение изменения информации

идентифицируемость – возможность определить отправителя данных и невозможность их отправки без отправителя

Оценить стойкость шифра можно с помощью криптографической стойкости.

Криптографическая стойкость – это свойство шифра противостоять криптоанализу, изучению и дешифровки шифра.

Криптостойкость шифра делится на две основные системы: абсолютно стойкие системы и достаточно стойкие системы.

Абсолютно стойкие системы – системы не подверженные криптоанализу. Основные критерии абсолютно стойких систем:

Ключи должны генерироваться для каждого сообщения отдельно

Генерация ключей независима

Длина ключа должна быть не меньше длины сообщения

К сожалению, такие системы не удобны в своём использовании: появляется передача излишней информации, которая требует мощных и сложных устройств. Поэтому на деле применяются достаточно стойкие системы.

Достаточно стойкие системы – системы не могут обеспечить полную защиту данных, но гораздо удобнее абсолютно стойких. Надежность таких систем зависит от возможностей крипто аналитика:

Количества перехваченных сообщений

Времени и вычислительных способностей

А также от вычислительной сложности шифра.

Вычислительная сложность – совокупность времени работы шифрующей функции, объема входных данных и количества используемой памяти. Чем она больше, тем сложнее дешифровать шифр.

История шифрования

Шифрование берет своё начало ещё из древних времен. Примерно 1300 лет до нашей эры был создан один из первых методов шифрования – Атбаш. Принцип шифрования заключается в простой подставке символов по формуле:Что такое секретный ключ. Смотреть фото Что такое секретный ключ. Смотреть картинку Что такое секретный ключ. Картинка про Что такое секретный ключ. Фото Что такое секретный ключ, где:

n – количество символов в алфавите

i – порядковый номер символа.

С тех самых пор шифрование активно развивалось вместе с развитием нашей цивилизации

Хоть шифры и менялись, но их принцип нет – для расшифровки сообщения требуется ключ. В случае с Абашем ключом может считать последовательность порядковых номеров исходных символов, но этот ключ ещё надо как-то передать. Методы шифрования, которые используются сейчас, научились-таки передавать ключи по открытым и незащищённым каналам связи. Казалось бы, передача ключей шифрования по обычным каналам — это добровольное жертвование своими данными, но не всё так просто. Разберём это на примере популярного алгоритма шифрования «RSA», разработанного в 1977 году.

Первым делом выбирается два случайный простых числа, которые перемножаются друг на друга – именно это и есть открытый ключ.

К слову: Простые числа — это те числа, которые могут делиться без остатка либо на 1, либо на себя.

Длина таких чисел может быть абсолютно любая. К примеру, возьмем два простых числа 223 и 13. Их произведение 2899 – будет являться открытым ключом, который мы и будем передавать по открытому каналу связи. Далее нам необходимо вычислить функцию «Эйлера» для произведения этих чисел.

Функция Эйлера – количество натуральных чисел, меньших чем само число и, которые будут являть взаимно простыми числами с самим числом.

Возможно, звучит непонятно, но давайте это разберем на небольшом примере:

φ (26) [фи от двадцати шести] = какому-то числу чисел, которое всегда будет меньше 26, а сами числа должны иметь только один общий делитель единицу с 26.

1 – подходит всегда, идем дальше;

7 – только на 1 – подходит;

Общее количество таких чисел будет равно 12. А найти это число можно по формуле: φ(n*k) = (n-1)(k-1) в нашем случае 26 можно представить как 2 * 13, тогда получим φ(26) = φ(2 * 13) = (2-1)*(13-1) = 1 * 12 = 12

Теперь, когда мы знаем, что такое функция Эйлера и умеем её вычислять найдем её для нашего открытого ключа – φ(2899) = φ(223 * 13) =(223 – 1)*(13-1) = 222 * 12 = 2664

После чего нам нужно найти открытую экспоненту. Не пугайтесь, тут будет гораздо проще чем с функцией «Эйлера».

Открытая экспонента – это любое простое число, которое не делится на функцию Эйлера. Для примера возьмем 13. 13 не делится нацело на число 2664. Вообще открытую экспоненту лучше выбирать по возрастанию простым перебором, а не просто брать случайную. Так для нашего примера разумнее было бы взять число 5, но давайте рассмотрим на примере 13

e – открытая экспонента

mod – остаток отделения

В обоих случаях у нас получится число 205

На этом подготовка отправки сообщения успешно завершается и начинается самое веселое – отправка данных для дешифрования сообщения. На этом шаге мы отправляем открытый ключ и открытую экспоненту человеку, сообщение которого хотим получить. Предположим, что в этот момент наш ключ и экспоненту перехватили 3-е лица, но до нужного нам человека они всё так же дошли

Теперь этому человеку нужно отправить нам сообщение, для простоты предположим, что это какое-то число, например: 92. Для этого ему нужно отправить нам остаток от деления 92 в степени открытой экспоненты на открытый ключ – T ^ e mod n , где

T – шифруемый текст

e – открытая экспонента

mod – остаток от деления

Предположим, что и в этот раз сообщение перехватили, но нам оно всё так же дошло

С – зашифрованный текст

d – закрытая экспонента

mod остаток от деления

235 ^ 205 mod 2899 = 92.

Вуаля, и мы имеет исходное число. Но, что насчет перехваченных сообщений? У злоумышленника есть сообщение, ключ и экспонента, но как мы помни для дешифровки ему ещё нужна секретная экспонента, она же секретный ключ, но для того, чтобы вычислить её, ему придется разложить исходный ключ 2899 на множители, а сделать это не так уж и просто, особенно когда вместо двух чисел 223 и 13, будут использовать числа длиной несколько десятков символов

Но ничто в мире не идеально, в том числе и этот метод.

Его первый недостаток – это подборка пары чисел для открытого ключа. Нам нужно не просто сгенерировать случайно число, но ещё и проверить на то простое ли оно. На сегодняшний нет методов, которые позволяют делать это сверх быстро.

Второй недостаток – так же связан с генерацией ключа. Как мы с вами помним: «ключи должны генерировать независимо от каких-либо факторов», но именно это правило нарушается, когда мы пытается сгенерировать строго простые числа.

Третий недостаток – подбор и перебор чисел для экспонент.

Четвертый – длина ключей. Чем больше длина, тем медленнее идет процесс декодирования, поэтому разработчики пытаются использовать наименьшие по длиннее ключи и экспоненты. Даже я акцентировал на это внимание, когда говорил, что лучше взять число 5, вместо 13 для открытой экспоненты. Именно из-за этого и происходит большая часть взломов и утечек данных

Но не стоит печалиться, ведь как я и говорил: криптография и шифрование развивается вместе с развитием цивилизации. Поэтому довольно скоро все мы будем шифровать свои данные с помощью Квантового шифрование.

Этот метод основывается на принципе квантовой суперпозиции – элементарная частица может сразу находится в нескольких положениях, иметь разную энергию или разное направление вращения одновременно. По такому принципу и работает передача ключей шифрования по протоколу BB-84.

Есть оптоволокно, по которому передаются единичные фотоны света. Мы, как отправитель может сгенерировать абсолютно любой двоичный ключ, по тому же принципу квантовой супер позиции, ну или использовать обычные генераторы псевдослучайных чисел. Допустим мы хотим передать ключ 101001011. Для этого нам нужно принять за обозначение какое положение фотона соответствует единице, а какое нулю. Представим, что вертикальное положение – это 1, а горизонтальное – 0. Если оставить все так, то от передачи ключей таким образом не будет никакого смысла, ведь тогда злоумышленник всегда сможет измерить фотон, получить его значение, создать и отправить точно такой же обратно человеку, которому мы хоти передать ключ. Поэтому были введены ещё два положение – диагональные. Предоставим вертикальную волну, или же значение 1 и отклоним её на 45 градусов влево. Это будет вторая единица. Вернемся обратно и отклоним на 45 градусов вправо – это будет второй 0.

Что такое секретный ключ. Смотреть фото Что такое секретный ключ. Смотреть картинку Что такое секретный ключ. Картинка про Что такое секретный ключ. Фото Что такое секретный ключ

Вернемся к нашему ключу 101001011. Мы случайным образом выбираем направление – обычное или диагональное. Для удобства присвоим обычному номер 1, а диагональному 2.

Давайте отправим ключ – 1(1), 0(2), 1(1), 0(1), 0(1), 1(2), 0(2), 1(1), 1(2). Теперь человеку, которому мы отправляем ключ, нужно точно так же, совершенно случайно, выбрать случайное направление.

Допустим он выбрал направления: 221111212. Поскольку есть всего 2 плоскости отправки: 1 и 2, они же называются: канонический и диагональный базис, то шанс того, что он выбрал правильные направления 50%.

Что такое секретный ключ. Смотреть фото Что такое секретный ключ. Смотреть картинку Что такое секретный ключ. Картинка про Что такое секретный ключ. Фото Что такое секретный ключ

Если он угадал базис – он получил верное значение, если нет – неверное. Учитывая его направления, он получил: 001000011. Теперь нужно отсеять неправильные значения: можно сделать это обменом базисов по любому, даже не защищенному, каналу связи. После этого у нас обоих останется ключ: 0100011. Теперь с помощью его мы можем передавать и кодировать сообщения по обычному методу шифрования.

Заключение

Причитав и разобрав эту статью, мы с вами узнали, чем отличается кодирование от шифрования, их историю с будущим, узнали каким должен быть идеальный шифр и немного поговорили про крипто анализ. Уже с этими знаниями, которые были предоставлены в этой статье, можно спокойно идти и делать какую-нибудь систему авторизации или пытаться взломать какой-то сайт, главное не перебарщивать.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *