Factors to consider in creating algorithms
Encryption and Authentication are two things that are essential for Information Security. Any security mechanism is based upon a certain algorithm. However, some of these algorithms are vulnerable to certain attacks and can be broken easily by knowledgeable crackers. Fortunately, with the aid of newer technologies and a strong logical sense, one can devise a new algorithm that can withstand security attacks and provide a more secure alternative.
Nature of Data. In creating algorithms, one should first consider what kind of data are you protecting, if it is just securing a small and less private data, some of the existing algorithms can be used, but if you are protecting a bigger, more sensitive and confidential data, newer and proof-based algorithms must be used.
Key. This helps a person or computer figure out the one possibility on a given algorithm. The type of key to be used is also essential in generating algorithms. One must consider the key size - it pertains to the length of the key to be used. A larger key size means better security but at a cost of reduced performance. A smaller key, on the other hand is easier to figure out. One must also consider the variability of the key. Is the key a mixture of characters or symbols?, or a combination of both? The variability refers also if the key was all through out the same or randomly generated.
Category of encryption system. There are two types of encryption systems, one is Symmetric-key, and the other is Asymmetric-key or Public key. Symmetric algorithms encrypt and decrypt with the same key. Main advantages of symmetric algorithms are its security and high speed. Asymmetric algorithms encrypt and decrypt with different keys. Data is encrypted with a public key, and decrypted with a private key. Asymmetric algorithms (also known as public-key algorithms) need at least a 3,000-bit key to achieve the same level of security of a 128-bit symmetric algorithm. Asymmetric algorithms are incredibly slow and it is impractical to use them to encrypt large amounts of data. However, symmetric algorithms are about 1,000 times faster than asymmetric ones1.
Speed. Finally, speed here refers to the length of time in encrypting data. The strength of encryption however, is indirectly proportional to speed, and speed is necessary in data transmission. Stronger algorithms are slower to encrypt as compared to less efficient ones. One must consider that in order to create algorithms, there should be a logical or mathematical basis. Lengthy computations create better encryption but take some time to finish. Communication requires fast transmission of data, but when security measures are conducted, data are transmitted slower as encrypting the data follows.
__________________________