![]() ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Атака на основе Китайской теоремы об остаткахКак отмечалось ранее, системы шифрования с открытыми ключами работают сравнительно медленно. Для повышения скорости шифрования RSA на практике используют малую экспоненту зашифрования. Если выбрать число Пусть, например, три корреспондента имеют попарно взаимно простые модули По китайской теореме об остатках такое решение единственно, а так как Пример. Три пользователя имеют модули
Атака на алгоритм шифрования RSA, основанная на китайской теореме об остатках, c помощью программы «BCalc» Исходные данные: n 1 = 363542076673; n 2 = 728740902979; Последовательно вычисляем следующие значения:
=34867892796403337952181607384067689087012354329;
M = (S mod M 0)^(1/ e) = 4075154940; text(M) = «тень». Ниже приведен снимок экрана с окном программы «BCalc».
Бесключевое чтение Пусть два пользователя выбрали одинаковый модуль Пример. Два пользователя применяют общий модуль Атака на алгоритм шифрования RSA методом бесключевого чтения c помощью программы «bcalc» Исходные данные: n = 357114156277; e 1 = 1025537; e 2 = 722983; 1. Решаем уравнение e 1∙ r – e 2∙ s = ±1. Для этого в поле A помещаем значение e 1, в поле B – значение e 2. Нажимаем кнопку «A∙D – B∙C = N», затем – кнопку C = s = 406030; D = r = 286243. 2. Производим дешифрацию: c 1 возводим в степень r, а c 2 – в степень – s по модулю N, тогда c 1^ r = 189703239311, c 2^(– s) = 104340380259. После этого результаты перемножаем и получаем, что m ^(e 1∙ r – e 2∙ s) = Ниже приведен снимок экрана с окном программы «BCalc».
Как видно из приведенных выше примеров (а также из примеров выполнения заданий лабораторных работ) выбор параметров криптосистемы является ответственной задачей. Параметры необходимо выбирать в строгом соответствии с требованиями. Существующими в настоящими время методами (и при использовании существующих в настоящее время вычислительных мощностей) атака на алгоритм и/или криптосистему возможна лишь при неудачном выборе параметров. В процессе выполнения заданий лабораторной работы вы убедитесь в обоснованности перечисленных требований к параметрам криптосистемы. В частности, необходимо обеспечить каждому пользователю уникальные значения
Описание программы «BCalc» Программа «BCalc» предназначена для работы с целыми числами большой размерности и включает в себя возможность выполнения базовых и некоторых специальных операций над целыми числами. К специальным относятся следующие операции: – преобразование числа в данные и обратно; – возведение в степень по модулю; – вычисление обратных значений по модулю; – нахождение целых корней любых натуральных степеней; – нахождение подходящих дробей для цепной дроби. Описание интерфейса программы В окне программы находятся следующие элементы интерфейса: – поля ввода, помеченные латинскими буквами A, B, C, D; – верхняя группа кнопок с обозначением выполняемых действий на них; – нижняя группа кнопок, предназначенных для очистки полей и таблицы; – таблица для хранения промежуточных результатов. Поля ввода A, B, C хранят входные данные для вызываемых функций программы. Результаты работы этих функций помещаются в поле D. При нахождении подходящей дроби результат помещается в поле C и первую строку таблицы. Для любого поля таблицы можно вызвать контекстное меню указателем мыши, нажав ее правую кнопку, в котором содержатся следующие пункты: – «To [поле ввода]» – копирует значение ячейки таблицы в соответствующее поле ввода; – «From [поле ввода]» – копирует значение соответствующего поля ввода в выбранную ячейку таблицы. Кнопки «Clear D», «Clear A, B, C», «Clear grid» очищают соответственно поле D, поля A, B, C – таблицу. Кнопка «Increase number of rows» увеличивает количество строк в таблице на пять. Кнопка «D –> A» копирует значение, находящееся в данный момент в поле D, в поле A. Кнопка «D –>» копирует значение поля D в первую сверху пустую ячейку второй колонки таблицы. Остальные кнопки запускают математические функции, описанные ниже. Математические функции программы «D = A + B» – значения A и B складываются, результат помещается «D = A ∙ B» – значения A и B перемножаются, результат помещается «D = A div B» – в D помещается результат целочисленного деления A на B. «D = A mod B» – в D помещается остаток от целочисленного деления «D = A ^ B mod C» – в D помещается результат возведения A в степень B по модулю C. Экспонента может быть отрицательным числом. Если поле C = 0, то возведение в степень будет происходить не по правилам модульной арифметики. В таком случае не стоит задавать в качестве экспоненты большие числа, так как вычисления могут занять слишком много времени. Невозможно также вычислять обратные значения, если в качестве модуля задан ноль. «D = A ^(1/ B)» – в поле D помещается корень B степени от A. Если в результате извлечения корня получилось нецелое число, то в D помещается ближайшее бόльшее целое число, а в первой строке таблицы появится надпись «[error]». «A ∙ D – B ∙ C = N», где – A – числитель дроби; B – знаменатель подходящей дроби d n порядка. В поле C будет помещен числитель, а в D – знаменатель подходящей дроби d n -1 порядка. В первую строку таблицы будет помещено значение выражения A ∙ D – B ∙ C. Если после начала вычисления дроби поля C и D равны нулю, то это значит, что числа A и B не взаимно просты. «D = text(A)» – число A интерпретируется как строка из символов в ANSI- кодировке. Строка помещается в поле D. «D = number(A)» – строка A, состоящая из символов, интерпретируется как число и помещается в поле редактирования D. В программе используется модернизированный модуль «BigNum v2.0» Описание программы «PS» Программа PS предназначена для нахождения порядка чисел в конечном поле
Нахождение порядка чисел Для нахождения порядка числа методом перешифрования следует указать в поле редактирования N значение модуля, в поле e – экспоненты, а в поле Y – произвольное число, меньшее чем модуль. При нажатии кнопки Запуск повторного шифрования программа начнет возводить число Y в степень e (т. е. Дешифрация сообщений методом перешифрования Для дешифрации сообщения необходимо указать в поле редактирования N значение модуля, в поле В программе используется модернизированный модуль «BigNum v2.0» автор (Jes R. Klinke).
Варианты заданий для лабораторных работ Таблица 1 Варианты исходных данных к заданию 2
Таблица 2 Варианты исходных данных к заданию 3
Таблица 3 Варианты исходных данных к заданию 4
Таблица 4 Варианты исходных данных к заданию 2
Не нашли, что искали? Воспользуйтесь поиском:
|