методы в математике: Труды Межд. научной конференции - Бишкек: 2001. Вестник КГНУ: Сер.3, Ест.-техн. науки. - Вып.6. стр. 283-287.
2. Акерова Дж.А. Достаточные условия разрешимости начально-краевой задачи Коши // Наука, техника и образование, (РФ), 1 (19) (2016). - C. 34-39.
3. Иманалиев М.И. Нелинейные интегро-дифференциальные уравнения с частными производными. - Бишкек: Илим, 1992.
4. Иманалиев М.И., Иманалиев Т.М., Какишов К. О задачах Коши для нелинейных дифференциальных уравнений с частными производными шестого порядка // Исслед. по интегро-дифференц. уравнениям. - Бишкек: Илим, 2007. - Вып. 36. - С. 19-28.
5. Иманалиев М.И., Байзаков А.Б. О разрешимости задачи Коши для одного класса нелинейных дифференциальных уравнений в частных производных. // Поиск, сер. ест.-техн. наук, №1, -Алматы, 2009. - С. 209-213. Научное приложение международ. журнала «Высшая школа Казахстана».
6. Kenenbaeva G.M., Kasymova T.D. Computer Modeling of Phenomena in Dynamical Systems //Наука, техника и образование, (РФ), 12(18), (2015). - С. 7-10.
7. Кененбаева Г.М. Эффекты и явления в теории интегральных уравнений // Вестник науки и образования, (РФ), №1 (13), (2016) - С. 9-13.
Бинарный алгоритм возведения в степень и его прикладное значение Приньков А. С.
Приньков Алексей Сергеевич /Prinkov Alexey Sergeevich - студент, кафедра прикладной математики, факультет автоматизации и информатики, Липецкий государственный технический университет, г. Липецк
Аннотация: в статье анализируется эффективность бинарного алгоритма возведения в степень, и необходимость его применения на практике для экономии ресурсов и стабильной работы криптосистем. Выявлена обобщенность алгоритма и возможность его применения для различных алгебраических структур. Ключевые слова: бинарный алгоритм в схеме Эль-Гамаля, эффективность алгоритма, возведение в степень, математика криптографии.
Возведение в степень - бинарная операция, определенная как результат многократного выполнения операции над аргументом: аь = а. . а, где • -
V
ь
некоторая операция. Это определение справедливо для объектов и операций различной природы. Для удобства интерпретации и программной реализации, рассмотрим полную мультипликативную группу кольца вычетов.
Прежде всего, необходимо установить критерии эффективности алгоритма. Мы будем рассматривать быстродействие как меру эффективности [1].
? = С X к, где t - общее время работы, c - число операций, k - потребность во времени на одну операцию.
I = ^ с Х г - формула для операций с разной потребностью времени.
^^^ I I
I
Сравним два алгоритма: по определению и бинарный. Если х = (хихи_г..х0) , то
для вычисления хь потребуется пь операций (умножение цифр каждой на каждую) [2]. Данный подход, очевидно является неэффективным. Сравнение по модулю следует производить по мере возведения, а именно Ь - раз.
45
Далее разберем бинарный алгоритм. Пусть нужно найти хк, где х, к е 2 • Для
р
этого найдем двоичное представление k = (mm , m„) , тогда
\ n n—\'~' 0/2
xk = x((-((mn +mn—l )x2+mn—2 )x2+-. .)x2+mi)x2+mo = (( ((xm )2 x xmk—l )2 )2 x xm0
Этот способ, требует ^ln(n) операций [3]. Сравнение по модулю, после каждого
возведения в квадрат поможет cэкономить память для хранения промежуточного результата. Иначе можно сравнить конечный результат.
За счет двоичности компьютеров, бинарный метод нашел обширное применение в криптосистемах с открытым ключом[4].
k
Обобщенный бинарный алгоритм, t = x :
1. Найти двоичное представление степени k
2. Положить объекты q = x, t = x
3. От i = 0 до k — 1 включительно выполнить
4. Если m = 1, то t = tmultiply(z) и z = z.multiply(z);
иначе z = z.multiply(z);
//где multiply - операция умножения
Для эмпирической оценки преимущества алгоритма сравним скорость работы двух вышеописанных подходов в схеме Эль-Гамаля, при поточном шифровании данных.
Таблица 1. Технические характеристики ЭВМ
Процессор CPU CryptoHash CPU Fibonacci CPU Blowfish
4 x intel Core i5-4210U 2.7 GHz 287 1.82 4.71
Сравнение (не менее 400 запусков для каждого параметра, с различными значениями):
Основание 7L , значащих цифр Бинарный алгоритм, секунды Алгоритм по определению, секунды
10 0.1 - 0.15 0.14 - 0.22
100 0.120 - 0.190 0.92 - 1.4
1000 0.3 - 0.6 12 - 35
10000 6 - 15 >60
Никакой алгоритм нельзя назвать, окончательно, самым эффективным [1]. Поскольку в роли платформы для шифрования может выступать не только кольцо вычетов, а структура любой природы, отвечающая требованиям криптосистемы, то появляется потребность в алгоритме, который будет работать с разными структурами, не теряя своей эффективности. Бинарный алгоритм сочетает эффективность и абстрактность, поэтому является полезным и стабильным решением для криптографии.
Литература
1. Разборов А. А. О сложности вычислений // Математическое просвещение. 1999. № 3. С. 127-141.
2. Панкратова И. А. Теоретико-числовые методы криптографии. Томск: Томский государственный университет. 2009. 120 с.
3. Шнайер Б. Алгоритмы с открытыми ключами // Прикладная криптография. М. Триумф. 2002. 610 c.
4. Коутинхо С. Введение в теорию чисел. Алгоритм RSA. М.: Постмаркет. 2001. 328 с.
Практическое сравнение алгоритма А* с алгоритмом волновой трассировки (алгоритмом Ли) по быстродействию Михайлов И. Е.
Михайлов Илья Евгеньевич /Mikhailov 11уа Yevgenyevich - студент, кафедра компьютерных технологий и систем, факультет прикладной математики - процессов управления, Санкт-Петербургский государственный университет, г. Санкт-Петербург
Аннотация: в данной работе рассматриваются алгоритм А* и алгоритм волновой трассировки. Проводится сравнение эффективности этих алгоритмов по быстродействию на практике.
Ключевые слова: алгоритм А*, алгоритм волновой трассировки, алгоритм Ли, эффективность алгоритма, сравнение алгоритмов по быстродействию.
Существуют различные способы нахождения кратчайшего пути на графах. Среди них рассмотрим алгоритм А* и алгоритм волновой трассировки (алгоритм Ли).
Алгоритм А* - алгоритм поиска по первом наилучшему совпадению на графе, использующий эвристическую функцию, оценивающую длину кратчайшего пути из любой вершины графа в целевую вершину [1, с. 238]. Для построения этой функции была использована метрика Манхэттена [2, с. 276].
Алгоритм волновой трассировки, в отличие от алгоритма А*, является не информированным алгоритмом поиска, поскольку он не использует никакой информации о целевой вершине графа (алгоритм А* в качестве источника такой информации использует эвристическую функцию), за исключением того, что этот алгоритм способен определить, является ли рассматриваемая на очередном шаге вершина целевой. Алгоритм использует метод поиска в ширину [3, с. 631].
Алгоритмы были реализованы на языке программирования С++. Все эксперименты проводились на графе в виде равномерной сетки размером 90 на 90.
Результат первого эксперимента изображен на рис. 1. Оба алгоритма успешно справились с задачей нахождения кратчайшего пути между двумя заданными вершинами графа. Время работы алгоритма А* - 4 мс. Время работы алгоритма волновой трассировки - 3 мс.