Параметры шифрования совершенно не связаны с выбранной вами кодировкой. Параметры шифрования всегда определяются в байтах. Кодирование связано с переводом символов в байты, а байтов обратно в символы. Единственное место, где они «сталкиваются», - это использование паролей для генерации ключей шифрования. Вы должны использовать класс, разработанный специально для этого, например Rfc2898DeriveBytes .
В большинстве случаев, когда я вижу кодировку ASCII, программист лучше обслуживал бы кодировкой UTF8. Кодировка UTF8 кодирует и декодирует символы ASCII точно так же, как кодировка ASCII, но также правильно и эффективно кодирует все остальное в Unicode. Используйте кодировку ASCII, если вам нужно сгенерировать исключение, когда встречается не-ASCII символ.