An encryption program should not base it's strength on a secret algorithm.
Instead the encryption algorithm should be open so the user can review the principles and make up his or her mind
if the security is strong enough.

The first stage of the encryption prosess is to make a random cipher key.
Fencry takes a 256 bits (32 char) cipher key (secret) and transforms it to 40.000 sub keys ( key scheduling).
This sub keys are used to encrypt text (ASCII).
SHOW THE KEY SCHEDULING ALGORITHM.

To avoid the most common stream cipher attacks, the system uses an open and random 256 bit key
that are mixed with the secret key before key scheduling. This make sure that the same sub keys are never
used more than once.

The system also uses a simple cipher feedback system.
After the text has been encrypted 4 times the result is split in two, where half of the cipher are encrypted
and mixed with the other half. This is done 128 times before the cipher is encrypted 4 times again with
the sub keys. Every time encryption is done a different part of the sub keys are used.