Как настроить смартфоны и ПК. Информационный портал

Основные термины и определения. Классификация шифров

Федеральное агентство по образованию

ГОУ ВПО «Самарский Государственный Университет»

Механико-математический факультет

Кафедра безопасности информационных систем

Специальность «компьютерная безопасность »

Криптографические методы защиты информации

Выполнил студент

курса 1 группы 19101.10

Гришина Анастасия Сергеева

________

Научный руководитель

старший преподаватель

Панфилов А.Г.

________

Самара 2013

Введение

Криптология как наука и основные её термины

Классификация криптосистем

Требования к криптосистемам

Принцип Кергосффа

Основные современные методы шифрования

Управление ключами

Заключение

Введение

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

Известное выражение гласит: «Кто владеет информацией, тот владеет миром». Вопросы защиты информации стояли перед человечеством всегда.

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

К. основным средствам защиты, используемым для создания механизма обеспечения безопасности, относятся следующие.

Технические средства реализуются в виде электрических, электромеханических и электронных устройств. Вся совокупность технических средств делится на аппаратные и физические. Под аппаратными средствами принято понимать технику или устройства, которые сопрягаются с подобной аппаратурой по стандартному интерфейсу. Например, система опознания и разграничения доступа к информации (посредством паролей, записи кодов и другой информации на различные карточки). Физические средства реализуются в виде автономных устройств и систем. Например, замки на дверях, где размещена аппаратура, решетки на окнах, источники бесперебойного питания, электромеханическое оборудование охранной сигнализации. Так, различают наружные системы охраны («Ворон», GUARDWIR, FPS и др.), ультразвуковые системы (Cyclops и т.д.), системы прерывания луча (Pulsar 30В и т.п.), телевизионные системы (VМ216 и др.), радиолокационные системы («ВИТИМ» и т.д.), система контроля вскрытия аппаратуры и др.

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

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

Морально-этические средства защиты реализуются в виде всевозможных норм, которые сложились традиционно или складываются по мере распространения вычислительной техники и средств связи в обществе. Эти нормы большей частью не являются обязательными как законодательные меры, однако несоблюдение их обычно ведет к потере авторитета и престижа человека. Наиболее показательным примером таких норм является Кодекс профессионального поведения членов Ассоциации пользователей ЭВМ США.

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

Подробнее остановимся на программных средствах защиты информации, а точнее на криптографических методах защиты информации.

Криптология как наука и основные её термины

Наука, занимающаяся вопросами безопасной связи (т.е посредством зашифрованных сообщений называется криптологией (kryptos - тайный, logos - наука). Она в свою очередь разделяется на два направления криптографию и криптоанализ.

Криптография - наука о создании безопасных методов связи, о создании стойких (устойчивых к взлому) шифров. Она занимается поиском математических методов преобразования информации.

Криптоанализ - данный раздел посвящен исследованию возможности чтения сообщений без знания ключей, т. е. связана непосредственно со взломом шифров. Люди, занимающиеся криптоанализом и исследованием шифров называютсякриптоаналитиками .

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

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

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

Классификация криптосистем

Современные криптосистемы классифицируют следующим образом:

Криптосистемы могут обеспечивать не только секретность передаваемых сообщений, но и их аутентичность (подлинность), а также подтверждение подлинности пользователя.

Симметричные криптосистемы (с секретным ключом - secret key systems)- данные криптосистемы построены на основе сохранения в тайне ключа шифрования. Процессы зашифрования и расшифрования используют один и тот же ключ. Секретность ключа является постулатом. Основная проблема при применении симметричных криптосистем для связи заключается в сложности передачи обоим сторонам секретного ключа. Однако данные системы обладают высоким быстродействием. Раскрытие ключа злоумышленником грозит раскрытием только той информации, что была зашифрована на этом ключе. Американский и Российский стандарты шифрования DES и ГОСТ28.147-89, кандидаты на AES - все эти алгоритмы являются представителями симметричных криптосистем.

Асимметричные криптосистемы (системы открытого шифрования - о.ш., с открытым ключом и т.д.- public key systems ) - смысл данных криптосистем состоит в том, что для зашифрования и расшифрования используются разные преобразования. Одно из них - зашифрование - является абсолютно открытым для всех. Другое же - расшифрование - остается секретным. Таким образом, любой, кто хочет что-либо зашифровать, пользуется открытым преобразованием. Но расшифровать и прочитать это сможет лишь тот, кто владее секретным преобразованием. В настоящий момент во многих асимметричных криптосистемах вид преобразования определяется ключом. Т.е у пользователя есть два ключа - секретный и открытый. Открытый ключ публикуется в общедоступном месте, и каждый, кто захочет послать сообщение этому пользователю - зашифровывает текст открытым ключом. Расшифровать сможет только упомянутый пользователь с секретным ключом. Таким образом, пропадает проблема передачи секретного ключа (как у симметричных систем). Однако, несмотря на все свои преимущества, эти криптосистемы достаточно трудоемки и медлительны. Стойкость асимметричных криптосистем базируется, в основном, на алгоритмической трудности решить за приемлимое время какую-либо задачу. Если злоумышленнику удастся построить такой алгоритм, то дискредетирована будет вся система и все сообщения, зашифрованые с помощью этой системы. В этом состоит главная опасность асимметричных криптосистем в отличие от симметричных. Примеры - системы о.ш. RSA, система о.ш. Рабина и т.д.

Требования к криптосистемам

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

    зашифрованное сообщение должно поддаваться чтению только при наличии ключа;

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

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

    знание алгоритма шифрования не должно влиять на надежность защиты;

    незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения даже при использовании одного и того же ключа;

    структурные элементы алгоритма шифрования должны быть неизменными;

    дополнительные биты, вводимые в сообщение в процессе шифрования, должен быть полностью и надежно скрыты в шифрованном тексте;

    длина шифрованного текста должна быть равной длине исходного текста;

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

    любой ключ из множества возможных должен обеспечивать надежную защиту информации;

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

Принцип Кергосффа

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

Впервые данный принцип сформулировал в XIX векеголландский криптографОгюст Керкгоффс.Шеннонсформулировал этот принцип (вероятно, независимо от Керкгоффса) следующим образом: «враг может знать систему». Широко применяется в криптографии.

Общие сведения

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

Принцип Керкгоффса направлен на то, чтобы сделать безопасность алгоритмов и протоколов независимой от их секретности; открытость не должна влиять на безопасность.

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

Шесть требований Керкгоффса

Требования к криптосистеме впервые изложены в книге Керкгоффса «Военная криптография» (издана в 1883 году). Шесть основных требований к криптосистеме, все из которых до настоящего времени определяют проектирование криптографически стойких систем, в переводе с французского звучат так:

    шифр должен быть физически, если не математически, невскрываемым

    система не должна требовать секретности, на случай, если она попадёт в руки врага

    ключ должен быть простым, храниться в памяти без записи на бумаге, а также легко изменяемым по желанию корреспондентов

    зашифрованный текст должен [без проблем] передаваться по телеграфу

    аппарат для шифрования должен быть легко переносимым, работа с ним не должна требовать помощи нескольких лиц

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

Второе из этих требований и стало известно как «принцип Керкгоффса».

Также важным, впервые строго сформулированным выводом «Военной криптографии» является утверждение криптоанализакак единственного верного способа испытанияшифров.

Основные современные методы шифрования

Среди разнообразнейших способов шифровании можно выделить следующие основные методы:

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

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

Алгоритмы гаммирования - символы исходного текста складываются с символами некой случайной последовательности. Самым распространенным примером считается шифрование файлов «имя пользователя.рwl», в которых операционная система Microsoft Windows 95 хранит пароли к сетевым ресурсам данного пользователя (пароли на вход в NT-серверы, пароли для DialUр-доступа в Интернет и т.д.). Когда пользователь вводит свой пароль при входе в Windows 95, из него по алгоритму шифрования RC4 генерируется гамма (всегда одна и та же), применяемая для шифрования сетевых паролей. Простота подбора пароля обусловливается в данном случае тем, что Windows всегда предпочитает одну и ту же гамму.

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

Комбинированные методы. Последовательное шифрование исходного текста с помощью двух и более методов.

Управление ключами

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

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

Управление ключами - информационный процесс, включающий в себя три элемента:

* генерацию ключей;

* накопление ключей;

* распределение ключей.

Рассмотрим, как они должны быть реализованы для того, чтобы обеспечить безопасность ключевой информации в ИС.

Генерация ключей

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

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

Накопление ключей

Под накоплением ключей понимается организация их хранения, учета и удаления.

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

Секретные ключи никогда не должны записываться в явном виде на носителе, который может быть считан или скопирован.

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

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

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

Вопрос обновления ключевой информации связан и с третьим элементом управления ключами - распределением ключей.

Распределение ключей

Распределение ключей - самый ответственный процесс в управлении ключами. К нему предъявляются два требования:

Оперативность и точность распределения

Скрытность распределяемых ключей.

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

Распределение ключей между пользователями реализуются двумя разными подходами:

1. Путем создания одного ли нескольких центров распределения ключей. Недостаток такого подхода состоит в том, что в центре распределения известно, кому и какие ключи назначены и это позволяет читать все сообщения, циркулирующие в ИС. Возможные злоупотребления существенно влияют на защиту.

2. Прямой обмен ключами между пользователями информационной системы. В этом случае проблема состоит в том, чтобы надежно удостоверить подлинность субъектов.

В обоих случаях должна быть гарантирована подлинность сеанса связи. Это можно обеспечить двумя способами:

1. Механизм запроса-ответа , который состоит в следующем. Если пользователь А желает быть уверенным, что сообщения который он получает от В, не являются ложными, он включает в посылаемое для В сообщение непредсказуемый элемент (запрос). При ответе пользователь В должен выполнить некоторую операцию над этим элементом (например, добавить 1). Это невозможно осуществить заранее, так как не известно, какое случайное число придет в запросе. После получения ответа с результатами действий пользователь А может быть уверен, что сеанс является подлинным. Недостатком этого метода является возможность установления хотя и сложной закономерности между запросом и ответом.

2. Механизм отметки времени («временной штемпель»). Он подразумевает фиксацию времени для каждого сообщения. В этом случае каждый пользователь ИС может знать, насколько «старым» является пришедшее сообщение.

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

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

Поэтому в реальных ИС, например в системах оплаты кредитных карточек используется именно второй механизм установления подлинности и защиты от подделок. Используемый интервал составляет от одной до нескольких минут. Большое число известных способов кражи электронных денег, основано на «вклинивании» в этот промежуток с подложными запросами на снятии денег.

Для обмена ключами можно использовать криптосистемы с открытым ключом, используя тот же алгоритм RSA.

Заключение

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

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

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

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

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

Я считаю, что нет сомнения в актуальности поднятой проблемы. Перед криптологией сейчас остро стоит задача защитить информацию от вредного воздействия, а значит и обезопасить человечество.

Государственное бюджетное образовательное учреждение

лицей-интернат «Центр Одаренных Детей»

Научное общество учащихся

Криптография. Классификация шифров и их особенности

Выполнила: Смирнова Анна,

ученица 10 А класса

Научный руководитель:

Лазарева М.В.,

учитель информатики

Н. Новгород

2015
Содержание

Введение…………………………………………………………………….........3

Глава 1. Криптография как инструмент для обеспечения конфиденциальности…………………………...…………………………….….4


  • 1.1 История развития науки криптографии…………………………..…4

  • 1.2 Классификация криптографических систем……………………......7

  • 1.3 Основные требования, предъявляемые к криптосистемам.……….9
Глава 2. Шифры ……………………….……………………………………....10

  • 2.1 Классификация шифров………………………………………….…11

  • 2.2 Штриховые коды……………………………………………………19
Заключение………………………………………………………………….…..27

Список источников ……………………………….……………………………28

Введение
В последние десятилетия XX века начали происходить коренные изменения: в 80-х годах пал железных занавес, в 1991 году произошел развал Советского Союза, а в начале двухтысячных, с появлением общедоступного Интернета, поток информации контролировать стало практически невозможно.

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

Со становлением информационного общества, криптография становится центральным инструментом для обеспечения конфиденциальности информации.

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

Предмет исследования – криптографические системы и разновидности шифров.

Цель исследования: изучение криптографических методов шифрования информации.

Задачи исследования:

Изучить особенности различных криптографических систем;

Исследовать разновидности шифров.

Методы исследования: анализ литературы, сравнение, обобщение.

Глава 1 Криптогра́фия как инструмент для обеспечения конфиденциальности
Криптогра́фия (от др.-греч. κρυπτός - скрытый и γράφω - пишу) - наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.

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

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


    1. История развития науки криптографии

История криптографии насчитывает около 4 тысяч лет. В качестве основного критерия периодизации криптографии возможно использовать технологические характеристики используемых методов шифрования.

1.Первый период (приблизительно с 3-го тысячелетия до н. э.) характеризуется господством моноалфавитных шифров (основной принцип - замена алфавита исходного текста другим алфавитом через замену букв другими буквами или символами).

2.Второй период (хронологические рамки - с IX века на Ближнем Востоке (Ал-Кинди ) и с XV века в Европе (Леон Баттиста Альберти ) - до начала XX века ) ознаменовался введением в обиход полиалфавитных шифров.

3.Третий период (с начала и до середины XX века) характеризуется внедрением электромеханических устройств в работу шифровальщиков . При этом продолжалось использование полиалфавитных шифров.

4.Четвертый период - с середины до 70-х годов XX века - период перехода к математической криптографии. В работе Шеннона появляются строгие математические определения количества информации , передачи данных, энтропии , функций шифрования. Обязательным этапом создания шифра считается изучение его уязвимости к различным известным атакам - линейному и дифференциальному криптоанализам. Однако, до 1975 года криптография оставалась «классической», или же, более корректно, криптографией с секретным ключом.

5.Современный период развития криптографии (с конца 1970-х годов по настоящее время) отличается зарождением и развитием нового направления - криптография с открытым ключом . Её появление знаменуется не только новыми техническими возможностями, но и сравнительно широким распространением криптографии для использования частными лицами (в предыдущие эпохи использование криптографии было исключительной прерогативой государства).
Формально криптография (с греческого - «тайнопись») определяется как наука, обеспечивающая секретность сообщения.

1. Пионером, написавшим первый научный труд о криптографии, считается Эней Тактик, завершивший свой земной путь задолго до Рождества Христова. Свои данные пытались шифровать еще Индия и Месопотамия, но первые надежные системы защиты были разработаны в Китае. Писцы Древнего Египта часто использовали изощренные способы письма, чтобы привлечь внимание к своим текстам. Чаще всего шифровка информации использовалась в военных целях: широко известен шифр «Скитала», примененный Спартой против Афин в V веке до н. э.

2. Криптография активно развивалась в Средние века, шифровками пользовались многочисленные дипломаты и купцы. Одним из самых известных шифров Средних веков называют кодекс Copiale - изящно оформленную рукопись с водяными знаками , не расшифрованную полностью до сих пор.

3. Эпоха Возрождения стала золотым веком криптографии: ее изучением занимался Фрэнсис Бэкон, описавший семь методов скрытого текста. Он же предложил двоичный способ шифрования, аналогичный использующемуся в компьютерных программах в наше время.

4. Значительное влияние на развитие криптографии оказало появление телеграфа: сам факт передачи данных перестал быть секретным, что заставило отправителей сосредоточиться на шифровке данных.

5. Во время Первой мировой войны криптография стала признанным боевым инструментом. Разгаданные сообщения противников вели к ошеломляющим результатам. Перехват телеграммы немецкого посла Артура Циммермана американскими спецслужбами привел к вступлению США в боевые действия на стороне союзников.

6. Вторая мировая война послужила своеобразным катализатором развития компьютерных систем - через криптографию. Использованные шифровальные машины (немецкая «Энигма», английская «Бомба Тьюринга») ясно показали жизненную важность информационного контроля.

Wehrmacht Enigma («Энигма»)

Шифровальная машина Третьего рейха. Код, созданный при помощи «Энигмы», считается одним из сильнейших из использованных во Второй мировой.

Turing Bombe («Бомба Тьюринга»)

Разработанный под руководством Алана Тьюринга дешифратор. Его использование
позволило союзникам расколоть казавшийся монолитным код «Энигмы».

1.2 Классификация криптографических систем

1. По области применения шифров различают криптосистемы ограниченного и общего использования.


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

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

Рис. Классификация криптографических алгоритмов


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

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

  • В шифрах перестановки все буквы открытого текста остаются в зашифрованном сообщении, но меняют свои позиции.

  • В аддитивных шифрах буквы алфавита заменяются числами, к которым затем добавляются числа секретной случайной (псевдослучайной) числовой последовательности (гаммы). Состав гаммы меняется в зависимости от используемого ключа . Обычно для шифрования используется логическая операция «Исключающее ИЛИ» (XOR). При дешифровании та же гамма накладывается на зашифрованные данные. Гаммирование широко используется в военных криптографических системах.

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

  • При использовании детерминированного алгоритма шифрование и расшифрование посредством соответствующей пары ключей возможно только единственным способом.

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

  • Квантовая криптография вносит в процесс шифрования естественную неопределенность квантового мира. Процесс отправки и приёма информации выполняется посредством объектов квантовой механики, например, при помощи электронов в электрическом токе, или фотонов в линиях волоконно-оптической связи. Самым ценным свойством этого вида шифрования является то, что при посылке сообщения отправляющая и принимающая сторона с достаточно большой вероятностью (99.99…%) могут установить факт перехвата зашифрованного сообщения.

  • Комбинированные (составные) методы предполагают использование для шифрования сообщения сразу нескольких методов (например, сначала замена символов, а затем их перестановка).

  • Все шифры по алгоритму преобразования также делят на потоковые и блочные. В потоковых шифрах преобразование выполняется отдельно над каждым символом исходного сообщения. Для блочных шифров информация разбивается на блоки фиксированной длины, каждый из которых шифруется и расшифровывается отдельно.
3. По количеству символов сообщения (или его кодовой замены), шифруемых или расшифровываемых по однотипной процедуре преобразования :

  • - потоковые – процедура преобразование применяется к отдельному символу сообщения;

  • - блочные – процедура преобразование применяется к набору (блоку) символов сообщения;

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

  • совершенные (абсолютно стойкие, теоретически стойкие) – шифры, заведомо неподдающиеся вскрытию (при правильном использовании). Дешифрование секретного сообщения приводит к нескольким осмысленным равновероятным открытым сообщениям;

  • практически (вычислительно, достаточно) стойкие – шифры, вскрытие которых за приемлемое время невозможно на современном или перспективном уровне вычислительной техники. Практическая стойкость таких систем базируется на теории сложности и оценивается исключительно на какой-то определенный момент времени с двух позиций:
- вычислительная сложность полного перебора;

Известные на данный момент слабости (уязвимости) и их влияние на вычислительную сложность;


  • нестойкие шифры .

1.3 Основные требования, предъявляемые к криптосистемам


  • Для современных криптографических систем можно сформулировать следующие требования:

  • - сложность и трудоёмкость процедур шифрования и дешифрования должны определяться в зависимости от требуемого уровня защиты информации (необходимо обеспечить надежную защиту информации);

  • - временные и стоимостные затраты на защиту информации должны быть приемлемыми при заданном уровне ее секретности (затраты на защиту не должны быть чрезмерными);

  • - процедуры шифрования и дешифрования не должны зависеть от длины сообщения;

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

  • - любой ключ из множества возможных должен обеспечивать надежную защиту информации;

  • - незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения;

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

  • - зашифрованное сообщение должно поддаваться чтению только при наличии ключа.

Глава 2. Шифры

Шифр (от фр. chiffre «цифра» от араб. صِفْر‎‎, sifr «ноль») - какая-либо система преобразования текста с секретом (ключом) для обеспечения секретности передаваемой информации.

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

Наука о создании и использовании шифров называется криптографией .

Криптоанализ - наука о методах получения исходного значения зашифрованной информации.

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

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

Если k – ключ, то можно записать f(k(A)) = B. Для каждого ключа k, преобразование f(k) должно быть обратимым, то есть f(k(B)) = A. Совокупность преобразования f(k) и соответствия множества k называется шифром.

2.1 Классификация шифров


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

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

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

2.Симметричный и ассиметричный классы шифров

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

3.Блочный и потоковый классы шифров

Симметричный класс шифров подразделяется на блочный и потоковый класс шифров. Отличительная особенность блочной классификации шифров состоит в том, что эти классы шифров обрабатывают за одну итерацию сразу несколько байт (обычно по 8 или 16) открытой информации в отличие от потокового вида шифров, который обрабатывает по 1 байту (символу).

В зависимости от размера шифрвеличин шифры замены делятся на поточные (n = 1) и блочные (n > 1).

4.Шифры простой замены

Шифры замены меняют (что и является причиной их названия) части открытого текста на нечто другое. Шифр простой замены производят посимвольную замену, то есть однозначно заменяют каждый символ открытого текста на нечто своё, причем это нечто свое в процессе расшифрования однозначно заменяется на исходный символ. Примерами шифров простой замены могут служить такие шифры как Шифр Цезаря, Аффинный шифр, Шифр Атбаш, Шифр пляшущие человечки.


Шифр Цезаря

Шифр Цезаря (шифр сдвига, код Цезаря или сдвиг Цезаря) - самый простой и известный шифр .

Шифр Цезаря так был назван в честь того самого Гая Юлия Цезаря, который использовал этот шифр для секретной переписки с левым сдвигом 3 (k=3). В настоящее же время шифр Цезаря, как и все шифры простой замены , легко дешифруется и не имеет практического применения (кроме как сокрытия неконфиденциальной информации от случайного прочтения, например ответы на загадки, спойлеры, оскорбления, для английского алфавита в этих целях применяется шифр Цезаря с k=13 (называется ROT13), что делает его симметричным)


Аффинный шифр

Аффинный шифр - шифр простой замены, использующий в качестве ключа два числа. Эти числа (то есть ключ аффинного шифра) определяют линейную зависимость порядковых номеров символов будущей шифровки от порядковых номеров заменяемых символов открытой информации в используемом алфавите. Так например, если линейная зависимость аффинного шифра 2x+8, то символ "А" (порядковый номер символа равен 1) заменяется на "И" (порядковый номер символа равен 2*1+8=10).

Шифр Атбаш

Шифрование шифром Атбаш идентично шифрованию Аффинным шифром с зависимостью N+1-x, где N - размер используемого алфавита. Это значит, что при зашифровании шифром Атбаш первая буква алфавита будет заменяться на последнюю, а вторая - на предпоследнюю. Да и само название шифра - "Атбаш" составлено из первой, последней, второй и предпоследней букв еврейского алфавита.
Так, например, при зашифровании шифром Атбаш фразы "это шифр атбаш" полученная шифровка будет выглядеть следующим образом - "ВМР ЖЦКО ЯМЮЯЖ".

Шифр пляшущих человечков


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

История возникновения шифра пляшущих человечков

В 1903 году был опубликован рассказ Артура Конан Дойля о сыщике Шерлоке Холмсе "Пляшущие человечки". В рассказе посредством шифра пляшущих человечков общаются между собой Илси Патрик и Аб Слени, её бывший жених. Аб Слени посредством шифра пляшущих человечков пытается вернуть Илси, а когда та его отвергла, посылает ей предупреждение о её смерти. Шерлок Холмс, взломав шифр пляшущих человечков (при помощи частотного криптоанализа и предположив, что одно из слов "Илси"), отослал сообщение тем же шифром пляшущих человечков убийце. Аб Слени, будучи уверен, что его зовет Илси ошибся (ведь шифр пляшущих человечков будучи симметричным шифром простой замены не обеспечивает аутентичности), попался и был осужден на каторжные работы.

В тексте, у некоторых человечков есть флажки. Они разделяют текст на слова.

Преимущества и недостатки шифра пляшущих человечков

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

5.Однозвучные шифры подстановки

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

6.Полиграммный шифр подстановки

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

Использование шифра Плейфера

Шифр Плейфера использует матрицу 5х5 (для латинского алфавита, для кириллического алфавита необходимо увеличить размер матрицы до 4х8), содержащую ключевое слово или фразу. Для создания матрицы и использования шифра достаточно запомнить ключевое слово и четыре простых правила. Чтобы составить ключевую матрицу, в первую очередь нужно заполнить пустые ячейки матрицы буквами ключевого слова (не записывая повторяющиеся символы), потом заполнить оставшиеся ячейки матрицы символами алфавита, не встречающимися в ключевом слове , по порядку (в английских текстах обычно опускается символ «Q», чтобы уменьшить алфавит, в других версиях «I» и «J» объединяются в одну ячейку).

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

Для того чтобы зашифровать сообщение, необходимо разбить его на биграммы (группы из двух символов), например «Hello World» становится «HE LL OW OR LD», и отыскать эти биграммы в таблице. Два символа биграммы соответствуют углам прямоугольника в ключевой матрице. Определяем положения углов этого прямоугольника относительно друг друга.

Затем, руководствуясь следующими 4 правилами, зашифровываем пары символов исходного текста:

1. Если два символа биграммы совпадают (или если остался один символ), добавляем после первого символа «Х», зашифровываем новую пару символов и продолжаем. В некоторых вариантах шифра Плейфера вместо «Х» используется «Q».

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

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

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

Для расшифровки необходимо использовать инверсию этих четырёх правил, откидывая символы «Х» (или «Q»), если они не несут смысла в исходном сообщении.

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

Шифр Хилла

Шифр Хилла - полиграммный шифр подстановки, основанный на линейной алгебре с использованием матриц.

Шифровки Хилла получаются следующим образом: ключ, представленный в виде квадратной матрицы NxN по модулю длины используемого алфавита умножается на N-мерный вектор. Полученный вектор преобразуется в текст и шифр Хилла занимается обработкой следующего блока. Кстати, шифр Хилла является первым блочным шифром, который работает с блоками более 3 символов.

Стойкость шифрования Хилла

Как и все линейные шифры, шифр Хилла может быть легко взломан при наличии достаточно длинной шифровки . Однако для 1929 года тройное шифрование шифром Хилла с блоками по 6 символов было крайне стойким.

7.Многоалфавитный шифр подстановки

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

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

Суть зашифрования шифром Виженера идентична и схожа с зашифрованием шифром Цезаря , с той лишь разницей, что если шифр Цезаря сопоставляет для всех символов сообщения (открытого текста, скрываемого в шифровке) одно и то же значение сдвига, то в шифре Виженера для каждого символа открытого текста сопоставлено собственное значение сдвига. Это означает, что длина ключа шифра Виженера должна быть равна длине сообщения. Однако запомнить такой ключ расшифрования, если сообщение будет длинным, непросто. Из этого затруднительного положения выходят так: за ключ шифра Виженера берут слово (фразу), удобное для запоминания, слово (кодовая фраза) повторяется до тех пор, пока не станет равным длине сообщения. Получившуюся последовательность символов и используют для зашифрования шифром Виженера при помощи таблицы Виженера .

Таблица Виженера

Для зашифрования сообщения шифром Виженера при помощи таблицы Виженера , выберите столбец, начинающийся с первого символа открытого текста и строку, начинающуюся с первого символа ключа. На пересечении этих столбца и строки будет находиться первый символ шифровки. Например, при гаммировании символов "Л" и "Д" получается "П". Аналогично можно проделать и для оставшихся символов сообщения. Ниже мы приводим таблицу Виженера для русского алфавита.

Взлом шифра Виженера

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



Шифр Вернама

Шифр Вернама - симметричный шифр с абсолютной криптографической стойкостью

Создатели шифра Вернама

Шифр Вернама был изобретен в 1917 году сотрудниками AT&T (одна из крупнейших американских телекоммуникационных компаний США) Мейджором Джозефом Моборном и Гильбертом Вернамом . Шифр Вернама появился на свет после безуспешных попыток Вернама усовершенствовать Шифр Виженера (шифра, который считался невзламываемым, но был дешифрован Фридрихом Касиски в 1854 году) до невзламываемого.

Шифрование шифром Вернама

Суть шифрования шифром Вернама проста для понимания и реализации на компьютере. Для того чтобы зашифровать открытый текст нужно всего лишь произвести объединение двоичного кода открытого текста с двоичным кодом ключа операцией "исключающее ИЛИ", полученный двоичный код, представленный в символьном виде и будет шифровкой шифра Вернама . Если попробовать полученную шифром Вернама шифровку еще раз зашифровать шифром Вернама с этим же ключом, мы вновь получим открытый текст. Собственно, зашифрование шифра Вернама идентично его расшифрованию, что и говорит нам о том, что шифр Вернама является симметричным шифром.

Недостатки Шифра Вернама

Несмотря на очевидные сложности в запоминании, генерировании и передаче ключа, шифр Вернама обладает следующими недостатками:

Уничтожить полученный ключ не так просто как кажется, особенно такой длинный, как в шифре Вернама

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

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

2.2 Штриховые коды

Линейный штрихкод

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

Способы кодирования информации

1.Линейные

Линейными (также называются полосковыми кодами) называются штрихкоды, читаемые в одном направлении (по горизонтали).

2.Двухмерные


Двухмерные символики были разработаны для кодирования большого объёма информации. Расшифровка такого кода проводится в двух измерениях (по горизонтали и по вертикали).

Двухмерные коды подразделяются на многоуровневые (stacked) и матричные (matrix). Многоуровневые штрихкоды появились исторически ранее, и представляют собой поставленные друг на друга несколько обычных линейных кодов. Матричные же коды более плотно упаковывают информационные элементы по вертикали.


№1

Страна-производитель

№2

№3

Код предприятия

№4

№5

№6

№7

№8

Имя товара

Потребительские свойства

№9

Потребительские особенности

№10

Масса

№11

Состав

№12

Цвет

№13

Определение подлинности кода

Штрих-код состоит по европейскому стандарту из 13 цифр.

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

10-((((№2+№4+№6+№8+№10+№12)*3)+ (№1+№3+№5+№7+№9+№11))-№1)

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


  • К качеству товаров штрих-код не имеет отношения. Он и создан был не столько для потребителей, сколько для производителей и, главное, реализаторов. Единственное, что может по штриховой кодировке определить потребитель, так это страну-производителя. Однако и здесь есть свои сложности. Если указанная на этикетке страна-производитель не совпадает с данными штрих-кода, это не всегда означает , что вы напали на подделку. Некоторые фирмы, производя товары в одной стране, регистрируются в другой или размещают в третьих странах свои филиалы. А возможно, это совместное производство.

  • В соответствии с правилами EAN International приоритетное право штрихового кодирования продукции принадлежит владельцу товарного знака (брэнда) или спецификации на производство товара вне зависимости от того, где и кем он произведен. Однако если по каким-либо причинам владелец торговой марки штриховой код не нанес, то это может сделать изготовитель. Если и изготовитель товара не нанес штриховой код, то это может сделать поставщик (импортер). На этикетке указывается "Поставщик: наименование компании-поставщика" и его штриховой код.

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

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

  • Штрих-коды стран-производителей, чьи товары чаще всего встречаются на российском рынке:

Страны

Код (первые две цифры)

США, Канада

00, 01, 03, 04, 06

Франция

30, 31, 32, 33, 34, 35, 36, 37

Германия

40, 41, 42, 43

Великобритания (и Северная Ирландия)

50

Япония

49

Бельгия (и Люксембург)

54

Норвегия

70

Дания

57

Финляндия

64

Португалия

56

Швеция

73

Швейцария

76

Италия

80, 81, 82, 83

Израиль

72

Голландия

87

Австрия

90, 91

Австралия

93

Турция

86

ЮАР

60, 61

Исландия

84

РОССИЯ

46

Отдельно надо сказать о кодировании товаров, произведенных в России. За Россией закреплен диапазон кодов 460-469. Однако используется пока только 460, остальные же номера пока заблокированы. Они могут быть введены в действие только EAN Россия при том условии, что полностью будут израсходованы номера текущего префикса 460 и только по обязательному согласованию со штаб-квартирой EAN International. Таким образом, если вы встретите штрих-код, начинающийся с префиксов 461-469, то этот код однозначно является поддельным.

Сферы применения


  • Увеличение скорости прохождения документооборота банковской и др. платежных систем;

  • Минимизация ошибок считывания данных за счет автоматизации процесса;

  • Идентификация сотрудников (корпоративный штрих-код);

  • Организация систем регистрации времени;

  • Унификация бланков для сбора разного вида данных (медицина, статистика и пр.);

  • Упрощение складской инвентаризации;

  • Контроль за наличием и продвижением товаров в магазинах, обеспечение их сохранности и др.


QR-код

QR-код (англ. quick response - быстрый отклик) - матричный код (двумерный штрихкод), разработанный и представленный японской компанией «Denso-Wave» в 1994 году.

Описание

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


Основное достоинство QR-кода - это лёгкое распознавание сканирующим оборудованием, что дает возможность использования в торговле, производстве, логистике.

Максимальное количество символов, которые помещаются в один QR-код:


  • цифры - 7089;

  • цифры и буквы (латиница) - 4296;

  • двоичный код - 2953 байт (следовательно, около 2953 букв кириллицы в кодировке windows-1251 или около 1450 букв кириллицы в utf-8);

  • иероглифы - 1817.
Хотя обозначение «QR code» является зарегистрированным товарным знаком «DENSO Corporation», использование кодов не облагается никакими лицензионными отчислениями, а сами они описаны и опубликованы в качестве стандартов ISO.

Спецификация QR-кода не описывает формат данных.

Разбиение на блоки

Последовательность байт разделяется на определённое для версии и уровня коррекции количество блоков, которое приведено в таблице «Количество блоков». Если количество блоков равно одному, то этот этап можно пропустить. А при повышении версии – добавляются специальные блоки.

Сначала определяется количество байт (данных) в каждом из блоков. Для этого надо разделить всё количество байт на количество блоков данных. Если это число не целое, то надо определить остаток от деления. Этот остаток определяет сколько блоков из всех дополнены (такие блоки, количество байт в которых больше на один чем в остальных). Вопреки ожиданию, дополненными блоками должны быть не первые блоки, а последние. Затем идет последовательное заполнение блоков. Важно чтобы данные заполнили все блоки исправления

Пример: для версии 9 и уровня коррекции M количество данных - 182 байта, количество блоков - 5. Поделив количество байт данных на количество блоков, получаем 36 байт и 2 байта в остатке. Это значит, что блоки данных будут иметь следующие размеры: 36, 36, 36, 37, 37 (байт). Если бы остатка не было, то все 5 блоков имели бы размер по 36 байт.

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

Этап размещения информации на поле кода

На QR-коде есть обязательные поля, они не несут закодированную информацию, а содержат информацию для декодирования. Это:

  • Поисковые узоры

  • Выравнивающие узоры

  • Полосы синхронизации

  • Код маски и уровня коррекции

  • Код версии (с 7-й версии)
а так же обязательный отступ вокруг кода . Отступ - это рамка из белых модулей, ее ширина - 4 модуля. Поисковые узоры - это 3 квадрата по углам, кроме правого нижнего . Используются для определения расположения кода. Они состоят из квадрата 3х3 из черных модулей, вокруг рамка из белых модулей, шириной 1, потом еще одна рамка из черных модулей, так же шириной 1, и ограждение от остальной части кода - половина рамки из белых модулей, шириной 1. Итого эти объекты имеют размер 8х8 модулей.

Выравнивающие узоры - появляются начиная с второй версии, используются для дополнительной стабилизации кода, более точном его размещении при декодировании. Состоят они из 1 черного модуля, вокруг которого стоит рамка из белых модулей шириной 1, а потом еще одна рамка из черных модулей, так же шириной 1. Итоговый размер выравнивающего узора - 5х5. Стоят такие узоры на разных позициях в зависимости от номера версии. Выравнивающие узоры не могут накладываться на поисковые узоры. Ниже представлена таблица расположения центрального черного модуля, там указаны цифры - это возможные координаты, причем как по горизонтали, так и по вертикали. Эти модули стоят на пересечении таких координат. Отсчет ведется от верхнего левого узла, причем его координаты (0,0).

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

Код маски и уровня коррекции - расположен рядом с поисковыми узорами: под правым верхним (8 модулей) и справа от левого нижнего (7 модулей), и дублируются по бокам левого верхнего, с пробелом на 7 ячейке - там, где проходят полосы синхронизации, причем горизонтальный код в вертикальную часть, а вертикальный - в горизонтальную.

Код версии - нужен для определения версии кода. Находятся слева от верхнего правого и сверху от нижнего левого, причем дублируются. Дублируются они так - зеркальную копию верхнего кода поворачивают против часовой стрелке на 90 градусов. Ниже представлена таблица кодов, 1 - черный модуль, 0 - белый.

Занесение данных

Оставшееся свободным место делят на столбики шириной в 2 модуля и заносят туда информацию, причем делают это «змейкой». Сначала в правый нижний квадратик заносят первый бит информации, потом в его левого соседа, потом в тот, который был над первым и так далее. Заполнение столбцов ведется снизу вверх, а потом сверху вниз и т. д., причем по краям заполнение битов ведется от крайнего бита одного столбца до крайнего бита соседнего столбца, что задает «змейку» на столбцы с направлением вниз. Если информации окажется недостаточно, то поля просто оставляют пустыми (белые модули). При этом на каждый модуль накладывается маска.


Описание полей QR-кода.

Код маски и уровня коррекции, возможные XOR-маски

Заключение

В процессе работы над проектом можно подвести некоторые выводы:


  1. Существует единая классификация криптографических систем по разным параметрам, каждая из которых имеет свои отличительные особенности, преимущества и недостатки.
Криптографические системы классифицируют по:

  • области применения;

  • особенностям используемого алгоритма шифрования;

  • количеству символов сообщения;

  • стойкости шифра.

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

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

Работа над исследованием будет продолжена. В будущем планируется исследовать вопросы защиты информации в соцсетях.

Источники


  1. http://shifr-online-ru.1gb.ru/vidy-shifrov.htm

  2. http://studopedia.org/3-18461.html

  3. http://students.uni-vologda.ac.ru/pages/pm00/kan/demand.htm

  4. http://bezpeka.ucoz.ua/publ/kriptografija/kriptosistemy/klassifikacija_shifrov/7-1-0-14

  5. http://dic.academic.ru/dic.nsf/ruwiki/672132

Классификация криптографических систем

Существует несколько классификаций криптографических систем (шифров). Рассмотрим некоторые из них.

I. По области применения различают криптосистемы ограниченного и общего использования.

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

Стойкость криптосистемы общего использования основывается на секретности ключа и сложности его подбора потенциальным противником.

II. По особенностям алгоритма шифрования криптосистемы общего использования можно разделить на следующие виды.

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

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

В аддитивных шифрах буквы алфавита заменяются числами, к которым затем добавляются числа секретной случайной (псевдослучайной) числовой последовательности (гаммы). Состав гаммы меняется в зависимости от используемого ключа. Обычно для шифрования используется логическая операция «Исключающее ИЛИ» (XOR). При дешифровании та же гамма накладывается на зашифрованные данные. Гаммирование широко используется в военных криптографических системах.

Рис. Классификация криптографических алгоритмов

Квантовая криптография вносит в процесс шифрования естественную неопределенность квантового мира. Процесс отправки и приёма информации выполняется посредством объектов квантовой механики (например, при помощи электронов в электрическом токе, или фотонов в линиях волоконно-оптической связи). Самым ценным свойством этого вида шифрования является то, что при посылке сообщения отправляющая и принимающая сторона с достаточно большой вероятностью могут установить факт перехвата зашифрованного сообщения.

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

Комбинированные (составные) методы предполагают использование для шифрования сообщения сразу нескольких методов (например, сначала замена символов, а затем их перестановка).

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

III. По количеству символов сообщения (или его кодовой замены), шифруемых или расшифровываемых по однотипной процедуре преобразования:

Потоковые – процедура преобразование применяется к отдельному символу сообщения;

Блочные – процедура преобразование применяется к набору (блоку) символов сообщения;

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

По стойкости шифры делятся на три группы:

Совершенные (абсолютно стойкие, теоретически стойкие) – шифры, заведомо неподдающиеся вскрытию (при правильном использовании). Дешифрование секретного сообщения приводит к нескольким осмысленным равновероятным открытым сообщениям;

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

Составными элементами шифра являются:

Алфавиты для записи исходных сообщений (защищаемой информации, открытого текста) и шифрованных сообщений (шифртекстов, шифрограмм, криптограмм);

Алгоритмы криптографического преобразования (зашифрования и дешифрования);

Множество ключей.

Азбука или алфавит (греч. ἀλφάβητος) - форма письменности, основанная на стандартном наборе знаков, один или набор которых соответствуют фонемам 1 языка. В общем случае алфавит для записи исходных сообщений и алфавит для записи шифрованных сообщений могут отличаться. Например, исходные сообщения записываются с помощью букв, а шифрограммы с помощью цифр или графических обозначений.

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

Шифрование (зашифрование) - процесс применения шифра к защищаемой информации, т.е. преобразование исходного сообщения в зашифрованное.

Дешифрование (расшифрование) - процесс, обратный шифрованию, т. е. преобразование шифрованного сообщения в исходное.

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

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

Используя понятие ключа, процессы шифрования и дешифрования можно описать в виде соотношений:

f(P, k 1) = C, (3.1)

g(C, k 2) = P, (3.2)

где P (англ. public - открытый) - открытое сообщение;
C (англ. cipher - шифрованный) - шифрованное сообщение;
f - алгоритм шифрования;
g - алгоритм расшифрования;
k 1 – ключ зашифрования, известный отправителю;
k 2 – ключ расшифрования, известный адресату.

В настоящее время разработкой методов шифрования и дешифрования информации (в т.ч. и без знания ключа) занимается криптология (греч. κρυπτός - тайный, λόγος - слово, знание). Криптология разделяется на два направления - криптографию и криптоанализ. Цели этих двух правлений криптологии прямо противоположны.

Криптография (греч. κρυπτός - скрытый и γράφω - пишу, рисую) – наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.

Криптоанализ (греч. κρυπτός - скрытый и ανάλυση - разложение, расчленение) – наука, занимающаяся вопросами оценки сильных и слабых сторон методов шифрования, а также разработкой методов, позволяющих взламывать криптосистемы.

Следует различать криптографические методы сокрытия информации (шифрование) и кодирование. – представление информации в альтернативном виде. Шифрование является частным случаем кодирования и предназначено для обеспечения конфиденциальности информации. С точки зрения решения этой задачи, кодирование – это безключевое шифрование, в котором преобразование построено на алгоритме кодирования или кодовой таблице. Различают:

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

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

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

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

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

Что касается применения конкретных криптографических методов, то следует отметить, что не существует единого шифра, подходящего для всех случаев. Выбор способа шифрования зависит :

От вида защищаемой информации (документальная, телефонная, телевизионная, компьютерная и т.д.);

От объема и требуемой скорости передачи шифрованной информации;

От ценности защищаемой информации (некоторые тайны [например, государственные, военные и др.] должны сохраняться десятилетиями, а некоторые [например, биржевые] - уже через несколько часов можно разгласить);

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

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

1 Фонема (др.-греч. φώνημα - «звук») - минимальная смыслоразличимая единица языка.

3.2. Основные требования, предъявляемые к криптосистемам

Для современных криптографических систем можно сформулировать следующие требования:

Сложность и трудоёмкость процедур шифрования и дешифрования должны определяться в зависимости от требуемого уровня защиты информации (необходимо обеспечить надежную защиту информации);

Временные и стоимостные затраты на защиту информации должны быть приемлемыми при заданном уровне ее секретности (затраты на защиту не должны быть чрезмерными);

Процедуры шифрования и дешифрования не должны зависеть от длины сообщения;

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

Любой ключ из множества возможных должен обеспечивать надежную защиту информации;

Незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения;

Избыточность сообщений, вносимая в процессе шифрования, должна быть как можно меньшей (хорошим считается результат, когда длина шифрограммы не превышает длину исходного текста);

Зашифрованное сообщение должно поддаваться чтению только при наличии ключа.

3.3. Классификация шифров

Существует несколько классификаций шифров. Рассмотрим некоторые из них.

Рис.3.1. Классификация шифров

I. По области применения различают шифры ограниченного и общего использования.

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

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

II. По особенностям алгоритма шифрования шифры общего использования можно разделить на следующие виды.

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

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

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

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

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

Предполагают использование для шифрования сообщения сразу нескольких методов (например, сначала замена символов, а затем их перестановка).

III. По количеству символов сообщения (или его кодовой замены), шифруемых или расшифровываемых по однотипной процедуре преобразования различают:

- потоковые шифры – процедура преобразование применяется к отдельному символу сообщения;

- блочные шифры – процедура преобразование применяется к набору (блоку) символов сообщения.

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

IV. По стойкости шифры делятся на три группы:

- совершенные (абсолютно стойкие, теоретически стойкие) – шифры, заведомо неподдающиеся вскрытию (при правильном использовании). Дешифрование секретного сообщения приводит к нескольким осмысленным равновероятным открытым сообщениям;

.

В качестве основного критерия классификации криптографических алгоритмов будем использовать тип выполняемого над исходным текстом преобразования. Классификация по этому критерию представлена на рис. 2.1.


Рис. 2.1. Общая классификация криптографических алгоритмов

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

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

Криптосистемы с ключом делятся на симметричные и асимметричные системы шифрования. Модель симметричной системы шифрования представлена на рис. 2.2.



Рис. 2.2. Обобщенная модель симметричной системы шифрования

Отличительной чертой симметричных алгоритмов шифрования является наличие одного ключа шифрования (k на рис.2.2), который должен быть известен только отправителю и получателю сообщения. Отправитель на ключе k шифрует сообщение, получатель дешифрует полученный шифротекст ключом k. Криптоаналитик может перехватить шифротекст Y, передаваемый по открытым каналам связи, но, так как он не знает ключа, задача вскрытия шифротекста является очень трудоемкой. Принципиальным моментом является необходимость наличия секретного канала связи между получателем и отправителем для передачи ключа шифрования без возможности его перехвата криптоаналитиком.

Асимметричная система шифрования работает по схеме, представленной на рис. 2.3.



Рис. 2.3. Обобщенная модель асимметричной системы шифрования

Отличительной особенностью асимметричных алгоритмов является наличие пары ключей шифрования: открытого k от, который передается второй стороне по незащищенному каналу связи и поэтому может быть известен криптоаналитику,а также закрытого k зак, который известен лишь одному человеку (получателю сообщения) и держится в секрете. Пара ключей обладает тем свойством, что сообщение, зашифрованное на одном из ключей, может быть расшифровано только на другом ключе. Фактически это означает, что секретным каналом передачи информации на схеме рис. 2.3 является направление «отправитель-получатель», поскольку сообщение, зашифрованное на открытом ключе отправителем, может дешифровать своим закрытым ключом только получатель.

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

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

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

По степени секретности криптоалгоритмы делятся на абсолютно стойкие и практически стойкие. Абсолютно стойкие шифры невозможно вскрыть. На практике этого можно добиться, только если размер используемого ключа шифрования превышает размер кодируемого сообщения и при этом ключ используется однократно. Практически стойким называется шифр, для которого не существует более эффективного способа взлома, кроме как полным перебором всех возможных ключей шифрования.

Говоря об атаках на шифры, можно выделить следующие виды атак: атака на основе шифротекста, атака на основе известного открытого текста, атака на основе выборочного открытого текста.

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

Атака на основе открытого текста предполагает, что криптоаналитику известны одна или несколько пар «открытый текст/шифротекст», зашифрованных на одном ключе, и на основе этой информации он проводит свой анализ.

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

Лучшие статьи по теме