Должен ли метод update () класса Cipher возвращать зашифрованные данные или данные могут быть внутренне буферизованы? - PullRequest
1 голос
/ 14 апреля 2020

Я реализую провайдер для AES для класса Cipher JCA (Java Архитектура криптографии).

Класс Cipher принимает парадигму init(), update(), doFinal() , Метод init() вызывается для инициализации шифра. Метод update() используется для предоставления входных данных, которые должны быть зашифрованы или расшифрованы. Метод doFinal() завершает процесс шифрования или дешифрования, обрабатывая такие вещи, как заполнение.

Мой вопрос: согласно спецификациям JCA, update() метод имеет для частичного возврата зашифрованные или расшифрованные данные? Действительно ли не возвращать данные при вызове метода update() и обрабатывать все данные при вызове метода doFinal()? Я спрашиваю, потому что реализация моего провайдера была бы намного более эффективной, если бы я мог обрабатывать все данные одновременно с помощью метода doFinal(), а не обрабатывать их частично с помощью метода update().

...