- Общие сведения о криптографии, шифровании информации
- Что изучает наука криптология
- Физическая защита
- Стенографическая защита
- Криптографическая защита
- Требования к криптографическим системам защиты информации
- Важные определения
- Правовые нормы
- Сферы применения криптографии
- История
- Исторические способы шифрования
- Вторая Мировая война и послевоенный период
- Современные методы засекречивания информации
- Кодирование и Шифрование
- Определения и различия
- История шифрования
- Заключение
Общие сведения о криптографии, шифровании информации
Необходимость защитить конфиденциальную информацию появилась задолго до изобретения интернета. Можно предположить, что защитой ценных и значимых сведений люди занимались на протяжении всей истории, особенно в периоды военных действий.
Что изучает наука криптология
Мировая практика выработала три основных способа защиты информации:
- физическая защита;
- стенографическая защита;
- криптографическая защита.
Физическая защита
Сущность метода заключается в создании надежного канала связи. Как правило, речь идет о защите материального носителя (бумаги, магнитного диска или флэш-карты). Каналом связи в различные периоды истории являлись секретные курьеры, почтовые голуби или засекреченные радиочастоты. Этот метод используется и в современных автоматизированных системах обработки данных: для них создают условия изоляции и охраны.
Стенографическая защита
Защита подразумевает не только физическую маскировку и изоляцию носителя, но и попытку скрыть сам факт существования информации, которая интересует противника. Как правило, секретную информацию прячут на видном месте среди незасекреченных данных.
Например: под маркой на почтовом конверте или под обложкой книги может быть скрыта микрофотография. Важные данные прячут в книгах, пуговицах, каблуках туфлей и даже в пломбах зубов.
С развитием информационных технологий кардинально изменились или усложнились стенографические методы. Например: секретное сообщение может быть спрятано в файле с графическим изображением, где младший бит в описании пикселей заменяется битом сообщения.
Криптографическая защита
Наиболее надежный и современный способ защиты. Чтобы скрыть информацию от противника, данные проходят специальное преобразование.
Определение! Криптография – это, в переводе с греческого, «тайнопись», наука, которая занимается математическими методами преобразования информации.
Криптоанализ – занимается преодолением криптографической защиты без знания ключей.
Криптографию и криптоанализ объединяют в одну науку – криптологию. Она занимается следующими вопросами:
- оценкой надежности систем шифрования;
- анализом стойкости шифров;
- преобразованием информации для защиты от несанкционированного вмешательства.
Современные методы шифрования данных бывают настолько сложны, что в них могут разобраться только специалисты узкого профиля, занимающиеся математическим анализом и информационными технологиями.
Криптографические методы требуют больших финансовых вложений: чем выше требуемый уровень защиты информации, тем выше стоимость шифрования.
Требования к криптографическим системам защиты информации
Основные нормы для всех современных криптографических систем защиты подразумевают, что зашифрованное сообщение может быть прочитано только при помощи заданного ключа, а доступность алгоритма шифрования не повлияет на уровень защиты.
Перечисленные требования выполняются не для всех алгоритмов шифрования. В частности, требование отсутствия слабых ключей (ключей, которые позволяют крипто аналитику вскрыть зашифрованное сообщение) не выполняется для некоторых более ранних блочных шифров.Однако новые системы шифрования удовлетворяют требуемым параметрам.
Важные определения
Шифрование – процесс криптографического преобразования текста на основе определенного параметра (ключа) и алгоритма.
Расшифрование – криптографическое преобразование шифрованного текста в исходный.
Шифр – совокупность обратимых преобразований исходных данных в скрытый текст.
Шифр с открытым ключом (ассиметричный) – шифр с двумя ключами: шифрующим и расшифровывающим.
Исходный текст – данные, не обработанные посредством криптографических методов.
Шифрованный текст – данные с ключом, обработанные криптосистемой.
Ключ – параметр шифра, с помощью которого производится преобразование текста.
Открытый ключ – один из двух ключей ассиметричной криптосистемы, который находится в свободном доступе.
Закрытый ключ – секретный ключ ассиметричной системы шифрования.
Дешифрование – извлечение исходного текста без использования криптографического ключа, используя только шифровочный.
Криптостойкость — устойчивость шифра для дешифрования криптоаналитиком без знания ключа.
Правовые нормы
Деятельность, связанная с криптографическим шифрованием, подлежит контролю со стороны государства. Криптография в России регулируется документом «Об утверждении положений о лицензировании отдельных видов деятельности, связанных с шифровальными (криптографическими) средствами» постановленном Правительством Российской Федерации, обязательному лицензированию подлежат шифровальные средства и техническое обслуживание этих средств.
Кром того, предоставление услуг, касающихся шифрования информации, производства криптографических средств и их разработка находятся под контролем государства. На эти виды деятельности требуется специальное разрешение.
Приказ ФСБ России от 9 февраля 2005 г. N 66 «Об утверждении положения о разработке, производстве, реализации и эксплуатации шифровальных (криптографических) средств защиты информации (положение пкз-2005)» определяет порядок разработки и использования средств шифрования.
В настоящее время действует закон, который определяет порядок разработки и эксплуатации криптографических средств.
Согласно Указу Президента РФ от 3 апреля 1995 государственным структурам запрещено использовать криптографические средства, защищенные технические устройства хранения, обработки и передачи информации, которые не имеют лицензии агентства правительственной связи.
Сферы применения криптографии
Применение криптографии позволяет выполнять следующие задачи:
- шифрование данных при их передаче по открытым каналам связи, например, посредством интернета);
- шифрование данных для защиты от несанкционированного доступа;
- шифрование информации при работе банка с клиентами во время выполнения операций с пластиковыми картами);
- обработка и хранение личных паролей пользователей интернет сетей;
- защита финансовых и отчетных документов организаций, которые передаются через удаленные каналы связи;
- банковское обслуживание предприятий через сети;
- обеспечение защиты информации, хранящейся на жестком диске компьютера от несанкционированного доступа через сеть.
Криптографические методы, разработанные в прошлом столетии, были направлены только на защиту информации от несанкционированного доступа. Сегодня спектр задач значительно расширился. Остро встала необходимость проверки подлинности сообщений, целостности передаваемых данных и источника пересылки.
История
До наших дней доходят интересные исторические сведения о некоторых стенографических способах защиты информации. В древней Греции практиковали следующий способ: тайное послание выцарапывали на бритой голове раба, а когда волосы отрастали, раба посылали к получателю. Адресат прочитывал послание, вновь побрив раба наголо.
Симпатические чернила – еще один очень распространенный способ передачи информации, которая не предусмотрена для посторонних глаз. Такими чернилами писали между строк обычного письма. Адресат получал сведения, воспользовавшись проявителем.
Исторические способы шифрования
Существуют достоверные исторические сведения о том, что практические методы шифрования широко использовались в Индии, Египте и Месопотамии. В Древнем Египте система скрытых посланий была создана кастой жрецов.
Воины Спарты использовали в качестве «шифровальной машины» цилиндрический жезл определенного диаметра, на который наматывалась полоска папируса. Сообщение писали открытым текстом и отправляли адресату, но прочитать сообщение можно было только намотав папирус на цилиндр того же диаметра.
У историков есть предположение о том, кто первым изобрел дешифровальное устройство. Его авторство приписывают Аристотелю: он сконструировал конусообразное копье, на которое наматывался папирус с перехваченным сообщением. Лента помещалась на конус и передвигалась до тех пор, пока на нужном диаметре не появлялся исходный текст.
Шифрование использовалось и в арабских странах. Считается, что само слово «шифр» произошло от арабской «цифры». Сведения о древнем криптоанализе можно найти в энциклопедии «Шауба аль-Аша».
История криптографии продолжилась и в средневековой Европе, где шифрованием занимались священники, военные, ученые и дипломаты. Трудами по криптографии в XIV-XVI веках увлекались секретари канцелярии католических понтификов Чикко Симоннети, Габлиэль де Лавинда и архитектор Леон Баттиста Альберти. Они внесли значительную лепту не только в теоретическое собрание методов и способов шифрования, но и в усовершенствование этих методов.
Криптографией занимались такие видные деятели и ученые своего времени как Платон, Пифагор, Галилей, Паскаль, да Винчи, Эйлер, Ньютон, Бэкон и многие другие.
В XIX веке, с началом научно-технического прогресса и изобретением телеграфа появились первые коммерческие и государственные шифры. Росла скорость шифрования. В конце века криптография окончательно оформилась в самостоятельную науку.
Вторая Мировая война и послевоенный период
Появление радиосвязи позволило передавать информацию с высокой скоростью и вывело шифрование на новый электромеханический, а после электронный уровень. Появились узкие специалисты по дешифровке и перехвату данных. В XX веке возникает специализация в криптографической деятельности. Появляются специалисты по шифрованию, по перехвату зашифрованных сообщений, по дешифрованию данных противника.
В 20е годы были сконструированы роторные шифровальные машины, которые выполняли все операции по преобразованию информации, что затем передавалась по радиоканалам. Они использовались всеми государствами-участниками Второй Мировой войны.
Алгоритмы для роторных машин разрабатывали лучшие математики и инженеры. К. Шеннон –один из видных деятелей того времени в своем труде сформулировал условия нераскрываемости шифров.
Электронные вычислители пришли на смену электромеханическим машинам в послевоенные годы прошлого столетия. Теперь информацию рассекречивали большими фрагментами. Криптографические программные средства начали использовать в коммерческих и гражданских целях для пересылки данных.
Современные методы засекречивания информации
В сегодняшнем гиперинформационном мире шифровальные технологии не просто вышли на новый уровень, но и претерпели значительные изменения. Теперь криптография как наука стала серьезно изучаться и реализовываться в различных направлениях.
Теперь в процессе обмена информацией участвуют не только две стороны: отправитель и адресат, но и другие абоненты. Появилась необходимость в надежной защите и новых способах передачи дешифровочных ключей. В 70е годы У. Диффи и М. Хеллман представили новый принцип шифрования с открытым начальным ключом. Его назвали ассиметричным. Это позволило расширить области использования криптографических методов. Сегодня они применяются в банковских операциях при работе с пластиковыми картами клиентов, в сфере электронной валюты, телекоммуникациях и многих других удаленных операциях, которые выполняются чрез локальную и глобальную сеть.
Современная криптография использует открытые алгоритмы шифрования. Распространены симметричные (DES, AES, Camellia, Twofish, Blowfish), и ассиметричные RSA и Elgamal (Эль-Гамаль) алгоритмы.
Методы шифрования используют как частные и юридические лица, так и государственные структуры. Так, США имеют государственный стандарт шифрования AES. Российская Федерация использует алгоритм блочного шифрования ГОСТ 28147-89 и алгоритм цифровой подписи ГОСТ Р 34.10-2001.
Одно из современных достижений криптографии это создание платежной системы с электронной валютой под названием «биткоин», которая уже широко используется при проведении многих коммерческих операций. Она была создана в 2009 году и считается первой подобной системой. На данный момент есть огромное количество криптовалют, которые пытаются улучшить и дополнить идеи реализованные в биткоине.
Источник
Кодирование и Шифрование
В наш век интернет-технологий, когда мы доверяем все свои данные интернет-сервисам, нужно знать и понимать, как они их хранят и обрабатывают.
Но зачем это вообще нужно знать? Чтобы попросту не попасть в ситуацию, когда ваши личные данные, пароли от аккаунтов или банковских карт окажутся в руках мошенников. Как говорится: «Доверяй, но проверяй»
Важные аспекты в хранении данных, будь то на внешних серверах или домашнем компьютере, – это прежде всего кодирования и шифрование. Но чем они отличаются друг от друга? Давайте разбираться!
Ни для кого не секрет, что компьютер может хранить информацию, но он не может хранить её в привычной для нас форме: мы не сможем просто так написать на флешки реферат, не можем нарисовать на жестком диске картинку так, чтобы её мог распознать компьютер. Для этого информацию нужно преобразовать в язык понятный компьютеру, и именно этот процесс называется кодированием. Когда мы нажимаем на кнопку на клавиатуре мы передаем код символа, который может распознать компьютер, а не сам символ.
Определения и различия
Кодирование – процесс преобразования доступной нам информации в информацию понятную компьютерную.
Шифрование – процесс изменения информации таким образом, чтобы её смогли получить только нужные пользователи.
Шифрование применялось и задолго до создания компьютеров и информатики как таковой. Но зачем? Цели её применения можно было понять из определения, но я опишу их ещё раз более подробно. Главные цели шифрования это:
конфиденциальность – данные скрыты от посторонних
целостность – предотвращение изменения информации
идентифицируемость – возможность определить отправителя данных и невозможность их отправки без отправителя
Оценить стойкость шифра можно с помощью криптографической стойкости.
Криптографическая стойкость – это свойство шифра противостоять криптоанализу, изучению и дешифровки шифра.
Криптостойкость шифра делится на две основные системы: абсолютно стойкие системы и достаточно стойкие системы.
Абсолютно стойкие системы – системы не подверженные криптоанализу. Основные критерии абсолютно стойких систем:
Ключи должны генерироваться для каждого сообщения отдельно
Генерация ключей независима
Длина ключа должна быть не меньше длины сообщения
К сожалению, такие системы не удобны в своём использовании: появляется передача излишней информации, которая требует мощных и сложных устройств. Поэтому на деле применяются достаточно стойкие системы.
Достаточно стойкие системы – системы не могут обеспечить полную защиту данных, но гораздо удобнее абсолютно стойких. Надежность таких систем зависит от возможностей крипто аналитика:
Количества перехваченных сообщений
Времени и вычислительных способностей
А также от вычислительной сложности шифра.
Вычислительная сложность – совокупность времени работы шифрующей функции, объема входных данных и количества используемой памяти. Чем она больше, тем сложнее дешифровать шифр.
История шифрования
Шифрование берет своё начало ещё из древних времен. Примерно 1300 лет до нашей эры был создан один из первых методов шифрования – Атбаш. Принцип шифрования заключается в простой подставке символов по формуле:, где:
n – количество символов в алфавите
i – порядковый номер символа.
Шифр получил своё название в честь первой, последней, второй и предпоследней буквы Еврейского алфавита — «алеф», «тав», «бет», «шин» . Такой шифр имеет низку криптографическую стойкость, потому как алгоритм шифрования довольно прост
С тех самых пор шифрование активно развивалось вместе с развитием нашей цивилизации
Хоть шифры и менялись, но их принцип нет – для расшифровки сообщения требуется ключ. В случае с Абашем ключом может считать последовательность порядковых номеров исходных символов, но этот ключ ещё надо как-то передать. Методы шифрования, которые используются сейчас, научились-таки передавать ключи по открытым и незащищённым каналам связи. Казалось бы, передача ключей шифрования по обычным каналам — это добровольное жертвование своими данными, но не всё так просто. Разберём это на примере популярного алгоритма шифрования «RSA», разработанного в 1977 году.
Первым делом выбирается два случайный простых числа, которые перемножаются друг на друга – именно это и есть открытый ключ.
К слову: Простые числа — это те числа, которые могут делиться без остатка либо на 1, либо на себя.
Длина таких чисел может быть абсолютно любая. К примеру, возьмем два простых числа 223 и 13. Их произведение 2899 – будет являться открытым ключом, который мы и будем передавать по открытому каналу связи. Далее нам необходимо вычислить функцию «Эйлера» для произведения этих чисел.
Функция Эйлера – количество натуральных чисел, меньших чем само число и, которые будут являть взаимно простыми числами с самим числом.
Возможно, звучит непонятно, но давайте это разберем на небольшом примере:
φ (26) [фи от двадцати шести] = какому-то числу чисел, которое всегда будет меньше 26, а сами числа должны иметь только один общий делитель единицу с 26.
1 – подходит всегда, идем дальше;
2 – делится и на 2, и на 1, как и число 26, — не подходит;
3 – делится и на 3, и на 1, а вот число 26 не делится на 3, — подходит;
4 – имеет общие делители 2 и 1 с 26 — не подходит;
5 – только на 1 — подходит;
6 – на 2 и 1 — не подходит;
7 – только на 1 – подходит;
и так далее до 25.
Общее количество таких чисел будет равно 12. А найти это число можно по формуле: φ(n*k) = (n-1)(k-1) в нашем случае 26 можно представить как 2 * 13, тогда получим φ(26) = φ(2 * 13) = (2-1)*(13-1) = 1 * 12 = 12
Теперь, когда мы знаем, что такое функция Эйлера и умеем её вычислять найдем её для нашего открытого ключа – φ(2899) = φ(223 * 13) =(223 – 1)*(13-1) = 222 * 12 = 2664
После чего нам нужно найти открытую экспоненту. Не пугайтесь, тут будет гораздо проще чем с функцией «Эйлера».
Открытая экспонента – это любое простое число, которое не делится на функцию Эйлера. Для примера возьмем 13. 13 не делится нацело на число 2664. Вообще открытую экспоненту лучше выбирать по возрастанию простым перебором, а не просто брать случайную. Так для нашего примера разумнее было бы взять число 5, но давайте рассмотрим на примере 13
Следующий шаг – закрытая экспонента. Вычисляется она банальным перебором по этому равенству: d * e mod φ(n) = 1 , где
φ(n) — функция Эйлера
e – открытая экспонента
mod – остаток отделения
а число d, которое и является закрытой экспонентой, мы должны подобрать перебором, либо попытаться выразить через формулу d = ceil(φ(n) / e) , где ceil – округление в большую сторону.
В обоих случаях у нас получится число 205
На этом подготовка отправки сообщения успешно завершается и начинается самое веселое – отправка данных для дешифрования сообщения. На этом шаге мы отправляем открытый ключ и открытую экспоненту человеку, сообщение которого хотим получить. Предположим, что в этот момент наш ключ и экспоненту перехватили 3-е лица, но до нужного нам человека они всё так же дошли
Теперь этому человеку нужно отправить нам сообщение, для простоты предположим, что это какое-то число, например: 92. Для этого ему нужно отправить нам остаток от деления 92 в степени открытой экспоненты на открытый ключ – T ^ e mod n , где
T – шифруемый текст
e – открытая экспонента
n – открытый ключ
mod – остаток от деления
92 ^ 13 mod 2899 = 235 . Именно число 235 он нам и отправит.
Предположим, что и в этот раз сообщение перехватили, но нам оно всё так же дошло
Для расшифровки сообщения нам необходимо зашифрованное сообщение возвести в степень закрытой экспонентой и вычислить остаток от деления на открытый ключ – C ^ d mod n , где
С – зашифрованный текст
d – закрытая экспонента
n – открытый ключ
mod – остаток от деления
235 ^ 205 mod 2899 = 92.
Вуаля, и мы имеет исходное число. Но, что насчет перехваченных сообщений? У злоумышленника есть сообщение, ключ и экспонента, но как мы помни для дешифровки ему ещё нужна секретная экспонента, она же секретный ключ, но для того, чтобы вычислить её, ему придется разложить исходный ключ 2899 на множители, а сделать это не так уж и просто, особенно когда вместо двух чисел 223 и 13, будут использовать числа длиной несколько десятков символов
Но ничто в мире не идеально, в том числе и этот метод.
Его первый недостаток – это подборка пары чисел для открытого ключа. Нам нужно не просто сгенерировать случайно число, но ещё и проверить на то простое ли оно. На сегодняшний нет методов, которые позволяют делать это сверх быстро.
Второй недостаток – так же связан с генерацией ключа. Как мы с вами помним: «ключи должны генерировать независимо от каких-либо факторов», но именно это правило нарушается, когда мы пытается сгенерировать строго простые числа.
Третий недостаток – подбор и перебор чисел для экспонент.
Четвертый – длина ключей. Чем больше длина, тем медленнее идет процесс декодирования, поэтому разработчики пытаются использовать наименьшие по длиннее ключи и экспоненты. Даже я акцентировал на это внимание, когда говорил, что лучше взять число 5, вместо 13 для открытой экспоненты. Именно из-за этого и происходит большая часть взломов и утечек данных
Но не стоит печалиться, ведь как я и говорил: криптография и шифрование развивается вместе с развитием цивилизации. Поэтому довольно скоро все мы будем шифровать свои данные с помощью Квантового шифрование.
Этот метод основывается на принципе квантовой суперпозиции – элементарная частица может сразу находится в нескольких положениях, иметь разную энергию или разное направление вращения одновременно. По такому принципу и работает передача ключей шифрования по протоколу BB-84.
Есть оптоволокно, по которому передаются единичные фотоны света. Мы, как отправитель может сгенерировать абсолютно любой двоичный ключ, по тому же принципу квантовой супер позиции, ну или использовать обычные генераторы псевдослучайных чисел. Допустим мы хотим передать ключ 101001011. Для этого нам нужно принять за обозначение какое положение фотона соответствует единице, а какое нулю. Представим, что вертикальное положение – это 1, а горизонтальное – 0. Если оставить все так, то от передачи ключей таким образом не будет никакого смысла, ведь тогда злоумышленник всегда сможет измерить фотон, получить его значение, создать и отправить точно такой же обратно человеку, которому мы хоти передать ключ. Поэтому были введены ещё два положение – диагональные. Предоставим вертикальную волну, или же значение 1 и отклоним её на 45 градусов влево. Это будет вторая единица. Вернемся обратно и отклоним на 45 градусов вправо – это будет второй 0.
Вернемся к нашему ключу 101001011. Мы случайным образом выбираем направление – обычное или диагональное. Для удобства присвоим обычному номер 1, а диагональному 2.
Давайте отправим ключ – 1(1), 0(2), 1(1), 0(1), 0(1), 1(2), 0(2), 1(1), 1(2). Теперь человеку, которому мы отправляем ключ, нужно точно так же, совершенно случайно, выбрать случайное направление.
Допустим он выбрал направления: 221111212. Поскольку есть всего 2 плоскости отправки: 1 и 2, они же называются: канонический и диагональный базис, то шанс того, что он выбрал правильные направления 50%.
Если он угадал базис – он получил верное значение, если нет – неверное. Учитывая его направления, он получил: 001000011. Теперь нужно отсеять неправильные значения: можно сделать это обменом базисов по любому, даже не защищенному, каналу связи. После этого у нас обоих останется ключ: 0100011. Теперь с помощью его мы можем передавать и кодировать сообщения по обычному методу шифрования.
А что, если кто-то перехватит отправку кода? Тогда ему придется точно также подбирать случайным образом базисы, что добавит ещё 25% погрешности при получении кода человеку, которому мы изначально и отправили его. Чтобы проверить это, после отсеивания мы, как отправитель, должны проверить сколько процентов кода оказалось не верным. В нашем 1 случае это (9 – 7)/9 * 100% = 22% , если это число будет больше 50%, то мы начнем повторную отправку ключей, до тех пор, пока погрешность не будет меньше 50%
Заключение
Причитав и разобрав эту статью, мы с вами узнали, чем отличается кодирование от шифрования, их историю с будущим, узнали каким должен быть идеальный шифр и немного поговорили про крипто анализ. Уже с этими знаниями, которые были предоставлены в этой статье, можно спокойно идти и делать какую-нибудь систему авторизации или пытаться взломать какой-то сайт, главное не перебарщивать.
Источник