Originariamente inviato da mxa
Non penso che si possa fare. Una volta scaricato il file è comunque nell'hard disk dell'utente, e con javascript non ci puoi far più nulla.
E' proprio in questa fase (lo scaricamento) che avviene la decrittazione, spedendo un filettone JSON. O almeno così ho capito da qui
http://crypto.stanford.edu/sjcl/
Forse un'opzione che si potrebbe investigare sarebbe scaricare il file via AJAX come byte Array e poi applicare l'algoritmo di decrittazione sui byte, ma mi dà l'idea che il gioco non vale la candela.
Bhè se si riuscisse sarei contento
Perché non fai una cosa tipo zippare il file con password lato PHP e poi quando l'utente lo apre dal proprio filesystem la password viene richiesta?
Perchè non sempre c'è un-unzippatore lato client. Se potessi metterci un eseguibile avrei risolto tanti problemi, ma non posso, solo browser.

Oppure un'altra valida alternativa potrebbe essere la seguente, e ti dà lo stesso livello di sicurezza, anzi maggiore: fai tutto su https, quindi tutto viaggia crittato, quando l'utente vuole scaricare il file lato client mostri un form per la password, la password viene inserita e spedita in forma crittata al server, il quale la prende, fa l'hash, la confronta con l'hash contenuto in un database, se la password è corretta ritorna il file, che a sua volta viaggia su https e quindi crittato, altrimenti ritorna 403 forbidden. Mi pare il modo migliore.
I dati sono davvero sensibili, quindi non mi sentirei di farli transitare, anche su https, in "chiaro".
Anche perchè... son troppo niubbo e non saprei come fare