-------------------------------------------------------------------------------# Notes on implementing -------------------------------------------------------------------------------# Perl Encryption Key document appears to be Crypt::CBC whcih allows to you generate not only openssl compatible encrypted files but also 'RandomIV' headered encrypted files. However there was a compatiblity issue at version 2.17 for 'RandomIV' encryptions. See "encrypt.pl" where I have implented a perl encryption solution. https://antofthy.gitlab.io/software/#encrypt ASIDE: I no longer use this program. It was used as I wanted to use PBKDF2 password hashing to make brute force attacks on encrypted files more difficult. It was something the "openssl" file 'enc' method did not provide, thogh it does now. See my "keepout" script for the method I use for encrypting files now. https://antofthy.gitlab.io/software/#keeout -------------------------------------------------------------------------------# Crypt::CBC A simplified wrapper around the various Crypt library methods with compatibility to the openssl. See Example code in man page AND in shared documentation area /usr/share/doc/perl-Crypt-CBC-2.29/eg/ However the module does not provide PBKDF v2 capability! Though you can pass it a password so it generates a key, salt and iv as appropriate. See "encrypt.c" and "encrypt.pl" for examples ------------------------------------------------------------------------------- PBKDF v2 from perl. I can access the PBKDF2 library function from OpenSSL via a trival C program to pipeline passwords into encryption keys and IV See "pbkdf2.c" C program source... https://antofthy.gitlab.io/software/#pbkdf2 Currently I use a small perl script function in the programs that need it. use Crypt::PBKDF2; This has a HUGE dependancy storm of unneeded and unwanted functions and loads. Perl Memory Bloat! use Crypt::KeyDerivation 'pbkdf2'; http://search.cpan.org/~mik/CryptX-0.021/lib/Crypt/KeyDerivation.pm Very good, defaults to using 'SHA256' and only 5000 iterations But that can be changed use Crypt::ScryptKDF Different method using parrellel Processing to keep pace with hardware brue force approches use Crypt::KeyDerivation 'pbkdf2' use PBKDF2::Tiny; -------------------------------------------------------------------------------