Библиотека криптографии, разработанная Microsoft Research, выпущена для исследователей и разработчиков.
Библиотека находится в стадии активной разработки. Он предназначен для использования с облачными сервисами HTML-5. Алгоритмы в библиотеке представлены с помощью интерфейса веб-криптографии W3C. Это API, который позволяет создавать безопасные веб-приложения без необходимости в безопасном соединении с использованием SSL или аналогичных протоколов.
Действия, указанные в API веб-криптографии, позволяют выполнять следующее:
Многофакторная аутентификация
Защищенный обмен документами
Облачное хранилище
Подписание документа
Защита целостности данных
Безопасный обмен сообщениями
Функции библиотеки Microsoft JavaScript были протестированы в сравнении с реализацией интерфейса веб-криптографии в Internet Explorer 11, и Microsoft также протестировала библиотеку в других браузерах, в частности в IE8 и более поздних версиях, Firefox, Chrome, Opera и Safari.
Криптографические функции, которые в настоящее время включены в библиотеку, начинаются с RSA PKCS # 1 v1.5, OAEP и PSS. Также поддерживаются AES-CBC и GCM. Поддерживаются стандарты Secure Hash Standard (SHA) 256, 384 и 512, а также HMAC с поддерживаемыми хэш-функциями, PRNG (на основе AES-CTR), как указано в NIST, ECDH, ECDSA и KDF (режим Concat).
Библиотека включает в себя арифметику с большим числом целых чисел для поддержки криптографических алгоритмов, и этот элемент библиотеки, по данным Microsoft Research, вероятно, будет изменен в будущих выпусках. В своей текущей форме он поддерживает арифметику больших целых чисел без знака с добавлением, вычитанием, умножением, делением, сокращением, инверсией, GCD, расширенным алгоритмом Евклида (EEA), умножением Монтгомери и модульным возведением в степень.
Другими элементами библиотеки являются служебные функции, такие как процедуры управления порядком байтов и преобразования.
В настоящее время существуют некоторые разногласия по поводу полезности криптографии JavaScript. Аргумент гласит, что браузер полностью небезопасен, и выполнение в нем безопасного шифрования требует проблем. Хотя это правда, что атаковать браузер относительно легко, шифрование JavaScript по-прежнему обеспечивает уровень защиты, равный уровню защиты от отправки данных в открытом виде, и поэтому имеет некоторую ценность.
Если вы загрузите библиотеку, вы получите сценарии, модульные тесты и некоторые примеры кода, а также ссылку на раздел веб-криптографии на сайте Центра разработки Internet Explorer, но без документации.