KeyFactory – основной класс платформы Java для работы с криптографическими ключами. Набор реализаций для этой фабрики подключается с помощью механизма SPI.Существует большое разнообразие алгоритмов шифрования: DSA, RSA, и другие. Строка-название нужного алгоритма поставляется в фабрику ключей при её создании.
KeyFactory занимается конвертацией спецификации ключа в сам публичный или приватный ключ, и обратно.Спецификация, объект интерфейса
KeySpec, – входные данные ключа. Это может быть например модуль и экспонента приватного ключа RSA.Сами внутренние представления ключей реализуют интерфейсы
PublicKey и PrivateKey – наследники общего Key.Для каждого конкретного типа ключа используются соответствующие им классы-реализации интерфейсов.