Проект криптография. проект на сдачу Гребенникова. Криптография в современном мире
Скачать 337.27 Kb.
|
Государственное бюджетное общеобразовательное учреждение средняя общеобразовательная школа № 356 с углубленным изучением немецкого и английского языков Московского района Санкт-Петербурга ИНДИВИДУАЛЬНЫЙ ПРОЕКТ «Криптография в современном мире» Выполнил: ученик «10-Б» класса Гребенников Павел Романович Научный руководитель: Болдырева Наталия Михайловна, учитель информатики; г. Санкт-Петербург 2021 г. Оглавление Введение.....................3 Библиография....................5 Глава 1. Криптография 1.1. История криптографии.....................6 1.2. Основные термины криптографии.....................9 Глава 2. Применение Криптографии 2.1 Разновидности и типы шифраторов дешифраторов.....................? 2.2 Примеры применения криптографии в современном мире.....................? Глава 3. Собственная программа шифратор.....................? 3.1 Процесс работы шифратора.....................? Заключение.....................? Введение Каждый человек сталкивался с проблемой: “Как передать информацию в тайне от других?”. В нашем технологически развитом мире невозможно обойтись без доступа к компьютерным технологиям. Несмотря на то, что IT-технологии еще не совершенны, они успели вжиться в повседневную жизнь человека. Например компьютер, который используется сейчас везде для абсолютно разнообразных задач, в том числе и для передачи информации. Что же нужно для скрытой передачи информации? 1. Создать абсолютно надежный, недоступный для других канал связи между абонентами. 2. Использовать общедоступный канал связи, но скрыть сам факт передачи информации. 3. Использовать общедоступный канал связи, но передавать по нему нужную информацию в так преобразованном виде, чтобы восстановить её смог только адресат. Только, к сожалению, чтобы сделать такой канал связи нужны еще более современные технологии, поэтому это практически невозможно. Но всё-таки прогресс не стоит на месте. Хоть пока нереально создать такой канал, мы каждый день используем хорошо защищенные мессенджеры, облачные хранилища, различные электронные почты и так далее. И, чтобы обеспечивать безопасность от незаконных пользователей, используется криптография. Методы и способы преобразования информации называются шифрами. А чтобы их расшифровать используются дешифраторы. Из этого следует что криптография использует самые последние достижения фундаментальных наук и все конкретные задачи криптографии существенно зависят от уровня развития техники, технологии, от применяемых средств связи до способов передачи информации. ФИО: Гребенников Павел Романович. ФИО научных руководителей: Болдырева Наталия Михайловна. Тема проекта: Криптография в современном мире Актуальность проблемы: Сегодня, в информационный век увеличивающегося потока обмена информацией, к которой относится все больше информации о нашей обыденной жизни, финансовых транзакциях и так далее, устойчивое и надёжное шифрование является не просто необходимым, а важнейшим условием безопасности современного человека. На мой взгляд, вопросы криптографии, шифрования и безопасности в сети нужно изучить, так как сейчас любая передача данных должна быть зашифрованной, если только это не публичная информация. Например: в любой компании на компьютерах обрабатывается важная коммерческая информация и без криптографии здесь никак не обойтись. Шифрование обычно используется в целях обеспечения безопасности хранения данных, защиты информации при передаче через незащищенные каналы связи и по локальной сети, для цифровых подписей. Данные задачи решаются разными средствами с применением различных криптографических технологий. Объект проекта: Криптография. Предмет проекта: Основной смысл криптографии (невозможности прочтения информации посторонним), целостности данных (невозможности незаметного изменения информации), аутентификации (проверки подлинности авторства или иных свойств объекта), шифрования (кодировка данных). Гипотеза проекта: Утечка данных, взлом и человеческий фактор являются постоянным напоминанием об угрозах и рисках, возникающих почти везде. Как помогает криптография в нашей жизни? Цель проекта: Рассказать об особенностях шифрования, их применении, а также на основе этой информации, наглядно предоставить свою программу шифрования. Задачи проекта: 1) Раскрыть основное понятие криптографии, что оно из себя представляет. 2) Объяснить и показать практическую значимость криптографии. 3) На основе анализа научной работы написать программу для шифрования, которая покажет способы шифрования наглядно. Итоговый продукт проекта: Собственная простая программа шифрования текста. Методы: Библиометрические , статистические методы. Я буду изучать документы на основе количественного анализа первичных, вторичных источников информации и статистики с целью получения данных об эффективности, динамике, структуре и закономерностях развития исследуемой области. Библиография Статьи из интернета: Криптография. Основные методы и проблемы. Современные тенденции криптографии: https://moluch.ru/conf/tech/archive/163/8782/ Книги по теме: Бауэр Ф. Расшифрованные секреты. Методы и принципы криптологии. М.: Мир, 2007. 550 c. Брюс Шнайер. Прикладная криптография. Протоколы, алгоритмы и исходный код на C. Вильямс, 2016 Мао B. Современная криптография. Теория и практика. М.: Вильямс, 2005. 763 с. Сингх С. Книга шифров. Тайная история шифров и их расшифровки. М.: Аст, Астрель, 2006. 447 с. Сборник задач: учебное пособие Сборник, криптография и криптоанализ. Городилова А.А., Токарева Н.Н., Шушуев Г.И. Новосибирск, издательство НГУ, 2014 г., 325 с. Онлайн-словарь: Словарь криптографических терминов: https://www.infosystems.ru/library/glossary/slovar-kriptograficheskikh-terminov/ Интернет-справочник: Математическая криптография: http://cryptography.ru/ref/ Глава 1. Криптография 1.1 История криптографии Множество лет короли, королевы и полководцы управляли своими странами и командовали своими армиями, опираясь на надежную и эффективну. действующую связь. Также они осознавали последствия, что произойдет, если их сообщения попадут не в те руки, например вражескому государству будут выданы ценные секреты. И именно опасение того, что враги перехватят сообщение, послужило причиной активного развития кодов и шифров — способов скрытия содержания сообщения таким образом, чтобы прочитать его смог только тот, кому оно адресовано. Стремление обеспечить секретность означало, что в государствах функционировали подразделения, создающие коды и шифры путем разработки и использования самых надежных шифров. В это же время дешифровальщики врага старались раскрыть эти шифры чтобы получить нужную в них информацию. История кодов и шифров — это гонка вооружений, которая оказала разительное влияние на ход истории. Шифры появились в глубокой древности в виде криптограмм (по-гречески - тайнопись). Порой священные иудейские тексты шифровались методом замены. Вместо первой буквы алфавита писалась последняя буква, вместо второй - предпоследняя и так далее. Этот древний метод шифрования назывался «Акбаш». Известно, что шифровалась переписка Юлия Цезаря (100 - 44 гг. до н. э.) с Цицероном (106 - 43 г.г. до н. э.). Принцип был прост: каждая буква исходного текста заменялась на другую, отстоящую от нее по алфавиту на определенное число позиций (например: на три позиции). Зная это число, можно был разгадать шифр и узнать, какие тайны хранил Цезарь в своей переписке. Также я хотел бы осветить Шифр Марии Стюарт — тайнопись, которую использовала королева Шотландии в 16 веке чтобы поддерживать связи с заговорщиками, из числа дворян, для того чтобы получить корону Англии. В субботу, утром, 15 октября 1586 года Мария Стюарт, королева Шотландии, вошла в зал суда в замке Фотерингей. Она прошла мимо судей, чиновников и зрителей и приблизилась к трону. Мария посчитала, что трон - жест уважения к ней, но она ошиблась. Трон символизировал отсутствующую королеву Елизавету 1, противницу Марии и ее обвинителя. Марию вежливо направили от трона к месту обвиняемого. Мария, королева Шотландии, находилась в суде по обвинению в государственной измене. Ей вменяли в вину организацию заговора с целью убийства королевы Елизаветы I, чтобы завладеть короной Англии. Сэр Фрэнсис Уолсингем, государственный секретарь королевы Елизаветы I, уже арестовал других заговорщиков, добился от них признания и казнил. Теперь он собирался доказать, что Мария была душой заговора, следовательно наравне с ними виновна и наравне с ними заслуживает смерти. Уолсингем знал, что прежде, чем он смог бы казнить Марию, он должен будет убедить королеву Елизавету в ее вине. Хотя Елизавета и относилась к Марии с презрением, однако у нее имелось несколько причин, чтобы не желать её смерти. Во-первых, Мария была королевой Шотландии, и многие задавались вопросом, есть ли у английского суда полномочия для того, чтобы отправить на помост для казни главу иностранного государства. Во-вторых, казнь Марии могла бы создать опасный прецедент: если государству разрешено убить одну королеву, то у мятежников могло бы остаться меньше запретов на убийство другой - самой Елизаветы. В-третьих, Елизавета и Мария была кузинами, родственницами. В общем, Елизавета санкционировала бы казнь Марии только в том случае, если бы Уолсингем смог, вне всех сомнений, доказать, что она принимала участие в заговоре. К несчастью для Марии, Уолсингем был не только государственным секретарем, он был также руководителем шпионской сети в Англии. Он перехватил письма Марии к заговорщикам и точно знал, кто мог бы расшифровать их. Лучшим в стране специалистом по раскрытию шифров в тогда был Томас Фелиппес. И в течение нескольких лет он дешифровывал сообщения тех, кто готовил заговор против королевы Елизаветы, на основании чего были собраны свидетельства для вынесения им приговора. Если бы он смог дешифровать письма между Марией и заговорщиками, то ее смерть была бы неизбежна. С другой стороны, если шифр Марии был достаточно надежен, чтобы скрыть все её тайны, то у нее имелся бы шанс остаться в живых. Так уже не в первый раз жизнь зависела от стойкости шифра. К 16 веку искусство криптоанализа, шагнуло далеко вперед. Еще в 10 веке арабские ученые изобрели частотный анализ, позволявший взламывать простые шифры замены (когда буква алфавита заменялась символом или другой буквой). Метод частотного анализа заключался в соотношении самых часто встречающихся букв алфавита с самыми частотными символами шифра. Например, в текстах русского языка чаще всего встречается буква “о”. Следовательно, проанализировав зашифрованный текст, можно с легкостью ее отыскать. Но "Шифр Марии Стюарт" был сложнее. Помимо обычных букв в нем присутствовали замены целых слов и пустые знаки (символы в шифровке, которые ничего не изменяли и не имели функции, кроме того, чтобы запутать дешифровальщика). Это очень затрудняло дешифровку, но все-таки вся переписка была переведена, а вина шотландской королевы Марии доказана. - Пустые символы Сам код Марии: (см. Библиографию с. 5: Сингх С. Книга шифров. Тайная история шифров и их расшифровки. 2006: с.15-61) 1.2 Основные термины криптографии На сегодняшний день, криптография занимает в жизни каждого человека важное место. Любой человек хотя бы раз в день сталкивается с шифрованием и дешифрованием данных. Всё больше и больше информации передаётся по каналам связи, которые требуют максимальной защиты данных. Современная криптография полностью основана на математике. Основная задача математики в криптографии - криптографическая стойкость, то есть способность противостоять теоретическому и практическому взлому. Практическое применение криптографии стало неотъемлемой частью жизни современного общества - её используют во многих отраслях, таких как электронная коммерция, электронный документооборот (включая электронные подписи), телекоммуникации и других областях. И чтобы разобраться в практическом применении криптографии в современном мире я приведу блок теории в этой главе. 1.2 Основные понятия Отправитель и получатель Предположим, что отправитель хочет послать сообщение получателю. Более того, этот отправитель хочет послать свое сообщение безопасно: он хочет быть уверен, что перехватившее это Сообщение не сможет его прочесть. Сообщение и шифрование Клер - открытое сообщение (открытый текст). шифротекст - зашифрованное сообщение. Искусство и наука безопасных сообщений называемая криптография, воплощается в жизнь криптографами. Криптоаналитиками называются те, кто постоянно использует криптоанализ, искусство и науку взламывать шифротекст. Отрасль математики, охватывающая криптографию криптоанализ, называется криптологией, а люди, которые ей занимаются, - криптологами. Криптографический алгоритм, представляет собой математическую функцию, используемого для шифрования и дешифрования. Смысл криптографии - сохранение открытого текста (или ключа, или Того и другого) в тайне от злоумышленников, также называемых взломщиками. Криптоанализ - искусство получения исходного текста, раскрытие секретов (взламывать шифротекст). Если ключ раскрыли не криптологическими способами, то это называется компрометацией. Алгоритмы и ключи Криптографический алгоритм, также называемый шифром, представляет собой математическую функцию, используемую для шифрования и дешифрования. Если безопасности алгоритма основана на сохранении самого алгоритма втайне, это ограниченный алгоритм. Ограниченная алгоритм представляет только исторический интерес они совершенно не соответствуют сегодняшним стандартам, так как, когда один из пользователей покидает группу, её члены должны переходить на другой алгоритм. Однако несмотря на основные недостатки ограниченные алгоритмы необычайно популярны для приложений с низким уровнем безопасности. Современная криптография решает эти проблемы при помощи ключа. Такой ключ может быть определенным значением выбранным из большого множества. Множество возможных ключей называют пространством ключей. Обозначим открытый текст как M (от message). Это может быть поток битов, текстовые файлы, битовое изображение, оцифрованная звука, видеоизображение и так далее, но для компьютера это просто двоичные данные. Открытый текст может быть создан для хранения или передачи. Обозначим шифротекст как C (от cyphertext). Это тоже двоичные данные, иногда Того же размера, что и M, иногда больше. Функция шифрования пусть будет E (от encrypt). Функция шифрования действует на сообщение, создавая зашифрованное сообщение: E(M) = C И наоборот: D(C) = M Добавляем ключ K: EK(M) = C DK(C) = M Для некоторых алгоритмов при шифровании и дешифрования используются разные ключи. То есть ключ шифрования отличается от ключа дешифрования. K1 и K2: EK1(M) = C DK2(C) = M Безопасность таких алгоритмов полностью основана на ключах, а не на деталях алгоритмов. Это означает, что алгоритм может быть опубликован и проанализирован. И нет значения что злоумышленнику известен ваш алгоритм, если ему неизвестен ключ, то он не сможет прочесть ваше сообщение. Это криптосистема - алгоритм со всеми ключами и текстами. Данные алгоритмы - самые основные типы алгоритмов, основанные на ключах: симметричные и с открытым кодом (асимметричные). Рассмотрим симметричные алгоритмы. Симметричная алгоритмы, иногда называемое условными алгоритмами. представляет собой алгоритма, в которых ключ шифрования может быть рассчитан по ключу дешифрования и наоборот. В большинстве симметричных алгоритмов ключи шифрования, дешифрования одни и те же. Эти алгоритмы, также называемыми алгоритмами с секретным ключом или алгоритмами с одним ключом. Симметричный алгоритм делятся на две категории. Одни алгоритмы обрабатывают открытый текст побитно, они называются потоковыми алгоритмами или потоковыми шифрами другие работают с группами битов открытого текста. Группы битов называются блоками, алгоритмы - блочными алгоритмами или блочными шифрами для алгоритмов, используемых в компьютерных модемах, типичный размер блока составляет 64 бита - достаточно большое значение, чтобы помешать анализу, и достаточно небольшое и удобное для работы. Алгоритмы с открытым ключом. Алгоритмы с открытым ключом разработаны таким образом, что ключ, используемый для шифрования, отличается от ключа дешифрирования. Более того, ключ дешифрирования не может быть рассчитан по ключу шифрования. Алгоритмы называются “с открытым ключом”, потому что ключ шифрования может быть открытым, то есть кто угодно может использовать ключ шифрования для шифрования сообщения, но только конкретный человек с соответствующим ключом дешифрирования может расшифровать сообщение. В этих системах ключ шифрования часто называется открытым ключом, а ключ дешифрирования - закрытым. Компрометация. Существует четыре основных типа криптоаналитического вскрытия. Для каждого из них предполагается, что криптоаналитик обладает всеми знаниями об используемом алгоритме шифрования: Первый тип: Вскрытие с использованием только шифротекста. У криптоаналитика есть шифротексты нескольких сообщений, зашифрованных одним и тем же алгоритмом шифрования. Задача криптоаналитика состоит в раскрытии открытого текста как можно большего числа сообщений или, что лучше, получении ключа (ключей для асимметричного алгоритма), использованного для шифрования сообщений, для дешифрирования других сообщений, зашифрованных теми же ключами. Дано: C1=EK(P1), C2=EK(P2), ... Ci=EK(Pi); где i множество значений. Получить либо P1, P2, ... Pi и k, либо алгоритм, как получать Pi+1 из Ci+1=EK(Pi+1) Второй тип: Вскрытие с использованием открытого текста. У криптоаналитика есть доступ не только к шифротекстам нескольких сообщений, но и к открытому тексту этих сообщений. Его задача состоит в получении ключа (ключей), использованного для шифрования сообщений, для дешифрирования других сообщений, зашифрованных тем же ключом (ключами). Дано: P1, C1=EK(P1); P2, C2=EK(P2); … Pi, Ci=EK(Pi), где i множество значений. Получить либо k; либо алгоритм, как получать Pi+1 из Ci+1=EK(Pi+1) Третий тип: Вскрытие с использованием выбранного открытого текста. У криптоаналитика не только есть доступ к шифротекстам и открытым текстам нескольких сообщений, но и возможность выбирать открытый текст для шифрования. Это предоставляет больше вариантов чем вскрытие с использованием открытого текста, так как криптоаналитик может выбирать шифруемые блоки открытого текста, что может дать больше информации о ключе. Его задача состоит в получении ключа (или ключей), использованного для шифрования сообщений, или алгоритма, позволяющего дешифрировать новые с о- общения, зашифрованные тем же ключом (или ключами). Дано: P1, C1=EK(P1); P2, C2=EK(P2); … Pi, Ci=EK(Pi), где криптоаналитик может выбирать P1, P2, … Pi, где i множество значений. Получить либо k; либо алгоритм, как получать Pi+1 из Ci+1=EK(Pi+1) Четвертый тип: Адаптивное вскрытие с использованием открытого текста. Это частный случай вскрытия с использованием выбранного открытого текста. Криптоаналитик не только может выбирать шифруемый текст, но также может строить свой последующий выбор на базе полученных результатов шифрования. При вскрытии с использованием выбранного открытого текста криптоаналитик мог выбрать для шифрования только один большой блок открытого текста, при адаптивном вскрытии с использованием выбранного открытого текста он может выбрать меньший блок открытого текста, затем выбрать следующий блок, используя результаты первого выбора и так далее. Гюст Керкгоффс - великий нидерландский криптограф, лингвист, историк, математик утверждал: “Если мощь вашей новой криптосистемы опирается на то, что взломщик не знает, как работает алгоритм, вы пропали. Если вы считаете, что хранение принципа работы алгоритма в секрете лучше защитит вашу криптосистему, чем предложение академическому сообществу проанализировать алгоритм, вы ошибаетесь. А если вы думаете, что кто-то не сможет дезассемблировать ваш исходный код и восстановить ваш алгоритм, вы наивны (В 1994 году такое произошло с алгоритмом RC4) Нашими лучшими алгоритмами являются те, которые были разработаны открыто, годами взламывались лучшими криптографами мира и все еще несокрушимы. (Керкхоффс 1883) Стеганография Стеганография служит для передачи секретов в других сообщениях. Как правило отправитель пишет неприметное сообщение, а затем прячет секретное сообщение на том же листе бумаги. В истории была практика невидимых чернил, невидимые простому глазу пометки у букв, плохо заметные отличия в написании букв, пометки карандашом машинописных символов, решетки, покрывающие большую часть сообщения кроме нескольких символов и так далее. В нашем современном мире люди начали прятать секреты в графических изображениях, заменяя необязательный бит (в основном младший последний бит) изображения битом сообщения. Графическое изображение при этом почти не менялось. Так в черно-белой картинке 1024 на 1024 пикселя можно спрятать сообщение в 64 Кбайт. Например: Изображение дерева со скрытым в нём другим изображением. Изображение спрятано с помощью удаления всех, кроме двух младших битов с каждого цветового компонента и процесса, который изменяет диапазон значения интенсивности пикселей (нормализация) и изображение кота, извлеченное из изображения дерева. Компьютерные алгоритмы. Существует множество компьютерных алгоритмов. Следующие три используются чаще всего и о них я буду рассказывать во второй главе: DES (Data Encryption Standard, стандарт шифрования данных) - самый популярный компьютерный алгоритм шифрования, является американским и международным стандартом. Это симметричный алгоритм, один и тот же ключ используется для шифрования и дешифрирования. RSA (назван в честь создателей - Ривеста (Rivest), Шамира (Sharnir) и Эдлмана (Adleman)) - самый популярный алгоритм с открытым ключом. Используется и для шифрования, и для цифровой подписи. DSA (Digital Signature Algorithm, алгоритм цифровой подписи, используется как часть стандарта цифр о- вой подписи, Digital Signature Standard) - другой алгоритм с открытым ключом. Используется только для цифровой подписи, не может быть использован для шифрования. (см. Библиографию с. 5: Брюс Шнайер. Прикладная криптография. Протоколы, алгоритмы и исходный код на C. Вильямс, 2016. С 19-29 гл.1) Глава 2. Применение криптографии
|