Поскольку для расшифровки журнала требуется ключ AES, я отправляю зашифрованный ключ и журналы в одном и том же файле.
Вопрос 1. Правильный ли это подход? Если нет, то какой подход лучше использовать в этом сценарии. Ниже приведен код того же самого.
Подход правильный, но мне не хватает аутентификации (HMAC, GCM, ... ).
Есть несколько стандартов, как связывать зашифрованный ключ, контент и аутентификацию (например, CMS , PKCS7, OpenPGP, ..), однако, если это для вашего собственного приложения, вы можете сделать этоваш путь (не беспокойтесь о стандартах).
Если вы хотите использовать RSA, используйте RSA-KEM
Что ж, используя RSA KEM, вы можете сэкономить немногопроизводительность пропускает отступы, но я бы попробовал, если это возможно для вас. Также существует проблема при шифровании одного и того же ключевого материала с разными открытыми ключами.
Я бы оставил это простым - просто используйте должным образом дополненное шифрование RSA.
Я бы предложил использовать заполнение OAEP RSA/ECB/OAEPWithSHA-256AndMGF1Padding
вместо PKCS1Padding (OAEP считается более новым / более безопасным)