Category: 

What is Symmetric Cryptography?

Article Details
  • Written By: Jessica Reed
  • Edited By: Heather Bailey
  • Last Modified Date: 26 August 2016
  • Copyright Protected:
    2003-2016
    Conjecture Corporation
  • Print this Article
Free Widgets for your Site/Blog
In late 19th-century London, mail was delivered to residential addresses up to twelve times each day.   more...

September 28 ,  1924 :  Two US military planes complete the first flights around the world.  more...

Symmetric cryptography uses symmetric-key algorithms for the encryption and decryption of data. An algorithm is a specific formula with a limited number of steps that contains instructions for solving a problem, and a symmetric-key algorithm is a specific formula that often uses the same cryptographic key for both encryption and decryption. To better understand how this works, it helps to have an understanding of how cryptography works in relation to technology.

For example, a computer that needs to transfer sensitive information may choose to encrypt the information, a process which alters it into a sort of code that would appear as a bunch of nonsense if anyone tried to read it. After the information is transferred to its desired location, a specific code deciphers the information into readable text. This process is known as decryption and the computer must have the right code to perform this process correctly. Banks that offer online services use a form of encryption to keep their customers’ information private and secure.

A mathematical formula known as a cryptographic algorithm is responsible for creating the code to encrypt the information and the code for deciphering it later on. A specific piece of information known as a cryptographic key tells the cryptographic algorithm how to encrypt and then decode the specific information it receives. The key only works with that particular algorithm and would be useless for deciphering code from a different algorithm.

Ad

When using symmetric cryptography, the algorithm uses the same cryptographic key for performing the encoding and decoding processes instead of using a separate key for each. The keys are usually identical or nearly identical with only one small change required to make each one work. Typically, only those who plan to use the key will know the password or other secret code, or phrase, needed to cause the key to start working. This allows two people to share information between themselves without worrying that someone else might intercept the code and read it.

Other terms used to describe the symmetric-key algorithms used in symmetric cryptography include secret-key cryptography, private-key cryptography, and one-key cryptography. Symmetric cryptography is normally used for sharing between two people or a small group instead of by large online networks like banks. An ATM machine, for example, may use symmetric cryptography and require the user to input a bank account number and personal identification number before it will let that person access his account.

Ad

You might also Like

Recommended

Discuss this Article

miriam98
Post 2

@NathanG - I don’t know. I guess I see the point of asymmetric key information. If you have different keys for encoding and decoding, then it offers a certain layer of security.

What if someone steals the encoding key for example? They still can’t decode the information because the key for decoding is totally different. Each approach has its uses I suppose.

If I were working for the defense department however I think that asymmetric key encryption would be the method to use for maximum security.

NathanG
Post 1

This is an excellent introduction to a very technical subject. I had been aware of cryptography before but didn’t really know the different cryptographic methods. After reading this I am convinced that symmetric key cryptography is probably the best method to use. Only two people (or entities, I suppose) would have the same key that opens the door to the encoded information.

Just from a common sense perspective, this seems to make sense. I am not sure why you would need the other kind of cryptography, one that is asymmetric in nature. Maybe if a whole bunch of people need to access the information, like in a private virtual network, then an asymmetric key would make sense.

Post your comments

exception 'Exception' with message 'error writing captcha: Duplicate entry '2147483647' for key 'PRIMARY'' in /ssd/www/wisegeek/public_html/_core/classes/public/Captcha.php:44
Stack trace:
#0 /ssd/www/wisegeek/public_html/_core/controls/public/ControlDiscussionPostBox.php(324): Captcha->createCaptcha()
#1 /ssd/www/wisegeek/public_html/framework/classes/Control.php(104): ControlDiscussionPostBox->preRender(false)
#2 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): Control->render()
#3 /ssd/www/wisegeek/public_html/tpl/default-nocustom-lu/pages/public/article/article.htm(526): Control->__toString()
#4 /ssd/www/wisegeek/public_html/framework/classes/Control.php(300): require('/ssd/www/wisege...')
#5 /ssd/www/wisegeek/public_html/framework/classes/Control.php(309): Control->requireTpl('pages/public/ar...', Object(PageArticleCom), true)
#6 /ssd/www/wisegeek/public_html/framework/classes/Control.php(131): Control->renderTpl('pages/public/ar...', Object(PageArticleCom))
#7 /ssd/www/wisegeek/public_html/framework/classes/FormDataControl.php(87): Control->renderTemplate()
#8 /ssd/www/wisegeek/public_html/framework/classes/Control.php(109): FormDataControl->renderTemplate()
#9 /ssd/www/wisegeek/public_html/framework/classes/ScriptPage.php(50): Control->render(false)
#10 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): ScriptPage->render()
#11 /ssd/www/wisegeek/public_html/framework/classes/Page.php(97): Control->__toString()
#12 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(443): Page->processRequest()
#13 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(7): PublicFrontController->renderPage()
#14 /ssd/www/wisegeek/public_html/index.php(11): PublicFrontController::run()
#15 {main}