Public Key Cryptography

Source: Internet
Author: User
Tags mathematical functions

Significance: The development of public key cryptography is the greatest revolution in the history of cryptography, perhaps the only one. Rotary Press and DES are important symbols of cryptography development, but they are all based on substitution and substitution of these elementary methods.

put forward the background: to solve the two most difficult problems in the traditional password. 1 , password distribution; 2 , digital signatures

Features:1, the public key algorithm is based on mathematical functions rather than substitution and substitution,2, the public key password is asymmetric, using two separate keys.

The difference between a traditional password and a public key password

A few misconceptions:

1. Public key is more secure than traditional password

The security of any encryption method depends on the key length and the amount of computation required to decipher the ciphertext

2, the public key password will replace the traditional password

Because the existing public key cipher is computationally large, it is unlikely to replace the traditional password, which is mainly used in key management and signature

Public Key Cryptography System

  

The public-key algorithm relies on an encryption key and a related decryption key, which have the following characteristics:

1, only according to the cipher algorithm and encryption key to determine the decryption key is not feasible in computing;

2, for some algorithms (such as RSA) also meet the following characteristics

Any one of the two keys can be used for encryption and the other for decryption.

Public Key cryptography has 6 components: plaintext, encryption algorithm, public key, private key, ciphertext, decryption algorithm

The main steps of its encryption are as follows:

1. Each user generates a pair of keys, one of which is stored in a public register or file for access, called a public key. The other remains private, called the private key. Each user can have a large number of other users ' public keys.

2, if a to send a message to b, then a with b 's public key to encrypt the message, because only b There is a private key, and therefore only B the message can be decrypted and no other recipient will be able to decrypt the message.

In addition, the public key system can also be used for authentication , the following:

1, a to b before sending a message, first use a 's private key to encrypt the message, because B only with a 's public key to decrypt the message, so the message can be used for authentication source and data integrity.

This can be improved because authentication encryption for the entire message is too computationally time-consuming and storage space. Only a small block of data called an authenticator is encrypted, the authentication block is a function of the entire message, any modification of the message will inevitably cause the change of the authenticator, so the sender's private key to encrypt the authentication, the result of the encryption can be used as a digital signature, it can verify the validity of the message source, message and communication sequence.

In order to ensure encryption and authentication at the same time, it is necessary to digitally sign the sender's private key , and then encrypt the whole message with the receiver's public key . However, the disadvantage of this method is to execute four complex public key algorithms in each communication.

Application of public-key cryptography system

Generally, the application of public key cryptography is divided into three categories:

1. encryption / decryption : The sender encrypts the information with the receiver's public key

2. Digital signature : The sender uses its own private key to "sign" the message

3. Key Exchange : Exchange session key between two communicating parties (the key of traditional password)

Requirements for a public key password

1, receiver B generating a pair of keys is easy to calculate

2, the known public key and the message Mto be encrypted, sender a generates corresponding ciphertext in the calculation is easy

C = E (pub,m)

3, receiver B Use the private key to decrypt the received ciphertext to restore the clear text is easy to calculate

M = d (prb,c) = d (Prb,e (pub,m))

4, the known public key PUB, the attacker to determine the private key PRB is not feasible in the calculation

5, known public key PUB and ciphertext C, the attacker to restore the plaintext M is not feasible in computing

6, for some public key cryptography application, also should satisfy the encryption and decryption function order can exchange

M = d (pub,e (prb,m)) = d (Prb,e (pub,m))

In fact, to meet the above conditions is to find a one- way trap gate function . A one-way trap function satisfies the following properties:

If K and X are known, Y = fk (x) is easy to calculate

If K and y are known, X = fk-1 (y) is easy to calculate

If y is known but K is unknown, it is not feasible to ask X = fk-1 (y)

The above calculation is easy to refer to: A problem can be solved in the input length polynomial time, even if input length is n bits, the computational time complexity is nA,a is a constant.

Computational unavailability means that the time required to resolve a problem is faster than the polynomial of the input scale. If the input length is n bits, the computational time complexity is 2N.

Public Key Cryptography Analysis

1. exhaustive attack : The solution is to use a long key, but the long key will slow the encryption / decryption (public key password encryption / decryption time to the non-linear growth of the key length), Therefore, the application of public key cryptography is restricted.

2. calculate the private key according to the public key : There is no mathematical proof to make the attack infeasible, but there is no viable way to do such an attack.

3, exhaustive message attack (public key System-specific): according to the characteristics of the message itself (the public key is often used to pass the traditional password key) to carry out the attack on the message, such as the transmission of the level DES key. The workaround is to append a random number to the message to be sent.

Public Key Cryptography

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.