IEEE P1363 — проект Института инженеров по электротехнике и электронике (англ.Institute of Electrical and Electronics Engineers, IEEE) по стандартизации криптосистем с открытым ключом.
Целью проекта было объединение опыта разработчиков криптографических алгоритмов с открытым ключом и создание единой базы их описаний для удобного выбора и применения.
В итоге проект включает в себя следующие спецификации, разделённые по методу шифрования:
Традиционные криптосистемы с открытым ключом (IEEE Std 1363—2000 и 1363a-2004)
Криптосистемы с открытым ключом на решётках (P1363.1)
Криптосистемы с открытым ключом с паролем (P1363.2)
Работа над проектом началась в 1994 году. До 2001 года рабочая группа состояла из 31 человека. В 1997 году проект был разделён на P1363 и P1363a. В 2000 проект был расширен, и уже в конце года началась работа над P1363.1 и P1363.2 [2]. В 2004 году рабочая группа состояла из 16 человек[3].
Традиционные криптосистемы с открытым ключом (стандарты IEEE 1363—2000 и 1363a-2004)[править | править код]
DL/ECKAS-MQV — алгоритмы выработки общего ключа с использованием дискретного логарифма и эллиптической криптографии в варианте MQV. Построенные на протоколе Диффи-Хеллмана, протоколы MQV считаются более защищенным к возможным махинациям с подменой ключей[4].
DL/ECSSA (англ.Discrete Logarithm/Elliptic Curve Signature Scheme with Appendix) — алгоритмы подписи с использованием дискретного логарифма и эллиптической криптографии с дополнением. Здесь четыре основных варианта: DSA, ECDSA, Nyberg-Rueppel, а также Nyberg-Rueppel на эллиптических кривых.
IFSSA (англ.Integer Factorization Signature Scheme with Appendix) — алгоритм подписи на целочисленной факторизации с дополнением, что означает, что функции проверки подлинности нужно предоставить не только саму подпись, но также и сам документ. В этот раздел входят две версии RSA, алгоритм Рабина (англ.Rabin-Williams) и ESIGN, быстрый стандарт, разработанный Nippon Telegraph and Telephone, а также несколько вариантов кодирования сообщения (генерации хэша), называемых EMSA. Несколько сочетаний имеют устойчивые названия как готовые алгоритмы. Так, генерация хэша при помощи EMSA3 с шифрованием RSA1 также имеет название PKCS#1 v1.5 RSA signature (по стандарту PKCS, разработанному компанией RSA); RSA1 с кодированием EMSA4 — это RSA-PSS; RSA1 с EMSA2 — алгоритм ANSI X9.31 RSA[5].
DL/ECSSR (англ.Discrete Logarithm/Elliptic Curve Signature Scheme with Recovery) — алгоритмы подписи с использованием дискретного логарифма и эллиптической криптографии с восстановлением документа. Это означает, что для проверяющей стороны нужны только открытый ключ и подпись — само сообщение будет восстановлено из подписи.
DL/ECSSR-PV (англ.Discrete Logarithm/Elliptic Curve Signature Scheme with Recovery, Pintsov-Vanstone version) — алгоритмы подписи с использованием дискретного логарифма и эллиптической криптографии с восстановлением документа, но уже версия Ванстоуна-Пинцова. Интересно, что Леонид Пинцов — выходец из России (заканчивал матмех СПБГУ)[6].
IFSSR (англ.Integer Factorization Signature Scheme with Recovery) — алгоритм с восстановлением на целочисленной факторизации.
IFES (англ.Integer Factorization Encryption Scheme) — один из часто используемых алгоритмов, когда данные шифруются RSA, а до этого подготавливаются при помощи алгоритма OAEP[7].
DL/ECIES (англ.Discrete Logarithm/Elliptic Curve Integrated Encryption Scheme) — более устойчивый к взлому вариант алгоритма Эль-Гамаля (англ.ElGamal encryption), известный как DHAES[8].
Криптосистемы с открытым ключом на решётках (P1363.1)[править | править код]
Алгоритм шифрования NTRU — алгоритм, основанный на задаче нахождения кратчайшего вектора в решётке. Некоторыми исследователями считается более быстрым[9], а также устойчивым к взлому на квантовых компьютерах[10], в отличие от стандартных криптосистем с открытым ключом (например, RSA и алгоритмов эллиптической криптографии).
Криптосистемы с открытым ключом с паролем (P1363.2)[править | править код]
BPKAS (англ.Balanced Password-Authenticated Key Agreement Scheme, version PAK) — алгоритм выработки общего ключа при известном пароле, когда один и тот же пароль используется как при создании ключа, так и при его проверке. В стандарт включены три версии алгоритма: PAK, PPK и SPEKE
APKAS-AMP (англ.Augmented Password-Authenticated Key Agreement Scheme, version AMP) — алгоритм выработки общего ключа при известном пароле, когда для создания ключа и для аутентификации используются разные данные, построенные на пароле. 6 версий: AMP, BSPEKE2, PAKZ, WSPEKE, версия на SRP (Secure Remote Password) в вариантах 3 и 6, версия SRP в варианте 5
PKRS-1 (англ.Password Authenticated Key Retrieval Scheme, version 1) — алгоритм получения ключа при известном пароле.
Личностные криптосистемы с открытым ключом на спаривании (P1363.3)[править | править код]
В этом разделе стандарта содержатся алгоритмы личностной криптографии[11], построенные на различных спариваниях[12]. Этот проект был согласован в сентябре 2005, первый полный черновик появился в мае 2008. По состоянию на октябрь 2011 новых спецификаций не появлялось.
Другими проектами, занимавшимися каталогизацией криптографических стандартов являются уже упомянутый PKCS, созданный RSA Security, а также европейский NESSIE и японский CRYPTREC, однако, охват IEEE P1363 именно в области криптографии с открытым ключом значительно шире.