Этот раздел больше не актуален, так как код изменился
Во-первых, , вы используете ECB, это небезопасно из-за постоянной связи между текстом и его выводом.
Во-вторых , CBC требует IV, следовательно, потребуется другая реализация.
И, наконец, самое важное:
AES НЕ алгоритм асимметричного шифрования
означает, что он должен быть зашифрован и расшифрован одним и тем же ключом. Вы используете открытый и закрытый ключи, как если бы вы использовали асимметричные методы шифрования.
Альтернатива:
Если вы хотите правильно реализовать RSA , вы можете сгенерировать случайный байтовый массив и использовать его в качестве ключа, затем отправить его в зашифрованном виде получателю для его расшифровки и использовать его в качестве ключа для расшифровки как бы то же самое.
Сейчас:
Вы используете закрытый ключ для подписи данных ... RSA требует, чтобы вы использовали открытый ключ (теперь закрытый - не распространяется) для его шифрования, однако вы не можете расшифровать что-то, зашифрованное с помощью закрытого ключа, с открытым ключом. Вместо этого вы распространяете «закрытый ключ» для расшифровки и сохраняете «открытый ключ» для шифрования, чтобы никто другой не мог зашифровать или подписать данные.
Что ты делаешь!
Существует связь между открытым и закрытым ключами! Вы не можете просто использовать произвольные байтовые массивы.
Прочтите статью в Википедии.