Рубрики
Uncategorized

Юнцян учит вас шифрованию и дешифрованию: Симметрия (1)

Автор оригинала: David Wong.

Всем привет, я Юнцян, Бог блокчейна, о котором Лао Ли говорил вам раньше, основное блюдо iOS в большой компании по-прежнему остается волной, только жизнь во рту Лао Ли на самом деле не появилась у мошенника, левая рука Лао Вана и правая рука – Чжао Юнцян. Между мной и Николасом Чжао Си нет сильной связи. Я просто знаю его в одностороннем порядке.

До этого Лао Ли пытался разрешить мне опубликовать несколько уроков о том, как обмануть высокие зарплаты и деньги, которые я справедливо отверг.

After all, it's a lifelong learning experience. You can't just teach it to you so easily.

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

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

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

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

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

  • Дискретная математика
  • Дифференциальный и интегральный
  • Геометрия пространства
  • О вероятности

Вам не нужно иметь…

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

Проще говоря, технология шифрования и дешифрования делится на две категории:

  • Симметричное шифрование и дешифрование
  • Асимметричное шифрование и дешифрование

Среди них распространенными алгоритмами симметричного шифрования и дешифрования являются DES, 3DES, AES; типичной технологией асимметричного шифрования и дешифрования является RSA, что является тем, что сертификаты открытого и закрытого ключей являются грязными.

Давайте начнем с симметричного шифрования и дешифрования. Грубо говоря, симметричное шифрование и дешифрование означает “использование одного и того же пароля при шифровании и дешифровании”. Это звучит очень симметрично. Есть ли они вообще?

Давайте воспользуемся диаграммой, чтобы показать, что:

В начале люди из моей династии, как правило, использовали такие технологии шифрования и дешифрования, как “Король Покрывает тигра” и “Пагода Таун Ривер Демон”. Однако император Соединенных Штатов использовал технологию под названием DES для симметричного шифрования и дешифрования, которая когда-то стала распространенной технологией симметричного шифрования и дешифрования в отрасли. Банкам и Пентагону нравилось использовать эту технологию. То есть, к сожалению, хорошие времена не длятся долго, мир становится все хуже и хуже, стоимость взлома этой штуки становится все ниже и ниже ~~Итак, чтобы выжить, есть несколько стариков с белой бородой, которые латают DES, шьют и чинят вещь под названием 3DES, продолжают использовать, но это не бесполезно __________. Как и следует из названия, не бей меня. Действительно: 3DES означает обработку три раза с помощью DES. В настоящее время кажется, что 3DES не может широко использоваться на практике, поэтому, если вы выбираете технологию симметричного шифрования и дешифрования, старайтесь избегать DES и 3DES.

Ха-ха, нравятся новые и ненавидят старые человеческие скульптуры из песка. Хотя DES больше не используется, в конце концов, это было блестяще, и я думаю, что все еще необходимо выполнить волну. Мы знаем, что в php 7 оригинальное шифрование и дешифрование серии mcrypt было отменено. Официальные лица предлагают нам использовать серию OpenSSL для шифрования и дешифрования, поэтому убедитесь, что вы установили стандартное расширение OpenSSL в своей среде PHP.

После сохранения файла как test.php, выполните одно: PHP test.php | grep des. В результате вы можете это почувствовать:

Те, у которых есть ребро, такие как desede*, обозначаются как 3DES. Что означают так много странных суффиксов? Оглядываясь назад на это… Это не невозможно.

Отсеиваясь, мы видим, что DES (не des3) имеет несколько специфических методов с хвостами:

  • дес-КБК
  • Des-cfb* (обратите внимание на следующую подстановочную звездочку)
  • дес-ЭКБ
  • дес-офб

Во-первых, мы используем традиционный метод des для продолжения принудительной работы:

Сохраните его как test.php и казнить одного:

Идеально! Как сетчатая коробка Лао Вана, идеально!

Просто проанализируйте:

Давайте двигаться дальше: мы используем функцию openssl_get_cipher_methods (), чтобы получить все методы шифрования DES, которые мы можем использовать, а затем мы можем просто оценить, соответствует ли выбранный нами метод; затем мы используем 123456 в качестве пароля, helloMOTO в качестве содержимого открытого текста, openssl_encrypt () – это функция шифрования, openssl_encrypt () – это функция шифрования. _ Decrypt () – это функция расшифровки. Прототип функции выходит и просматривает руководство слева. Одним словом, все так идеально!

После волны выполнения результаты будут следующими:

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

Предупреждение PHP: openssl_encrypt(): Использование пустого вектора инициализации (iv) потенциально небезопасно и не рекомендуется в/home/ubuntu/lab/test.php на линии 10

Это, наверное, десятая строка теста. PHP с пустой капельницей, что не рекомендуется и небезопасно. Когда я переводил это предложение, Лао Ли, который уже хорошо владеет английским языком, сказал мне: “Ваш перевод слишком труден. Тебе следует научиться быть человеком. Посмотри на это, ты-злой результат того, что не посещаешь полный курс бакалавриата”.:

Предупреждение PHP: openssl_encrypt( ): IV вектор лучше не пустой, не рекомендуется, и это небезопасно в использовании.

Что такое IV вектор? Чтобы избавиться от этой проблемы, я напишу фрагмент кода, чтобы он мог работать.

Обратите внимание, что строки 8, 9, 10 и 15, 17 были изменены для векторов IV, и на этот раз код сохраняет волну запусков:

Идеально! Как сетчатая коробка Лао Вана, идеально!

Итак, в разделе шифрование и дешифрование DES мы оставили два вопроса:

  • Что означают эти суффиксы, такие как des-cbc des-cfb?
  • Что, черт возьми, такое IV вектор?

У Чан Ина может быть сюрприз