Sunday, August 16, 2009

Public key encryption


Public key encryption

By choosing two large prime numbers and properly manipulating them, we can extract two keys, multiply them to get the number to evaluate the modular expressions. We can encrypt a message by chopping it up into small chunks, converting those chunks to numbers raising those numbers to the power of one of the keys and calculating the result modulo the sum of the two original primes. As a result these two keys work together to create an encryption algorithm. We can encrypt a message with one of the keys; use another key to decrypt it, doing the same process on encrypted text.



Encrypting with one key cannot be reversed without the other key. One of the keys is called a public key and can be safely distributed publicly; the other key is called a private or secret key and is not for distribution.

The idea behind the dominant public key encryption scheme is simple. Named for its inventors, Ron Rivest, Adi Shamir and Len Adleman, RSA was patented and it is now owned by RSA Data Security,Inc.(RSADSI).

Very simply we got public and private keys you can communicate securely and reliably. Encryption of the key is done with recipient’s public key only the recipient is able to decrypt that transmission.

If the numbers we select as keys are too small, someone could intercept our encrypted messages and apply a brute force attack with some chance of success.

Trusted key distribution and verification

With wider application of public key cryptography for the purpose of commerce, mechanisms for trusted publication and distribution of public keys are necessary. Simply having a customer send a copy of public key will not do since a forger could send her own public key while pretending to be someone else.

1 comment:

  1. After reading this information I have understood the clear meaning and purpose of public key encryption. I think its a great way to secure information online and this technique can't be easily cracked.
    public key infrastructure

    ReplyDelete