Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KMZI_shpory.docx
Скачиваний:
7
Добавлен:
01.03.2025
Размер:
267.43 Кб
Скачать
  1. Обычный и расширенный алгоритмы Евклида.

Алгори́тм Евкли́да — алгоритм для нахождения наибольшего общего делителя двух целых чисел.

Алгоритм Евклида для целых чисел

Пусть a и b — целые числа, не равные одновременно нулю, и последовательность чисел a>b>r1>r2>r3>r4>…>rn определена тем, что каждое rk — это остаток от деления предыдущего числа на предыдущее, а предпоследнее делится на последнее нацело, то есть

a = bq0 + r1 , b = r1q1 + r2 , r1 = r2q2 + r3 , , rk − 2 = rk − 1qk − 1 + rk , , rn − 1 = rnqn

Тогда НОД(a,b), наибольший общий делитель a и b, равен rn, последнему ненулевому члену этой последовательности.

Пример

Найти НОД a = 1071 и b = 462. Для начала, от 1071 отнимем кратное значение 462, пока не получим знаменатель меньше чем 462. Мы должны дважды отнять 462, (q0 = 2), оставаясь с остатком 147:

1071 = 2 × 462 + 147. Затем от 462 отнимем кратное значение 147, пока не получим знаменатель меньше чем 147. Мы должны трижды отнять 147 (q1 = 3), оставаясь с остатком 21: 462 = 3 × 147 + 21.

Затем от 147 отнимем кратное значение 21, пока не получим знаменатель меньше чем 21. Мы должны семь раз отнять 21 (q2 = 7), оставаясь без остатка: 147 = 7 × 21 + 0. Таким образом последовательность a>b>R1>R2>R3>R4>...>Rn в данном конкретном случае будет выглядеть так: 1071>462>147>21

Так как последний остаток равен нулю, алгоритм заканчивается числом 21 и НОД(1071, 462)=21.

цел алгоритм НОД(вх: цел m, цел n)

Расширенный алгоритм Евклида

. Вычислим r - остаток от деления числа a на b, a = bq+r, 0 <= r < b. 2. Если r = 0, то b есть искомое число. 3. Если r =/= 0, то заменим пару чисел (a,b) парой (b,r) и перейдем к шагу 1. Пример:Найти НОД a = 1071 и b = 462. Расширенный алгоритм Евклида Алгоритм Евклида можно расширить так, что он не только даст НОД(a,b)=d, но и найдет целые числа x и y, такие что ax + by = d. НА ВХОДЕ: два неотрицательных числа a и b: a>=b НА ВЫХОДЕ: d=НОД(a,b) и целые x,y: ax + by = d. 1. Если b=0 положить d:=a, x:=1, y:=0 и возвратить (d,x,y) 2. Положить x2:=1, x1:=0, y2:=0, y1:=1 3. Пока b>0     3.1 q:=[a/b], r:=a-qb, x:=x2-qx1, y:=y2-qy1     3.2 a:=b, b:=r, x2:=x1, x1:=x, y2:=y1, y1:=y 4. Положить d:=a, x:=x2, y:=y2 и возвратить (d,x,y)

  1. Значение и применение эцп. Хэш-функция.

Электро́нная по́дпись (ЭП) — реквизит электронного документа, позволяющий установить отсутствие искажения информации в электронном документе с момента формирования ЭП и проверить принадлежность подписи владельцу сертификата ключа ЭП. Значение реквизита получается в результате криптографического преобразования информации с использованием закрытого ключа ЭП.

Электронная подпись предназначена для идентификации лица, подписавшего электронный документ. Кроме этого, использование электронной подписи позволяет осуществить:

Контроль целостности передаваемого документа: при любом случайном или преднамеренном изменении документа подпись станет недействительной

Защиту от подделки документа

Невозможность отказа от авторства. Так как создать корректную подпись можно, лишь зная закрытый ключ, а он должен быть известен только владельцу, то владелец не может отказаться от своей подписи под документом.

Доказательное подтверждение авторства

Цели:

Декларирование товаров и услуг (таможенные декларации)

Регистрация сделок по объектам недвижимости

Использование в банковских системах

Электронная торговля и госзаказы

Контроль исполнения государственного бюджета

В системах обращения к органам власти

Для обязательной отчетности перед государственными учреждениями

Организация юридически значимого электронного документооборота

В расчетных и трейдинговых системах

Криптографической хеш-функцией называется всякая хеш-функция, являющаяся криптостойкой, то есть, удовлетворяющая ряду требований специфичных для криптографических приложений.

Требования к ней:

1) Необратимость или стойкость к восстановлению прообраза: для заданного значения хеш-функции m должно быть вычислительно невозможно найти блок данных X, для которого H(X) = m.

2)Стойкость к коллизиям первого рода или восстановлению вторых прообразов: для заданного сообщения M должно быть вычислительно невозможно подобрать другое сообщение N, для которого H(N) = H(M).

3)Стойкость к коллизиям второго рода: должно быть вычислительно невозможно подобрать пару сообщений  , имеющих одинаковый хеш.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]