RFC-5649 (Обработка ключа расширенного стандарта шифрования (AES) с алгоритмом заполнения) была опубликована для обработки случаев, для которых материал ключа не кратен 64 битам.
BouncyCastle , бесплатная библиотека Java, реализующая множество криптографических алгоритмов, предлагает механизм переноса, который поддерживает алгоритм переноса ключей RFC-5649. Поэтому вы можете использовать эту библиотеку, чтобы избежать возникшей исключительной ситуации Java.
Обратите внимание, что то, что мы обычно называем RSA
ключ 2048 бит , например, не просто состоит из массива 256 байтов. Он состоит из двух простых чисел, так что их произведение может храниться в массиве из 256 байтов, а также из частного показателя, который ниже, чем вышеупомянутый продукт. В зависимости от того, как материал закрытого ключа хранится в файле, некоторые другие открытые данные могут быть инкапсулированы в файл, например открытый показатель степени. Таким образом, материал закрытого ключа RSA-ключа длиной 2048 бит не может храниться с 256 байтами.