Чем занимается наука криптография
Криптография
Криптогра́фия (от др.-греч. κρυπτός — скрытый и γράφω — пишу) — наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.
Изначально криптография изучала методы шифрования информации — обратимого преобразования открытого (исходного) текста на основе секретного алгоритма и/или ключа в шифрованный текст (шифротекст). Традиционная криптография образует раздел симметричных криптосистем, в которых зашифрование и расшифрование проводится с использованием одного и того же секретного ключа. Помимо этого раздела современная криптография включает в себя асимметричные криптосистемы, системы электронной цифровой подписи (ЭЦП), хеш-функции, управление ключами, получение скрытой информации, квантовую криптографию.
Криптография не занимается: защитой от обмана, подкупа или шантажа законных абонентов, кражи ключей и других угроз информации, возникающих в защищенных системах передачи данных.
Криптография — одна из старейших наук, её история насчитывает несколько тысяч лет.
Содержание
Терминология
История
История криптографии насчитывает около 4 тысяч лет. В качестве основного критерия периодизации криптографии возможно использовать технологические характеристики используемых методов шифрования.
Первый период (приблизительно с 3-го тысячелетия до н. э.) характеризуется господством моноалфавитных шифров (основной принцип — замена алфавита исходного текста другим алфавитом через замену букв другими буквами или символами). Второй период (хронологические рамки — с IX века на Ближнем Востоке (Ал-Кинди) и с XV века в Европе (Леон Баттиста Альберти) — до начала XX века) ознаменовался введением в обиход полиалфавитных шифров. Третий период (с начала и до середины XX века) характеризуется внедрением электромеханических устройств в работу шифровальщиков. При этом продолжалось использование полиалфавитных шифров.
Четвертый период — с середины до 70-х годов XX века — период перехода к математической криптографии. В работе Шеннона появляются строгие математические определения количества информации, передачи данных, энтропии, функций шифрования. Обязательным этапом создания шифра считается изучение его уязвимости к различным известным атакам — линейному и дифференциальному криптоанализам. Однако, до 1975 года криптография оставалась «классической», или же, более корректно, криптографией с секретным ключом.
Современный период развития криптографии (с конца 1970-х годов по настоящее время) отличается зарождением и развитием нового направления — криптография с открытым ключом. Её появление знаменуется не только новыми техническими возможностями, но и сравнительно широким распространением криптографии для использования частными лицами (в предыдущие эпохи использование криптографии было исключительной прерогативой государства). Правовое регулирование использования криптографии частными лицами в разных странах сильно различается — от разрешения до полного запрета.
Современная криптография образует отдельное научное направление на стыке математики и информатики — работы в этой области публикуются в научных журналах, организуются регулярные конференции. Практическое применение криптографии стало неотъемлемой частью жизни современного общества — её используют в таких отраслях как электронная коммерция, электронный документооборот (включая цифровые подписи), телекоммуникации и других.
Современная криптография
Для современной криптографии характерно использование открытых алгоритмов шифрования, предполагающих использование вычислительных средств. Известно более десятка проверенных алгоритмов шифрования, которые при использовании ключа достаточной длины и корректной реализации алгоритма криптографически стойки. Распространенные алгоритмы:
Во многих странах приняты национальные стандарты шифрования. В 2001 году в США принят стандарт симметричного шифрования AES на основе алгоритма Rijndael с длиной ключа 128, 192 и 256 бит. Алгоритм AES пришёл на смену прежнему алгоритму DES, который теперь рекомендовано использовать только в режиме Triple DES. В Российской Федерации действует стандарт ГОСТ 28147-89, описывающий алгоритм блочного шифрования с длиной ключа 256 бит, а также алгоритм цифровой подписи ГОСТ Р 34.10-2001.
Криптография с симметричным ключом
Криптография с открытым ключом
Криптоанализ
Криптографические примитивы
Построение криптостойких систем может быть осуществлено путём многократного применения относительно простых криптографических преобразований (примитивов). В качестве таких примитивов Клод Шеннон предложил использовать подстановки (substitution) и перестановки (permutation). Схемы, реализующие эти преобразования, называются SP-сетями. Часто используемыми криптографическими примитивами являются также преобразования типа циклический сдвиг или гаммирование.
Криптографические протоколы
Управление ключами
Государство, законодательство, философия и криптография
Запреты
В Российской Федерации коммерческая деятельность, связанная с использованием криптографических средств, подлежит обязательному лицензированию. С 22 января 2008 года действует Постановление Правительства РФ от 29 декабря 2007 N 957 «Об утверждении положений о лицензировании отдельных видов деятельности, связанных с шифровальными (криптографическими) средствами», которым приняты Положения о лицензировании деятельности по:
Следует отметить, что приложения к данному Постановлению содержат жёсткие требования к лицу-соискателю лицензии, включая его образование, квалификацию, стаж, требования к помещению, охране, информационной и эксплуатационной безопасности при разработке и реализации средств. К примеру, требуется «наличие в штате у соискателя … следующего квалифицированного персонала: руководитель и (или) лицо, уполномоченное руководить работами по лицензируемой деятельности, имеющие высшее профессиональное образование и (или) профессиональную подготовку в области информационной безопасности, а также стаж работы в этой области не менее 5 лет; инженерно-технические работники, имеющие высшее профессиональное образование или прошедшие переподготовку … в области информационной безопасности с получением специализации, необходимой для работы с шифровальными (криптографическими) средствами».
Относительно юридических лиц и предпринимателей, желающих разрабатывать либо реализовывать криптосистемы, существуют п. 5―11 ст. 17 Федерального Закона от 08.08.2001 N 128-ФЗ «О лицензировании отдельных видов деятельности»
5) деятельность по распространению шифровальных (криптографических) средств;
6) деятельность по техническому обслуживанию шифровальных (криптографических) средств;
7) предоставление услуг в области шифрования информации;
8) разработка, производство шифровальных (криптографических) средств, защищенных с использованием шифровальных (криптографических) средств информационных систем, телекоммуникационных систем;
10) деятельность по разработке и (или) производству средств защиты конфиденциальной информации;
11) деятельность по технической защите конфиденциальной информации;
Криптография
Криптогра́фия (от греч. κρυπτός — скрытый и γράφω — пишу) — наука о математических методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.
Криптография — одна из старейших наук, ее история насчитывает несколько тысяч лет.
Содержание
Терминология [ ]
История криптографии и криптоанализа [ ]
Использовавшийся в Древней Греции шифр «скитала», чья современная реконструкция показана на фото, вероятно был первым устройством для шифрования.
Хотя частотный анализ является мощным средством, шифрование до сих пор остаётся эффективным на практике, так как многие потенциальные криптоаналитики не знакомы с этой техникой. Взлом сообщения без частотного анализа обычно требует знания используемого шифра, то есть является следствием шпионажа, взятки, кражи или измены для его определения. В XIX веке стало окончательно ясно, что секретность алгоритма шифрования не является гарантией от взлома, более того в дальнейшем было понято, что адекватная крипографическая схема (включая шифр) должна оставаться защищённой даже, если противник полностью узнал алгоритм шифрования. Секретность ключа должна быть достаточна для хорошего шифра, чтобы сохранить стойкость к попыткам взлома. Этот фундаментальный принцип впервые ясно сформулировал в 1883 Огюстом Керкгоффсом и обычно называется Принципом Керкгоффса; альтернативно и более прямо принцип был также сформулирован Клодом Шенноном как Максима Шеннона — «враг знает нашу систему».
Развитие компьютерной техники и электроники после Второй мировой сделало возможным использование более сложных шифров. Более того, компьютеры позволили шифровать любые данные, которые представимы в цифровом бинарном виде, в отличие от классических шифров, которые предназначались только для шифрования написанных текстов. Это привело к непригодности лингвистических методов криптоанализа для большинства случаев, так как многие компьютерные шифры характеризуются работой с последовательностями битов (возможно сгруппированных в блоки), в то время как классические и механические схемы обычно манипулировали традиционными знаками (буквами и цифрами). С другой стороны, компьютеры помогают криптоанализу, что может компенсировать усложнение шифров. Однако, не смотря на это, хорошие современные шифры идут впереди криптоанализа, обычно использование качественного шифра очень эффективно (то есть осуществляется быстро и с минимальными ресурсами), в то время, как взлом требует усилий на много порядков больше как по времени, так и по ресурсам, делая криптоанализ настолько неэффективным и непрактичным, что можно считать его невозможным за разумное время или с разумными ресурсами.
На данный момент секретность большинства современных методов криптографии базируется на вычислительной сложности таких проблем, как факторизация больших целых чисел или проблема дискретного логарифма. В большинстве случаев существуют доказательства, что методики шифрования являются надёжными если соответствующая вычислительная проблема не может быть эффективно решена. [5] Единственное существенное исключение из этого правила — метод одноразового блокнота, который работает каждый раз с новыми значениями и имеет абсолютную криптографическую стойкость.
Современная криптография [ ]
Для современной криптографии характерно использование открытых алгоритмов шифрования, предполагающих использование вычислительных средств. Известно более десятка проверенных алгоритмов шифрования, которые при использовании ключа достаточной длины и корректной реализации алгоритма, криптографически стойки. Распространенные алгоритмы:
Криптография с симметричным ключом [ ]
Криптография с открытым ключом [ ]
Криптоанализ [ ]
Криптографические примитивы [ ]
Построение криптостойких систем может быть осуществлено путём многократного применения относительно простых криптографических преобразований (примитивов). В качестве таких примитивов Клод Шеннон предложил использовать подстановки (substitution) и перестановки (permutation). Схемы, реализующие эти преобразования, называются SP-сетями. Часто используемыми криптографическими примитивами являются также преобразования типа циклический сдвиг или гаммирование.
Криптографические протоколы [ ]
Управлени ключами [ ]
Отношение криптографии с законом и государством [ ]
Запреты [ ]
В Российской Федерации коммерческая деятельность, связанная с использованием криптографических средств, подлежит обязательному лицензированию. С 22 января 2008 года действует Постановление Правительства РФ от 29 декабря 2007 N 957 «Об утверждении положений о лицензировании отдельных видов деятельности, связанных с шифровальными (криптографическими) средствами», которым приняты Положения о лицензировании деятельности по:
Предприятия и физические лица — предприниматели, занимающиеся соответствующей деятельностью обязаны предварительно получить все необходимые лицензии на каждый вид деятельности, подлежащей лицензированию.
Следует отметить, что данное Постановление в прилагаемых приложения содержит жесткие требования к лицу — соискателю лицензии, включая его образование, квалификацию, стаж, требования к помещению, охране, информационной и эксплуатационной безопасти при разработке и реализации средств. К примеру, требуется «наличие в штате у соискателя … следующего квалифицированного персонала: руководитель и (или) лицо, уполномоченное руководить работами по лицензируемой деятельности, имеющие высшее профессиональное образование и (или) профессиональную подготовку в области информационной безопасности, а также стаж работы в этой области не менее 5 лет; инженерно-технические работники, имеющие высшее профессиональное образование или прошедшие переподготовку … в области информационной безопасности с получением специализации, необходимой для работы с шифровальными (криптографическими) средствами»
Ранее был издан Указ Президента РФ от 3 апреля 1995 N 334 «О мерах по соблюдению законности в области разработки, производства, реализации и эксплуатации шифровальных средств, а также предоставления услуг в области шифрования информации», постановивший «Запретить использование государственными организациями и предприятиями в информационно — телекоммуникационных системах шифровальных средств, включая криптографические средства обеспечения подлинности информации (электронная подпись), и защищенных технических средств хранения, обработки и передачи информации, не имеющих сертификата Федерального агентства правительственной связи и информации при Президенте Российской Федерации, а также размещение государственных заказов на предприятиях, в организациях, использующих указанные технические и шифровальные средства, не имеющие сертификата Федерального агентства правительственной связи и информации при Президенте Российской Федерации»
Относительно юридических лиц и предпринимателей, желающих разрабатывать либо реализовывать криптосистемы, существуют п.5-11 ст. 17 Федерального Закона от 08.08.2001 N 128-ФЗ «О лицензировании отдельных видов деятельности»
5) деятельность по распространению шифровальных (криптографических) средств;
6) деятельность по техническому обслуживанию шифровальных (криптографических) средств;
7) предоставление услуг в области шифрования информации;
8) разработка, производство шифровальных (криптографических) средств, защищенных с использованием шифровальных (криптографических) средств информационных систем, телекоммуникационных систем;
10) деятельность по разработке и (или) производству средств защиты конфиденциальной информации;
11) деятельность по технической защите конфиденциальной информации;
Экспортный контроль [ ]
Управление цифровыми правами [ ]
Примечания [ ]
Ссылки [ ]
Литература [ ]
af:Kriptografie ar:علم التعمية be-x-old:Крыптаграфія ca:Criptografia cs:Kryptografie da:Kryptografi de:Kryptographie el:Κρυπτογραφία en:Cryptography es:Criptografía et:Krüptograafia eu:Kriptografia fa:رمزنگاری fi:Salaus fr:Cryptographie gl:Criptografía he:קריפטוגרפיה hi:बीज-लेखन hr:Kriptografija hu:Kriptográfia id:Kriptografi it:Crittografia ja:暗号理論 ka:კრიპტოგრაფია kk:Криптография ko:암호학 la:Cryptographia ml:ഗൂഢശാസ്ത്രം ms:Kriptografi nl:Cryptografie nn:Kryptografi no:Kryptografi pt:Criptografia ro:Criptografie sl:Kriptografija sq:Kriptografia sr:Криптографија sv:Kryptografi th:วิทยาการเข้ารหัสลับ tr:Kriptografi uk:Криптографія uz:Kriptografiya vi:Mật mã học zh:密码学
Что такое криптография, и где она применяется?
Криптография — это наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним), целостности данных (невозможности незаметного изменения информации), аутентификации (проверки подлинности авторства или иных свойств объекта).
Изначально криптография изучала методы шифрования информации — обратимого преобразования открытого (исходного) текста на основе секретного алгоритма или ключа в шифрованный текст (шифротекст). Традиционная криптография образует раздел симметричных криптосистем, в которых зашифровывание и расшифровывание проводится с использованием одного и того же секретного ключа. Помимо этого раздела современная криптография включает в себя асимметричные криптосистемы, системы электронной цифровой подписи (ЭЦП), хеш-функции, управление ключами, получение скрытой информации, квантовую криптографию.
Криптография не занимается защитой от обмана, подкупа или шантажа законных абонентов, кражи ключей и других угроз информации, возникающих в защищённых системах передачи данных.
До 1975 года криптография представляла собой шифровальный метод с секретным ключом, который предоставлял доступ к расшифровке данных. Позже начался период ее современного развития и были разработаны методы криптографии с открытым ключом, которые может передаваться по открытым каналам связи и использоваться для проверки данных.
Современная прикладная криптография представляет собой науку образованную на стыке математики и информатики. Смежной наукой криптографии считается криптоанализ. Криптография и криптоанализ тесно взаимосвязаны между собой, только в последнем случае изучаются способы расшифровки сокрытой информации.
С модификацией до открытого ключа криптография получила более широкое распространение и стала применяться частными лицами и коммерческими организациями, а в 2009 году на ее основе была выпущена первая криптовалюта Биткоин. До этого времени она считалась прерогативой государственных органов правления.
Виды криптографии
В основе криптографических систем лежат различные виды криптографии. Всего различаю четыре основных криптографических примитива:
Возможности и сферы применения
Изначально криптография использовалась правительством для безопасного хранения или передачи документов. Современные же асимметричные алгоритмы шифрования получили более широкое применение в сфере IT-безопасности, а симметричные методы сейчас применяются преимущественно для предотвращения несанкционированного доступа к информации во время хранения.
В частности криптографические методы применяются для:
Криптография и блокчейн
В блокчейне криптография используется для защиты и обеспечения конфиденциальности личностей и персональных данных, поддержания высокой безопасности транзакций, надежной защиты всей системы и хранилища.
Хеш функции
Хэш-функции в блокчейне взаимосвязаны между собой, с их помощью достигается защита информации и необратимость транзакций. Каждый новый блок транзакций связан с хэшем предыдущего блока, который в свою очередь образован на основе хэша последнего блока, образованного до него. Таким образом каждый новый блок транзакции содержит в себе всю информацию о предыдущих блоках и не может быть подделан или изменен.
Для того, чтобы новый блок был добавлен в блокчейн цепь, сеть должна прийти к общему консенсусу и подобрать хэш нового блока. Для этого при помощи вычислительной техники майнеры предлагают множество “nonce” — вариантов значения функции. Первый майнер, который сумел путем случайного подбора сгенерировать хэш, подходящий для комбинации с предыдущими данными, подписывает им блок, который включается в цепь, и новый блок уже должен будет содержать информацию с ним.
Благодаря применению технологии хэширования в блокчейне все транзакции, которые были выполнены в системе, можно выразить одним хэшем нового блока. Метод хэширования делает практически невозможным взлом системы, а с добавлением каждого нового блока устойчивость блокчейна к атакам только увеличивается.
Цифровые подписи
В блокчейне задействован асимметричный метод криптографии на основе публичных и приватных ключей. Публичный ключ служит адресом хранения монет, секретный — паролем доступа к нему. Закрытый ключ основан на открытом ключе, но его невозможно вычислить математическим путем.
Криптография с открытым ключом
Современная криптография с открытым ключом используется в системе блокчейна для перевода монет.
Для чайников принцип криптографии на основе открытых ключей можно объяснить на примере транзакции. Допустим отправитель желает отправить 1 биткоин. Для этого ему необходимо отправить транзакцию, где будет указано, откуда нужно взять монету, и куда она будет направляться (публичный ключ получателя). Когда транзакция сформирована отправитель должен подписать ее своим секретным ключем. Далее узлы связи проверяют соответствие секретного ключа отправителя с его открытым ключом, с которым на текущий момент ассоциируется монета. Если условия соблюдены, то есть открытый и закрытый ключ отправителя взаимосвязаны, то отправленная монета начнет ассоциироваться с уже с открытым ключом получателя.
Заключение
Криптография является важной составляющей современного мира и необходима в первую очередь для сохранения персональных данных и важной информации. С момента появления она прошла множество модификаций и сейчас представляет собой систему безопасности, которая практически не может быть взломана. Переоценить ее возможности для человечества сложно. Современные методы криптографии применяются практически во всех отраслях, в которых присутствует необходимость безопасной передачи или хранения данных.
Криптография
Kласс: Это незавершённая статья по ивентологии и её применениям
Криптогра́фия (от греч. κρυπτός — скрытый и γράφω — пишу) — наука о математических методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.
Криптография — одна из старейших наук, ее насчитывает несколько тысяч лет. Более того, первоначально письменность сама по себе была криптографической системой, так как в древних обществах ею владели только избранные. Священные книги Древнего Египта, Древней Индии тому примеры.
С широким распространением письменности криптография стала формироваться как самостоятельная наука. Первые криптосистемы встречаются уже в начале нашей эры. Бурное развитие криптографические системы получили в годы первой и второй мировых войн. Начиная с послевоенного времени и по нынешний день, появление вычислительных средств ускорило разработку и совершенствование криптографических методов.
Почему проблема использования криптографических методов в информационных системах стала в настоящий момент особо актуальна?
С одной стороны, расширилось использование компьютерных сетей, в частности глобальной сети Интернет, по которым передаются большие объемы информации государственного, военного, коммерческого и частного характера, не допускающего возможность доступа к ней посторонних лиц.
С другой стороны, появление новых мощных компьютеров, технологий сетевых и нейронных вычислений сделало возможным дискредитацию криптографических систем еще недавно считавшихся практически не раскрываемыми. Проблемой защиты информации путем ее преобразования занимаеся криптология (греч. kryptos — тайный, logos — наука).
Криптология разделяется на два направления — криптографию и криптоанализ. Цели этих направлений прямо противоположны.
Криптография занимается поиском и исследованием математических методов преобразования информации. Сфера интересов криптоанализа — исследование возможности расшифровывания информации без знания ключей.
Содержание
Основные понятия
Для удобства дальнейшего изложения введем следующие обозначения: M – открытый текст, C – шифротекст, E – функция шифрования, D – обратная функция функции E.
Таким образом процесс кодирования будет представлен в виде формул:
E(M) = C – шифрование открытого текста М по алгоритму Е
D(C) = M – дешифрование шифртекста С по алгоритму D
Используя понятие ключа, процесс зашифрования можно описать в виде соотношения, где K – ключ:
(M) = C
(C) = M
Все многообразие существующих криптографических методов можно свести к следующим классам преобразований:
Моно- и многоалфавитные подстановки Наиболее простой вид преобразований, заключающийся в замене символов исходного текста на другие (того же алфавита) по более или менее сложному правилу. Для обеспечения высокой криптостойкости требуется использование больших ключей.
Перестановки Также несложный метод криптографического преобразования. Используется, как правило, в сочетании с другими методами.
Гаммирование Этот метод заключается в наложении на исходный текст некоторой псевдослучайной последовательности, генерируемой на основе ключа.
Блочные шифры Представляют собой последовательность (с возможным повторением и чередованием) основных методов преобразования, применяемую к блоку (части) шифруемого текста. Блочные шифры на практике встречаются чаще, чем “чистые” преобразования того или иного класса в силу их более высокой криптостойкости. Российский и американский стандарты шифрования основаны именно на этом классе шифров.
Шифр замены
Шифр Цезаря
Историческим примером шифра замены является шифр Цезаря (I век до н.э.), описанный историком Древнего Рима Светонием. Гай Юлий Цезарь в своей переписке использовал шифр собственного изобретения. Применительно к русскому языку он состоял в следующем: каждая буква алфавита заменялась другой буквой, из этого алфавита, идущей за первой через некоторый интервал.
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ю Я
И запишем под ним тот же алфавит, но с циклическим сдвигом
Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ю Я А Б В
При шифровании буква А заменялась буквой Г, Б заменялась на Д, и так далее. Так, например, слово «Империя» превращалось в слово «Лптзулв». Получатель сообщения искал буквы, из которых написано послание, и заменял их на буквы из верхней строки – в этом заключался способ декодирования.
Естественное развитие шифра Цезаря очевидно: нижняя строка двустрочной записи букв алфавита может быть произвольным расположением этих букв. Если в алфавитном расположении букв существует всего 32 варианта (для русского языка, без буквы «ё»), то при произвольном расположении число ключей становиться 33!≈10^35.
Квадрат Полибия
Одним из криптографических изобретений древних греков является так называемы квадрат Полибия (Полибий – греческий государственный деятель, полководец, историк, III век до н.э.). Другое название этого шифра – шифр Плайфера, используемый применительно к английскому языку, мы же будем пользоваться именем Полибия.
Применительно к современному латинскому алфавиту из 26 букв, шифрование заключалось в следующем. В квадрат размером 5×5 клеток выписываются все буквы алфавита, при этом буквы I, J не различаются.
A | B | C | D | E | |
A | A | B | C | D | E |
B | F | G | H | I | K |
C | L | M | N | O | P |
D | Q | R | S | T | U |
E | V | W | X | Y | Z |
Шифруемая буква заменялась на координаты квадрата, в котором она записана. Так, B заменялась на AB, F заменялась на BA, R на DB, и т.д. При расшифровании каждая такая пара определяла соответствующую букву сообщения.
Сообщение «ТНЕ ТABLE», будет иметь вид: DD BC AE DD AA AB CA AE
Заметим, что секретом в данном случае является сам способ замены букв. Ключом является порядок следования букв.
К примеру, квадрат вида
A | B | C | D | E | |
A | T | H | E | A | B |
B | L | C | D | F | G |
C | I | K | M | N | O |
D | P | Q | R | S | U |
E | V | W | X | Y | Z |
зашифрует послание «ТНЕ ТABLE» следующим образом: AA AB AC AA AD AE BA AC.
Шифр перестановки
Вторым примером исторического шифра является шифр перестановки.
Этот метод заключается в том, что символы шифруемого текста переставляются по определенным правилам внутри шифруемого блока символов. Рассмотрим некоторые разновидности этого метода, которые могут быть использованы в автоматизированных системах.
Самая простая перестановка — написать исходный текст задом наперед и одновременно разбить шифрограмму на группы из нескольких букв. Пусть группа состоит из пяти букв. Например, из фразы
ПУСТЬ БУДЕТ ТАК, КАК МЫ ХОТЕЛИ.
получится такой шифротекст:
ИЛЕТО ХЫМКА ККАТТ ЕДУБЪ ТСУП
В последней группе (пятерке) не хватает одной буквы. Значит, прежде чем шифровать исходное выражение, следует его дополнить незначащей буквой (например, О) до числа, кратного пяти:
Тогда шифрограмма, несмотря на столь незначительные изменения, будет выглядеть по-другому:
ОИЛЕТ ОХЫМК АККАТ ТЕДУБ ЬТСУП
Кажется, ничего сложного, но при расшифровке проявляются серьезные неудобства.
Во время Гражданской войны в США в ходу был такой шифр: исходную фразу писали в несколько строк. Например, по пятнадцать букв в каждой (с заполнением последней строки незначащими буквами).
П У С Т Ь Б У Д Е Т Т А К К А
К М Ы Х О Т Е Л И К Л М Н О П
После этого вертикальные столбцы по порядку писали в строку с разбивкой на пятерки букв:
ПКУМС ЫТХЬО БТУЕД ЛЕИТК ТЛАМК НКОАП
Если строки укоротить, а количество строк увеличить, то получится прямоугольник-решетка, в который можно записывать исходный текст. Но тут уже потребуется предварительная договоренность между адресатом и отправителем посланий, поскольку сама решетка может быть различной длины-высоты, записывать к нее можно по строкам, по столбцам, по спирали туда или по спирали обратно, можно писать и подиагоналями, а для шифрования можно брать тоже различные направления. В общем, здесь масса вариантов.
Гаммирование
Пусть нам дано некоторое сообщение, состоящее из n символов, включая пробел. Ключом является последовательность из некоторого числа i символов. Под открытый текст подписывается ключ
Если длина ключа меньше длины сообщения, то ключ периодически повторяется. Каждому знаку открытого текста и ключа ставится в соответствие некоторый вычет по модулю n.
Ключом является символы последовательности = (
)– ее называют гаммой. А шифртекст получается по правилу y(t)=
+
(mod n).
Гаммирование чаще осуществляется:
• по модулю 2, если открытый текст представляется в виде бинарной последовательности;
• по модулю 256, если открытый текст представляется в виде последовательности байтов;
• по модулю 10, если открытый текст последовательность цифр.
Какие же требования должны быть предъявлены, чтобы обеспечить достаточное качество шифра?
1. Необходимо, чтобы период повторения генерируемой гаммы был достаточно большим, лучше – максимально возможным. По крайней мере, он должен превосходить наибольшее возможное количество символов в шифруемом сообщении.
2. Необходимо, чтобы соседние или близкие по расположению элементы последовательности <> отличались друг от друга. Было бы крайне желательно, чтобы различия между ними были в каждом позиции.
Смысл в том, что метод гаммирования по своей сути требует одноразовой гаммы, иначе он легко вскрывается по алгоритмической линии. Если же период повторения вырабатываемой гаммы недостаточно велик, различные части одного и того же длинного сообщения могут оказаться зашифрованными с помощью одинаковых участков гаммы. Второе требование является менее очевидным, и, вообще говоря, имеет место только для шифров вполне определенных архитектур, в которых шаг шифрования является комбинацией нескольких сравнительно простых преобразований, в ходе каждого из которых различия в шифруемых блоках данных увеличиваются весьма незначительно.
Блочные шифры
Исходное сообщение разбивается на блоки длины n, и с каждым блоком производятся операции шифрования, после чего блоки объединяют в один – шифртекст. Таким образом, криптостойкость блочного шифра есть произведение криптостойкости шифров входящих в алгоритм кодирования блока.
Алгоритм блочного шифрования
Блочные шифры на практике встречаются чаще, чем «чистые»преобразования того или иного класса в силу их более высокойкриптостойкости. Еще важной особенностью блочных шифров является параллельная обработка данных, что дает более высокую скорость шифрования. Российский и американский стандарты шифрования основаны именно на этом классе шифров.
Машинные методы шифрования
В криптографии, всегда использовались всевозможные устройства, как для облегчения кодирования сообщения, так и повышения стойкости шифра.
Одним из самых известных устройств являются роторные машины.
Самым известным роторным устройством является «Энигма» (Enigma). Энигма использовалась немцами во Второй Мировой Войне. Сама идея пришла в голову Артуру Шербиусу (Arthur Scherbius) и Арвиду Даму (Arvid Gerhard Damm) в Европе. В США она была запатентована Артуром Шербиусом. Немцы значительное усовершенствовали базовый проект для использования во время войны [3].
Рассмотрим работу 4-роторной «Энигмы». 4 ротора – 4 вращающихся на одной оси барабана – диска.
На каждой стороне диска по окружности располагалось 25 электрических контактов, столько же, сколько букв в латинском алфавите. Контакты с обеих сторон соединялись в нутрии диска, достаточно случайным образом, 25 проводами, формировавшими замену символов. Диски складывались вместе и их контакты, касаясь друг друга, обеспечивали прохождение электрических импульсов через весь пакет дисков на регулирующее устройство. На боковой поверхности дисков был нанесен алфавит. Перед началом работы диски поворачивались так, чтобы установить кодовое слово. При нажатии клавиши и кодировании левый барабан поворачивался на один шаг. После того как диск делал полный оборот, поворачивался следующий барабан.
В процессе шифрования на один из контактов левого диска поступал электрический импульс. Так как барабаны соприкасались контактами, то электрический импульс попадал на выход, проходя четыре диска и претерпевая четыре простые замены. Исполняющее устройство (пишущая машинка или перфоратор) фиксировало знак шифрованного текста в соответствии с тем, на какой контакт выходного диска поступал электрический импульс. Поскольку в каждый такт шифрования сдвигался на один шаг хотя бы один диск, подстановка – простая замена, по которой осуществлялось шифрование, менялась для каждого символа открытого текста. Ключом шифратора, который сменялся каждый сеанс, являлся набор начальных угловых положений дисков. Долговременным ключом, он менялся очень редко, служили коммутации дисков – соединения проводов внутри дисков. Для затруднения расшифрования диски выбирались из комплекта, состоящего из 10-20 дисков [1].
Несмотря на сложность Энигмы, она была взломана в течении Второй Мировой войны. Сначала группа польских криптографов взломала немецкую Энигму, а англичане продолжали криптоанализ новых версий. Несмотря на то, что немцы изменили способ передачи и дополнительно усложнили саму машину, англичанам неизменно удавалось проникать в немецкие шифры. Для ускорения процесса расшифровки англичане создали ряд вспомогательных технических приспособлений. Помимо шифров Энигмы, немцы использовали и некоторые другие шифровальные машины дальнего действия, обеспечивавшие высокий уровень связи. Эти машины, имевшие широкое обозначение Geheimschreiber (тайнописные машины), были способны порождать чрезвычайно сложные шифры. Для анализа этих шифров англичане сконструировали целый ряд «протокомпьютеров», с помощью которых они часто успешно взламывали немецкие машинные шифры. Полученные при этом сведения были широко известны под обозначением ULTRA.
Тем временем американцы успешно раскалывали японские шифры. Полученные ими данные были известны широкой публике под кодовым обозначением MAGIC. Вслед за машинами RED и PURPLE криптоаналитики раскрыли устройство японских шифровальных машин JADE и CORAL.
Компьютерная криптография (с 70-х годов XX века) обязана своим появлением вычислительным средствам с производительностью, достаточной для реализации криптосистем, обеспечивающих при большой скорости шифрования на несколько порядков более высокую защищенность, чем при «ручных» или «механических» [2].
Первым классом криптосистем, практическое применение которых стало возможно с появлением мощных и компактных вычислительных средств, стали блочные шифры. В 70-е годы был разработан американский стандарт шифрования DES (принят в 1978 году). Один из его авторов, Хорст Фейстел (сотрудник IBM), описал модель блочных шифров, на основе которой были построены другие, более стойкие симметричные криптосистемы, в том числе отечественный стандарт шифрования ГОСТ 28147-89.
С появлением DES обогатился и криптоанализ, для атак на американский алгоритм был создано несколько новых видов криптоанализа, практическая реализация которых опять же была возможна только с появлением мощных вычислительных систем.
Принципы стойкости шифра
Принципы Керкхоффса
Основное назначение криптографии – это защита информации. Другими словами построение такого шифра, который способен сохранить информацию при разнообразных атаках на сообщению. Август Керкхоффс (Kerckhoffs), известный голландский лингвист 19 в., сформулировал несколько общих принципов, которым должен удовлетворять любой хороший шифр.
Большинство любительских систем не удовлетворяют как минимум одному из принципов Керкхоффса. Эти принципы заключаются в следующем. Во-первых, шифр должен обеспечивать достаточную стойкость к взлому. Несмотря на то, что одиночное шифрованное сообщение может быть в принципе невзламываемым, часто бывает необходимо переслать сотни сообщений, зашифрованных в одной и той же системе. И хотя одиночное сообщение может быть трудно или невозможно расшифровать, большое число одинаково зашифрованных сообщений взломать куда проще. «Достаточная» стойкость ко взлому означает также, что разработчику шифра необходимо учитывать фактор времени: на взлом шифра должно требоваться время, достаточное для того, чтобы сообщения успевали потерять ценность для криптоаналитика.
Обеспечение абсолютной стойкости шифра редко необходимо, и даже если оно, возможно, обычно требует неоправданных затрат. Во-вторых, шифр должен быть прост в использовании.
Опыт показывает, что пользователи избегают пользоваться сложными и громоздкими шифросистемами либо пользуются ими с ошибками. В-третьих, стойкость шифра ко взлому должна полностью зависеть от обеспечения секретности ключа, а не алгоритма. Опять-таки из опыта известно, что алгоритм, которым пользуется много людей, не может долго оставаться в секрете. Ключ же, напротив, гораздо проще как изменить, так и сохранить в тайне.
«Невзламываемые» шифры
«Невзламываемые» шифры – это целый класс систем, широко известных под названием «одноразовые вкладыши». Соответствующий принцип был, по-видимому, впервые отчетливо сформулирован американским ученым Гилбертом Вернамом примерно в 1917. Вернам занимался разработкой криптографических методов для использования в телетайпных машинах. В этой связи он предложил комбинировать открытый текст, представленный в виде отверстий в бумажной перфоленте, с данными, нанесенными на другую перфоленту и являющимися ключом к шифру. Ключ должен был состоять из отверстий, перфорированных в ленте случайным образом. Комбинация этих двух лент и составляла шифротекст.
Шифрование по принципу Вермана
Ключ | EVTIQWXQVVOPMCXREPYZ |
Открытый текст | ALLSWELLTHATENDSWELL |
Шифротекст | EGEAMAIBOCOIQPAJATJK |
Шифрограмма | EGEAM AIBOC OIQPA JATJK |
Без знания ключа зашифрованное сообщение не поддается анализу. Даже если бы можно было перепробовать все ключи, в качестве результата мы получили бы все возможные сообщения данной длины плюс колоссальное количество бессмысленных дешифровок, выглядящих как беспорядочное нагромождение букв. Но и среди осмысленных дешифровок не было бы никакой возможности выбрать искомую.
Когда случайная последовательность (ключ) сочетается с неслучайной (открытым текстом), результат этого (шифротекст) оказывается совершенно случайным и, следовательно, лишенным тех статистических особенностей, которые могли бы быть использованы для анализа шифра.
Но невзламываемые шифры не употребляется повсеместно. Дело в том, что порождение «случайного» ключа – процесс весьма непростой. С помощью математических алгоритмов можно получать последовательности, обладающие многими свойствами, которые присущи «случайности»; однако эти последовательности не являются истинно случайными. Для порождения шифровальных ключей, представляющих собой случайную последовательность, можно использовать также естественные процессы – такие, как радиоактивный распад и электронный шум (статический), причем результаты обычно получаются лучшие, чем в случае с математическими формулами, но необходимость задания производящим перфоленты машинам отборочных уровней – это еще один источник неслучайного отбора.
Легкость порождения ключа – решающий фактор в том, что касается практической применимости шифров типа «одноразовых вкладышей». Ведь ключ должен быть точно такой же длины, что и шифруемое. Более того, никакой ключ нельзя использовать повторно, потому что данный факт часто может быть обнаружен с помощью статистических тестов и тогда те куски сообщения (или сообщений), в которых был использован тот же самый ключ, будут расшифрованы. То обстоятельство, что ключ может быть использован только один раз, и определяет «одноразовость» таких шифров.
Прежде чем пересылать невзламываемую шифрограмму, необходимо передать получателю копию ключа. Поскольку ключ имеет ту же длину, что и открытый текст, одна проблема (надежно засекреченная передача сообщения) оказывается просто замененной на другую такую же (надежно засекреченное распространение ключа). Однако у такого шифра есть и преимущество, которое состоит в том, что ключ может быть распространен заранее, а также по более медленным и надежным каналам связи, после чего шифрограмму можно совершенно безбоязненно пересылать по обычным каналам. В результате появления микропроцессоров и дискет для хранения и распространения компьютерных данных практическая значимость «одноразовых» шифров возросла, потому что порождение и сверка относительно большого числа ключей может теперь производиться автоматически. Еще одной проблемой, связанной с использованием шифров «одноразового вкладыша», является то, что под рукой всегда необходимо иметь достаточное количество ключей, которые могут понадобиться в дальнейшем для шифрования больших объемов открытого текста. Реальный же объем текста зачастую трудно оценить заранее, в особенности это касается дипломатической и военной сферы, где ситуация способна меняться быстро и непредсказуемо. Это может приводить к нехватке ключей, что может заставить шифровальщика либо использовать ключ(и) повторно, либо полностью прервать шифрованную связь.
Литература
1. Бабаш А.В., Шанкин Г.П. Криптография: аспекты защиты. М.: Солон – Р, 2002.
2. Баричев С.Г. Основы современной криптографии. М.: Горячая Линия – Телеком, 2001. 175 стр.
3. Шнайер Б. Прикладная криптография (Schneier B. Applied Cryptography. N. Y.: John Wiley & Sons Inc., 1996)