A
file format for a secure file for use with a
block cipher or a
stream cipher, the secure file having a secure
client header and a data block appended to the secure
client header. The
client header has a client information block comprised of a
public information block, a private information block and an
initialization vector. At least a portion of the private information block is encrypted, and a client information block
integrity check value is appended to the client information block, the client information block
integrity check value being obtained by performing an
integrity check on the client information block. The data block is preferably encrypted and is comprised of a plurality of encrypted data blocks each appended with its own respective integrity check result value. Each of the plurality of data blocks and their respective integrity check result values are obtained by dividing the encrypted data block into n encrypted data blocks, performing an integrity check on a first one of the n encrypted data blocks and the client information integrity check result value appended to the client information block, so as to obtain a first encrypted data block integrity check result value, appending the first encrypted data block integrity check result value to the first encrypted data block, and repeatedly performing, for each of the subsequent n encrypted data blocks, an integrity check on the subsequent encrypted data block and an integrity check result value appended to a previous one of the n encrypted data blocks, so as to obtain an integrity check result value for the subsequent encrypted data block, and appending the subsequent integrity check result value to the subsequent encrypted data block.