Ниже приведен список длины ключей для различных алгоритмов шифрования: http://www.keylength.com. Номера, указанные на этом сайте, считаются стандартными.Если есть сомнения, проверьте там.Метод Ecrypt II является самой последней публикацией.Вы можете найти PDF-файл здесь: http://www.ecrypt.eu.org/documents/D.SPA.13.pdf. Это интересно для чтения и кажется довольно доступным, даже если вы мало знаете о криптографии (хотя я не уверен, так как я работаю в поле).
Что касается многократного шифрования исходных данных различными алгоритмами: это бесполезно, если вы используете надежный алгоритм шифрования.Мое предложение было бы использовать де-факто стандарт AES (= Rijndael).
Что касается длины вашего симметического ключа, если вы придерживаетесь AES, любой из трех вариантов (128, 192 или 256-бит)Это хорошо.На самом деле, существуют определенные атаки на 256-битные AES, которые не работают на 128-битной версии (из-за планирования ключей).В любом случае, ни одна из опубликованных атак на AES пока не имеет практического применения, поэтому выбирайте все, что хотите.
Если вы хотите быть уверены, что ваш ключ не будет расшифрован, да, используйте RSA-2048,Кстати, как вы можете видеть в этой таблице: http://www.keylength.com/en/3/, AES-128 по силе равен RSA-3248.
[Edit] Хотя один вопрос: почему вышифровать ваши ключи?Вам фактически придется хранить 2048-битный ключ RSA в безопасном месте, чтобы иметь возможность расшифровывать ваш 128-битный ключ AES.Я не вижу смысла.Вы можете также хранить 128-битный ключ где-нибудь в безопасности и покончить с этим.Или вы используете несколько ключей RSA для создания симметричного ключа?
Кроме того, предполагается, что IV являются открытыми, их не нужно скрывать / шифровать, что фактически делает их вторым ключом.У вас уже есть ключ.Так что не пытайтесь их зашифровать.