cifrar y / o descifrar archivos grandes (AES) en un sistema de memoria y almacenamiento restringido, con "recuperación de catástrofes"

Tengo una pregunta bastante genérica, así que perdón si es un poco vago.

Entonces, asumamos un archivo de 1GB, que necesita ser cifrado y luego descifrado en un sistema dado.

El problema es que el sistema tiene menos de 512 mb de memoria libre y alrededor de 1.5 GB de espacio de almacenamiento (más o menos), por lo tanto, con el archivo "a bordo" tenemos aproximadamente ~ 500 MB de "espacio libre en el disco duro" y menos de 512 mb RAM para "jugar con".

No es improbable que el sistema experimente un "apagado no programado" en ningún momento durante el cifrado o descifrado, y debe poder reanudar con éxito el proceso de cifrado / descifrado después de ser encendido nuevamente (y esto parece una tuerca muy desagradable para entrada).

Las preguntas son:

1) es todo factible :) ?

2) ¿Cuál sería la mejor estrategia a seguir?

a) cifrar / descifrar con tan poco espacio de memoria (no se puede tener todo el archivo tirado mientras se descifra / encripta, se debe truncar "sobre la marcha" de alguna manera ...)

y

b) ¿implementar una recuperación de desastres que funcionaría en un entorno tan limitado?

P.S .: El cifrado utilizado debe ser AES.

Busqué en AES-CTR específicamente, pero no parece ser tan bueno para el shenanigan de recuperación de desastres en un entorno donde no se puede mantener todo el archivo descifrado hasta el final ...

[editado para agregar] Creo que, después de todo, lo haré a la manera de Iserni.

Respuestas a la pregunta(3)

Su respuesta a la pregunta