<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://en.zaoniao.it/index.php?action=history&amp;feed=atom&amp;title=Symmetric-key_algorithm</id>
	<title>Symmetric-key algorithm - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://en.zaoniao.it/index.php?action=history&amp;feed=atom&amp;title=Symmetric-key_algorithm"/>
	<link rel="alternate" type="text/html" href="http://en.zaoniao.it/index.php?title=Symmetric-key_algorithm&amp;action=history"/>
	<updated>2026-05-15T10:20:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>http://en.zaoniao.it/index.php?title=Symmetric-key_algorithm&amp;diff=7103&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;'''Symmetric-key algorithms''' are algorithms for cryptography that use the same cryptographic keys for both encryption of plaintext and dec...&quot;</title>
		<link rel="alternate" type="text/html" href="http://en.zaoniao.it/index.php?title=Symmetric-key_algorithm&amp;diff=7103&amp;oldid=prev"/>
		<updated>2019-07-23T03:28:50Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Symmetric-key algorithms&amp;#039;&amp;#039;&amp;#039; are &lt;a href=&quot;/index.php?title=Algorithm&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Algorithm (page does not exist)&quot;&gt;algorithms&lt;/a&gt; for &lt;a href=&quot;/index.php?title=Cryptography&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Cryptography (page does not exist)&quot;&gt;cryptography&lt;/a&gt; that use the same &lt;a href=&quot;/index.php?title=Key_(cryptography)&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Key (cryptography) (page does not exist)&quot;&gt;cryptographic keys&lt;/a&gt; for both encryption of &lt;a href=&quot;/index.php?title=Plaintext&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Plaintext (page does not exist)&quot;&gt;plaintext&lt;/a&gt; and dec...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Symmetric-key algorithms''' are [[algorithm]]s for [[cryptography]] that use the same [[Key (cryptography)|cryptographic keys]] for both encryption of [[plaintext]] and decryption of [[ciphertext]]. The keys may be identical or there may be a simple transformation to go between the two keys. The keys, in practice, represent a [[shared secret]] between two or more parties that can be used to maintain a private information link. This requirement that both parties have access to the secret key is one of the main drawbacks of symmetric key encryption, in comparison to [[public-key encryption]] (also known as [[public-key encryption|asymmetric key encryption]]).&lt;br /&gt;
&lt;br /&gt;
== Types of symmetric-key algorithms ==&lt;br /&gt;
Symmetric-key encryption can use either [[stream cipher]]s or [[block cipher]]s.&lt;br /&gt;
&lt;br /&gt;
* Stream ciphers encrypt the digits (typically bytes) of a message one at a time.&lt;br /&gt;
* Block ciphers take a number of bits and encrypt them as a single unit, padding the plaintext so that it is a multiple of the block size. Blocks of 64 bits were commonly used. The [[Advanced Encryption Standard]] (AES) algorithm approved by [[NIST]] in December 2001, and the [[Galois/Counter Mode|GCM]] block cipher mode of operation use 128-bit blocks.&lt;br /&gt;
&lt;br /&gt;
== Implementations ==&lt;br /&gt;
Examples of popular symmetric-key algorithms include [[Twofish]], [[Serpent (cipher)|Serpent]], [[Advanced Encryption Standard|AES]] (Rijndael), [[Blowfish (cipher)|Blowfish]], [[CAST5]], [[Kuznyechik]], [[RC4]], [[Triple DES|3DES]], [[Skipjack (cipher)|Skipjack]], Safer+/++ (Bluetooth), and [[International Data Encryption Algorithm|IDEA]].&lt;br /&gt;
&lt;br /&gt;
== Cryptographic primitives based on symmetric ciphers ==&lt;br /&gt;
Symmetric ciphers are commonly used to achieve other [[cryptographic primitive]]s than just encryption.&lt;br /&gt;
&lt;br /&gt;
Encrypting a message does not guarantee that this message is not changed while encrypted. Hence often a [[message authentication code]] is added to a ciphertext to ensure that changes to the ciphertext will be noted by the receiver. Message authentication codes can be constructed from symmetric ciphers (e.g. [[CBC-MAC]]).&lt;br /&gt;
&lt;br /&gt;
However, symmetric ciphers cannot be used for [[non-repudiation]] purposes except by involving additional parties. See the [http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=44736 ISO/IEC 13888-2 standard].&lt;br /&gt;
&lt;br /&gt;
Another application is to build [[hash function]]s from block ciphers. See [[one-way compression function]] for descriptions of several such methods.&lt;br /&gt;
&lt;br /&gt;
== Construction of symmetric ciphers ==&lt;br /&gt;
&lt;br /&gt;
Many modern block ciphers are based on a construction proposed by [[Horst Feistel]]. Feistel's construction makes it possible to build invertible functions from other functions that are themselves not invertible.&lt;br /&gt;
&lt;br /&gt;
== Security of symmetric ciphers ==&lt;br /&gt;
Symmetric ciphers have historically been susceptible to [[known-plaintext attack]]s, [[chosen-plaintext attack]]s, [[differential cryptanalysis]] and [[linear cryptanalysis]]. Careful construction of the functions for each round can greatly reduce the chances of a successful attack.&lt;br /&gt;
&lt;br /&gt;
== Key management ==&lt;br /&gt;
&lt;br /&gt;
== Key establishment ==&lt;br /&gt;
&lt;br /&gt;
Symmetric-key algorithms require both the sender and the recipient of a message to have the same secret key.&lt;br /&gt;
All early cryptographic systems required one of those people to somehow receive a copy of that secret key over a physically secure channel.&lt;br /&gt;
&lt;br /&gt;
Nearly all modern cryptographic systems still use symmetric-key algorithms internally to encrypt the bulk of the messages, but they eliminate the need for a physically secure channel by using [[Diffie–Hellman key exchange]] or some other [[public-key cryptography|public-key protocol]] to securely come to agreement on a fresh new secret key for each message ([[forward secrecy]]).&lt;br /&gt;
&lt;br /&gt;
== Key generation ==&lt;br /&gt;
&lt;br /&gt;
When used with asymmetric ciphers for key transfer, [[Cryptographically secure pseudorandom number generator|pseudorandom key generator]]s are nearly always used to generate the symmetric cipher session keys. However, lack of randomness in those generators or in their [[initialization vector]]s is disastrous and has led to cryptanalytic breaks in the past. Therefore, it is essential that an implementation uses a source of high [[Entropy (information theory)|entropy]] for its initialization.&lt;br /&gt;
&lt;br /&gt;
== Reciprocal cipher ==&lt;br /&gt;
&lt;br /&gt;
A reciprocal cipher is a cipher where, just as one enters the [[plaintext]] into the [[cryptography]] system to get the [[ciphertext]], one could enter the ciphertext into the same place in the system to get the plaintext. A reciprocal cipher is also sometimes referred as self-reciprocal cipher. Examples of reciprocal ciphers include:&lt;br /&gt;
* [[Beaufort cipher]]&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
&lt;br /&gt;
[http://wikipedia.org/ http://wikipedia.org/]&lt;br /&gt;
&lt;br /&gt;
[[Category:Cryptographic algorithms]]&lt;br /&gt;
==See Also on BitcoinWiki==&lt;br /&gt;
* [[Attrace]]&lt;br /&gt;
* [[Asura Coin]]&lt;br /&gt;
* [[Cloudbric]]&lt;br /&gt;
* [[Bitbose]]&lt;br /&gt;
* [[ZeroBank]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>