FooCrypt, A Tale Of Cynical Cyclical Encryption

Provides you with the total peace of mind over the SECURITY & PRIVACY of YOUR DATA via
Cryptography & Steganography

Download FooCrypt.X.Y.Z.Core Documentation
Download FooCrypt.X.Y.Z.Core White Paper

 

Validation

 

Validation of the DEFAULT and any further selected OpenSSL Engines is a compulsory requirement for you to perform.

There are 3 steps to FooCrypt Validation.

1. Validate ALL FooCrypt Application SHA256 Hashs

  • Note :
  • You will always need verify the sha256 hash of [ PATH To FooCrypt ]/Scripts/Data/Files/FooCrypt.X.Y.Z.Core.Linux.sha256.txt online.

 

Validate via the command line

  • [ PATH To FooCrypt or FooCheck ] -X Validate
STATUS  : VALIDATE : SHA256 OK     : FooCrypt/FooCheck
STATUS  : VALIDATE : SHA256 OK     : FooCrypt/Matrix_Test
STATUS  : VALIDATE : SHA256 OK     : FooCrypt/mOpenSSL
STATUS  : VALIDATE : SHA256 OK     : FooCrypt/usr/share/applications/FooCrypt_Your_OpenSSL.desktop
STATUS  : VALIDATE : SHA256 OK     : FooCrypt/usr/share/applications/FooCrypt_StarKit_Wish.desktop
STATUS  : VALIDATE : SHA256 OK     : FooCrypt/usr/share/applications/FooCrypt_Your_Expect.desktop
STATUS  : VALIDATE : SHA256 OK     : FooCrypt/usr/share/applications/FooCrypt_Your_Wish.desktop
STATUS  : VALIDATE : SHA256 OK     : FooCrypt/etc/profile.d/FooCrypt-Desktop.sh
STATUS  : VALIDATE : SHA256 OK     : FooCrypt/FooCrypt.Info
STATUS  : VALIDATE : SHA256 OK     : FooCrypt/FooSteg
STATUS  : VALIDATE : SHA256 OK     : FooCrypt/FooCrypt
STATUS  : VALIDATE :
STATUS  : VALIDATE : Searching For Extra Files In /opt/FooCrypt
STATUS  : VALIDATE :
ERROR   : VALIDATE : EXTRA FILE    : FooCrypt/Scripts/Data/Files/FooCrypt.X.Y.Z.Core.Linux.sha256.txt
STATUS  : VALIDATE :
STATUS  : VALIDATE : PWD=/opt
STATUS  : VALIDATE : SHA256_File_OK        : 1771
STATUS  : VALIDATE : SHA256_File_Not_Found : 0
STATUS  : VALIDATE : SHA256_File_Extra     : 1
ERROR   : VALIDATE : Extra_File_Found      :
ERROR   : VALIDATE : Extra_File_Found      : SHA256(FooCrypt/Scripts/Data/Files/FooCrypt.X.Y.Z.Core.Linux.sha256.txt)= 4ddda64fbc595175b353ef832cee624565cb799666900b926a715f9e95194ea5
ERROR   : VALIDATE : Extra_File_Found      :
ERROR   : VALIDATE :
ERROR   : VALIDATE : Please Verify The SHA256 Hash Of /opt/FooCrypt/Scripts/Data/Files/FooCrypt.X.Y.Z.Core.Linux.sha256.txt
ERROR   : VALIDATE : Online @ https://FooCrypt.XYZ/sha256
ERROR   : VALIDATE :
STATUS  : VALIDATE : SHA256_File_Failed    : 0
STATUS  : VALIDATE : SHA256_File_Tested    : 1772
STATUS  : VALIDATE : 1772 Files Located In /opt/FooCrypt
STATUS  : VALIDATE :

 

Validate via The FooCrypt GUI

Picture

Picture

All ‘​Extra_File_Found’ Errors should be Validated Online via the Provided URL

 

2. Validate ALL FooCrypt Requirements Against Your Operating System

Check via the command line

    • [ PATH To FooCrypt ] -c

​Any identified issues will be highlighted in the Log Control StdOutLog.

STATUS  : Checking  : PATH For Required Binaries   : PATH=/usr/bin:/usr/sbin:/bin:/sbin:/opt/local/bin:/usr/local/bin
STATUS  :
STATUS  : Locating  : ksh                          : ksh is a tracked alias for /bin/ksh
STATUS  : Locating  : /usr/bin/openssl             : /usr/bin/openssl is /usr/bin/openssl
STATUS  : Locating  : /usr/bin/expect              : /usr/bin/expect is /usr/bin/expect
STATUS  : Locating  : /Volumes/FooCrypt.X.Y.Z.Core.Darwin/FooCrypt.app/Contents/Resources/Scripts/Widgets/FooCrypt.app/Contents/MacOS/FooCrypt : /Volumes/FooCrypt.X.Y.Z.Core.Darwin/FooCrypt.app/Contents/Resources/Scripts/Widgets/FooCrypt.app/Contents/MacOS/FooCrypt is /Volumes/FooCrypt.X.Y.Z.Core.Darwin/FooCrypt.app/Contents/Resources/Scripts/Widgets/FooCrypt.app/Contents/MacOS/FooCrypt
STATUS  : Locating  : /bin/date                    : /bin/date is /bin/date
STATUS  : Locating  : /usr/bin/file                : /usr/bin/file is /usr/bin/file
STATUS  : Locating  : /usr/bin/sed                 : /usr/bin/sed is /usr/bin/sed
STATUS  : Locating  : /usr/bin/otool               : /usr/bin/otool is /usr/bin/otool
STATUS  : Locating  : awk                          : awk is a tracked alias for /usr/bin/awk
STATUS  : Locating  : basename                     : basename is a tracked alias for /usr/bin/basename
STATUS  : Locating  : cat                          : cat is a tracked alias for /bin/cat
STATUS  : Locating  : chmod                        : chmod is a tracked alias for /bin/chmod
STATUS  : Locating  : cp                           : cp is a tracked alias for /bin/cp
STATUS  : Locating  : curl                         : curl is a tracked alias for /usr/bin/curl
STATUS  : Locating  : curl                         : curl is /opt/local/bin/curl
STATUS  : Locating  : cut                          : cut is a tracked alias for /usr/bin/cut
STATUS  : Locating  : dd                           : dd is a tracked alias for /bin/dd
STATUS  : Locating  : diff                         : diff is a tracked alias for /usr/bin/diff
STATUS  : Locating  : dirname                      : dirname is a tracked alias for /usr/bin/dirname
STATUS  : Locating  : egrep                        : egrep is a tracked alias for /usr/bin/egrep
STATUS  : Locating  : find                         : find is a tracked alias for /usr/bin/find
STATUS  : Locating  : grep                         : grep is a tracked alias for /usr/bin/grep
STATUS  : Locating  : gzip                         : gzip is a tracked alias for /usr/bin/gzip
STATUS  : Locating  : head                         : head is a tracked alias for /usr/bin/head
STATUS  : Locating  : ls                           : ls is a tracked alias for /bin/ls
STATUS  : Locating  : mkdir                        : mkdir is a tracked alias for /bin/mkdir
STATUS  : Locating  : mkfifo                       : mkfifo is a tracked alias for /usr/bin/mkfifo
STATUS  : Locating  : od                           : od is a tracked alias for /usr/bin/od
STATUS  : Locating  : perl                         : perl is a tracked alias for /usr/bin/perl
STATUS  : Locating  : perl                         : perl is /opt/local/bin/perl
STATUS  : Locating  : pgrep                        : pgrep is a tracked alias for /usr/bin/pgrep
STATUS  : Locating  : pkill                        : pkill is a tracked alias for /usr/bin/pkill
STATUS  : Locating  : print                        : print is a shell builtin
STATUS  : Locating  : printf                       : printf is a shell builtin
STATUS  : Locating  : printf                       : printf is /usr/bin/printf
STATUS  : Locating  : printf                       : printf is an undefined function
STATUS  : Locating  : pwd                          : pwd is a shell builtin
STATUS  : Locating  : pwd                          : pwd is /bin/pwd
STATUS  : Locating  : pwd                          : pwd is an undefined function
STATUS  : Locating  : rm                           : rm is a tracked alias for /bin/rm
STATUS  : Locating  : sleep                        : sleep is a shell builtin
STATUS  : Locating  : sleep                        : sleep is /bin/sleep
STATUS  : Locating  : sleep                        : sleep is an undefined function
STATUS  : Locating  : strings                      : strings is a tracked alias for /usr/bin/strings
STATUS  : Locating  : strings                      : strings is /opt/local/bin/strings
STATUS  : Locating  : time                         : time is a keyword
STATUS  : Locating  : time                         : time is /usr/bin/time
STATUS  : Locating  : touch                        : touch is a tracked alias for /usr/bin/touch
STATUS  : Locating  : tr                           : tr is a tracked alias for /usr/bin/tr
STATUS  : Locating  : tty                          : tty is a tracked alias for /usr/bin/tty
STATUS  : Locating  : uname                        : uname is a tracked alias for /usr/bin/uname
STATUS  : Locating  : wget                         : wget is a tracked alias for /opt/local/bin/wget
STATUS  : Locating  : whence                       : whence is a shell builtin
STATUS  : Locating  : who                          : who is a tracked alias for /usr/bin/who
STATUS  :
STATUS  : Test      : /usr/bin/strings             : PASSED
STATUS  :
STATUS  :
STATUS  : Removing Temp Directory  : /Users/FooCrypt/Library/Caches/net.FooCrypt/20240114170233_FooDevTest_FooCrypt/Tmp_18294
STATUS  :
STATUS  : FooCrypt_RunTime         : 4 Seconds
STATUS  : FooCrypt_RunTime         : 0 Days, 0 Hours, 0 Minutes, 4 Seconds
STATUS  :
STATUS  : FooCrypt_Exit_Code_0

 

Check via The FooCrypt GUI

Picture
Picture
Picture

​Any identified issues will be highlighted in the Log Control StdOutLog.

 

3. Validate ALL FooCrypt OpenSSL Cyphers For Selected Validation Cycles

  • 5 Is default
  • 200 is the maximum via the graphical user interface
  • 200 is the recommended maximum via the command line [ PATH To FooCrypt ] -T [ Number Of Cycles ],[ ARG_MAX ]
  • the only limit via the command line is the physical restraints of the computer FooCrypt is running on

Via The FooCrypt GUI

Picture

Example Validation StdOut

TEST    :
TEST    : TESTING ARG_MAX  :   512 : /usr/bin/openssl : LibreSSL 3.3.6 : FooCrypt-aes128
TEST    :
STATUS  : Encryption Cycle :     1 : FooCrypt-aes128 : Encrypt_Exit_Code_0 : Decrypt_Test_Exit_Code_0
STATUS  : Encryption Cycle :     2 : FooCrypt-aes128 : Encrypt_Exit_Code_0 : Decrypt_Test_Exit_Code_0
STATUS  : Encryption Cycle :     3 : FooCrypt-aes128 : Encrypt_Exit_Code_0 : Decrypt_Test_Exit_Code_0
STATUS  : Encryption Cycle :     4 : FooCrypt-aes128 : Encrypt_Exit_Code_0 : Decrypt_Test_Exit_Code_0
STATUS  : Encryption Cycle :     5 : FooCrypt-aes128 : Encrypt_Exit_Code_0 : Decrypt_Test_Exit_Code_0
STATUS  :
STATUS  : Encrypt Run Time : 1.3268940448761 Seconds
STATUS  :
STATUS  : Decryption Cycle :     1 : FooCrypt-aes128 : Decrypt_Exit_Code_0
STATUS  : Decryption Cycle :     2 : FooCrypt-aes128 : Decrypt_Exit_Code_0
STATUS  : Decryption Cycle :     3 : FooCrypt-aes128 : Decrypt_Exit_Code_0
STATUS  : Decryption Cycle :     4 : FooCrypt-aes128 : Decrypt_Exit_Code_0
STATUS  : Decryption Cycle :     5 : FooCrypt-aes128 : Decrypt_Exit_Code_0
STATUS  :
STATUS  : Decrypt Run Time : 0.979243040084839 Seconds
STATUS  :
PASSED  :
PASSED  : PASSED ARG_MAX   :   512 : /usr/bin/openssl : LibreSSL 3.3.6 : FooCrypt-aes128
PASSED  :
TEST    :
TEST    : TESTING ARG_MAX  :   512 : /usr/bin/openssl : LibreSSL 3.3.6 : FooCrypt-aes192
TEST    :
STATUS  : Encryption Cycle :     1 : FooCrypt-aes192 : Encrypt_Exit_Code_0 : Decrypt_Test_Exit_Code_0
STATUS  : Encryption Cycle :     2 : FooCrypt-aes192 : Encrypt_Exit_Code_0 : Decrypt_Test_Exit_Code_0
STATUS  : Encryption Cycle :     3 : FooCrypt-aes192 : Encrypt_Exit_Code_0 : Decrypt_Test_Exit_Code_0
STATUS  : Encryption Cycle :     4 : FooCrypt-aes192 : Encrypt_Exit_Code_0 : Decrypt_Test_Exit_Code_0
STATUS  : Encryption Cycle :     5 : FooCrypt-aes192 : Encrypt_Exit_Code_0 : Decrypt_Test_Exit_Code_0
STATUS  :
STATUS  : Encrypt Run Time : 1.33273911476135 Seconds
STATUS  :
STATUS  : Decryption Cycle :     1 : FooCrypt-aes192 : Decrypt_Exit_Code_0
STATUS  : Decryption Cycle :     2 : FooCrypt-aes192 : Decrypt_Exit_Code_0
STATUS  : Decryption Cycle :     3 : FooCrypt-aes192 : Decrypt_Exit_Code_0
STATUS  : Decryption Cycle :     4 : FooCrypt-aes192 : Decrypt_Exit_Code_0
STATUS  : Decryption Cycle :     5 : FooCrypt-aes192 : Decrypt_Exit_Code_0
STATUS  :
STATUS  : Decrypt Run Time : 0.963675975799561 Seconds
STATUS  :
PASSED  :
PASSED  : PASSED ARG_MAX   :   512 : /usr/bin/openssl : LibreSSL 3.3.6 : FooCrypt-aes192
PASSED  :
TEST    :
TEST    : TESTING ARG_MAX  :   512 : /usr/bin/openssl : LibreSSL 3.3.6 : FooCrypt-aes256
TEST    :
STATUS  : Encryption Cycle :     1 : FooCrypt-aes256 : Encrypt_Exit_Code_0 : Decrypt_Test_Exit_Code_0
STATUS  : Encryption Cycle :     2 : FooCrypt-aes256 : Encrypt_Exit_Code_0 : Decrypt_Test_Exit_Code_0
STATUS  : Encryption Cycle :     3 : FooCrypt-aes256 : Encrypt_Exit_Code_0 : Decrypt_Test_Exit_Code_0
STATUS  : Encryption Cycle :     4 : FooCrypt-aes256 : Encrypt_Exit_Code_0 : Decrypt_Test_Exit_Code_0
STATUS  : Encryption Cycle :     5 : FooCrypt-aes256 : Encrypt_Exit_Code_0 : Decrypt_Test_Exit_Code_0
STATUS  :
STATUS  : Encrypt Run Time : 1.33196306228638 Seconds
STATUS  :
STATUS  : Decryption Cycle :     1 : FooCrypt-aes256 : Decrypt_Exit_Code_0
STATUS  : Decryption Cycle :     2 : FooCrypt-aes256 : Decrypt_Exit_Code_0
STATUS  : Decryption Cycle :     3 : FooCrypt-aes256 : Decrypt_Exit_Code_0
STATUS  : Decryption Cycle :     4 : FooCrypt-aes256 : Decrypt_Exit_Code_0
STATUS  : Decryption Cycle :     5 : FooCrypt-aes256 : Decrypt_Exit_Code_0
STATUS  :
STATUS  : Decrypt Run Time : 0.968806028366089 Seconds
STATUS  :
PASSED  :
PASSED  : PASSED ARG_MAX   :   512 : /usr/bin/openssl : LibreSSL 3.3.6 : FooCrypt-aes256
PASSED  :

Once Validation has been completed, restarting FooCrypt will enable all OpenSSL Cyphers which have passed VALIDATION, to be available from the ‘SELECT CYPHER’ Menu, sorted alphabetically.

Options to List Available Cyphers and Excluded Cyphers will also become available.

Picture

These new menu items are based on the OpenSSL Version that has been selected for FooCrypt to utilise as its cypher engine.
Different compile time options and OpenSSL Versions have the ability to reduce or increase the number of cyphers which you may or may not have access to.

It is recommend that you always run the latest version of OpenSSL available for your operating system instance.

Command Line StdOut Once Validation Has Been CompletedExample :

STATUS  :
STATUS  : Creating Cypher Exclusion List In /Users/FooCrypt/Library/Caches/net.FooCrypt/.FooCrypt
STATUS  :
STATUS  : EXCLUDING :
STATUS  : EXCLUDING : Cypher : FooCrypt-aes-128-ccm$                    : /usr/bin/openssl : LibreSSL 3.3.6
STATUS  : EXCLUDING : Cypher : FooCrypt-aes-128-gcm$                    : /usr/bin/openssl : LibreSSL 3.3.6
STATUS  : EXCLUDING : Cypher : FooCrypt-aes-192-ccm$                    : /usr/bin/openssl : LibreSSL 3.3.6
STATUS  : EXCLUDING : Cypher : FooCrypt-aes-192-gcm$                    : /usr/bin/openssl : LibreSSL 3.3.6
STATUS  : EXCLUDING : Cypher : FooCrypt-aes-256-ccm$                    : /usr/bin/openssl : LibreSSL 3.3.6
STATUS  : EXCLUDING : Cypher : FooCrypt-aes-256-gcm$                    : /usr/bin/openssl : LibreSSL 3.3.6
STATUS  : EXCLUDING : Cypher : FooCrypt-id-aes128-CCM$                  : /usr/bin/openssl : LibreSSL 3.3.6
STATUS  : EXCLUDING : Cypher : FooCrypt-id-aes128-GCM$                  : /usr/bin/openssl : LibreSSL 3.3.6
STATUS  : EXCLUDING : Cypher : FooCrypt-id-aes128-wrap$                 : /usr/bin/openssl : LibreSSL 3.3.6
STATUS  : EXCLUDING : Cypher : FooCrypt-id-aes192-CCM$                  : /usr/bin/openssl : LibreSSL 3.3.6
STATUS  : EXCLUDING : Cypher : FooCrypt-id-aes192-GCM$                  : /usr/bin/openssl : LibreSSL 3.3.6
STATUS  : EXCLUDING : Cypher : FooCrypt-id-aes192-wrap$                 : /usr/bin/openssl : LibreSSL 3.3.6
STATUS  : EXCLUDING : Cypher : FooCrypt-id-aes256-CCM$                  : /usr/bin/openssl : LibreSSL 3.3.6
STATUS  : EXCLUDING : Cypher : FooCrypt-id-aes256-GCM$                  : /usr/bin/openssl : LibreSSL 3.3.6
STATUS  : EXCLUDING : Cypher : FooCrypt-id-aes256-wrap$                 : /usr/bin/openssl : LibreSSL 3.3.6
STATUS  : EXCLUDING :
STATUS  :
UPDATE  : Updated Excluded Cyphers List : /Users/FooCrypt/Library/Caches/net.FooCrypt/.FooCrypt
UPDATE  : ExcludedCyphers:/usr/bin/openssl:LibreSSL 3.3.6:-aes-128-ccm$|-aes-128-gcm$|-aes-192-ccm$|-aes-192-gcm$|-aes-256-ccm$|-aes-256-gcm$|-id-aes128-CCM$|-id-aes128-GCM$|-id-aes128-wrap$|-id-aes192-CCM$|-id-aes192-GCM$|-id-aes192-wrap$|-id-aes256-CCM$|-id-aes256-GCM$|-id-aes256-wrap$|
STATUS  :
STATUS  :
STATUS  : Exit_Code                  : 0
STATUS  : FooKey_Mode                : 2
STATUS  : ASCII_Range                : ASCII_Range 32-127 : " !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
STATUS  : Tested Cycles              : 5
STATUS  : Tested ARG_MAX             : 512
STATUS  : Tested Cyphers             : 116
STATUS  : Passed / Available Cyphers : 101
STATUS  : Failed / Excluded Cyphers  : 15
STATUS  : Openssl                    : /usr/bin/openssl
STATUS  : Openssl Version            : LibreSSL 3.3.6
STATUS  :
STATUS  : Exit_Codes                 : 0,2,32-127,5,512,116,101,15,/usr/bin/openssl,LibreSSL 3.3.6
STATUS  :
STATUS  :
STATUS  : FooCypt_Test_Summary_Exit_Code, Validate, FooCrypt Cyphers :
STATUS  : FooCypt_Test_Summary_Exit_Code, Validate, FooCrypt Cyphers : Exit_Code                  : 0
STATUS  : FooCypt_Test_Summary_Exit_Code, Validate, FooCrypt Cyphers : FooKey_Mode                : 2
STATUS  : FooCypt_Test_Summary_Exit_Code, Validate, FooCrypt Cyphers : ASCII_Range                : ASCII_Range 32-127 : " !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~"
STATUS  : FooCypt_Test_Summary_Exit_Code, Validate, FooCrypt Cyphers : Tested Cycles              : 5
STATUS  : FooCypt_Test_Summary_Exit_Code, Validate, FooCrypt Cyphers : Tested ARG_MAX             : 512
STATUS  : FooCypt_Test_Summary_Exit_Code, Validate, FooCrypt Cyphers : Tested Cyphers             : 116
STATUS  : FooCypt_Test_Summary_Exit_Code, Validate, FooCrypt Cyphers : Passed / Available Cyphers : 101
STATUS  : FooCypt_Test_Summary_Exit_Code, Validate, FooCrypt Cyphers : Failed / Excluded Cyphers  : 15
STATUS  : FooCypt_Test_Summary_Exit_Code, Validate, FooCrypt Cyphers : Openssl                    : /usr/bin/openssl
STATUS  : FooCypt_Test_Summary_Exit_Code, Validate, FooCrypt Cyphers : Openssl Version            : LibreSSL 3.3.6
STATUS  : FooCypt_Test_Summary_Exit_Code, Validate, FooCrypt Cyphers :
STATUS  : FooCypt_Test_Summary_Exit_Code, Validate, FooCrypt Cyphers : Exit_Codes                 : 0,2,32-127,5,512,116,101,15,/usr/bin/openssl,LibreSSL 3.3.6
STATUS  : FooCypt_Test_Summary_Exit_Code, Validate, FooCrypt Cyphers :
STATUS  : FooCypt_Test_Summary_Exit_Code
STATUS  :
STATUS  : FooCypt_Test_Summary_Exit_Code,0,2,32-127,5,512,116,101,15,/usr/bin/openssl,LibreSSL 3.3.6
STATUS  : FooCypt_Test_Summary_Exit_Code
STATUS  :
STATUS  :
STATUS  : Removing Temp Directory  : /Users/FooCrypt/Library/Caches/net.FooCrypt/20240114170233_FooDevTest_FooCrypt/Tmp_11060
STATUS  :
STATUS  : FooCrypt_RunTime         : 237 Seconds
STATUS  : FooCrypt_RunTime         : 0 Days, 0 Hours, 3 Minutes, 57 Seconds
STATUS  :
STATUS  : FooCrypt_Exit_Code_0
STATUS  :