- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Введение в криптографию - Филипп Циммерманн
Шрифт:
Интервал:
Закладка:
Когда пользователь зашифровывает данные с помощью PGP, программа для начала их сжимает. Сжатие сокращает время модемной передачи и экономит дисковое пространство, а также, что более важно, повышает криптографическую стойкость. Большинство криптоаналитических техник основано на статистическом анализе шифртекста в поисках признаков открытого текста. Сжатие уменьшает число таких признаков (снижает избыточность данных), чем существенно усиливает сопротивляемость криптоанализу. (Слишком короткие файлы и файлы, которые не сжимаются достаточно хорошо, не сжимаются вовсе.)
Затем, PGP создаёт сеансовый ключ, т. е. одноразовый симметричный ключ, применяемый только для одной операции. Этот сеансовый ключ представляет собой псевдослучайное число, сгенерированное от случайных движений мышки и нажатий клавиш. Сеансовый ключ работает на основе очень надёжного, быстрого симметричного алгоритма, которым PGP зашифровывает сжатое сообщение; в результате получается шифртекст. Как только данные зашифрованы, сеансовый ключ также шифруется, но уже открытым ключом получателя. Этот зашифрованный открытым ключом сеансовый ключ прикрепляется к шифртексту и передаётся вместе с ним получателю.
Расшифрование происходит в обратном порядке. PGP получателя использует его закрытый ключ для извлечения сеансового ключа из сообщения, которым шифртекст исходного послания восстанавливается в открытый текст.
Таким образом, комбинация этих двух криптографических методов объединяет удобство шифрования открытым ключом со скоростью работы симметричного алгоритма. Симметричное шифрование в тысячи раз быстрее асимметричного. Шифрование открытым ключом, в свою очередь, предоставляет простое решение проблемы управления ключами и передачи данных. Используемые совместно, скорость исполнения и управление ключами взаимно дополняются и улучшаются без какого-либо ущерба для безопасности.
Ключи
Ключ— это некоторая величина, которая, работая в сочетании с криптоалгоритмом, производит определённый шифртекст. Ключи, как правило, — это очень-очень-очень большие числа. Размер ключа измеряется в битах; число, представляющее 2048-битовый ключ, чертовски большое. В асимметричной криптографии, чем больше ключ, тем защищённей полученный шифртекст.
Однако, размер асимметричного ключа и размер симметричного тайного ключа, абсолютно несопоставимы. Симметричный 80-битовый ключ эквивалентен в стойкости 1024-битовому открытому ключу. Симметричный 128-битовый ключ примерно равен 3000-битовому открытому. Опять же, больше ключ — выше надёжность, но механизмы, лежащие в основе каждого из типов криптографии совершенно различны, и сравнивать их ключи в абсолютных величинах недопустимо.
Несмотря на то, что ключевая пара математически связана, практически невозможно из открытого ключа вычислить закрытый ключ; в то же время, вычисление закрытого ключа всегда остаётся возможным, если располагать достаточным временем и вычислительными мощностями. Вот почему критически важно создавать ключ верной длины: достаточно крупный, чтобы был надёжным, но достаточно малый, чтобы оставался быстрым в работе. Для этого подумайте и оцените, кто может попытаться «прочитать ваши файлы», насколько они могут быть упорны, скольким временем располагают, каковы их ресурсы.
Более крупные ключи будут криптографически защищены больший промежуток времени. Если то, что вы хотите зашифровать, должно храниться в тайне многие-многие годы, вам, возможно, следует воспользоваться очень большим ключом. Кто знает, сколько потребуется времени, чтобы вскрыть ваш ключ, используя завтрашние более быстрые, более эффективные компьютеры? Было время, когда 56-битовый симметричный ключ DES считался крайне надёжным.
По современным представлениям 128-битовые симметричные ключи совершенно надёжны и не подвержены взлому, по крайней мере до тех пор, пока кто-то не построит функционирующий квантовый суперкомпьютер. 256-битовые ключи по оценкам криптологов не могут быть взломаны даже теоретически и даже на гипотетическом квантовом компьютере. Именно по этой причине алгоритм AES поддерживает ключи длиной 128 и 256 бит. Однако история учит нас тому, что все эти заверения спустя пару десятилетий могут оказаться пустой болтовнёй.
PGP хранит ключи в зашифрованном виде. Они содержатся в двух файлах на жёстком диске; один файл для открытых ключей, другой — для закрытых. Эти файлы называются связками (keyrings). Используя PGP, вы, время от времени, будете добавлять открытые ключи своих корреспондентов на связку открытых. Ваши закрытые ключи находятся на связке закрытых. Если вы потеряете (удалите) связку закрытых ключей, то уже никаким образом не сможете расшифровать информацию, зашифрованную для ключей с этой связки. Следовательно, сохранение пары резервных копий этого файла является полезной практикой.
Цифровые подписи
Дополнительное преимущество от использования криптосистем с открытым ключом состоит в том, что они предоставляют возможность создания электронных цифровых подписей (ЭЦП). Цифровая подпись позволяет получателю сообщения убедиться в аутентичности источника информации (иными словами, в том, кто является автором информации), а также проверить, была ли информация изменена (искажена), пока находилась в пути. Таким образом, цифровая подпись является средством аутентификации и контроля целостности данных. Кроме того, ЭЦП несёт принцип неотречения, который означает, что отправитель не может отказаться от факта своего авторства подписанной им информации. Эти возможности столь же важны для криптографии, как и секретность.
ЭЦП служит той же цели, что печать или собственноручный автограф на бумажном листе. Однако вследствие своей цифровой природы ЭЦП превосходит ручную подпись и печать в ряде очень важных аспектов. Цифровая подпись не только подтверждает личность подписавшего, но также помогает определить, было ли содержание подписанной информации изменено. Собственноручная подпись и печать не обладают подобным качеством, кроме того, их гораздо легче подделать. В то же время, ЭЦП аналогична физической печати или факсимиле в том плане, что, как печать может быть проставлена любым человеком, получившим в распоряжение печатку, так и цифровая подпись может быть сгенерирована кем угодно с копией нужного закрытого ключа[5].
Некоторые люди используют цифровую подпись гораздо чаще шифрования. Например, вы можете не волноваться, если кто-то узнает, что вы только что поместили $1000 на свой банковский счёт, но вы должны быть абсолютно уверены, что производили транзакцию через банковского кассира.
Простой способ генерации цифровых подписей показан на рисунке 6. Вместо зашифрования информации чужим открытым ключом, вы шифруете её своим собственным закрытым. Если информация может быть расшифрована вашим открытым ключом, значит её источником являетесь вы.
Хэш-функция
Однако описанная выше схема имеет ряд существенных недостатков. Она крайне медлительна и производит слишком большой объём данных — по меньшей мере вдвое больше объёма исходной информации. Улучшением такой схемы становится введение в процесс преобразования нового компонента — односторонней хэш-функции. Одностороняя хэш-функция берёт ввод произвольной длины, называемый прообразом, — в данном случае, сообщение любого размера, хоть тысячи или миллионы бит — и генерирует строго зависящий от прообраза вывод фиксированной длины, допустим, 160 бит. Хэш-функция гарантирует, что если информация будет любым образом изменена — даже на один бит, — в результате получится совершенно иное хэш-значение.
В процессе цифрового подписания PGP обрабатывает сообщение криптографически стойким односторонним хэш-алгоритмом. Эта операция приводит к генерации строки ограниченной длины, называемой дайджестом сообщения (message digest)[6]. (Опять же, любое изменение прообраза приведёт к абсолютно иному дайджесту.)
Затем PGP зашифровывает полученный дайджест закрытым ключом отправителя, создавая «электронную подпись», и прикрепляет её к прообразу. PGP передаёт ЭЦП вместе с исходным сообщением. По получении сообщения, адресат при помощи PGP заново вычисляет дайджест подписанных данных, расшифровывает ЭЦП открытым ключом отправителя, тем самым сверяя, соответственно, целостность данных и их источник; если вычисленный адресатом и полученный с сообщением дайджесты совпадают, значит информация после подписания не была изменена. PGP может как зашифровать само подписываемое сообщение, так и не делать этого; подписание открытого текста без зашифрования полезно в том случае, если кто-либо из получателей не заинтересован или не имеет возможности сверить подпись (допустим, не имеет PGP).