Здравствуйте члены государственной комиссии.
Тема моей дипломной работы:
«Анализ стойкости криптографических систем с использованием искусственного интеллекта».
При проектировании криптографической системы возникает задача проверки надежности разработки. Эта задача решается с помощью криптоаналитической системы. Разработанный мной метод криптоанализа основывается на построении нейрокомпьютерной сети встречного распространения и последующего ее обучения для работы с широко известными шифрами. Суть метода состоит в том, что при обучении нейронной сети используется необходимый набор исходных данных: открытый текст, закрытый текст, ключ, алгоритм шифрования (плакат 1).
Целью дипломной работы является создание ПО криптоанализа, которая представляет собой сеть встречного распространения. В оригинале она представляет собой объединение двух хорошо известных алгоритмов: самоорганизующейся карты Кохонена и слоя Гроссберга. В процессе обучения входные векторы ассоциируются с соответствующими выходными векторами. Когда сеть обучена, приложение входного вектора приводит к требуемому выходному вектору. Обобщающая способность сети позволяет получать правильный выход даже при приложении входного вектора, который является неполным или слегка неверным. (плакат 2).
Распространение данных в такой сети происходит следующим образом: входной вектор нормируется на 1.0 и подается на вход, который распределяет его дальше через матрицу весов W. Каждый нейрон в слое Кохонена вычисляет сумму на своем входе и в зависимости от состояния окружающих нейронов этого слоя становится активным или неактивным (уровни 1.0 и 0.0). Нейроны этого слоя функционируют по принципу конкуренции, т. е. в результате определенного количества итераций активным остается один нейрон или небольшая группа, «пузырек активности». Этот механизм называется латеральным торможением и подробно рассмотрен во многих источниках. Так как отработка этого механизма требует значительных вычислительных ресурсов, в данной модели он заменен нахождением нейрона с максимальной активностью и присвоением ему активности 1.0, а всем остальным нейронам 0.0. Таким образом, срабатывает нейрон, для которого вектор входа ближе всего к вектору весов связей.
Если сеть находится в режиме обучения, то для выигравшего нейрона происходит коррекция весов матрицы связи по формуле
wн = wс + α(x – wс),
где wн — новое значение веса, wс — старое значение, α — скорость обучения, x — величина входа. Геометрически это правило иллюстрирует рис.
Так как входной вектор x нормирован, т. е. расположен на гиперсфере единичного радиуса в пространстве весов, то при коррекции весов по этому правилу происходит поворот вектора весов в сторону закрытого текста. Постепенное уменьшение скорости поворота α позволяет произвести статистическое усреднение входных векторов, на которые реагирует данный нейрон. Проблема: выбор начальных значений весов. Так как в конце обучения вектора весов будут располагаться на единичной окружности, то в начале их также желательно отнормировать на 1.0. В рассматриваемой нами модели вектора весов выбираются случайным образом на окружности единичного радиуса.
Правило «желания работать»: если какой либо нейрон долго не находится в активном состоянии, он повышает веса связей до тех пор, пока не станет активным и не начнет подвергаться обучению. Этот метод позволяет также решить проблему тонкой классификации: если образуется группа входных данных, расположенных близко друг к другу, с этой группой ассоциируется и большое число нейронов Кохонена, которые разбивают её на классы. Правило «желания работать» записывается в следующей форме: wн=wc + wсβ (1 - a),
где wн — новое значение веса, wс — старое значение, β — скорость модификации, a — активность нейрона. Чем меньше активность нейрона, тем больше увеличиваются веса связей.
Далее сигнал через матрицу весов V поступает на слой Гроссберга здесь слой срабатывает по старому методу.
Алгоритм обучения
Входные данные: обучающая выборка (набор входных векторов) выходные данные: скорректированные связи
1. Предъявить сети входной вектор
2. Выполнять итерации до установления стабильного состояния
3. Для всех узлов сети выполнить коррекцию связей согласно (2) или (3)
4. Повторять [1-3] для каждого входного вектора
ПО разработано в среде Borland Delphi версии 7. На плакате 4 показаны внешний вид и работа программы, а на плакате 5 приводятся основные экономические показатели данного ПО.
Благодарю за внимание,
Мой доклад закончен.
|
|