К чему привязать ProgressBar c#?
Нужно в классе "шифраторе" создать событие. Лучше всего шифровать файл вызвав Task.Factory.StartNew, а в конструкторе "шифратора" захватить текущий контекст синхронизации (SynchronizationContext) и по мере шифрования очередной части потока байт вызывать у контекста синхронизации метод Post (он не ждёт пока обработчик события отработает до конца) и внутри него уже вызывать событие ProgressChanged у "шифратора".

Чтобы понять, что я имею ввиду, смотри код здесь: С# Taks и Invoke почему то блокируется форма?
Помести на форму таймер (например, на пол секунды) и читай состояние шифрования, вычисляя процент завершенности.