fencrypt

Python 
May 2022

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.