Основы криптографии

Криптография относится к процессу сокрытия информации путем преобразования читаемого текста в нечитаемый текст с использованием какого-либо ключа или алгоритма шифрования.

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

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

Типы криптографии

Шифрование бывает двух типов:

  • Симметричное шифрование использует один ключ для шифрования и дешифрования отправляемой / получаемой информации.
  • Асимметричное шифрование использует разные ключи для шифрования и дешифрования отправляемой / получаемой информации.

Шифр

Шифр относится к алгоритму, который используется для шифрования и дешифрования.

Типы шифров:



Классические шифры

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

Современный шифр


  • Шифры на основе ключей:



    • Алгоритм симметричного ключа - это алгоритм, который использует один ключ для шифрования и дешифрования.

    • Алгоритм асимметричного ключа - это алгоритм, который использует два ключа для шифрования и дешифрования.


  • Шифры на основе ввода:



    • Блочный шифр - это шифр, который работает с блоками данных фиксированного размера с использованием симметричного ключа.

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

Алгоритмы шифрования

ИЗ

DES - это стандарт шифрования данных, использующий симметричное шифрование. Секретный ключ, который используется для шифрования и дешифрования, имеет 64 бита, из которых 56 бит генерируются случайным образом, а оставшиеся 8 бит используются для проверки ошибок.

AES

AES - это алгоритм с симметричным ключом, который выполняет одну и ту же операцию несколько раз. Он использует блок фиксированного размера из 128 бит и ключи трех размеров: 128, 192 и 256 бит.

RC4, RC5, RC6

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

RC5 - это параметризованный алгоритм, который имеет переменный размер блока, переменный размер ключа и переменное количество раундов. Размер блока может быть одним из трех: 32, 64 и 128 бит. Размер ключа может составлять от 0 до 2040 бит. Количество раундов может быть от 0 до 255.

RC6 является производным от RC5 и имеет две дополнительные функции: он использует целочисленное умножение и 4-битные регистры (RC5 использует 2-битные регистры).

Twofish

Алгоритм Twofish - это блочный шифр, который использует 128-битные блоки и один ключ для шифрования и дешифрования. Размер ключа может составлять от 0 до 256 бит.

DSA

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

ЮАР

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

Диффи-Хеллман

Алгоритм Диффи-Хеллмана используется для генерации общего ключа между двумя объектами по незащищенному каналу. Это позволяет двум сторонам создать ключ шифрования, а затем с его помощью шифровать свой трафик.

Дайджест сообщения

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

MD5 - это алгоритм дайджеста сообщения, который принимает входные данные произвольной длины и создает 128-битный дайджест входных сообщений. Этот алгоритм используется в приложениях для цифровой подписи, проверке целостности файлов и хранении паролей.

SHA

Алгоритм безопасного хеширования или SHA - это алгоритм, который генерирует криптографически безопасный дайджест сообщения. Существует три поколения алгоритмов SHA: SHA-1, SHA-2 и SHA-3. SHA-1 создает 160-битные дайджесты, тогда как SHA-2 и SHA-3 создают 256, 384 и 512-битные дайджесты.

HMAC

Код аутентификации сообщения на основе хэша или HMAC - это тип кода аутентификации сообщения. Он использует комбинацию криптографического ключа и хэш-функции, например SHA-1 или MD5. Он используется для проверки подлинности и целостности.

PKI

PKI расшифровывается как «Инфраструктура открытых ключей» и относится к оборудованию, программному обеспечению, людям, политикам и процедурам, которые необходимы для управления цифровыми сертификатами. Это архитектура безопасности, которая была разработана для повышения конфиденциальности информации, которой обмениваются.

Подписанный сертификат - это сертификат, выданный центрами сертификации (ЦС). Он содержит открытый ключ и личность владельца.

Самоподписанный сертификат - это сертификат, выданный и подписанный им самим. Обычно он используется в целях тестирования, и в противном случае ему нельзя доверять.

Электронная почта и шифрование диска

Цифровая подпись

Цифровая подпись создается с использованием асимметричной криптографии. Он прикрепляется к передаваемым данным и представляет собой криптографический способ аутентификации.

SSL

SSL расшифровывается как Secure Sockets Layer и относится к протоколу на прикладном уровне, которому поручено обеспечивать безопасность передачи сообщений по сети и Интернету.

TLS

TLS означает безопасность транспортного уровня и относится к протоколу, который устанавливает безопасное соединение клиент-сервер и обеспечивает целостность и конфиденциальность информации во время передачи.

PGP

PGP расшифровывается как Pretty Good Protection и относится к протоколу, используемому для шифрования и дешифрования аутентификационных и криптографических данных. PGP используется для сжатия данных, цифровых подписей, шифрования / дешифрования электронной почты и другой конфиденциальной информации.

Шифрование диска

Шифрование диска - это шифрование всех данных, хранящихся на диске. Задача - защитить данные, хранящиеся на диске, и обеспечить их конфиденциальность.

Криптоанализ

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

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

  • Линейный криптоанализ используется в блочных шифрах.
  • Дифференциальный криптоанализ используется в алгоритмах с симметричным ключом.
  • Интегральный криптоанализ используется в блочных шифрах.

Методология взлома кода

Методы, используемые для измерения силы алгоритма шифрования путем взлома шифрования, включают:

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

Криптографические атаки


  • Атака только зашифрованным текстом это атака, при которой злоумышленник имеет набор зашифрованных текстов, которые необходимо проанализировать, чтобы найти ключ и зашифровать текст.


  • Атака по известному открытому тексту - это атака, при которой у злоумышленника есть часть открытого текста, на основе которого он получает ключ.


  • Атака по выбранному открытому тексту - это атака, при которой злоумышленник получает ключ, анализируя открытый текст и соответствующий зашифрованный текст, сгенерированный злоумышленником.


  • Атака по выбранному зашифрованному тексту - это атака, при которой злоумышленник получает простой текст для набора выбранных зашифрованных текстов и пытается получить ключ.


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


  • Атаки по словарю - это атака, при которой злоумышленник создает словарь открытого текста и его зашифрованный текст, а затем использует этот словарь для взлома шифрования.