Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ассиметричное шифрование

Симетричное шифрование

В конвенциональной (традиционной) криптографии, также называемой шифрованием тайным, или симметричным, ключом, один и тот же ключ используется как для шифрования, так и для дешифрования.

Data Encryption Standart (DES), Advanced Encryption Standard (AES) -- отличный пример конвенционального алгоритма, широко применяемого в госструктурах США

Например, если мы закодируем слово «SECRET», используя ключ Цезаря, равный 3, то сдвинем латинский алфавит так, чтобы он начинался с третьей буквы (D).

Итак, беря исходный вариант

ABCDEFGHIJKLMNOPQRSTUVWXYZ

и смещая всё на 3, получаем

DEFGHIJKLMNOPQRSTUVWXYZABC,

где D=A, E=B, F=C, и т.д.

Используя эту схему, открытый текст «SECRET» шифруется в «VHFUHW». Чтобы позволить кому-то прочитать исходный текст, вы передаёте ему, что ключ -- 3.
Конвенциональное шифрование имеет ряд преимуществ. Оно очень быстрое. Оно особенно полезно для шифрования данных, которые остаются у вас. Однако, конвенциональное шифрование, применяемое в одиночку как средство передачи ценных данных, может оказаться довольно затратным просто из-за сложности распространения тайного ключа.

Для установления зашифрованных коммуникаций, использующих конвенциональный алгоритм, отправителю и получателю нужно прежде согласовать ключ и держать его в тайне. Если они находятся в физически удалённых местах, то должны прибегнуть к помощи доверенного посредника, как, например, курьера, чтобы избежать раскрытия ключа в процессе передачи.

Симметричные алгоритмы делятся на две категории. Одни алгоритмы обрабатывают открытый текст побитно (иногда побайтно), они называются потоковыми алгоритмами или потоковыми шифрами. Другие работаю с группами битов открытого текста. Группы битов называются блоками, а алгоритмы - блочными алгоритмами или блочными шифрами. Для алгоритмов, используемых в компьютерных модемах, типичный размер блока составляет 64 бита - достаточно большое значение, чтобы помешать анализу, и достаточно небольшое и удобное для работы. (До появления компьютеров алгоритмы обычно обрабатывали открытый текст посимвольно. Такой вариант может рассматриваться как потоковый алгоритм, обрабатывающий поток символов.)

Проблема распространения ключей была решена т.н. шифрованием открытым, или асимметричным, ключом, концепция которого была представлена Уитфилдом Диффи и Мартином Хеллманом в 1975 году 2.

Шифрование открытым ключом -- это асимметричная схема, в которой применяются пары ключей: открытый, или общественный (public key), который шифрует данные, и соответствующий ему закрытый, или частный (private key), который их дешифрует. Вы предоставляете свой открытый ключ всему миру, в то время как частный держите в тайне. Кто угодно с копией вашего общественного ключа может зашифровать информацию, которую только вы сможете прочитать. Кто угодно. Даже люди, с которыми вы никогда не встречались.

Выделение частного ключа из открытого в вычислительном плане невыполнимо. Каждый, у кого есть ваш открытый ключ, может зашифровать данные, но не может её расшифровать. Только человек, обладающим соответствующим закрытым ключом сможет дешифровать информацию

 

 

Главный плюс асимметричного шифрования в том, что оно позволяет людям, не имеющим существующей договорённости о безопасности, отправлять зашифрованные сообщения. Необходимость отправителю и реципиенту обмениваться тайными ключами по какому-либо защищённому каналу полностью отпала. Все коммуникации затрагивают только общественные ключи и ни один частный не должен быть передан. Примеры криптосистем с открытым ключом это Elgamal (названная в честь изобретателя, Тахира Эльгамаля), RSA (названная в честь изобретателей: Рона Райвеста, Ади Шамира и Леонарда Адлмана), Diffie-Hellman (названная, правильно, в честь её создателей) и DSA, Digital Signature Algorithm (изобретённый Дэвидом Кравицом).

 

Криптоанализ -- это наука об анализировании и взломе защищённых коммуникаций. Классический криптоанализ включает интересную смесь аналитических рассуждений, применения вычислительных средств, поиска паттернов.

Частотный анализ – это анализ частоты появления отдельных символов и их сочетаний. Вероятность появления отдельных букв, а также их порядок в словах и фразах естественного языка подчиняются задокументированным статистическим закономерностям: например, пара стоящих рядом букв «ся» в русском языке более вероятна, чем «цы», а «оь» не встречается никогда. Анализируя достаточно длинный текст, зашифрованный методом замены, можно по частотам появления символов произвести обратную замену и восстановить исходный текст.

Частотный метод породил требование равномерного распределения символов в шифртексте. Сегодня принципы частотного анализа широко применяются в программах по подбору паролей и позволяют на несколько порядков сократить время поиска.

Метод полного перебора. Возможность вскрывать шифры методом перебора ключей появилась у криптоаналитиков с распространением высокопроизводительной вычислительной техники.

Задачу выделения осмысленного текста, то есть определения факта правильной дешифрации, решают при помощи ЭВМ с использованием теоретических положений, разработанных в конце XIX века выдающимся русским математиком А.А. Марковым, – так называемых «цепей Маркова».

При осуществлении попытки атаки на основе только шифртекста требуется анализировать выходные данные алгоритма и проверять их «осмысленность». В случае когда в качестве объекта шифрования выступает графический файл или программа, задача определения «осмысленности» выходных данных становится очень трудной. Если же известно, что открытый текст представляет собой предложение на естественном языке, проанализировать результат и опознать успешный исход дешифрования сравнительно несложно, тем более что криптоаналитик зачастую располагает некоторой априорной информацией о содержании сообщения.

Атака по ключам. Одной из причин ненадежности криптосистем является использование слабых ключей. Фундаментальное допущение криптоанализа, которое впервые сформулировал Огюст Кирхгоф, состоит в том, что секретность сообщения всецело зависит от ключа: механизм шифрования, кроме ключа, известен противнику. Секретность алгоритма не является большим препятствием – для определения типа программно реализованного криптографического алгоритма требуется лишь несколько дней инженерного анализа исполняемого кода. «Слабый ключ» – это ключ, не обеспечивающий достаточного уровня защиты или использующий в шифровании закономерности, которые могут быть выявлены. Алгоритм шифрования не должен иметь слабых ключей. Если это невозможно, то количество слабых ключей должно быть минимальным, чтобы уменьшить вероятность случайного выбора одного из них; все слабые ключи должны быть известны заранее, чтобы их можно было отбраковать в процессе создания ключа.

Хэш функции

У однонаправленной хэш-функинн может быть множество имен: функция сжатия, функция сокращения, contraction function, краткое изложение, характерный признак, криптографическая контрольная сумма, код целостности сообщения (message integrity check, MIC) и код обнаружения манипуляции (manipulation detection code, MDC). Как бы она не называлась эта функция является центральной в современной криптографии. Однонаправленные хэш-функции - это другая часть фундамента многих протоколов.

Хэш-функции, долгое время использующиеся в компьютерных науках, представляют собой функции, математические или иные, которые получают на вход строку переменной длины (называемую прообразом) и преобразуют ее в строку фиксированной, обычно меньшей, длины (называемую значением хэш -функции). В качестве простой хэш-функции можно рассматривать функцию, которая получает прообраз и возвращает байт, представляющий собой XOR всех входных байтов.

Смысл хэш-функции состоит в получении характерного признака прообраза - значения, по которому анализируются различные прообразы при решении обратной задачи. Так как обычно хэш-функция представляет собой соотношение "многие к одному", невозможно со всей определенностью сказать, что две строки совпадают, но их можно использовать, получая приемлемую оценку точности.

Однонаправленная хэш-функция - это хэш-функция, которая работает только в одном направлении: легко вычислить значение хэш-функции по прообразу, но трудно создать прообраз, значение хэш-функции которого равно заданной величине. Упоминавшиеся ранее хэш-функции, вообще говоря, не являются однонаправленными: задав конкретный байт, не представляет труда создать строку байтов, XOR которых дает заданное значение. С однонаправленной хэш-функцией такого не выйдет. Хорошей однонаправленной хэш-функцией является хэш-функция без столкновений - трудно создать два прообраза с одинаковым значением хэш -функции.

Хэш-функция является открытой, тайны ее расчета не существует. Безопасность однонаправленной хэш-функцией заключается именно в ее однонаправленности. У выхода нет видимой зависимости от входа. Изменение одного бита прообраза приводи к изменению, в среднем, половины битов значения хэш-функции. Вычислительно невозможно найти прообраз, соответствующий заданному значению хэш-функции.

Посмотрите на это как на способ получить характерные признаки файлов. Если вы хотите проверить, что у кого-то есть тот же файл, что и у вас, но вы не хотите, чтобы этот файл был передан вам, попросите послать вам значение хэш-функции. Если присланное значение хэш-функции совпадет с рассчитанным вами, то почти наверняка чужой файл совпадает с вашим. Это особенно полезно при финансовых транзакциях, когда вы не хотите где-то в сети превратить снятие со счета S100 в снятие $1000. В обычных условиях вы можете использовать однонаправленную хэш-функцию без ключа, так что кто угодно может проверить значение хэш-функции.

 


<== предыдущая лекция | следующая лекция ==>
Лекция 5. Криптография. Алгоритмы с симметричным и ассиметричным ключом. Хеш-функции | Безопасность в Windows. Контроль учетных записей
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 1459; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.019 сек.