<keygen>

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

Поддерживается всеми браузерами, кроме Internet Explorer.

Закрывающийся тег: 
Не обязателен
Поддержка: 
HTML5
Атрибуты: 

Атрибуты тега: autofocus, challenge, disabled, form, name, keytype.

Autofocus - атрибут, передающий фокус элементу при загрузке страницы. Только одна форма в документе может иметь этот атрибут.
Challenge определяет, должно ли значение изменяться при отправке формы.
Disabled отключает управление формой.
Значение атрибута form должно быть идентификатором какой-либо формы в этом же документе. Если этот атрибут не указан, то элемент keygen должен быть потомком формы.
Name - имя элемента.
Keytype задает алгоритм шифрования ключа. Есть 3 алгоритма шифрования: RSA, DSA, EC. По умолчанию указан алгоритм RSA.

Пример: 

<!DOCTYPE HTML>
<html>
 
<head>
  <meta charset="utf-8">
</head>
 
<body>
  <form id="form">
     <input type="text" placeholder="Имя">
     <input type="submit" value="Submit">
  </form>
 
  <h4>Укажите силу ключа шифрования:</h4>
  <keygen name="publicKey" form="form">
</body>
 
</html>