So what does it take to make a good algorithm and cryptosystem? Following are some of the primary components of a strong algorithm and cryptosystem.
The algorithm and system must not have any mathematical or logical weaknesses that might provide a back door for the attacker.
The keys used should be of sufficient length and highly randomized, and key management issues should be addressed and securely managed.
The next thing to consider is the notion that when an IT environment is implemented securely, the only thing the bad guys ever get to see is ciphertext, so you must hide the nature of the encryption key in the resulting ciphertext. To say it another way, the ciphertext should not be linearly related to the encryption key. ...