интернет магазин китайских телефонов

Чаще всего они бессмысленны, так как вырваны из контекста. Например, если применяется 256-битная криптография, то где и как хранятся ключи? Защищены ли они от атак? Обнаружив подобные утверждения, серьезно поговорите с людьми из отдела маркетинга. Подчас они рисуют красивую, но неполную и, как правило, не вполне адекватную картину безопасности решения. И лучше покончить с этим словоблудием как можно раньше, пока оно не подмочило репутацию вашей компании. Использование одного ключа потокового шифрования При потоковом шифровании (stream cipher) в каждый момент времени шифруется только один блок данных, обычно его размер составляет 1 байт. (RC наиболее известный и часто применяемый алгоритм потокового шифрования. Кроме того, это единственный такого рода алгоритм, присутствующий по умолчанию в CryptoAPI Windows.) Понимание того, как работает поточное шифрование, поможет понять, в чем опасность использования одного ключа для шифрования всего потока. Сначала ключ шифрования предоставляется внутреннему алгоритму, который вызывает генератор ключевого потока; последний выдает произвольной длины поток ключевых бит. Этот поток накладывается по методу XOR на открытый текст, в результате чего получают готовый поток зашифрованных бит. Расшифровка данных потребует обратных действий: надо выполнить XOR над ключевым потоком и зашифрованным текстом. В симметричном шифровании один и тот же ключ применяется как для шифрования, так и расшифровки данных. Этим оно отличается от ассиметричного шифрования (например, RSA), где для тех же операций требуются два разных, но взаимосвязанных ключа. Примеры симметричных шифров: DES, DES, AES (Advanced Encryption Standard, он сменил DES),используется в системе Pretty Good 244 Часть II Методы безопасного кодирования Privacy (PGP). и RC все они относятся к алгоритмам блочного шифрования, то есть шифруют и расшифровывают данные блоками и не работают с потоками бит. Стандартный размер блока 64 или 128 бит. Зачем нужно потоковое шифрование Потоковое шифрование позволяет избежать головной боли, связанной с управлением памятью. Так, зашифровав 13 байт открытого текста, вы получите 13 байт шифротекста. Но в DES, где шифрование выполняется блоками по 64 бита, 13 байт открытого текста превратятся в 16 байт шифра. Оставшиеся 3 байта просто заполняют пустое место, поскольку DES шифрует только полные 64-битные блоки. Таким образом, при шифровании 13 байт DES зашифрует первые восемь байт, а затем добавит к оставшимся 5 байтам еще 3 (как правило, они пустые), чтобы получить еще один 8-байтный блок для шифрования. Я не обвиняю разработчиков в лени, но, честно говоря, чем меньше приходится возиться с управлением памятью, тем лучше! Потоковое шифрование также популярно из-за своей быстроты. При прочих равных условиях программная реализация RC примерно в 10 раз быстрее DES. Как видите, причины довольно веские. Однако не следует забывать о массе подводных камней. Подводные камни потокового шифрования Прежде всего алгоритмы потокового шифрования не назовешь слабыми, большинство из них очень крепкие и выдержали испытание временем. Но слабость не в них, а в том, как разработчики их применяют. Обратите внимание, что каждый уникальный ключ потокового шифрования порождает одинаковый ключевой поток. Хотя нам и необходима случайность при генерации ключа, она нам совершенно ни к чему при генерации ключевого потока. Если бы ключевые потоки были случайными, мы никогда не смогли бы восстановить исходный поток из зашифрованного. Здесь-то и начинаются неприятности. Если ключ используется повторно и хакер может получить зашифрованный текст на основе известного, то ему ничего не стоит выполнить над ними операцию XOR и получить ключ. После этого любой текст, зашифрованный этим же ключом, читается как открытая книга. А это, как вы понимаете, уже не шутки. В действительности хакеру не всегда удается получить весь исходный текст второго сообщения: он может получить те же байты, что ему известны из первого сообщения. Другими словами, если он знает первые 23 байта одного сообщения, то в состоянии получить первые 23 байта другого сообщения.