(DCOM, TCP/IP) для доступа к данным. Обеспечивается независимость ИС и исполнителей действий от технологий и протоколов доступа к данным (для этого используется модуль доступа к данным DA Unit).
5. Предоставляются сервисные функции для манипуляции файлами БД и шаблонами БД как для пользователей сервиса (реализуется за счет функций модуля DAUnit), так и для администратора БД (используется графический интерфейс пользователя серверного приложения).
6. Проводится регистрация всех действий и событий, которые инициируют пользователи сервиса в специализированной серверной БД, и предоставляется графический интерфейс пользователя для администратора серверного приложения с целью их мониторинга.
7. Поддерживается протокол FTP для скачивания и добавления файлов БД и шаблонов БД с серверного приложения и на него.
8. Поддерживается динамическое создание/удаление компонент для организации произвольного количества независимых каналов для SQL-запросов для любой БД, которая была открыта клиентом, в рамках одного подключения (возможность реализуется на серверной стороне и в модуле DA Unit).
9. Поддерживается возможность организации произвольного количества параллельных независимых каналов доступа (подключений) из одного клиентского приложения. Это может быть использовано при параллельном выполнении нескольких действий одним исполнителем.
Для реализации подсистемы доступа к данным использовалась интегрированная среда программирования, поддерживающая методологию RAD и библиотеку визуальных компонент VCL - Borland C++ Builder v 6.0.
К недостатку реализации данной подсистемы доступа к данным для НИ и ВЭ можно отнести отсутствие на стороне серверного приложения и в модуле доступа к данным программного кода, обеспечивающего разрешение конфликтных ситуаций, связанных с многопользовательским режимом доступа (при распределенной разработке ИС). Для устранения данного недостатка можно использовать форму, обслуживающую ошибки пользователя, и событие, инициируемое на стороне клиента OnReconcileError [10].
Список литературы
1. Богатиков В.Н., Сидельников Д.В., Кременецкий В.Г. Программная среда для комплексного анализа структурных моделей кристаллического и расплавленного состояний. // Информационные технологии в региональном развитии. - Апатиты: Изд-во КНЦ РАН, 2005. - Вып. V. - С. 129-131.
2. Сидельников Д.В., Богатиков В.Н., Кременецкий В.Г. Построение автоматизированного комплекса ChemObjects для верификации кластерных моделей расплавов. // Там же. - Апатиты, 2004. - Вып. IV. - С. 77-82.
3. Богатиков В.Н., Сидельников Д.В., Кременецкий В.Г. Проектирование комплекса ChemObjects на базе концептуальной методологии проектирования. Постановка задачи. // Тез. докл. Все-рос. шк.-сем.: Прикладные проблемы управления макросистемами.- Апатиты: КНЦ РАН, 2006. - С. 55 - 57.
4. Сидельников Д.В., Богатиков В.Н., Кременецкий В.Г. Подсистема доступа к данным для автоматизированной системы проектирования концептуальных моделей. // Тез. докл. IX Регион. науч. конф. (13-14 апр. 2006 г., г. Апатиты). - Апатиты: Изд-во КФ ПетрГУ, 2006. - С. 42-43.
5. Зельцер Л. Будущее распределенных вычислительных систем. - http://beda.stup.ac.ru/psf/ziss/wmaster/books/magazine/ pcmag/9706/069716.htm.
6. Хейфец И.М. DCOM Распределенная COM. - http://ily-ailyahome.chat.ru/dcom.htm.
7. COM / COM+ / DCOM - Distributed Component Object Model. - http://www.datahousecorp.com/rus/technology/dcom.htm
8. Игнатьев Р. MIDAS. Практическое применение. -http://www.rsdn.ru/article/db/midas.xml
9. Технология DataSnap. Механизмы удаленного доступа. -http://www.kib.ru/lib/resources/src19/Secrets_Delphi_7_Book/ Chapter20/Index.html
10. Шамис В.А. Borland C++ Builder для профессионалов. -СПб.: Питер, 2005. - 798 с.
АЛГОРИТМ БЛОКИРОВКИ ЧАСТОТНОГО АНАЛИЗА КРИПТОГРАММЫ ПРОСТОЙ ЗАМЕНЫ
Н.К. Жиганов, Б.Г. Белл
Анализ криптосистемы простой замены показывает, что криптограмма простой замены, в которой реализована путаница (маскировка связи между открытым текстом и шифротекстом) недостаточно стабильна перед атаками на систему простой замены; она разрешает дешифрование информации без знания ключа с помощью частотного анализа. Поэтому нужно повысить стойкость ее системы, которая здесь заключается в блокировке частотного анализа криптограммы простой замены. Для этого авторами предлагается новый алгоритм блокировки частотного анализа в крипто-
грамме простой замены, выполняющийся на двух этапах.
1 этап - блокировка частотного анализа.
Шаг 1. Шифрограмма простой замены разбивается на множество векторов, образующих векторное пространство с помощью следующих формул: УрАтоа^"1 и Хр^-У^/а" (АРХУ - это блок чисел разрядности кь полученный после чтения к последовательных кодов из шифрограммы простой замены; ki=mi+ni; п - разрядность Х^ mi -разрядность У1; а - выбранное основание, в котором числа записаны).
Шаг 2. Реализуется вращение каждого вектора (Xj , Yj) на угол 9=(n/2)-20i - это то же самое, что и реализация цифровой симметрии всех блоков кодов Ai с помощью формулы: Ai =ainuYi+Xi; (Ai'=YiXi =S(Ai) - это зашифрованный Ai ).
Таким образом, осуществляется блокировка частотного анализа шифрограммы простой замены и получается новая шифрограмма, обладающая высокой стабильностью.
Каждый блок шифруется отдельно от остальных, поэтому будет практически полное отсутствие корреляций в шифрограмме.
2 этап - разблокировка частотного анализа.
Шаг 1. Заблокированная шифрограмма разбивается на множество векторов с помощью следующих формул: Xi=A i'modain' и Yi=(A i'-Xi)/ain'.
Шаг 2. Реализуется цифровая симметрия всех блоков кодов Ai' с помощью формулы Ai= =aim,-Xi+Yi и получается шифрограмма простой замены.
Предложенный алгоритм может быть представлен в виде последовательности следующих действий:
• выбираются разрядности ki блоков кодов
Ai;
• выбираются разрядности mi и ni чисел Xi и Yi (mi и ni используются в качестве ключа блокировки и разблокировки частотного анализа);
• вычисляются Yi и Xi с помощью формул: Yi=Aimodaim' и Xi=(Ai-Yi)/aim';
• вычисляются новые блоки кодов Ai' с помощью формулы Ai =ai"i-Yi+Xi и получается новая криптограмма;
• вычисляются Yi и Xi с помощью формул: Xi=A i'modaini и Yi=(A i'-Xi)/aini;
• вычисляются блоки кодов Ai с помощью формулы Ai=aimi'Xi+Yi.
Замечание: операция дешифрования (разблокировки частотного анализа) выполняется только при знании полного ключа (mi; nj).
Алгоритм блокировки частотного анализа криптограммы простой замены, который предложен авторами, будет применяться для разработки новой криптографической системы с повышенной стойкостью. Эта система будет называться криптосистемой цифровой симметрии NSCS (Numerical symmetry's cryptosystem), а ее алгоритм - алгоритмом NSCS, поскольку они основаны на математической модели цифровой симметрии (Numerical symmetry).
Схема криптографической системы NSCS состоит из следующих блоков.
Блок ключа, представляющий собой множество векторов {(ni, mi)}, которые выбираются произвольно из элементов любого подмножества следующего множества {1,7,2,8,3,4,9,5,6}.
Такой тип выбора ключа значительно уменьшает корреляцию между различными ключами, поскольку каждый сеанс выбора ключа абсолютно
не зависит от предыдущих сеансов. Это оставляет очень мало шансов на случайное нахождение верного ключа при попытке взлома системы. Следует заметить, что ключ имеет произвольную длину, и чем длиннее сообщение, тем длиннее может выбираться ключ для его шифрования. В этих условиях ключ может адаптироваться к сообщению, для шифрования которого он предназначен.
Число возможных ключей при одном сеансе генерации очень большое и зависит от его длины и количества элементов, входящих в его состав. Например, если выбрать ключ из множества {2,1,4,5,3,7,6} с длиной 40, то можно получить следующий ключ: «2,2 2,7 2,3 5,5 3,1 4,7 3,5 1,1 3,3 6,6 2,1 7,1 2,1 7,6 6,3 2,5 4,3 4,5 5,6 4,6». Количество таких возможных ключей равно 741°=6,37-1033.
Если нужна одна секунда для проверки каждого ключа при попытке получения несанкционированного доступа к информации (что нереально), то нужно будет около 2-1024 веков, чтобы попробовать все возможные ключи и дешифровать сообщение с вероятностью, равной 1. Кроме того, могут использоваться ключи с очень большой длиной из подмножества большей мощности.
Блок реализации простой замены состоит из таблицы, позволяющей реализовать простую замену символов блоками кодов и обратно (здесь реализуется путаница в информации). Блоки кодов в таблицах замены выбираются произвольно по составу (от 1 до 9) и размеру (от 1 до 255). Заметим, что количество таких таблиц может быть от Б! до 255Ю! (где Б - это размер использованного алфавита при составлении сообщения). Такое большое количество возможных таблиц затрудняет случайное получение информации об использованной таблице.
Даже если таблица полностью известна, то следующий блок является огромным барьером, который блокирует доступ к информации и возможность осуществления частотного анализа.
Блок основного шифрования (блокировки частотного анализа), в котором выполняется алгоритм блокировки частотного анализа криптограммы простой замены.
Шифрограмма простой замены разбивается на множество векторов, образующих векторное пространство с помощью следующих формул: УрЛтоаа™1 и Хр^-^/а™1; (^Х!^ - это блок чисел разрядности к1, полученный после чтения к1 последовательных кодов из шифрограммы простой замены; к1=т1+п1; п1 - разрядность Х1; т1 -разрядность У1; а - выбранное основание, в котором числа записаны). Реализуется цифровая симметрия всех блоков кодов Л1 с помощью формулы: Л1'=а1п1-У1+Х1; (Л1'= У1Х1 =8(Л1) - это зашифрованный Л1 ).
Здесь осуществляется блокировка частотного анализа шифрограммы простой замены и получается шифрограмма N808, обладающая высокой
стабильностью. Каждый блок шифруется отдельно от остальных, поэтому будет практически полное отсутствие корреляций в шифрогамме N808.
Блок основного дешифрования, в котором выполняются функции разблокировки частотного анализа.
Шифрограмма N808 разбивается на множество векторов с помощью следующих формул: X1=A1'moda1nl и У1=(Л1'-Х1)/а1П1. Реализуется цифро-
вая симметрия всех блоков кодов Л1' с помощью формулы: Л1=а1т1-Х1+У1 и получается шифрограмма простой замены.
Сегодня существует множество систем, функциональность которых предполагает шифрование хранимых или передаваемых данных. С развитием интернет-технологий актуальным становится применение процедур шифрования и включение их в протоколы сетевого обмена данных.
ИНТЕЛЛЕКТУАЛЬНЫЕ ФУНКЦИИ КОРАБЕЛЬНЫХ ТРЕНАЖЕРОВ И ПУТИ ИХ РЕАЛИЗАЦИИ
К.Ю. Шилов
Анализ состояния современного тренажеростроения и тенденций его развития показывает, что основным направлением этого развития будет увеличение интеллектуальных функций процесса обучения, реализованных на основе новых информационных технологий.
Поскольку рабочее место оператора является точной копией реального рабочего места и дается разработчикам тренажера в готовом виде, наращивать интеллектуальные возможности тренажера нужно в рамках рабочего места руководителя обучения, которое должно предоставлять обучающему возможность управлять процессом подготовки по показателям уровня обученности [1].
В качестве показателей уровня обученности корабельных операторов наиболее целесообразно применять безошибочность и время выполнения операций управления, которые можно легко интерпретировать на любую шкалу оценок [2].
Рассмотрим один из возможных подходов к формализации ошибок оператора при отработке навыков управления на тренажере, который базируется на известном методе «ветвей и границ» [3].
Если разработанную ЦКБ-проектантом инструкцию по управлению корабельными техническими средствами (КТС) взять за эталон, то отклонения от нее при обучении оператора и будут его ошибками.
В математическом плане постановка задачи сводится ко взаимно однозначному соответствию (биекции) двух множеств: £ Л^Б, где Л=ах,а2,...,ат - цепочка эталонной структуры; В=ЬьЬ2,...,Ьп - цепочка реальной структуры; т и п - число операций в А и В.
На первый взгляд кажется, что т=п, но при отработке оператора имеют место ошибки типа пропуска (т<п) или добавления (т>п) операций. Тогда обратная функция Г--1: Л^Б становится не всюду определенной, и взаимно однозначное соответствие нарушается.
Определим условие существования функции Г, которое назовем условием строгого следования: для любых пар операций (ац, а12)е А и (Ьд, Ь^)е В, для которых Г(ац)=Ьд; 1Ха12)=Ьр при условии 11<12 следует Ь^.
Если оператор при управлении КТС на тренажере не допускает ошибок, тогда очевидно В=А(т=п, а1=Ь1, 1= 1,т ).
Если ошибки есть, то множество операций А и В необходимо сгруппировать на чередующиеся подмножества совпадающих и несовпадающих операций.
Для обоснования дальнейших рассуждений введем понятия индикатора совпадений (ИС) и индикатора несовпадений (ИН) [4].
ИС - пара совпадающих подмножеств (а1,
а1+1.....а1+|)еА и (Ь^+ь.^+ОеВ, ограниченная
несовпадающими операциями слева (а^Ь^) и справа ^+1+^^+1+1), или началом и концом множеств А и В.
Длина индикатора совпадений 1=dИС.
ИН - пара несовпадающих подмножеств (а1, а1+1,...,а1+т)еА и (Ь^+ь.^+^еВ, ограниченная совпадающими операциями слева (а^Ь^) и справа ^+^=^+„,+0 или началом и концом множеств А и В.
Величина т(т,„) называется длиной ИН=dИн.
Очевидно, что границами ИН будут: левая -между парами совпадающих и несовпадающих операций; правая - между парами несовпадающих и совпадающих операций.
Уточним понятие ошибки оператора при управлении КТС: пропуск к операций (т=к; „=0); добавление к операций (т=0; „=к); перестановка к операций (т=к; „=к); замена к операций другими операциями (т=к1; „=к2). Информация о видах ошибок содержится в ИН.
Предположим, что О - множество вариантов разбиения подмножеств А и В на чередующиеся