Шифрование - обратимое превращение данных, с целью сокрытия информации.
Шифрование появилось около 4 тыс. лет назад. Первым известным образцом шифра считается египетский текст, созданный приблизительно в 1900 г. до н. е., в котором вместо привычных для египтян иероглифов использовались другие символы.
Методы шифрования: симметричный и асимметричный.
Симметричное шифрование
В симметричном шифровании один и тот же ключ (хранящийся в секрете) используется как для шифрования, так и для расшифровки. Разработаны эффективные (быстрые и надежные) методы шифрования.
Даже существует стандарт на подобные методы - ГОСТ 28147-89 "Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования".
Асимметричное шифрование
Проблемой симметричного шифрования является необходимость передачи ключа, для расшифровки информации, таким образом, ключ может быть перехвачен кем-то другим.
Будь кто, знающий секретный ключ, может расшифровать информацию. Тогда как в асимметричном шифровании есть два связанных ключа - пара ключей. Открытый ключ - публичный, к нему должны иметь доступ все те, кто будет нуждаться зашифровать информацию. Тогда как закрытый ключ - закрытый ключ, должен быть в секрете, и доступен только тому, кто имеет право расшифровать информацию.
Любую информацию, зашифрованную с помощью открытого ключа, можно расшифровать, только применяя тот же алгоритм, но с использованием соответствующего частного ключа. Также всю информацию, зашифрованную с помощью частного ключа, можно расшифровать только с помощью соответствующего открытого ключа.
Это означает, что нет необходимости волноваться за передачу ключа, открытый ключ должен быть публичным. Но асимметричное шифрование является значительно более медленным от симметричного. Также требует значительно больше вычислительной мощности, как для шифрования, так и для расшифровки информации.
Через недостатки в быстродействии асимметричного метода настоящее методы приходится использовать вместе с симметричным (асимметричные методы на 3 - 4 порядка медленнее). Так, для решения задачи эффективного шифрования с передачей секретного ключа, использованного отправителем, информация сначала симметрично зашифровывается случайным ключом, затем этот ключ зашифровывают открытым асимметричным ключом получателя, после чего сообщение и ключ отправляются по сети.