Per crittografare/decrittografare puoi usare i sistemi già presenti su VB.NET, quello maggiormente usato è il AES (alias Rijndael).

Qui trovi info e esempi: http://www.pierotofy.it/pages/guide/...e_criptazione/

Puoi memorizzare poi il file sul database, cerca "BLOB" su internet, però se i file sono molti e/o sono grandi, è sconsigliato memorizzare il tutto sul database, conviene di più avere un campo "nome file" sul database e il file vero e proprio è all'interno di una cartella condivisa. Sul database, sul campo "nome file" ci metterai il nome del file per poterlo quindi poi recuperare.
Ovviamente dipende però dalle tue esigenze, non so se questa soluzione può essere utile a te.
Certamente è più veloce il database, rimane più compatto e riesci meglio a fare anche i backup.

Sergio