Использование модулярной арифметики в алгоритме гомоморфного шифрования Выполнила: Чечулина Дарья Научный руководитель: Кренделев С. Ф. Лаборатория современных.

Презентация:



Advertisements
Похожие презентации
Тетюшкина Е. Н, учитель информатики и ИКТ МОУ СОШ 1. Основы компьютерной алгебры Элективный курс для 9 класса.
Advertisements

§5. Некоторые теоретико-числовые приложения комбинаторики Определение 1. Натуральное число называется простым, если оно имеет ровно два разных делителя:
После изучения темы «Комплексные числа учащиеся должны: Знать: алгебраическую, геометрическую и тригонометрическую формы комплексного числа. Уметь: производить.
Арифметические операции в позиционных системах счисления.
5 класс III лист группового контроля. 1. Свойства делимости.
Повторение 5 6 классы. I часть.. 1, 2, 3, 4, 1. Натуральные числа. … = 5 2 · 3 = 6 Натуральный ряд.
Разработка аппаратного модулярного фильтра с конечной импульсной характеристикой на базе теоретико- числового быстрого преобразования Фурье В.М. Амербаев.
Представление чисел в компьютере. Числовые данные обрабатываются в компьютере в двоичной системе счисления. Числа хранятся в оперативной памяти в виде.
Элементы общей алгебры Подгруппа, кольцо, поле, тело, решетка.
Криптография: алгоритм RSA
Арифметические операции в позиционных системах счисления.
Арифметические действия в двоичной системе счисления.
- отдельный объект, который имеет имя, значение, тип.
Арифметические операции в двоичной системе счисления.
АРИФМЕТИЧЕСКИЕ ОСНОВЫ РАБОТЫ ЭВМ Правила выполнения арифметических действий над двоичными числами задаются таблицами сложения, вычитания и умножения.
АЛГЕБРА 8 ПОВТОРЕНИЕ ЧАСТЬ I 5-6 классы. 1, 2, 3, 4, … = 5 2 · 3 = 6 1. Натуральный ряд и его свойства.
Глава II. Векторная алгебра. Раздел математики, в котором изучаются свойства операций над векторами, называется векторным исчислением. Векторное исчисление.
Тема: Конечные поляТема: Конечные поляКонечные поля Теория конечных полей является центральной математической теорией, лежащей в основе помехоустойчивого.
Тема: Целочисленная арифметика Окунцова А.Л., учитель информатики, школа 33 г. Кемерово.
Поиск НОД целых чисел PascalABC, FreePascal И.Г.Шматкова, учитель информатики ГУО «Гимназия 1 г.Слуцка»
Транксрипт:

Использование модулярной арифметики в алгоритме гомоморфного шифрования Выполнила: Чечулина Дарья Научный руководитель: Кренделев С. Ф. Лаборатория современных компьютерных технологий НИЧ НГУ

Определение Модулярная арифметика (или арифметика остатков) – метод выполнения арифметических действий над большими целыми числами, основная идея которого состоит в том, чтобы оперировать не непосредственно числом u, а его «остатками» по различным модулям m 1 …m r (причем все модули взаимно просты) 2

Обозначения u, v – большие целые числа m 1,…,m r – модули, не содержащие общих делителей u 1 = u mod m 1, …, u r = u mod m r v 1 = v mod m 1, …, v r = v mod m r (u 1, …, u r ), (v 1, …, v r ) – модулярное представление чисел u и v m = m 1 ×…×m r – область чисел, над которыми можно выполнять все операции 3

Арифметические операции Сложение (u 1, …, u r ) + (v 1, …, v r ) = ((u 1 + v 1 ) mod m 1, …, (u r + v r ) mod m r ) Вычитание (u 1, …, u r ) - (v 1, …, v r ) = ((u 1 - v 1 ) mod m 1, …, (u r - v r ) mod m r ) Умножение (u 1, …, u r ) × (v 1, …, v r ) = ((u 1 × v 1 ) mod m 1, …, (u r × v r ) mod m r ) 4

Китайская теорема об остатках Пусть m 1,…,m r – положительные целые попарно простые числа, т.е НОД (m j, m k ) = 1, j k Пусть m = m 1 × m 2 × … × m r и пусть также a, u 1, …, u r – целые числа. Тогда существует ровно одно целое число u, удовлетворяющее условиям a u < a + m, u = u j (mod m j ), 1 j r 5

Пример 1. Прямая задача u = 73, v = 12 u × v = 876 r = 3 – количество используемых «модулей» m 1 = 11, m 2 = 7, m 3 = 13 – взаимно простые «модули» m = m 1 × m 2 × m 3 = 1001 u 1 = u mod m 1 = 7, u 2 = 3, u 3 = 8 v 1 = v mod m 1 = 1, v 2 = 5, v 3 = 12 (u 1, u 2, u 3 ) × (v 1, v 2, v 3 ) = ((7 × 1) mod 11, (3 × 5) mod 7, (8 × 12) mod 13) = (7, 1, 5) 6

Пример 2. Обратная задача (u 1, u 2, u 3 ) × (v 1, v 2, v 3 ) = (w 1, w 2, w 3 ) = (7, 1, 5) u × v - ? Пользуясь т. Эйлера, найдем: M j = (m / m j ) φ(m j ) mod m где φ(m j ) = (m j – 1) – функция Эйлера для простых чисел m j M 1 = (7 × 13) 10 = 364, M 2 = (11 × 13) 6 = 715, M 3 = (11 × 7) 12 = 924 M j = 1 mod m j, M j = 0 mod m k, k j u × v = (w 1 × M 1 + w 2 × M 2 + w 3 × M 3 ) mod m = = (7 × × × 924) mod m = ( ) mod m = 1877 mod m = 876 7

Недостатки алгоритма гомоморфного шифрования с использованием только длинной арифметики Большие объемы данных, получаемые при выполнении арифметических операций над длинными целыми числами Большая длина шифротекста на выходе алгоритма шифрования 8

Преимущества использования модулярной арифметики Возможность параллельного выполнения операций повышение производительности алгоритма Повышение стойкости алгоритма к криптоаналитическим атакам Уменьшение объема выходных данных при умножении длинных целых чисел Сокращение длины шифротекста 9