Шифрование. Приёмы шифрования и дешифрования данных.
Криптография – наука, изучающая принципы, средства и методы преобразования данных с целью сокрытия их содержания, предотвращая, таким образом, их несанкционированное использование либо скрытую модификацию. В результате криптографического преобразования получается зашифрованный текст.
Криптографические методы защиты – это методы защиты данных при помощи криптографического преобразования, т.е. преобразования данных шифрованием.
Шифрование - это способ изменения сообщения или другого документа обеспечивающее искажение (сокрытие) его содержимого.
Кодирование - это преобразование обычного, понятного текста в код. При этом подразумевается, что существует взаимно однозначное соответствие между символами текста (данных, чисел, слов) и символами кода - в этом принципиальное отличие кодирования от шифрования. Часто кодирование и шифрование считают одним и тем же, забывая о том, что для восстановления закодированного сообщения, достаточно знать правило подстановки (замены). Для восстановления же зашифрованного сообщения, помимо знания правил шифрования, требуется и ключ к шифру. Шифровать можно не только текст, но и различные компьютерные файлы - от файлов баз данных и текстовых процессоров до файлов изображений.
Идея шифрования состоит впредотвращении просмотра истинного содержимого сообщения (текста, файла и т.п.) теми, у кого нет средств его дешифрования. А прочесть файл сможет лишь тот, кто сможет его дешифровать.
Шифрование появилось примерно четыре тысячи лет тому назад. Первым известным применением шифра (кода) считается египетский текст, датированный примерно 1900 г. до н.э., автор которого использовал вместо обычных (для египтян) иероглифов не совпадающие с ними знаки.
Различают:
– симметричное шифрование (для шифрования и расшифрования используется один и тот же ключ);
– шифрование на открытом ключе – ассиметричное шифрование (для шифрования используется один ключ, а для расшифрования – другой);
– необратимое шифрование (используется при шифровании паролей, зашифрованный текст записывается в память, далее сравниваются зашифрованные строки текста, при этом данные не могут быть воспроизведены).
В качестве паролей большинство исследователей не рекомендуют использовать:
– свои имя, фамилию, а также имена и фамилии близких родственников;
– свои номера телефонов;
– номерной знак своего автомобиля;
– пароли, содержащие одинаковые буквы;
– комбинации букв на клавиатуре (например, qwerty);
– даты рождения, свою, друзей, коллег по работе, близких родственников;
– слова: user, master, guru, got и т.д.
К алгоритму шифрования, предназначенному для массового применения в вычислительных системах, предъявляется следующая система требований:
– зашифрованный текст должен поддаваться только чтению при наличии ключа шифрования;
– число операций, необходимых для определения использованного ключа шифрования по фрагменту шифрованного текста и соответствующему ему открытому тексту, должно быть не меньше общего числа возможных ключей;
– знание алгоритма шифрования не должно влиять на надежность защиты;
– незначительные изменения ключа шифрования должны приводить к существенному изменению вида зашифрованного текста;
– незначительные изменения шифруемого текста должны приводить к существенному изменению вида зашифрованного текста даже при использовании одного и того же ключа;
– структурные элементы алгоритма шифрования должны быть неизменными;
– в процессе шифрования должен осуществляться постоянный контроль за шифруемыми данными и ключом шифрования;
– дополнительные биты, вводимые в текст в процессе шифрования, должны быть полностью и надежно скрыты в шифрованном тексте;
– длина шифрованного текста должны быть равна длине исходного открытого ключа;
– не должно быть простых и легко устанавливаемых зависимостей между ключами, последовательно используемыми в процессе шифрования;
– любой ключ из множества возможных должен обеспечивать надежную защиту информации;
– алгоритм должен допускать как программную, так и аппаратную реализацию, при этом изменение длины ключа не должно вести к качественному ухудшению алгоритма шифрования.