# Cryptography

If you want to send or store data and be sure it is safe from being intercepted, you will use Cryptography. Cryptography uses chipper as mathematical virtual lock to make data scrambled so that is not understandable if intercepted by unauthorized third parties.

There are different cryptography techniques, some of them are: encryption, hashing, and steganography.

Cryptography can be differentiated by usage of different key types:

• Symmetric Key Encryption
• Asymmetric Key Encryption

Symmetric Key Encryption is sometimes known as Secret Key Cryptography. Main characteristic of this type of cryptography is the same key usage in encryption and decryption of transferred data. Every change in the secret key will make data decryption impossible.

Asymmetric Key Encryption is known as Public Key Cryptography technique. Main characteristic of this type of cryptography is usage of two sets of keys which are generated for the process. One key is public and other is private. Public key encrypts the data. We can only decrypt that data using appropriate private key. The best part of asymmetric cryptography is that is giving us a technique to share encrypted data and enable the receiver to decrypt that data without sending the decryption key across unsecured network.

It’s a process in which you share public key with the whole world and every sender can encrypt the data that it is sending to you with your public key. You will then be the only one in the world to have the private key that can decrypt that message and that key was never sent to anybody.

It’s like if you would send an small lockable box – a safe – to someone, but without locking it. He can put something inside, lock it, and send it back to you. The transfer was secure, no one could take the box and see what’s inside on the way back to you. On the other hand, you can open it easily. The best thing is that the key was never transferred in-between you and the other side.

The disadvantage of Public Key Cryptography is in the situation where you lost private key or it leaked, or somebody used a quantum computer to brute force your key. In that moment you will have to generate a new pair of public and private keys to be able to continue secure message sending.

### History

Whitfield Diffie and Martin Hellman invented in 1976 the public-key or asymmetric key technique, called Diffie–Hellman key exchange protocol, which described the method for sending encrypted data across unsecured media without the need to send the decryption key too. The idea of using two different but mathematically related keys.

They didn’t came up with the mathematics of generating the private-public key pairs, this was done two years later by Ronald Rivest, Adi Shamir, and Len Adleman who invented the RSA algorithm.

### How Asymmetric Key Cryptography works

From technical perspective, every cryptographic algorithm in asymmetric key cryptography is based on mathematical problem with no known efficient solution. Some of the most common examples are integer factorization, elliptic curve relationships or discrete logarithm usage. The base of the technical functionality is comprised of easy technique for a public and private key pair generation and their usage for encryption and decryption alternately. The main strength is in highly mathematically/computationally complicated way to calculate the private key from its corresponding public key. This math trick enables the system to publish the public key without affecting security. Security then depends on keeping the private key secure.

### Security in current crypto methods

Symmetric Key Encryption issues

There are few major issues with symmetric encryption that are becoming main motivators for scientists to investigate the possibilities of a better encryption system. The major issue with traditional symmetric cryptography is the secret key which is both encrypting and decrypting the message. If somebody else than sender and receiver comes into possession of that secret key, it means that he could snoop on private communication by decrypting messages between trusted parties.

It usually doesn’t stop there. When somebody, except sender and receiver, has the secret key, that device or person is able not only to read the message but also alter the content without trusted parties knowing about the changes. He is able to decrypt the message, change the content, encrypt again and send it towards the receiver.

Second issue with symmetric crypto is in selecting the secret key properly. What would be the best mechanism to generate and then decide if the secret key selected is secure enough so that nobody on the way could guess it or brute force it in limited time-frame.

The biggest issue of symmetric key and the main reason for Asymmetric Key method existence is the problem of distributing the key to the receiver. Taking the facts that sender will generate the key, use the key to encrypt the message, taking into account that we are looking at symmetric system, the same key would need to be available at receiver side in order for him to be able to decrypt and read the content of the message. If sender is in Croatia and receiver is maybe in Sri Lanka. It is easy to see that the communication with which the key will be send also needs to be secure. It’s a catch 21.

Asymmetric Key Encryption Security Consideration

In order to secure the communication channel, used to exchange secret keys, asymmetric key encryption is used. Usage of asymmetric key encryption, like described in previous section, provides, to date, secure technique of encryption without the need of sending the private key (used for decryption) to receiver.

Asymmetric crypto is considered secure so it is not here listed as another issue which justifies the need for new cryptography mechanism. In this case the issue is not even the present super-computer increasing calculation speed. Today’s supercomputers will still need billions years to generate the right private key from public key. Even when we take the Moore’s law into account it is  clear that the issue is not in increasing speed of current computer architectures. Calculations on our computers are based on binary number manipulation making one arithmetic key pair try per CPU cycle. For example, 3GHz will make 3.000.000.000 instructions per second. Computer needs to go through many instructions to make a simple calculation and try if two primes are resulting in product that we search for (one step of many same steps to make brute force and try all prime numbers products until we hit the one product we search). This process is fairly slow, speeding the CPU and continuing the usage of the same brute force technique will not get us very far in breaking AES encryption. To break current AES with 128-bit key will take approximately 1 billion billion years. Making the process faster will still leave you with billions years of tries.

The real issue is in new, quantum computer architectures, which can, in the near future, change the way multiple calculation steps are performed in the same moment and in this way break asymmetric key security by checking million and millions combinations of primes simultaneously.

If we start to think of new cryptology methods at that time, it will surely be too late to bring bank systems and similar secure communication dependent systems back online in time.
Quantum cryptology . It is clear that all issues above describe problem with keys in current cryptographic mechanisms and their security in transmission.

Quantum cryptography solves exactly that using basic quantum mechanics postulates.  Quantum Key Distribution technique will be descried in one of the next articles soon.

Flowing text is part of a ongoing academic project I’m involved with for the last few years at University of Rijeka – Department of Informatics. It’s a part of academic paper written as a short overview of Quantum Key Distribution technique – QKD. Topics in this paper are edited and transformed in few articles here describing QKD: