A method for generating a secure storage file system, including encrypting
data using a symmetric key to obtain encrypted data, encrypting the
symmetric key using a public key to obtain an encrypted symmetric key,
storing the encrypted data and the encrypted symmetric key if the public
key is associated with a user who only has read permission, generating an
encrypted hashed data if the public key is associated with a user who has
write permission, and storing the encrypted data, the encrypted symmetric
key, and the encrypted hash data if the public key is associated with the
user who has write permission.