Наука о шифровании называется криптографией. Современная криптография рассматривает следующие проблемы безопасности: обеспечение конфиденциальности, обеспечение целостности, обеспечение аутентификации, обеспечение невозможности отказа от авторства. Решение этих проблем и является основной целью криптографии. Владелец информации обычно называется отправителем. Он осуществляет преобразование (шифрование) исходной (открытой) информации в закрытую информацию с целью передачи ее по доступному противнику каналу связи. Противником считается любой субъект, не имеющий права ознакомления с передаваемой информацией. В качестве противника может выступать криптоаналитик, владеющий методами раскрытия шифров. Законный получатель информации осуществляет расшифрование полученного сообщения. Противник осуществляет атаку - попытку овладеть зашифрованной информацией. Атаки делятся на пассивные и активные. Пассивные атаки заключаются в прослушивании, анализе трафика, перехвате, записи, дешифровании передаваемых закрытых (шифрованых) сообщений. Под дешифрованием понимаются действия по «взлому» защиты. При реализации активных атак противник может прерывать процесс передачи сообщений, создавать поддельные (имитация) или модифицировать передаваемые закрытые сообщения (подмен а). Для создания системы обмена конфиденциальной информацией выбирается класс криптоалгоритмов. Каждая группа желающих конфиденциально общаться пользователей выбирает ключ – информацию, по которой из класса криптоалгоритмов выделяется конкретный алгоритм. Обычно полагают, что класс криптоалгоритмов известен и задачей “вскрытия” системы обмена конфиденциальной информацией является нахождение ключа. Другим классом криптоалгоритмов является перестановка. При использовании этого класса сообщение разбивается на блоки одинаковой длины. В каждом блоке символы, не изменяясь, меняются местами. Ключом в этом случае является конкретное взаимнооднозначное изменение позиций символов в блоке – перестановка. Третьим основным методом шифрования является гаммирование. Ключом в этом случае является некоторая последовательность, которую называют гамма - последовательностью. Сообщение и гамма-последовательность представляются в виде последовательностей из 0 и 1 (как и в случае внутреннего представления информации в компьютере). Закрытое сообщение получается последовательным побитовым сложением по модулю два открытого сообщения и гамма-последовательности. Отметим, что результат сложения по модулю два равен 1 тогда и только тогда, когда операнды (0 или 1) различны. Нетрудно проверить, что алгоритмы шифрования и расшифрования при использовании гаммирования совпадают.