Аутентификация защищает двух участников, которые обмениваются сообщениями, от воздействия некоторой третьей стороны. Однако простая аутентификация не защищает участников друг от друга, тогда как и между ними тоже могут возникать определенные формы споров.
Например, предположим, что Джон посылает Мери аутентифицированное сообщение, и аутентификация осуществляется на основе общего секрета. Рассмотрим возможные недоразумения, которые могут при этом возникнуть:
В ситуации, когда обе стороны не доверяют друг другу, необходимо нечто большее, чем аутентификация на основе общего секрета. Возможным решением подобной проблемы является использование
Таким образом, функция
На основании этих свойств можно сформулировать следующие требования к
Существует несколько подходов к использованию функции
Конфиденциальность может быть обеспечена дальнейшим шифрованием всего сообщения вместе с подписью
Все прямые схемы, рассматриваемые далее, имеют общее слабое место. Действенность схемы зависит от безопасности закрытого ключа отправителя. Если отправитель впоследствии не захочет признать факт
Другая угроза состоит в том, что Х в момент времени Т. Нарушитель может затем послать сообщение, подписанное подписью Х и помеченное временной меткой, которая меньше или равна Т.
Проблемы, связанные с Х к получателю Y первым делом поступает к арбитру А, который проверяет подпись для данного сообщения. После этого сообщение датируется и посылается к Y с указанием того, что оно было проверено арбитромА решает проблему схем Х может отказаться от сообщения.
Арбитр играет важную роль в подобного рода схемах, и все участники должны ему доверять.
Рассмотрим некоторые возможные технологии
Симметричное шифрование, арбитр видит сообщение:
Х -> A: M || EKxa [ IDX || H (M)]
Предполагается, что отправитель Х и арбитр А разделяют KХА и что А и Y разделяют KАY. Х создает сообщение М и вычисляет его хэш-значение Н (М). Затем Х передает сообщение и подпись А. Подпись состоит из идентификатора Х и хэш-значения, все зашифровано с использованием ключа KХА. А дешифрует подпись и проверяет хэш-значение.
A -> Y: ЕКay [ IDX || M ||
EKxa [IDX || H (M)], T ]
Затем А передает сообщение к Y, шифруя его KAY. Сообщение включает IDX, первоначальное сообщение от Х, подпись и отметку времени. Y может дешифровать его для получения сообщения и подписи. Отметка времени информирует Y о том, что данное сообщение не устарело и не является повтором. Y может сохранить М и подпись к нему. В случае спора Y, который утверждает, что получил сообщение М от Х, посылает следующее сообщение к А:
ЕКay [ IDX || M || EKxa [IDX || H (M)] ]
Арбитр использует KAY для получения IDХ, М и подписи, а затем, используя KХА, может дешифровать подпись и проверить Y не может прямо проверить подпись Х ; подпись используется исключительно для разрешения споров. Y считает сообщение от Х аутентифицированным, потому что оно прошло через А. В данном сценарии обе стороны должны иметь высокую А:
Х должен доверять А в том, что тот не будет раскрывать KХА и создавать фальшивые подписи в форме ЕKка [IDX || H (M)].Y должен доверять А в том, что он будет посылать ЕKay [ IDX || M || EKxa [IDX || H (M)] ] только в том случае, если хэш-значение является корректным и подпись была создана Х.А в решении спорных вопросов.Симметричное шифрование, арбитр не видит сообщение:
Если арбитр не является такой Х должен добиться того, чтобы никто не мог подделать его подпись, а Y должен добиться того, чтобы Х не мог отвергнуть свою подпись.
Предыдущий сценарий также предполагает, что А имеет возможность читать сообщения от Х к Y и что возможно любое подсматривание. Рассмотрим сценарий, который, как и прежде, использует Х и Y разделяют KXY.
X -> A: IDX || EKхy [M] ||
EKxa [IDX || H (EKXY [M]) ]
Х передает А свой KXY, и подпись. Подпись состоит из идентификатора и хэш-значения зашифрованного сообщения, которые зашифрованы с использованием ключа KХА. А дешифрует подпись и проверяет хэш-значение. В данном случае А работает только с зашифрованной версией сообщения, что предотвращает его чтение.
A -> Y: EKay [ IDX || EKXY[M] ||
EKxa [ IDX || H ( EKXY [M])], T]
А передает Y все, что он получил от Х плюс отметку времени, все шифруя с использованием ключа KAY.
Хотя арбитр и не может прочитать сообщение, он в состоянии предотвратить подделку любого из участников, Х или Y. Остается проблема, как и в первом сценарии, что арбитр может сговориться с отправителем, отрицающим подписанное сообщение, или с получателем, для подделки подписи отправителя.
Шифрование открытым ключом, арбитр не видит сообщение:
Все обсуждаемые проблемы могут быть решены с помощью схемы
X -> A: IDX || EKRх [ IDX || EKUy [EKRx [M] ] ]
В этом случае Х осуществляет двойное шифрование сообщения М, сначала своим KRX, а затем Y KUY. Получается подписанная секретная версия сообщения. Теперь это подписанное сообщение вместе с идентификатором Х шифруется KRX и вместе с IDX посылается А. Внутреннее, дважды зашифрованное, сообщение недоступно арбитру (и всем, исключая Y ). Однако А может дешифровать внешнюю шифрацию, чтобы убедиться, что сообщение пришло от Х (так как только Х имеет KRX ). Проверка дает гарантию, что пара закрытый/открытый ключ законна, и тем самым верифицирует сообщение.
A -> Y: EKRa [ IDX || EKUy [EKRx [M] ] || T ]
Затем А передает сообщение Y, шифруя его KRA. Сообщение включает IDX, дважды зашифрованное сообщение и отметку времени.
Эта схема имеет ряд преимуществ по сравнению с предыдущими двумя схемами. Во-первых, никакая информация не разделяется участниками до начала соединения, предотвращая договор об обмане. Во-вторых, некорректные данные не могут быть посланы, даже если KRX скомпрометирован, при условии, что не скомпрометирован KRА. В заключение, содержимое сообщения от Х к Y неизвестно ни А, ни кому бы то ни было еще.
Национальный институт стандартов и технологии США (
Рассмотрим отличия подхода, используемого в

(рис 10.2) Создание и проверка подписи с помощью алгоритма RSA(рис 10.1) Создание и проверка подписи с помощью стандарта DSSВ подходе
Подход k, созданным для этой конкретной подписи. Функция подписи также зависит от закрытого ключа отправителя KRa и множества параметров, известных всем участникам. Можно считать, что это множество состоит из глобального KUG. Результатом является подпись, состоящая из двух компонент, обозначенных как s и r.
Для проверки подписи получатель также создает KUG и от KUa. Выходом функции верификации является значение, которое должно равняться компоненте r подписи, если подпись корректна. Функция подписи такова, что только отправитель, знающий
Теперь рассмотрим детали алгоритма, используемого в
Существует три параметра, которые являются открытыми и могут быть общими для большой группы пользователей.
160-битное простое число q, т.е. 2159 < q < 2160.
Простое число р длиной между 512 и 1024 битами должно быть таким, чтобы q было (р - 1), т.е. 2L-1 < p < 2L, где 512 < L < 1024 и (p-1)/q является целым.
g = h(p-1)/q , где h является целым между 1 и (р-1) и g должно быть больше, чем 1,10.
Зная эти числа, каждый пользователь выбирает
х должен быть числом между 1 и (q-1) и должен быть выбран случайно или псевдослучайно.
x - случайное или псевдослучайное целое, 0 < x < q ,
Открытый ключ вычисляется из закрытого ключа как у = gx . Вычислить у по известному х довольно просто. Однако, имея открытый ключ у, вычислительно невозможно определить х, который является у по основанию g.
y = gx mod p
k - случайное или псевдослучайное целое, 0 < k < q, уникальное для каждого подписывания.
Для создания подписи отправитель вычисляет две величины, r и s, которые являются функцией от компонент (p, q, g), закрытого ключа пользователя (х), Н (М) и целого k, которое должно быть создано случайно или псевдослучайно и должно быть уникальным при каждом подписывании.
r = (gk mod p) mod q s = [ k-1 (H (M) + xr) ] mod q Подпись = (r, s)
Получатель выполняет проверку подписи с использованием следующих формул. Он создает величину v, которая является функцией от компонент общего r в подписи, то подпись считается действительной.
w = s-1 mod q u1 = [ H (M) w ] mod q u2 = r w mod q v = [ (gu1 yu2) mod p ] mod q подпись корректна, если v = r
Докажем, что v = r в случае корректной подписи.
Лемма 1. Для любого целого t, если
g = h(p-1)/q mod p то gt mod p = gt mod q mod p
По h является взаимнопростым с p, то hp-1 . Следовательно, для любого неотрицательного целого n
gnq |
= (h(p-1)/q |
= h((p-1)/q) nq |
|
= h(p-1)n |
|
= ((h(p-1) |
|
= 1n |
Таким образом, для неотрицательных целых n и z мы имеем
gnq+z |
= (gnq gz) |
= ((gnq |
|
= gz |
Любое неотрицательное целое t может быть представлено единственным образом как t = nq + z, где n и z являются неотрицательными целыми и 0 < z < q. Таким образом z = t .
Лемма 2. Для неотрицательных чисел a и b: g(a mod q + b mod q) .
По лемме 1 мы имеем
g(a mod q + b mod q) mod p = g(a mod q + b mod q) mod q mod p = g(a + b) mod q mod p
Лемма 3. y(rw) mod q
По определению y = gx . Тогда:
y(rw) mod q mod p
= (gx mod p)(rw) mod q mod p по правилам
= gx ((rw) mod q) mod p модульной арифметики
= g(x ((rw mod q))) mod q mod p по лемме 1
= g(xrw) mod q mod p
Лемма 4. ((H(M) + xr) w)
По определению s = (k-1 (H(M) + xr)) . Кроме того, так как q является простым, любое неотрицательное целое меньшее q имеет мультипликативную (k k-1) . Тогда:
(ks) mod q = (k((k-1(H(M) + xr)) mod q)) mod q
= (k (k-1(H(M) + xr))) mod q
= ((kk-1) mod q) ((H(M) + xr) mod q) mod q
= (H(M) + xr) mod q
По определению w = s-1 , следовательно, (. Следовательно:
((H(M) + xr) w) mod q
= (((H(M) + xr) mod q) (w mod q)) mod q
= (((ks) mod q) (w mod q)) mod q
= (kws) mod q
= (k mod q) ((ws) mod q)) mod q
= k mod q
Так как 0 < k < q, то k .
Теорема. Используя определения для v и r, докажем, что v=r.
v = ((gu1 yu2) mod p) mod q = ((g(H(M) w) mod q y(rw) mod q) mod p) mod q = ((g(H(M) w) mod q g(xrw) mod q) mod p) mod q = ((g(H(M) w) mod q + (xrw) mod q) mod p) mod q = ((g(H(M) w + xrw) mod q) mod p) mod q = ((gw (H(M) + xr) mod q) mod p) mod q = (gk mod p) mod q = r
В отечественном стандарте
В стандарте p и q:
р должно быть простым числом в диапазоне2509 < p < 2512 либо 21020 < p < 21024
q должно быть простым числом в диапазоне2254 < q < 2256
q также должно быть (р-1).
Аналогично выбирается и параметр g. При этом требуется, чтобы gq (.
В соответствии с теоремой Ферма это эквивалентно условию в g = h(p-1)/q .
х
0 < x < q
y
y = gx mod p
Для создания подписи выбирается случайное число k
0 < k < q
Подпись состоит из двух чисел (r, s), вычисляемых по следующим формулам:
r = (gk mod p) mod q s = (k H(M) + xr) mod q
Еще раз обратим внимание на отличия
q: в q должна быть от 254 бит до 256 бит, а в q должна быть от 159 бит до 160 бит.s подписи. В s = (k H(M) + xr) mod q
В s вычисляется по формуле
s = [k-1 (H(M) + xr)] mod q
Последнее отличие приводит к соответствующим отличиям в формулах для проверки подписи.
Получатель вычисляет
w = H(M)-1 mod q u1 = w s mod q u2 = (q-r) w mod q v = [(gu1 yu2) mod p] mod q Подпись корректна, если v = r.
Структура обоих алгоритмов довольно интересна. Заметим, что значение r совсем не зависит от сообщения. Вместо этого r есть функция от k и трех общих компонент k ( ) (в случае k (в случае r, используя входное сообщение, подпись, открытый ключ пользователя и общий открытый ключ.
В силу сложности вычисления дискретных логарифмов нарушитель не может восстановить k из r или х из s.
Другое важное замечание заключается в том, что экспоненциальные вычисления при создании подписи необходимы только для gk . Так как это значение от подписываемого сообщения не зависит, оно может быть вычислено заранее. Пользователь может заранее просчитать некоторое количество значений r и использовать их по мере необходимости для подписи документов. Еще одна задача состоит в определении мультипликативной инверсии k-1 (в случае
(r,s), поскольку каждый раз будет использоваться новое значение k
Аутентификация защищает двух участников, которые обмениваются сообщениями, от воздействия некоторой третьей стороны. Однако простая аутентификация не защищает участников друг от друга, тогда как и между ними тоже могут возникать определенные формы споров.
Например, предположим, что Джон посылает Мери аутентифицированное сообщение, и аутентификация осуществляется на основе общего секрета. Рассмотрим возможные недоразумения, которые могут при этом возникнуть:
В ситуации, когда обе стороны не доверяют друг другу, необходимо нечто большее, чем аутентификация на основе общего секрета. Возможным решением подобной проблемы является использование
Таким образом, функция
На основании этих свойств можно сформулировать следующие требования к
Существует несколько подходов к использованию функции
Конфиденциальность может быть обеспечена дальнейшим шифрованием всего сообщения вместе с подписью
Все прямые схемы, рассматриваемые далее, имеют общее слабое место. Действенность схемы зависит от безопасности закрытого ключа отправителя. Если отправитель впоследствии не захочет признать факт
Другая угроза состоит в том, что Х в момент времени Т. Нарушитель может затем послать сообщение, подписанное подписью Х и помеченное временной меткой, которая меньше или равна Т.
Проблемы, связанные с Х к получателю Y первым делом поступает к арбитру А, который проверяет подпись для данного сообщения. После этого сообщение датируется и посылается к Y с указанием того, что оно было проверено арбитромА решает проблему схем Х может отказаться от сообщения.
Арбитр играет важную роль в подобного рода схемах, и все участники должны ему доверять.
Рассмотрим некоторые возможные технологии
Симметричное шифрование, арбитр видит сообщение:
Х -> A: M || EKxa [ IDX || H (M)]
Предполагается, что отправитель Х и арбитр А разделяют KХА и что А и Y разделяют KАY. Х создает сообщение М и вычисляет его хэш-значение Н (М). Затем Х передает сообщение и подпись А. Подпись состоит из идентификатора Х и хэш-значения, все зашифровано с использованием ключа KХА. А дешифрует подпись и проверяет хэш-значение.
A -> Y: ЕКay [ IDX || M ||
EKxa [IDX || H (M)], T ]
Затем А передает сообщение к Y, шифруя его KAY. Сообщение включает IDX, первоначальное сообщение от Х, подпись и отметку времени. Y может дешифровать его для получения сообщения и подписи. Отметка времени информирует Y о том, что данное сообщение не устарело и не является повтором. Y может сохранить М и подпись к нему. В случае спора Y, который утверждает, что получил сообщение М от Х, посылает следующее сообщение к А:
ЕКay [ IDX || M || EKxa [IDX || H (M)] ]
Арбитр использует KAY для получения IDХ, М и подписи, а затем, используя KХА, может дешифровать подпись и проверить Y не может прямо проверить подпись Х ; подпись используется исключительно для разрешения споров. Y считает сообщение от Х аутентифицированным, потому что оно прошло через А. В данном сценарии обе стороны должны иметь высокую А:
Х должен доверять А в том, что тот не будет раскрывать KХА и создавать фальшивые подписи в форме ЕKка [IDX || H (M)].Y должен доверять А в том, что он будет посылать ЕKay [ IDX || M || EKxa [IDX || H (M)] ] только в том случае, если хэш-значение является корректным и подпись была создана Х.А в решении спорных вопросов.Симметричное шифрование, арбитр не видит сообщение:
Если арбитр не является такой Х должен добиться того, чтобы никто не мог подделать его подпись, а Y должен добиться того, чтобы Х не мог отвергнуть свою подпись.
Предыдущий сценарий также предполагает, что А имеет возможность читать сообщения от Х к Y и что возможно любое подсматривание. Рассмотрим сценарий, который, как и прежде, использует Х и Y разделяют KXY.
X -> A: IDX || EKхy [M] ||
EKxa [IDX || H (EKXY [M]) ]
Х передает А свой KXY, и подпись. Подпись состоит из идентификатора и хэш-значения зашифрованного сообщения, которые зашифрованы с использованием ключа KХА. А дешифрует подпись и проверяет хэш-значение. В данном случае А работает только с зашифрованной версией сообщения, что предотвращает его чтение.
A -> Y: EKay [ IDX || EKXY[M] ||
EKxa [ IDX || H ( EKXY [M])], T]
А передает Y все, что он получил от Х плюс отметку времени, все шифруя с использованием ключа KAY.
Хотя арбитр и не может прочитать сообщение, он в состоянии предотвратить подделку любого из участников, Х или Y. Остается проблема, как и в первом сценарии, что арбитр может сговориться с отправителем, отрицающим подписанное сообщение, или с получателем, для подделки подписи отправителя.
Шифрование открытым ключом, арбитр не видит сообщение:
Все обсуждаемые проблемы могут быть решены с помощью схемы
X -> A: IDX || EKRх [ IDX || EKUy [EKRx [M] ] ]
В этом случае Х осуществляет двойное шифрование сообщения М, сначала своим KRX, а затем Y KUY. Получается подписанная секретная версия сообщения. Теперь это подписанное сообщение вместе с идентификатором Х шифруется KRX и вместе с IDX посылается А. Внутреннее, дважды зашифрованное, сообщение недоступно арбитру (и всем, исключая Y ). Однако А может дешифровать внешнюю шифрацию, чтобы убедиться, что сообщение пришло от Х (так как только Х имеет KRX ). Проверка дает гарантию, что пара закрытый/открытый ключ законна, и тем самым верифицирует сообщение.
A -> Y: EKRa [ IDX || EKUy [EKRx [M] ] || T ]
Затем А передает сообщение Y, шифруя его KRA. Сообщение включает IDX, дважды зашифрованное сообщение и отметку времени.
Эта схема имеет ряд преимуществ по сравнению с предыдущими двумя схемами. Во-первых, никакая информация не разделяется участниками до начала соединения, предотвращая договор об обмане. Во-вторых, некорректные данные не могут быть посланы, даже если KRX скомпрометирован, при условии, что не скомпрометирован KRА. В заключение, содержимое сообщения от Х к Y неизвестно ни А, ни кому бы то ни было еще.
Национальный институт стандартов и технологии США (
Рассмотрим отличия подхода, используемого в

(рис 10.2) Создание и проверка подписи с помощью алгоритма RSA(рис 10.1) Создание и проверка подписи с помощью стандарта DSSВ подходе
Подход k, созданным для этой конкретной подписи. Функция подписи также зависит от закрытого ключа отправителя KRa и множества параметров, известных всем участникам. Можно считать, что это множество состоит из глобального KUG. Результатом является подпись, состоящая из двух компонент, обозначенных как s и r.
Для проверки подписи получатель также создает KUG и от KUa. Выходом функции верификации является значение, которое должно равняться компоненте r подписи, если подпись корректна. Функция подписи такова, что только отправитель, знающий
Теперь рассмотрим детали алгоритма, используемого в
Существует три параметра, которые являются открытыми и могут быть общими для большой группы пользователей.
160-битное простое число q, т.е. 2159 < q < 2160.
Простое число р длиной между 512 и 1024 битами должно быть таким, чтобы q было (р - 1), т.е. 2L-1 < p < 2L, где 512 < L < 1024 и (p-1)/q является целым.
g = h(p-1)/q , где h является целым между 1 и (р-1) и g должно быть больше, чем 1,10.
Зная эти числа, каждый пользователь выбирает
х должен быть числом между 1 и (q-1) и должен быть выбран случайно или псевдослучайно.
x - случайное или псевдослучайное целое, 0 < x < q ,
Открытый ключ вычисляется из закрытого ключа как у = gx . Вычислить у по известному х довольно просто. Однако, имея открытый ключ у, вычислительно невозможно определить х, который является у по основанию g.
y = gx mod p
k - случайное или псевдослучайное целое, 0 < k < q, уникальное для каждого подписывания.
Для создания подписи отправитель вычисляет две величины, r и s, которые являются функцией от компонент (p, q, g), закрытого ключа пользователя (х), Н (М) и целого k, которое должно быть создано случайно или псевдослучайно и должно быть уникальным при каждом подписывании.
r = (gk mod p) mod q s = [ k-1 (H (M) + xr) ] mod q Подпись = (r, s)
Получатель выполняет проверку подписи с использованием следующих формул. Он создает величину v, которая является функцией от компонент общего r в подписи, то подпись считается действительной.
w = s-1 mod q u1 = [ H (M) w ] mod q u2 = r w mod q v = [ (gu1 yu2) mod p ] mod q подпись корректна, если v = r
Докажем, что v = r в случае корректной подписи.
Лемма 1. Для любого целого t, если
g = h(p-1)/q mod p то gt mod p = gt mod q mod p
По h является взаимнопростым с p, то hp-1 . Следовательно, для любого неотрицательного целого n
gnq |
= (h(p-1)/q |
= h((p-1)/q) nq |
|
= h(p-1)n |
|
= ((h(p-1) |
|
= 1n |
Таким образом, для неотрицательных целых n и z мы имеем
gnq+z |
= (gnq gz) |
= ((gnq |
|
= gz |
Любое неотрицательное целое t может быть представлено единственным образом как t = nq + z, где n и z являются неотрицательными целыми и 0 < z < q. Таким образом z = t .
Лемма 2. Для неотрицательных чисел a и b: g(a mod q + b mod q) .
По лемме 1 мы имеем
g(a mod q + b mod q) mod p = g(a mod q + b mod q) mod q mod p = g(a + b) mod q mod p
Лемма 3. y(rw) mod q
По определению y = gx . Тогда:
y(rw) mod q mod p
= (gx mod p)(rw) mod q mod p по правилам
= gx ((rw) mod q) mod p модульной арифметики
= g(x ((rw mod q))) mod q mod p по лемме 1
= g(xrw) mod q mod p
Лемма 4. ((H(M) + xr) w)
По определению s = (k-1 (H(M) + xr)) . Кроме того, так как q является простым, любое неотрицательное целое меньшее q имеет мультипликативную (k k-1) . Тогда:
(ks) mod q = (k((k-1(H(M) + xr)) mod q)) mod q
= (k (k-1(H(M) + xr))) mod q
= ((kk-1) mod q) ((H(M) + xr) mod q) mod q
= (H(M) + xr) mod q
По определению w = s-1 , следовательно, (. Следовательно:
((H(M) + xr) w) mod q
= (((H(M) + xr) mod q) (w mod q)) mod q
= (((ks) mod q) (w mod q)) mod q
= (kws) mod q
= (k mod q) ((ws) mod q)) mod q
= k mod q
Так как 0 < k < q, то k .
Теорема. Используя определения для v и r, докажем, что v=r.
v = ((gu1 yu2) mod p) mod q = ((g(H(M) w) mod q y(rw) mod q) mod p) mod q = ((g(H(M) w) mod q g(xrw) mod q) mod p) mod q = ((g(H(M) w) mod q + (xrw) mod q) mod p) mod q = ((g(H(M) w + xrw) mod q) mod p) mod q = ((gw (H(M) + xr) mod q) mod p) mod q = (gk mod p) mod q = r
В отечественном стандарте
В стандарте p и q:
р должно быть простым числом в диапазоне2509 < p < 2512 либо 21020 < p < 21024
q должно быть простым числом в диапазоне2254 < q < 2256
q также должно быть (р-1).
Аналогично выбирается и параметр g. При этом требуется, чтобы gq (.
В соответствии с теоремой Ферма это эквивалентно условию в g = h(p-1)/q .
х
0 < x < q
y
y = gx mod p
Для создания подписи выбирается случайное число k
0 < k < q
Подпись состоит из двух чисел (r, s), вычисляемых по следующим формулам:
r = (gk mod p) mod q s = (k H(M) + xr) mod q
Еще раз обратим внимание на отличия
q: в q должна быть от 254 бит до 256 бит, а в q должна быть от 159 бит до 160 бит.s подписи. В s = (k H(M) + xr) mod q
В s вычисляется по формуле
s = [k-1 (H(M) + xr)] mod q
Последнее отличие приводит к соответствующим отличиям в формулах для проверки подписи.
Получатель вычисляет
w = H(M)-1 mod q u1 = w s mod q u2 = (q-r) w mod q v = [(gu1 yu2) mod p] mod q Подпись корректна, если v = r.
Структура обоих алгоритмов довольно интересна. Заметим, что значение r совсем не зависит от сообщения. Вместо этого r есть функция от k и трех общих компонент k ( ) (в случае k (в случае r, используя входное сообщение, подпись, открытый ключ пользователя и общий открытый ключ.
В силу сложности вычисления дискретных логарифмов нарушитель не может восстановить k из r или х из s.
Другое важное замечание заключается в том, что экспоненциальные вычисления при создании подписи необходимы только для gk . Так как это значение от подписываемого сообщения не зависит, оно может быть вычислено заранее. Пользователь может заранее просчитать некоторое количество значений r и использовать их по мере необходимости для подписи документов. Еще одна задача состоит в определении мультипликативной инверсии k-1 (в случае
(r,s), поскольку каждый раз будет использоваться новое значение k
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.