30s no es una tonelada de tiempo, por lo que debe cifrar todo el archivo, si es posible. Si congela el sistema operativo (asumiendo que usted sabe lo que eso significa), entonces deje que cifre 512 megabytes, o aproximadamente la mitad del archivo, en esos 30s. Me parece tan seguro, y le ahorra la mitad de la memoria perdida para procesos esenciales. Algo menos y te arriesgas a que los atacantes obtengan esta información. En resumen, puede cifrar una pequeña parte del archivo, dado que cifra exactamente la mitad de los bytes en este orden:
GARRISON
+ANANANAN
---------
GNREIFOA
del cual GARRISON es un combo de letras arbitrarias, ANANANAN es una clave Vigenere arbitraria de 2 letras que tiene una A en ella. Esa A asegura que cada otra letra se codifique a sí misma. No recomendaría el uso de AAAANNNN, porque se puede ver suficiente texto simple para decodificar el texto cifrado mediante un ataque de texto simple conocido. Más que esto es innecesario, y (50+ MB) menos que esto hace que sea más fácil para los atacantes descifrar el cifrado. Estoy usando texto, pero ¿cómo crees que vas a escribir 500 millones (usando UTF-16, 1 billón en ASCII y UTF-8) en el bloc de notas? El uso de un cifrado Vernam o un XOR (sin reutilizar la clave) puede ser adecuado para lo que usted describe. XORIR un mensaje no debería tomar tanto tiempo