Das Problem scheint mit einem Fehler in Kryptojs zu sein, der dazu führt, dass die Bibliothek nicht funktioniert, wenn die Eingabezeichenfolge neue Zeilen enthält. Codierung der Datei wie dieser:
openssl enc -aes-256-cbc -in pup.jpg -pass pass:"password" | base64 | tr -d '\n' > pup.enc
Behebt das Problem. Das Problem mit dem JavaScript, aber mit der Codierung. Nun und mit JavaScript, weil es einen Fehler in Kryptojs gibt: https://code.google.com/p/crypto-js/issues/detail?id=38