Шифрование. Криптография Современные технологии шифрования электронных данных

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

Шифрование - метод защиты информации

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

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

    Характеристики составных алгоритмов шифрования

    Защита информации - совокупность мероприятий, методов и средств, обеспечивающих:

    • исключение НСД к ресурсам ЭВМ, программам и данным;
    • проверку целостности информации;
    • исключение несанкционированного использования программ (защита программ от копирования).

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

    Испытанный метод защиты информации от НСД - шифрование (криптография). Шифрованием (encryption) называют процесс преобразования открытых данных (plaintext) в зашифрованные (шифртекст, ciphertext) или зашифрованных данных в открытые по определенным правилам с применением ключей. В англоязычной литературе зашифрование/расшифрование - enciphering/deciphering.

    С помощью криптографических методов возможно:

    шифрование информации;
  • реализация электронной подписи;
  • распределение ключей шифрования;
  • защита от случайного или умышленного изменения информации.
  • К алгоритмам шифровани предъявляются определенные требования:

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

    Предания старины глубокой...

    Борис Оболикшто

    Криптология - древняя наука и обычно это подчеркивают рассказом о Юлии Цезаре (100 - 44 гг. до н. э.), переписка которого с Цицероном (106 - 43 гг. до н. э.) и другими "абонентами" в Древнем Риме шифровалась. Шифр Цезаря, иначе шифр циклических подстановок, состоит в замене каждой буквы в сообщении буквой алфавита, отстоящей от нее на фиксированное число букв. Алфавит считаетс циклическим, то есть после Z следует A. Цезарь заменял букву буквой, отстоящей от исходной на три.
    Сегодня в криптологии принято оперировать символами не в виде букв, а в виде чисел, им соответствующих. Так, в латинском алфавите можем использовать числа от 0 (соответствующего A) до 25 (Z). Обозначая число, соответствующее исходному символу, x, а закодированному - y, можем записать правило применения подстановочного шифра:

    y = x + z (mod N), (1)

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

    Шифр Цезаря в принятых обозначениях соответствует значению секретного ключа z = 3 (а у Цезаря Августа z = 4 ). Такие шифры раскрываютс чрезвычайно просто даже без знания значени ключа: достаточно знать лишь алгоритм шифрования, а ключ можно подобрать простым перебором (так называемой силовой атакой). Криптология и состоит из двух частей - криптографии, изучающей способы шифрования и/или проверки подлинности сообщений, и криптоанализа, рассматривающего пути расшифровки и подмены криптограмм. Неустойчивость первых шифров на многие столетия породила атмосферу секретности вокруг работы криптографа, затормозила развитие криптологии как науки.

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

    Первым систематическим трудом по криптографии принято считать работу великого архитектора Леона Баттиста Альберти (1404 - 1472 гг.). Период до середины XVII века уже насыщен работами по криптографии и криптоанализу. Интриги вокруг шифрограмм в Европе того времени удивительно интересны. Увы, ограниченные возможностями журнала, мы выберем только одну известную со школы фамилию - Франсуа Виет (1540 - 1603 гг.), который при дворе короля Франции Генриха IV так успешно занимался криптоанализом (тогда еще не носившим этого гордого названия), что испанский король Филипп II жаловался Папе Римскому на применение французами черной магии. Но все обошлось без кровопролития - при дворе Папы в это время уже служили советники из семейства Ардженти, которых мы сегодня назвали бы криптоаналитиками.

    Можно утверждать, что на протяжении веков дешифрованию криптограмм помогает частотный анализ появления отдельных символов и их сочетаний. Вероятности появления отдельных букв в тексте сильно разнятся (для русского языка, например, буква "о" появляется в 45 раз чаще буквы "ф"). Это, с одной стороны, служит основой как для раскрытия ключей, так и дл анализа алгоритмов шифрования, а с другой - является причиной значительной избыточности (в информационном смысле) текста на естественном языке. Любая простая подстановка не позволяет спрятать частоту появления символа - как шило из мешка торчат в русском тексте символы, соответствующие буквам "о", "е", "а", "и", "т", "н". Но теори информации и мера избыточности еще не созданы, и для борьбы с врагом криптографа - частотным анализом - предлагается РАНДОМИЗАЦИЯ. Ее автор Карл Фридрих Гаусс (1777 - 1855 гг.) ошибочно полагал, что создал нераскрываемый шифр.

    Следующая заметная личность в истории криптологии, которую мы не должны пропустить, - голландец Огюст Керкхофф (1835 - 1903 гг.). Ему принадлежит замечательное "правило Керкхоффа": стойкость шифра должна определяться ТОЛЬКО секретностью ключа. Учитывая время, когда это правило было сформулировано, его можно признать величайшим открытием (до создания систематической теории еще более полувека!). Это правило полагает, что АЛГОРИТМ шифрования НЕ ЯВЛЯЕТСЯ СЕКРЕТНЫМ, а значит, можно вести открытое обсуждение достоинств и недостатков алгоритма.Таким образом, это правило переводит работы по криптологии в разряд ОТКРЫТЫХ научных работ, допускающих дискуссии, публикации и т. п.

    ХХ век - от интуиции к науке

    Последнее имя, которое мы назовем в донаучной криптологии, - инженер AT&T Жильбер Вернам (G.S. Vernam). В 1926 году он предложил действительно нераскрываемый шифр. Идея шифра состоит в том, чтобы в уравнении (1) для каждого следующего символа выбирать новое значение z. Другими словами, секретный ключ должен использоваться только один раз. Если такой ключ выбирается случайным образом, то, как было строго доказано Шенноном через 23 года, шифр являетс нераскрываемым. Этот шифр являетс теоретическим обоснованием для использовани так называемых "шифроблокнотов", широкое применение которых началось в годы второй мировой войны. Шифроблокнот содержит множество ключей однократного использования, последовательно выбираемых при шифровании сообщений. Предложение Вернама, однако, не решает задачи секретной связи: вместо способа передачи секретного сообщения теперь необходимо найти способ передачи секретного ключа, РАВНОГО ему ПО ДЛИНЕ, т. е. содержащего столько же символов, сколько имеется в открытом тексте.

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

    H (Z)/(rlog N), (2)

    где H (Z) - энтропия ключа, r - избыточность открытого текста, а N - объем алфавита.

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


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

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

    Классификация алгоритмов шифрования

    1. Симметричные (с секретным, единым ключом, одноключевые, single-key).
    1.1. Потоковые (шифрование потока данных):

    с одноразовым или бесконечным ключом (infinite-key cipher);
  • с конечным ключом (система Вернама - Vernam);
  • на основе генератора псевдослучайных чисел (ПСЧ).
  • 1.2. Блочные (шифрование данных поблочно):
    1.2.1. Шифры перестановки (permutation, P-блоки);
    1.2.2. Шифры замены (подстановки, substitution, S-блоки):

    • моноалфавитные (код Цезаря);
    • полиалфавитные (шифр Видженера, цилиндр Джефферсона, диск Уэтстоуна, Enigma);

    1.2.3. составные (таблица 1):

    • Lucipher (фирма IBM, США);
    • DES (Data Encryption Standard, США);
    • FEAL-1 (Fast Enciphering Algoritm, Япония);
    • IDEA/IPES (International Data Encryption Algorithm/
    • Improved Proposed Encryption Standard, фирма Ascom-Tech AG, Швейцария);
    • B-Crypt (фирма British Telecom, Великобритания);
    • ГОСТ 28147-89 (СССР); * Skipjack (США).

    2. Асимметричные (с открытым ключом, public-key):

    • Диффи-Хеллман DH (Diffie, Hellman);
    • Райвест-Шамир-Адлeман RSA (Rivest, Shamir, Adleman);
    • Эль-Гамаль ElGamal.

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

    Симметричные алгоритмы шифрования

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

    Обмен информацией осуществляется в 3 этапа:

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

    Потоковые шифры

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

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

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

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

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

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

    При использовании генератора ПСЧ возможны несколько вариантов :

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

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

    шифры перестановки (transposition, permutation, P-блоки);
  • шифры замены (подстановки, substitution, S-блоки).
  • Шифры перестановок переставляют элементы открытых данных (биты, буквы, символы) в некотором новом порядке. Различают шифры горизонтальной, вертикальной, двойной перестановки, решетки, лабиринты, лозунговые и др.

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

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

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

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

    Блочное шифрование можно осуществлять двояко :

    Без обратной связи (ОС). Несколько битов (блок) исходного текста шифруютс одновременно, и каждый бит исходного текста влияет на каждый бит шифртекста. Однако взаимного влияния блоков нет, то есть два одинаковых блока исходного текста будут представлены одинаковым шифртекстом. Поэтому подобные алгоритмы можно использовать только для шифрования случайной последовательности битов (например, ключей). Примерами являются DES в режиме ECB и ГОСТ 28147-89 в режиме простой замены.
  • С обратной связью. Обычно ОС организуется так: предыдущий шифрованный блок складывается по модулю 2 с текущим блоком. В качестве первого блока в цепи ОС используетс инициализирующее значение. Ошибка в одном бите влияет на два блока - ошибочный и следующий за ним. Пример - DES в режиме CBC.
  • Генератор ПСЧ может применяться и при блочном шифровании :

    1. Поблочное шифрование потока данных. Шифрование последовательных блоков (подстановки и перестановки) зависит от генератора ПСЧ, управляемого ключом.
    2. Поблочное шифрование потока данных с ОС. Генератор ПСЧ управляется шифрованным или исходным текстом или обоими вместе.

    Весьма распространен федеральный стандарт США DES (Data Encryption Standard) , на котором основан международный стандарт ISO 8372-87. DES был поддержан Американским национальным институтом стандартов (American National Standards Institute, ANSI) и рекомендован для применения Американской ассоциацией банков (American Bankers Association, ABA). DES предусматривает 4 режима работы:

    • ECB (Electronic Codebook) электронный шифрблокнот;
    • CBC (Cipher Block Chaining) цепочка блоков;
    • CFB (Cipher Feedback) обратная связь по шифртексту;
    • OFB (Output Feedback) обратная связь по выходу.

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

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

    Алгоритмы шифрования ГОСТ 28147-89 обладают достоинствами других алгоритмов дл симметричных систем и превосходят их своими возможностями. Так, ГОСТ 28147-89 (256-битовый ключ, 32 цикла шифрования) по сравнению с такими алгоритмами, как DES (56-битовый ключ, 16 циклов шифрования) и FEAL-1 (64-битовый ключ, 4 цикла шифрования) обладает более высокой криптостойкостью за счет более длинного ключа и большего числа циклов шифрования.

    Следует отметить, что в отличие от DES, у ГОСТ 28147-89 блок подстановки можно произвольно изменять, то есть он является дополнительным 512-битовым ключом.

    Алгоритмы гаммирования ГОСТ 28147-89 (256-битовый ключ, 512-битовый блок подстановок, 64-битовый вектор инициализации) превосходят по криптостойкости и алгоритм B-Crypt (56-битовый ключ, 64-битовый вектор инициализации).

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

    Блочные алгоритмы могут использоваться и для выработки гаммы. В этом случае гамма вырабатывается блоками и поблочно складывается по модулю 2 с исходным текстом. В качестве примера можно назвать B-Crypt, DES в режимах CFB и OFB, ГОСТ 28147-89 в режимах гаммирования и гаммирования c обратной связью.

    Аcимметричные алгоритмы шифрования

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

    Схема обмена информацией такова:

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

    Защищен патентом США N 4405829. Разработан в 1977 году в Массачусетском технологическом институте (США). Получил название по первым буквам фамилий авторов (Rivest, Shamir, Adleman). Криптостойкость основана на вычислительной сложности задачи разложени большого числа на простые множители.

    ElGamal

    Разработан в 1985 году. Назван по фамилии автора - Эль-Гамаль. Используется в стандарте США на цифровую подпись DSS (Digital Signature Standard). Криптостойкость основана на вычислительной сложности задачи логарифмирования целых чисел в конечных полях.

    Сравнение cимметричных и аcимметричных алгоритмов шифрования

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

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

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

    Обмен информацией можно осуществлять следующим образом:

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

    Проверка подлинности информации. Цифровая подпись

    При передаче информации должны быть обеспечены вместе или по отдельности:

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

    Шифрование может обеспечить конфиденциальность, а в некоторых системах и целостность.

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

    код подлинности сообщения (Message Authentical Code, MAC);
  • квадратичный конгруэнтный алгоритм (Quadratic Congruentical Manipulation Detection Code, QCMDС);
  • Manipulation Detection Code (MDС);
  • Message Digest Algorithm (MD5);
  • контрольная сумма;
  • символ контроля блока (Block Check Character, BCC);
  • циклический избыточный код (ЦИК, Cyclic Redundancy Check, CRC);
  • хеш-функция (hash);
  • имитовставка в ГОСТ 28147-89;
  • алгоритм с усечением до n битов (n-bit Algorithm with Truncation).
  • При вычислении контрольной функции может использоваться какой-либо алгоритм шифрования. Возможно шифрование самой контрольной суммы.

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

    Для использования алгоритма RSA сообщение следует сжать функцией хешировани (алгоритм MD5 - Message Digest Algorithm) до 256-битового хеша (H). Сигнатура сообщения S вычисляется следующим образом:

    d
    S = H mod n

    Сигнатура пересылаетс вместе с сообщением.

    Процесс идентификации заключается в получении хеш-функции сообщения (H") и сравнении с

    e
    H = S mod n

    где H - хеш сообщения,

    S - его сигнатура,

    d - секретный ключ,
    e - открытый ключ.

    Проверке подлинности посвящены стандарты:

    • проверка подлинности (аутентификация, authentication) - ISO 8730-90, ISO/IES 9594-90 и ITU X.509;
    • целостность - ГОСТ 28147-89, ISO 8731-90;
    • цифровая подпись - ISO 7498, P 34.10-94 (Россия), DSS (Digital Signature Standard, США).

    ISO - Международная организация по стандартизации /МОС/,
    ITU - Международный союз электросвязи /МСЭ/.

    Реализаци алгоритмов шифрования

    Алгоритмы шифровани реализуются программными или аппаратными средствами. Есть великое множество чисто программных реализаций различных алгоритмов. Из-за своей дешевизны (некoторые и вовсе бесплатны), а также все большего быстродействи процессоров ПЭВМ, простоты работы и безотказности они весьма конкурентоспособны. Широко известна программа Diskreet из пакета Norton Utilities, реализующая DES.

    Нельзя не упомянуть пакет PGP (Pretty Good Privacy, версия 2.1, автор Philip Zimmermann), в котором комплексно решены практически все проблемы защиты передаваемой информации. Применены сжатие данных перед шифрованием, мощное управление ключами, симметричный (IDEA) и асимметричный (RSA) алгоритмы шифрования, вычисление контрольной функции для цифровой подписи, надежная генерация ключей.

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

    Аппаратная реализация алгоритмов возможна с помощью специализированных микросхем (производятся кристаллы для алгоритмов DH, RSA, DES, Skipjack, ГОСТ 28147-89) или с использованием компонентов широкого назначения (ввиду дешевизны и высокого быстродействия перспективны цифровые сигнальные процессоры - ЦСП, Digital Signal Processor, DSP).

    Среди российских разработок следует отметить платы "Криптон" (фирма "Анкад") и "Грим" (методология и алгоритмы фирмы "ЛАН-Крипто", техническая разработка НПЦ "ЭЛиПС") .

    "Криптон" - одноплатные устройства, использующие криптопроцессоры (специализированные 32-разрядные микроЭВМ, которые также называются "блюминг"). Блюминги аппаратно реализуют алгоритмы ГОСТ 28147-89, они состоят из вычислителя и ОЗУ дл хранения ключей. Причем в криптопроцессоре есть три области для хранения ключей, что позволяет строить многоуровневые ключевые системы.

    Для большей надежности шифровани одновременно работают два криптопроцессора, и блок данных в 64 битов считается правильно зашифрованным, только если совпадает информаци на выходе обоих блюмингов. Скорость шифрования - 250 КБ/c.

    Кроме двух блюмингов на плате расположены:

    контроллер сопряжения с шиной компьютера (за исключением "Криптон-ЕС" платы рассчитаны на работу с шиной ISA);
  • BIOS платы, предназначенный дл осуществления интерфейса с компьютером и выполняющий самотестирование устройства и ввод ключей в криптопроцессоры;
  • датчик случайных чисел (ДСЧ) дл выработки ключей шифрования, выполненный на шумовых диодах.
  • Выпускаются следующие разновидности плат "Криптон":

    • "Криптон-ЕС" предназначена дл ПЭВМ серии ЕС 1841-1845;
    • "Криптон-3";
    • "Криптон-4" (сокращены габаритные размеры за счет перемещения ряда дискретных элементов в базовые кристаллы, повышена скoрость обмена благодаря внутреннему буферу на 8 байт);
    • "Криптон-ИК" дополнительно оснащена контроллером ИК (интеллектуальна карточка, смарт-карта, smart card).

    В устройствах "Криптон-ЕС", "Криптон-3", "Криптон-4" ключи хранятся в виде файла на дискете. В "Криптон-ИК" ключи находятся на ИК, что затрудняет подделку и копирование.

    В плате "Грим" используютс цифровые сигнальные процессоры фирмы Analog Devices ADSP-2105 и ADSP-2101, что дает скорость шифровани соответственно 125 и 210 КБ/c. На плате есть физический ДСЧ и ПЗУ с программами начального теста, проверки прав доступа, загрузки и генерации ключей. Ключи хранятся на нестандартно форматированной дискете. Плата реализует алгоритмы ГОСТ 28147-89 и цифровой подписи.

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

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

    Криптология с открытым ключом

    Борис Оболикшто

    Казалось бы, толчок, данный Шенноном, должен был вызвать обвал результатов в научной криптологии. Но этого не произошло. Только бурное развитие телекоммуникаций, удаленного доступа к ЭВМ при несовершенстве существовавших криптосистем с секретным ключом вызвало к жизни следующий и, пожалуй, самый интересный этап криптологии, отсчет которому ведут от появившейся в ноябре 1976 года статьи Уитфилда Диффи и Марти E. Хеллмана "Новые направления в криптографии". Сам У. Диффи датирует получение опубликованных в ноябре 1976 года результатов маем того же года; таким образом, у нас есть повод с ма до ноября отмечать ДВАДЦАТИЛЕТНИЙ ЮБИЛЕЙ криптологии с открытым ключом.

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

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

    • Алиса и Боб (привлечение в качестве сторон не абстрактных "А" и "Б", а симпатичных Алисы и Боба, стало традицией в этой области криптологии) выбирают случайные числа Хa и Хb соответственно.
    • Алиса передает Бобу Ya =aXa (mod q) , а Боб Алисе - Yb =aXb (mod q) .

    Здесь a - так называемый примитивный элемент конечного поля Галуа GF (q), замечательное для нас свойство которого заключается в том, что его степени дают все ненулевые значени элементов поля. В качестве секретного ключа используется значение

    Ya =aXaXb (mod q) ,

    которое Алиса получает возведением переданного Бобом числа в степень Xa , известную только ей, а Боб - полученного от Алисы числа в известную только ему степень Хb . Криптоаналитик вынужден вычислять логарифм по крайней мере одного из передаваемых чисел.

    Устойчивость экспоненциального ключевого обмена базируется на так называемой односторонности функции возведения в степень: вычислительная сложность получения Ya из Xa при q длиной 1000 битов - порядка 2000 умножений 1000 битовых чисел, в то время как обратная операция потребует примерно 1030 операций. ОДНОСТОРОННИЕ функции, обладающие подобной асимметрией вычислительной сложности прямой и обратной задачи, играют ведущую роль в криптографии с открытым ключом.

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

    Такую функцию в 1976 году удалось построить Р. Мерклю (R.C. Merkle) на основе задачи об укладке ранца. Сама по себе задача - односторонняя: зна подмножество грузов, уложенных в ранец, легко подсчитать суммарный вес, но зная вес, непросто определить подмножество грузов. В нашем случае использовался одномерный вариант задачи: вектор грузов и сумма компонентов его подвекторов. Встроив "лазейку", удалось получить так называемую ранцевую систему Меркля-Хелмана. Первая криптосистема с открытым ключом заработала, и Меркль предложил $100 тому, кто сможет ее раскрыть.

    Награда досталась А. Шамиру (Adi Shamir) шесть лет спустя после публикации им в марте 1982 года сообщения о раскрытии ранцевой системы Меркля-Хелмана с одной итерацией. На конференции Crypto"82 Л. Адлман (L. Adleman) продемонстрировал на компьютере Apple II раскрытие ранцевой системы. Заметим, что Шамир не построил способ обращени задачи - получения значения секретного ключа, он сумел построить ключ, не обязательно равный секретному, но позволяющий раскрыть шифр. В этом таится одна из наибольших опасностей дл криптографии с открытым ключом: нет строгого доказательства односторонности используемых алгоритмов, т. е. никто не гарантирован от возможности нахождения способа дешифрования, вероятно, и не требующего решения обратной задачи, высокая сложность которой позволяет надеяться на практическую стойкость шифра. Хорошо, если раскрытие той или иной системы проведет ученый с мировым именем (в 1982 году А. Шамир уже был известен как один из авторов системы RSA). А если это удастся нечестолюбивому хакеру?

    В заключение драмы о ранцевой системе упомянем еще об одном пари, которое Меркль заключил с желающими раскрыть усовершенствованную систему с многими итерациями на сумму $1000. И эту сумму пришлось заплатить. Ее получил Э. Брикелл, раскрыв летом 1984 года систему с сорока итерациями и со ста посылками за час работы Cray-1.

    Значительно более удачна на сегодняшний день судьба системы RSA, названной так по первым буквам фамилий ее авторов Р. Ривеста (Ronald Rivest) и уже знакомых нам А. Шамира и Л. Адлмана. Кстати, именно первому систематическому изложению алгоритма RSA обязаны своим появлением на свет Алиса и Боб. С их "помощью" авторы в 1977 году описали систему на основе односторонних свойств функции разложения на простые множители (умножать просто, а разлагать - нет).

    Развитие криптологии с открытым ключом позволило криптологическим системам довольно быстро найти широкое коммерческое применение. Но интенсивное использование криптографии не обходится без "накладок". Время от времени мы узнаем о неприятностях в той или иной системе защиты. Последним нашумевшим в мире происшествием стал взлом системы Kerberos. Система эта, разработанная в середине 80-х годов, довольно популярна в мире, и ее взлом вызвал немалое беспокойство пользователей.

    В случае с Kerberos неприятность заключалась не в алгоритме шифрования, а в способе получени случайных чисел, т. е. в методе реализации алгоритма. Когда в октябре прошлого года пришло известие о просчетах в системе генерации случайных чисел в программных продуктах Netscape, обнаруженных студентами университета Беркли, Стивен Лодин обнаружил подобную неприятность в Kerberos. Совместно с Брайаном Доулом он сумел найти брешь и в системе Kerberos. Действующие лица этой истории - не дилетанты. Выпускники университета Purdue (штат Иллинойс) сотрудничали с лабораторией COAST (Computer Operations, Audit, and Security Technology), профессионально занятой вопросами компьютерной безопасности и руководимой проф. Спаффордом, который является также основателем PCERT (Purdue Computer Emergency Response Team) - университетского отряда "быстрого реагирования" на компьютерные ЧП. PCERT, в свою очередь, член аналогичной международной организации FIRST (Forum of Incident Response Teams). Как видим, мину нашли саперы, а это внушает надежду, что пользователи криптосистем не останутся беззащитными даже в случае выявлени недоработок.

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

    Не обошли ошибки и наши пенаты. К счастью, есть в наших краях профессионалы, способные своевременно найти и показать слабые места системы защиты. Еще месяц не прошел с тех пор, как специалистами киевского ООО "Финтроник" П.В. Лесковым и В.В. Татьяниным продемонстрированы недостатки одной из популярных банковских систем защиты: время вскрытия шифротекстов составило менее 6 минут, а время, необходимое дл неконтролируемого нарушения целостности документа (обход системы аутентификации), - менее 5 минут. И здесь нам, читатель, также придетс подождать, пока разработчики внесут необходимые изменения. А уж затем мы сможем рассказать подробнее о том, как и что было сделано.

    Литература:

    1. Водолазский В. Коммерческие системы шифрования: основные алгоритмы и их реализация. Часть 1. // Монитор. - 1992. - N 6-7. - c. 14 - 19.
    2. Игнатенко Ю.И. Как сделать так, чтобы?.. // Мир ПК. - 1994. - N 8. - c. 52 - 54.
    3. Ковалевский В., Максимов В. Криптографические методы. // КомпьютерПресс. - 1993. - N 5. - c. 31 - 34.
    4. Мафтик С. Механизмы защиты в сетях ЭВМ. - М.: Мир, 1993.
    5. Спесивцев А.В., Вегнер В.А., Крутяков А.Ю. и др. Защита информации в персональных ЭВМ. - M.: Радио и связь, 1992.
    6. Сяо Д., Керр Д., Мэдник С. Защита ЭВМ. - М.: Мир, 1982.
    7. Шмелева А. Грим - что это? // Hard"н"Soft. - 1994. - N 5.
    8. ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования.

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

    Знаете ли вы?
    Еще во времена Римской империи, шифрование использовалось Юлием Цезарем для того, чтобы сделать письма и сообщения нечитаемыми для врага. Это играло важную роль как военная тактика, особенно во время войн.

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

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

    Типы шифрования

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

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

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

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

    Ограничения

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

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

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

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

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

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

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

    Ограничения

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

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

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

    Таким образом, когда Саша получает это сообщение, его заставили поверить, что оно пришло от Наташи, и продолжает не подозревать о нечестной игре.

    Хеширование

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

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

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

    Message Digest 5 (MD5) и Secure Hashing Algorithm (SHA) являются двумя широко используемыми алгоритмами хеширования.

    Ограничения

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

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

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

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

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

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

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

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

    1. Что такое криптография?

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

    2. Что такое алгоритм шифрования?

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

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

    3. Как с помощью шифрования защищаются данные?

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

    4. Какой алгоритм шифрования самый стойкий?

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

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

    5. Что такое ключ шифрования?

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

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

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

    6. Какие бывают алгоритмы шифрования?

    Алгоритмы шифрования делятся на два больших класса — симметричные и асимметричные (или несимметричные).

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

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

    Примеры симметричных алгоритмов шифрования — DES, RC4, RC5, AES, CAST.

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

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

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

    Примеры асимметричных алгоритмов шифрования — RSA, El-Gamal.

    7. Как взламывают алгоритмы шифрования?

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

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

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

    8. Какова должна быть длина ключа шифрования?

    На сегодняшний день для симметричных алгоритмов шифрования достаточной длиной ключа шифрования считается 128 бит (16 байт). Для полного перебора всех возможных ключей длиной 128 бит (атака brute force) за один год необходимо наличие 4,2х1022 процессоров производительностью 256 миллионов операций шифрования в секунду. Стоимость такого количества процессоров составляет 3,5х1024 долларов США (по данным Bruce Schneier, Applied Cryptography).

    Существует международный проект distributed.net , целью которого является объединение пользователей Интернет для создания виртуального распределенного суперкомпьютера, занимающегося перебором ключей шифрования. Последний проект по взлому ключа 64 бит был завершен в течение 1757 дней, в нем приняло участие более трехсот тысяч пользователей, а вычислительная мощность всех компьютеров проекта была эквивалентна почти 50.000 процессорам AMD Athlon XP с тактовой частотой 2 ГГц.

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

    9. Я слышал о ключах шифрования 1024 и даже 2048 бит, а вы говорите, что 128 бит вполне достаточно. Что это значит?

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

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

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

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

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

    Источник: SecurIT

    ^ вернуться в начало ^

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

    Симметричные алгоритмы
    Алгоритмы шифрования делятся на два больших класса: симметричные (AES, ГОСТ, Blowfish, CAST, DES) и асимметричные (RSA, El-Gamal). Симметричные алгоритмы шифрования используют один и тот же ключ для зашифровывания информации и для ее расшифровывания, а асимметричные алгоритмы используют два ключа — один для зашифровывания, другой для расшифровывания.

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

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

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

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

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

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

    Теоретическая и практическая стойкость.
    В 1949 г. К.Э. Шеннон опубликовал статью «Теория связи в секретных системах». Шеннон рассматривал стойкость криптографических систем как Практическую и Теоритическую. Вывод по теоритической стойкости до сих пор остается пессимистическим: длина ключа должна быть равна длине открытого текста.
    Поэтому Шеннон также рассмотрел вопрос и по практической стойкости криптографических систем. Надежна ли система, если злоумышленник обладает ограниченным временем и вычислительными ресурсами для анализа перехваченных сообщений?

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

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

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

    На практике это означает, что злоумышленник должен:

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

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

    Алгоритмы шифрования
    AES (Rijndael) . В настоящее время является федеральным стандартом шифрования США.

    Какой алгоритм шифровки выбрать для защиты информации?

    Утвержден министерством торговли в качестве стандарта 4 декабря 2001 года. Решение вступило в силу с момента опубликования в федеральном реестре (06.12.01). В качестве стандарта принят вариант шифра только с размером блока 128 бит.

    ГОСТ 28147-8. Стандарт Российской Федерации на шифрование и имитозащиту данных. Первоначально имел гриф (ОВ или СС — точно не известно), затем гриф последовательно снижался, и к моменту официального проведения алгоритма через Госстандарт СССР в 1989 году был снят. Алгоритм остался ДСП (как известно, ДСП не считается грифом). В 1989 году стал официальным стандартом СССР, а позже, после распада СССР, федеральным стандартом Российской Федерации.

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

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

    DES Федеральный стандарт шифрования США в 1977-2001 годах. В качестве федерального стандарта США принят в 1977 году. В декабре 2001 года утратил свой статус в связи с введением в действие нового стандарта.

    CAST В некотором смысле аналог DES.

    www.codenet.ru/progr/alg/enc
    Алгоритмы шифрования, Обзор, информация, сравнение.

    http://www.enlight.ru/crypto
    Материалы по асимметричному шифрованию, цифровой подписи и другим «современным» криптографическим системам.

    Александр Великанов,
    Ольга Чебан,
    Tesline-Service SRL.

    Бывший банкир из Абу-Даби Мохаммад Гейт бин Махах Аль Мазруи разработал шифр, который, как он заявляет, невозможно взломать. Шифр под названием «Код Абу-Даби» создан на основе группы символов, придуманных самим Аль Мазруи. В его коде каждая буква заменена специально изобретенным символом, и эти символы не принадлежат ни одному из известных в мире языков.

    Какие алгоритмы шифрования данных более безопасны

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

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

    Однако Аль Мазруи уверяет, что его творение не поддается взлому и является на сегодня самым надежным шифром. «Расшифровать документ, закодированный «Кодом Абу-Даби», практически невозможно», — уверен Аль Мазруи.

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

    3. Криптос — скульптура, которую американский ваятель Джеймс Сэнборн установил на территории штаб-квартиры ЦРУ в Лэнгли, штат Вирджиния, в 1990 году. Зашифрованное послание, нанесенное на нее, до сих пор не могут разгадать.

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

    Какой алгоритм шифрования выбрать в TrueCrypt

    5. Криптограммы Бейла — три зашифрованных сообщения, которые, как предполагается, содержат сведения о местонахождении клада из двух фургонов золота, серебра и драгоценных камней, зарытого в 1820-х годах под Линчбергом, что в округе Бедфорд, штат Виргиния, партией золотоискателей под предводительством Томаса Джефферсона Бейла. Цена не найденного доныне клада в пересчете на современные деньги должна составлять около 30 млн долларов. Загадка криптограмм не раскрыта до сих пор, в частности, спорным остается вопрос о реальном существовании клада. Одно из сообщений расшифровано — в нем описан сам клад и даны общие указания на его местоположение. В оставшихся нераскрытыми письменах, возможно, содержатся точное место закладки и список владельцев клада. (подробная информация)

    6. Рукопись Войнича , которую часто называют самой таинственной в мире книгой. В рукописи использован уникальный алфавит, в ней около 250 страниц и рисунки, изображающие неведомые цветы, обнаженных нимф и астрологические символы. Впервые она появилась в конце XVI века, когда император Священной Римской империи Рудольф II купил ее в Праге у неизвестного торговца за 600 дукатов (около 3,5 кг золота, сегодня более 50 тысяч долларов). От Рудольфа II книга перешла к дворянам и ученым, а в конце XVII века исчезла. Манускрипт вновь появился примерно в 1912 году, когда его купил американский книготорговец Вилфрид Войнич. После его смерти рукопись была передана в дар Йельскому университету. Британский ученый Гордон Рагг считает, что книга — искусная мистификация. В тексте есть особенности, не свойственные ни одному из языков. С другой стороны, некоторые черты, например, длина слов, способы соединения букв и слогов, похожи на существующие в настоящих языках. «Многие считают, что все это слишком сложно для мистификации, чтобы выстроить такую систему, какому-нибудь безумному алхимику потребовались бы годы», — говорит Рагг. Однако Рагг показывает, что добиться такой сложности можно было легко, используя шифровальное устройство, придуманное примерно в 1550 году и названное сеткой Кардана. В этой таблице символов слова создаются передвижением карточки с прорезанными в ней отверстиями. Благодаря пробелам, оставленным в таблице, слова получаются разной длины. Накладывая такие решетки на таблицу слогов манускрипта, Рагг создал язык, которому присущи многие, если не все, особенности языка рукописи. По его словам, на создание всей книги хватило бы трех месяцев. (подробная информация, википедия)

    7. Шифр Дорабелла , составленный в 1897 году британским композитором сэром Эдвардом Уильямом Эльгаром. В зашифрованном виде он отправил письмо в город Вульвергемптон своей подруге Доре Пенни, 22-летней дочери Альфреда Пенни, настоятеля собора святого Петра. Этот шифр остается неразгаданным.

    8. До недавнего времени в списке присутствовал и чаошифр , который не смогли раскрыть при жизни его создателя. Шифр изобрел Джон Ф. Байрн в 1918 году, и в течение почти 40 лет безуспешно пытался заинтересовать им власти США. Изобретатель предложил денежную награду тому, кто сможет раскрыть его шифр, но в результате никто за ней не обратился.

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

    9. Шифр Д’Агапейеффа . В 1939 году британский картограф русского происхождения Александер Д’Агапейефф опубликовал книгу по основам криптографии Codes and Ciphers, в первом издании которой привел шифр собственного изобретения. В последующие издания этот шифр включен не был. Впоследствии Д`Агапейефф признался, что забыл алгоритм раскрытия этого шифра. Подозревают, что неудачи, постигшие всех, кто пытался расшифровать его работу, вызваны тем, что при зашифровке текста автор допускал ошибки.

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

    10. Таман Шуд . 1 декабря 1948 года на побережье Австралии в Сомертоне, что под Аделаидой, было найдено мертвое тело мужчины, одетого в свитер и пальто, несмотря на характерно жаркий для австралийского климата день. Документов при нем не обнаружили. Попытки сравнить отпечатки его зубов и пальцев с имеющимися данными на живых людей также ни к чему не привели. Патологоанатомическое освидетельствование выявило противоестественный прилив крови, которой была наполнена, в частности, его брюшная полость, а также увеличение внутренних органов, но никаких инородных веществ в его организме при этом найдено не было. На железнодорожной станции одновременно нашли чемодан, который мог принадлежать погибшему. В чемодане лежали брюки с секретным карманом, в котором нашли вырванный из книги кусок бумаги с напечатанными на нем словами Taman Shud . Следствие установило, что клочок бумаги был вырван из очень редкого экземпляра сборника «Рубаи» великого персидского поэта Омара Хайяма. Сама книга была обнаружена на заднем сидении автомобиля, брошенного незапертым. На задней обложке книги были небрежно набросаны пять строк заглавными буквами — смысл этого послания разгадать так и не удалось. По сей день эта история остается одной из самых таинственных загадок Австралии.

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

    Что собой представляет система шифрования данных?

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

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

    Зачем это нужно?

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

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

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

    Криптография: точка отсчета

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

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

    Современный мир: виды алгоритмов шифрования

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

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

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

    Симметричные и асимметричные алгоритмы шифрования: в чем разница

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

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

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

    Наиболее известные и часто применяемые алгоритмы шифрования

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

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

    Шифрование RSA

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

    Для шифрования берутся два достаточно больших числа X и Y, после чего вычисляется их произведение Z, называемое модулем. Далее выбирается некое постороннее число A, удовлетворяющее условию: 1< A < (X - 1) * (Y - 1). Оно обязательно должно быть простым, то есть не иметь общих делителей с произведением (X - 1) * (Y - 1), равным Z. Затем происходит вычисление числа B, но только так, что (A * B - 1) делится на (X - 1) * (Y - 1). В данном примере A - открытый показатель, B - секретный показатель, (Z; A) - открытый ключ, (Z; B) - секретный ключ.

    Что происходит при пересылке? Отправитель создает зашифрованный текст, обозначенный как F, с начальным сообщением M, после чего следует A и умножение на модуль Z: F = M**A*(mod Z). Получателю остается вычислить несложный пример: M = F**B*(mod Z). Грубо говоря, все эти действия сводятся исключительно к возведению в степень. По тому же принципу работает и вариант с создание цифровой подписи, но уравнения тут несколько сложнее. Чтобы не забивать пользователю голову алгеброй, такой материал приводиться не будет.

    Что же касается взлома, то алгоритм шифрования RSA ставит перед злоумышленником практически нерешаемую задачу: вычислить ключ B. Это теоретически можно было бы сделать с применением доступных средств факторинга (разложением на сомножители исходных чисел X и Y), однако на сегодняшний день таких средств нет, поэтому сама задача становится не то что трудной - она вообще невыполнима.

    Шифрование DES

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

    Суть его симметричного шифрования заключается в том, что для этого применяется некая последовательность из 48 бит. При этом для операций используется 16 циклов из выборки ключей в 48 бит. Но! Все циклы по принципу действия аналогичны, поэтому на данный момент вычислить искомый ключ труда не составляет. К примеру, один из самых мощных компьютеров в США стоимостью более миллиона долларов «ломает» шифрование в течение примерно трех с половиной часов. Для машин рангом ниже на то, чтобы вычислить даже последовательность в максимальном ее проявлении, требуется не более 20 часов.

    Шифрование AES

    Наконец, перед нами самая распространенная и, как считалось до недавнего времени, неуязвимая система - алгоритм шифрования AES. Он сегодня представлен в трех модификациях - AES128, AES192 и AES256. Первый вариант применяется больше для обеспечения информационной безопасности мобильных устройств, второй задействован на более высоком уровне. Как стандарт, эта система была официально внедрена в 2002 году, причем сразу же ее поддержка была заявлена со стороны корпорации Intel, производящей процессорные чипы.

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

    Проблемы с вирусами и дешифровкой

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

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

    А если исходить из заявления правительства США о сроке, отводимом для дешифрования ключа длиной 128 бит, то что можно сказать о времени, которое потребуется на поиск решения для случая с ключом и его вариантами длиной 1024 бита? Вот тут-то США и прокололись. Они ведь считали, что их система компьютерной криптографии совершенна. Увы, нашлись какие-то спецы (судя по всему, на постсоветском пространстве), которые превзошли «незыблемые» американские постулаты по всем параметрам.

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

    Мир, которого мы не знаем

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

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

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

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

    Вместо послесловия

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

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

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

    Симметричные алгоритмы
    Алгоритмы шифрования делятся на два больших класса: симметричные (AES, ГОСТ, Blowfish, CAST, DES) и асимметричные (RSA, El-Gamal). Симметричные алгоритмы шифрования используют один и тот же ключ для зашифровывания информации и для ее расшифровывания, а асимметричные алгоритмы используют два ключа - один для зашифровывания, другой для расшифровывания.

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

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

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

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

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

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

    Теоретическая и практическая стойкость.
    В 1949 г. К.Э. Шеннон опубликовал статью "Теория связи в секретных системах". Шеннон рассматривал стойкость криптографических систем как Практическую и Теоритическую. Вывод по теоритической стойкости до сих пор остается пессимистическим: длина ключа должна быть равна длине открытого текста.
    Поэтому Шеннон также рассмотрел вопрос и по практической стойкости криптографических систем. Надежна ли система, если злоумышленник обладает ограниченным временем и вычислительными ресурсами для анализа перехваченных сообщений?

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

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

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

    На практике это означает, что злоумышленник должен:

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

    Алгоритмы шифрования
    AES (Rijndael) . В настоящее время является федеральным стандартом шифрования США. Утвержден министерством торговли в качестве стандарта 4 декабря 2001 года. Решение вступило в силу с момента опубликования в федеральном реестре (06.12.01). В качестве стандарта принят вариант шифра только с размером блока 128 бит.

    ГОСТ 28147-8. Стандарт Российской Федерации на шифрование и имитозащиту данных. Первоначально имел гриф (ОВ или СС - точно не известно), затем гриф последовательно снижался, и к моменту официального проведения алгоритма через Госстандарт СССР в 1989 году был снят. Алгоритм остался ДСП (как известно, ДСП не считается грифом). В 1989 году стал официальным стандартом СССР, а позже, после распада СССР, федеральным стандартом Российской Федерации.

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

    DES Федеральный стандарт шифрования США в 1977-2001 годах. В качестве федерального стандарта США принят в 1977 году. В декабре 2001 года утратил свой статус в связи с введением в действие нового стандарта.

    CAST В некотором смысле аналог DES.

    Поделиться