fencrypt is a command line program. It can encrypt or decrypt individual files, using a password and can allow users to search for key words in encrypted files.
It uses:
- a password-based key derivation function to generate a "master" key.
- a simpler KDF scheme to generate a series of keys for further operations.
- a two different PRFs to implement a four-round feistel cipher that are used for encryption and decryption.
- an HMAC-SHA2-256 in order to detect attempts to tamper with files.
- an HMAC-SHA2-256 in order to support encrypted search terms.