and then XORed with four more words of the expanded key.(Eq. 3)The ciphertexts are then written as 16 bytes c0, …, c15using the same little-endianconversion as used for plaintext.(Eq. 4)When this algorithm was submitted to the contest, there was no attack more efficientthan brute force. The most efficient attack against Twofish with a 128-bit key had acomplexity of 2128, the most efficient attack against Twofish with a 192-bit key had acomplexity of 2192, 256-bit key has a complexity of 2256. After this, there have been manyattempts to find the best way to break this algorithm; however, no one has found a way tobreak it faster than brute force. In 2001, Stefan Lucks attacked Twofish using several methodssuch as Key Finding and Distinguisher attacks. He discovered that the Key Finding attackwas only two to four time faster than an exhaustive search brute force, and the Distinguisherattack had the probability of success of only 25% , with 232to 2127chosen plaintexts.Moreover, these attacks only break one-half of Twofish cipher texts because of its one-bitrotation. (Schneier)No matter how good or widely used Serpent and Twofish are; they still suffer fromkey distribution/exchange problems and key management disadvantages (Lucks). Finally, it isonly a matter of time before these algorithms can be easily broken using more powerfulcomputer and technique (Courtoi).5

4. Asymmetric CryptographyThe idea of asymmetric (or public key) cryptography was first published in 1976 byWhitfield Diffie and Martin Hellman in their paper "New Directions in Cryptography"(Menezie, 2). In this document Diffie and Hellman approached the issue of cryptographicalgorithms and their necessity of secure channels of communication. While this proposed thetheory behind asymmetric cryptographic algorithms, it did not provide a method ofimplementation. It was not until Rivest, Shamir, and Adlement created the RSA algorithm in1978 that an algorithm was created that could make use of the technique proposed by Diffieand Hellman in 1976. The RSA algorithm is based upon the difficulty of factoring largenumbers. In 1984 the Elgamal algorithm was proposed which included the functionality toperform the Diffie-Hellman (DH) key exchange (as described in their paper), and was basedon the discrete logarithm problem, considered a more sound mathematical problem thanprime factorization (Menezie, 6). This section will focus primarily on the two main publickey algorithms and their implementations.4.1 The RSA AlgorithmIn their paper Diffie and Hellman focused on the issue of key exchange and securechannels in contemporary (symmetric) cryptosystems. They defined public keycryptosystems as a system with two separate keys such that computing one from the other is"computationally infeasible", allowing one of the keys to be published and the other to bekept secret. This separation of keys allows the public key to be transported across insecurechannels without worry.