|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Шифрование
Перед первым раундом выполняются операции наложения расширенного ключа на шифруемые данные: В каждом раунде выполняются следующие действия: RSA потратила много времени на анализ его работы с 64-битным блоком. Так в период с 1995 по 1998 г. они опубликовали ряд отчетов, в которых подробно проанализировали криптостойкость алгоритма RC5. Оценка для линейного криптоанализа показывает, что алгоритм безопасен после 6 раундов. Дифференциальный криптоанализ требует выбранных открытых текстов для алгоритма с 5 раундами, для 10 раундов, для 12 раундов и для 15 раундов. А так как существует всего лишь возможных различных открытых текстов, то дифференциальный криптоанализ невозможен для алгоритма в 15 и более раундов. Так что рекомендуется использовать 18-20 раундов, или по крайней мере не меньше 15 вместо тех 12 раундов которые рекомендовал сам Ривест.
21. Проблемы генерации и распространения ключей. Конфигурации сетей связи. Требования, предъявляемые к ключевым системам Можно выделить несколько этапов жизни ключевой информации: n Изготовление n Доставка потребителям n Утилизация n Уничтожение Мы рассматривали в основном утилизацию ключей, то есть их использование в алгоритмах шифрования. Рассмотрим теперь процедуры изготовления и доставки ключей абонентам, они называются генерацией и распространением соответственно. Правила генерации, распространения, утилизации и уничтожения ключей называются ключевой системой. В приведенных выше примерах шифров для шифрования и расшифрования используется либо один и тот же ключ, либо ключи шифрования и расшифрования легко восстанавливаются один по другому. Собственно с таких систем и начиналась криптография, они называются системами с симметричными ключами. Рассмотрим требования к системе с симметричными ключами. 1. Процедура генерации ключей должна производить только ключи специфицированные для данного алгоритма 2. Процедура генерации должна быть максимально приближена к модели случайного равновероятного выбора ключа из множества всех ключей специфицированных для данного алгоритма. 3. Процедура генерации не должна позволять получать копии с изготовленной ключевой информации. Первое требование означает, что если алгоритм имеет «плохие ключи», использование которых снижает стойкость алгоритма шифрования (например блоки замены в алгоритме ГОСТ), то процедура генерации ключей должна исключать возможность выработки таких ключей. Второе - отсутствие каких либо априорных данных (за исключением данных о случайном равновероятном выборе) у потенциального злоумышленника о ключе, используемом для шифрования (в противном возможно построение алгоритма дешифрования, на основе этой информации, той или иной степени эффективности). Третье - гарантирует абонентам, использующим ключ, невозможность доступа третьих к лиц к информации, зашифрованной на данном ключе. Эти требования касаются процедуры генерации ключей. Также существуют требования, касающиеся распространения ключей. 1. Каждая пара абонентов, обменивающимися секретными сообщениями должна иметь идентичный ключ. 2. Ключ для пары абонентов А и B должен отличаться от ключа любой другой пары абонентов не совпадающей с данной 3. Смена ключа для связи абонентов А и В должна производится одновременно у абонентов А и Б, после передачи на одном ключе определенного числа сообщений. Первое требование означает возможность передачи шифрованного сообщения от одного абонента к другому. Второе - невозможность получения доступа к сообщению третьего абонента. Третье - смена ключей не должна прерывать функционирование сети секретной связи с одной стороны, с другой, она должна проводится так часто, как это необходимо для обеспечения заданной стойкости шифрования. Ключевые системы с симметричными ключами весьма и весьма сложны в эксплуатации, именно в силу необходимости выполнения указанных требований. Рассмотрим пока вопрос связанный только проблемами - снабжения абонентов ключами и организацией хранения ключей 22. Требования к системе с симметричными ключами – при генерации и распространении ключей. Правила генерации, распространения, утилизации и уничтожения ключей называются ключевой системой. Требования к системе с симметричными ключами. 1. Процедура генерации ключей должна производить только ключи специфицированные для данного алгоритма 2. Процедура генерации должна быть максимально приближена к модели случайного равновероятного выбора ключа из множества всех ключей специфицированных для данного алгоритма. 3. Процедура генерации не должна позволять получать копии с изготовленной ключевой информации. существуют требования, касающиеся распространения ключей. 1. Каждая пара абонентов, обменивающимися секретными сообщениями должна иметь идентичный ключ. 2. Ключ для пары абонентов А и B должен отличаться от ключа любой другой пары абонентов не совпадающей с данной 3. Смена ключа для связи абонентов А и В должна производится одновременно у абонентов А и Б, после передачи на одном ключе определенного числа сообщений. Первое требование означает, что если алгоритм имеет «плохие ключи», использование которых снижает стойкость алгоритма шифрования (например блоки замены в алгоритме ГОСТ), то процедура генерации ключей должна исключать возможность выработки таких ключей. Второе - отсутствие каких либо априорных данных (за исключением данных о случайном равновероятном выборе) у потенциального злоумышленника о ключе, используемом для шифрования (в противном возможно построение алгоритма дешифрования, на основе этой информации, той или иной степени эффективности). Третье - гарантирует абонентам, использующим ключ, невозможность доступа третьих к лиц к информации, зашифрованной на данном ключе. Эти требования касаются процедуры генерации ключей. Также существуют требования, касающиеся распространения ключей. 1. Каждая пара абонентов, обменивающимися секретными сообщениями должна иметь идентичный ключ. 2. Ключ для пары абонентов А и B должен отличаться от ключа любой другой пары абонентов не совпадающей с данной 3. Смена ключа для связи абонентов А и В должна производится одновременно у абонентов А и Б, после передачи на одном ключе определенного числа сообщений. Первое требование означает возможность передачи шифрованного сообщения от одного абонента к другому. Второе - невозможность получения доступа к сообщению третьего абонента. Третье - смена ключей не должна прерывать функционирование сети секретной связи с одной стороны, с другой, она должна проводится так часто, как это необходимо для обеспечения заданной стойкости шифрования.
23. Генерация случайных чисел., использование типовых узлов в качестве ДСПЧ Генерация случайных чисел., использование типовых узлов в качестве ДСПЧ Как мы уже говорили выше без ограничения общности можно считать, что процедура генерации произвольного ключа может быть представлена в виде генерации двоичного вектора некоторой длины N. Существует специальное направление в криптографии, которое занимается изучением данной проблемы. С теоретической точки зрения все просто - получение случайной двоичной последовательности длины N по схеме равновероятной выборки из VN(2) сводится к реализации биномиальной схемы с N испытаниями и вероятностью успеха 0.5. На практике такую схему можно смоделировать подбрасыванием монетки N раз (например 0 - орел, 1 - решка). Да не покажется странным, но еще в 50-ые годы случайные числа получали путем вытаскивания фишек из мешка. Сегодня получение случайных чисел превратилось в целую индустрию - разработка датчиков случайных чисел (ДСЧ), их производство, тестирование, эксплуатация и т.д. Здесь надо заметить, что для целей генерации ключей не подходят датчики псевдослучайных чисел (ДПСЧ), то есть генераторы последовательностей по статистическим свойствам близким к случайной равновероятной, но на самом деле получаемой по детерминированному закону. Например, в цикле линейной рекурренты максимального периода над GF(2) с минимальным многочленом степени N вероятность встречи фиксированного отрезка нулей и единиц длины M (0<M< N) равна отличается от величины 1/2M на величину порядка 1/2N, то есть практически совпадает с характеристиками случайной равновероятной последовательностью. Но по любому отрезку длины N вся рекуррента восстанавливается однозначно. Очевидно, что такие датчики для генерации ключей в чистом виде не подходят. О том, как они применяются,мы поговорим ниже. Углубляться в технические подробности устройства специального оборудования мы не будем, ограничимся лишь тем, что заметим следующий факт. На сегодняшний день достаточно отработана технология создания ДСЧ с использованием стохастических свойств различных физических процессов. Тестирование датчиков проводится по специальным методикам с использованием аппарата математической статистики. Обеспечить независимость битов в последовательности, генерируемой таким ДСЧ просто, более сложно обеспечивается равновероятность. Поэтому основной характеристикой ДСЧ является величина отклонения от 0.5 вероятности появления 1 (или 0) на выходе. Хорошие датчики имеют весьма качественные характеристики и могут использоваться непосредственно для получения ключей, однако они сложны и имеют высокую стоимость и поэтому не находят массового применения. Более простые датчики могут быть реализованы либо в виде отдельной платы к персональному компьютеру, либо быть интегрированы в какую либо другую многофункциональную плату. Их стоимость существенно ниже, они более надежны, но использовать выход с них в качестве ключа в чистом виде не рекомендуется (частично о том почему их можно использовать мы поговорим в когда будем говорить о системах с открытым ключом). Обычно они применяется совместно с ДПСЧ. Идея этого способа заключается в следующем. Рассмотрим две независимые случайные ноль - один величины x и h с вероятностью единицы p и q соответственно. Пусть p = 0.5 - D1, q = 0.5 - D2, тогда если y=xÅh, то P(y=1)=P(x=1) P(h=0)+ P(x=0) P(h=1)= (0.5 - D1) (0.5+D2,)+ (0.5+D1) (0.5-D2,) P(y=1)=0.5 - 2D1 D2 Так как и D1 и D2 меньше чем 0.5, то MAX(D1, D2) >2D1 D2, следовательно, отклонение от 0.5 у величины y меньше, чем у величин x и h. В частном случае, когда уклонения у суммируемых величин равны, уклонение а результата равна удвоенному квадрату первоначального уклонения. Таким образом, если просуммировать побитно две случайные последовательности с одним и тем же уклонением, то результирующая последовательность будет более «случайной» т.е. более близкой к равновероятной. Простого суммирования в таком случае не всегда хватает, поэтому используют следующую схему: 1. С помощью ДСЧ генерируют начальный вектор длины L (L>N) 2. Полученный вектор используют для инициализации ДПСЧ 3. На ДПСЧ вырабатывают последовательность длины M (M>N) 4. Из полученной последовательности выбирают N бит, которые используют в качестве случайной последовательности.
В качестве ДСПЧ можно использовать один из следующих узлов.
Данный узел мы рассматривали на предыдущей лекции «Типовые элементы шифров». Использовать его можно несколькими способами. 1. Использовать стандартное начальное заполнение, и случайный вход А. По исчерпании входа использовать состояние регистра, в качестве случайного числа. 2. Использовать случайное начальное заполнение и стандартный, либо случайный вход длины не менее N. По исчерпании входа использовать состояние регистра, в качестве случайного числа. 3. Использовать вариант 2, без учета входа. После не менее чем N тактов работы использовать состояние регистра, в качестве случайного числа. Вопрос о статистических свойствах случайных чисел полученных таким образом в общем виде решения не имеет и существенно зависит от свойств функции обратной связи. В силу этого использовать этот узел в качестве ДПСЧ не специалистам не рекомендуется. Более просто дело обстоит с частным случаем данного узла.
24. Генерация случайных чисел с использованием аппаратных ДСЧ Конечно, использование специального аппаратного датчика случайных чисел намного повышает статистические характеристики получаемой случайно последовательности. Более того в зависимости от того какие процессы реализованы в датчике, мы теоретически можем получать выходные последовательности с заранее заданным распределением. Практически интересным является вопрос о создании аппаратных ДСЧ, генерирующих 0-1 последовательность как можно более близкую к последовательности получаемой по равновероятной биномиальной схеме. Проблема с использованием аппаратных ДСЧ заключается в необходимости наличия дополнительного изделия, а это зачастую может быть трудно реализуемо. В тех случаях, когда криптографические преобразования реализуются аппаратно, эта проблема разрешима, сегодня аппаратные ДСЧ реализованы в изделиях серии ГРИМ и КРИПТОН, при этом правда ДСЧ последнего не может быть исследован статистическими методами, т.к. очень низкая скорость работы ДСЧ не может позволить набрать необходимый объем выборки для проведения анализа. С другой стороны при программной реализации криптографических алгоритмов аппаратные ДСЧ не всегда доступны. В связи с этим недавно было предложено несколько оригинальных решений, позволяющих использовать аппаратные ресурсы современных компьютеров для получения случайных чисел (сразу оговорюсь, видимо качество получаемых при этом случайных чисел ниже, чем у специально сконструированных ДСЧ, но вполне удовлетворительные для коммерческого и личного применения). Приведем один пример, практически каждый компьютер сегодня снабжен звуковой платой, позволяющей не только синтезировать звук, но и оцифровывать его, для генерации случайной последовательности необходим только микрофон, который подключается к соответствующему входу платы и программное обеспечение, осуществляющее прием оцифрованной речи с платы. Практически, как показывает опыт, цифровые значения соответствующие оцифрованной речи можно при некоторых дополнительных преобразованиях использовать в качестве случайных чисел. Также можно использовать низковольтные источники питания, выход от которых подается на линейный вход звуковой платы, в этом случае также получаются качественные случайные числа. 25. Распределение ключей.Использование базовых ключей Данный способ применяется для сокращения объема ключевой информации. Он заключается в доставке абоненту сети связи не полного комплекта ключей для связи со всеми другими абонентами, а некоторой универсальной заготовки (уникальной для каждого абонента) по которой он может вычислить необходимый ему ключ. Опишем эту модель более формально. Пусть в сети связи действуют N абонентов, занумеруем их от 0 до N-1 и поставим каждому абоненту уникальный открытый идентификатор Yi из некоторого множества Y (открытый в смысле общеизвестный). Генерация ключей для абонентов сети связи заключается в выработке N секретных ключей Xi из некоторого множества X. Абоненту с номером Yi доставляется ключ Xi. Вводятся правила для вычисления абонентом с номером i ключа для связи с абонентом номер m на основе знания Xi, Ym и Yi, при этом абонент m должен выработать по этим правилам точно такой же ключ на основе знания Xm, Ym и Yi. Приведем пример такой системы. Пусть W - векторное пространство над произвольным полем P, в качестве идентификаторов абонентов выберем некоторые элементы этого пространства. Обозначим через Y произвольное линейное преобразование пространства W. Зададим на W скалярное произведение S. В этом случае можно построить ключевую систему с производными ключами следующим образом. 1. Общим ключом сети связи является преобразованиеY 2. Абоненту с номером i доставляется ключ Y(Yi) 3. Вычисления ключа связи с абонентом номер m абонент номер i проводит по формуле Ki,m = S(Y(Yi), Ym), аналогично абонент номер m вычисляет ключ для связи с абонентом номер i по правилу Km,i = S(Yi, YT(Ym)) (YT - преобразование транспонирование к YT, соответственно YT(Ym) - транспонированный вектор Y(Ym)). В силу свойств скалярного произведения Ki,m = Km,i. Объем ключевой информации, хранимой у одного абонента совпадает с объемом необходимым для хранения одного вектора из W. Стойкость данной ключевой системы к компрометации ключей (как по направлениям, так и у абонента), определяется свойством набора векторов (Y1,..., YN), и свойствами преобразования Y.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.012 сек.) |