persisting sensitive binary data encrypted (+integrity)
There are at least two ways to do this:


Using asymmetric encryption. This may be advantegeous if you want to use hardware-enforced keys or something like that. However, such keys tend to be "weak" for long-term storage (in a theoretical sense).
Using symmetric encryption. This may be advantegeous as you can easily use a password or a hardware-enforced AES key to do this. However such devices are much rarer than those supporting e.g. RSA.


Now classically you would do the following:


Encapsulate the data's symmetric key using asymmetric and / or symmetric encryption and / or key derivation methods.
Encrypt each block using said data key and an authenticated encryption mode (e.g. AES-CCM, AES-GCM or AES-EAX), using the index as the nonce.
If you use asymmetric encryption: Compute a signature over the complete ciphertext and store it for later verification (because an attacker could use the public key to just replace the data).


Now the data is immune to re-ordering attacks (because the authenticated nonces would miss-match).