Post on 03-Jun-2018
transcript
8/12/2019 concept2.1.2
1/12
ENCRYPTION:
Incryptography,encryptionis the process of encoding messages or information in such a way
that only authorized parties can read it.[1]
Encryption doesn't prevent hacking but it reduces the
likelihood that the hacker will be able to read the data that is encrypted.[2]:374
In an encryption
scheme, the message or information, referred to asplaintext,is encrypted using an encryption
algorithm, turning it into an unreadableciphertext.[2]
This is usually done with the use of
anencryption key,which specifies how the message is to be encoded. Any adversary that can see
the ciphertext should not be able to determine anything about the original message. An
authorized party, however, is able to decode the ciphertext using a decryption algorithm, that
usually requires a secret decryption key, that adversaries do not have access to. For technical
reasons, an encryption scheme usually needs a key-generation algorithm to randomly produce
keys.
There are two kinds of encryption,
1)Symmetric key encryption
2)public key encryption
Symmetric key encryption
InSymmetric-keyschemes,[3]
the encryption and decryption keys are the same. Thus
communicating parties must agree on a secret key before they wish to communicate.
Public key encryption
Illustration of how a file or document is sent usingPublic key encryption.
Inpublic-key encryptionschemes, the encryption key is published for anyone to use and encryptmessages. However, only the receiving party has access to the decryption key and is capable of
reading the encrypted messages.[4]
Public-key encryption is a relatively recent invention:
historically, all encryption schemes have been symmetric-key (also called private-key)
schemes.[2]:478
One of the earliestpublic key encryptionapplications was calledPretty Good Privacy(PGP). Itwas written in 1991 byPhil Zimmermannand was purchased bySymantecin 2010.
Working of encryption:
Encryption has long been used by militaries and governments to facilitate secret communication.
It is now commonly used in protecting information within many kinds of civilian systems. Forexample, theComputer Security Institutereported that in 2007, 71% of companies surveyed
utilized encryption for some of their data in transit, and 53% utilized encryption for some of their
http://en.wikipedia.org/wiki/Cryptographyhttp://en.wikipedia.org/wiki/Cryptographyhttp://en.wikipedia.org/wiki/Cryptographyhttp://en.wikipedia.org/wiki/Encryption#cite_note-1http://en.wikipedia.org/wiki/Encryption#cite_note-1http://en.wikipedia.org/wiki/Encryption#cite_note-1http://en.wikipedia.org/wiki/Encryption#cite_note-Goldreich-2http://en.wikipedia.org/wiki/Encryption#cite_note-Goldreich-2http://en.wikipedia.org/wiki/Encryption#cite_note-Goldreich-2http://en.wikipedia.org/wiki/Plaintexthttp://en.wikipedia.org/wiki/Plaintexthttp://en.wikipedia.org/wiki/Plaintexthttp://en.wikipedia.org/wiki/Ciphertexthttp://en.wikipedia.org/wiki/Ciphertexthttp://en.wikipedia.org/wiki/Encryption#cite_note-Goldreich-2http://en.wikipedia.org/wiki/Encryption#cite_note-Goldreich-2http://en.wikipedia.org/wiki/Encryption#cite_note-Goldreich-2http://en.wikipedia.org/wiki/Key_(cryptography)http://en.wikipedia.org/wiki/Key_(cryptography)http://en.wikipedia.org/wiki/Key_(cryptography)http://en.wikipedia.org/wiki/Symmetric-key_algorithmhttp://en.wikipedia.org/wiki/Symmetric-key_algorithmhttp://en.wikipedia.org/wiki/Symmetric-key_algorithmhttp://en.wikipedia.org/wiki/Encryption#cite_note-3http://en.wikipedia.org/wiki/Encryption#cite_note-3http://en.wikipedia.org/wiki/Encryption#cite_note-3http://en.wikipedia.org/wiki/Public_key_encryptionhttp://en.wikipedia.org/wiki/Public_key_encryptionhttp://en.wikipedia.org/wiki/Public_key_encryptionhttp://en.wikipedia.org/wiki/Public-key_encryptionhttp://en.wikipedia.org/wiki/Public-key_encryptionhttp://en.wikipedia.org/wiki/Public-key_encryptionhttp://en.wikipedia.org/wiki/Encryption#cite_note-4http://en.wikipedia.org/wiki/Encryption#cite_note-4http://en.wikipedia.org/wiki/Encryption#cite_note-4http://en.wikipedia.org/wiki/Encryption#cite_note-Goldreich-2http://en.wikipedia.org/wiki/Encryption#cite_note-Goldreich-2http://en.wikipedia.org/wiki/Encryption#cite_note-Goldreich-2http://en.wikipedia.org/wiki/Public_key_encryptionhttp://en.wikipedia.org/wiki/Public_key_encryptionhttp://en.wikipedia.org/wiki/Pretty_Good_Privacyhttp://en.wikipedia.org/wiki/Pretty_Good_Privacyhttp://en.wikipedia.org/wiki/Pretty_Good_Privacyhttp://en.wikipedia.org/wiki/Phil_Zimmermannhttp://en.wikipedia.org/wiki/Phil_Zimmermannhttp://en.wikipedia.org/wiki/Phil_Zimmermannhttp://en.wikipedia.org/wiki/Symantechttp://en.wikipedia.org/wiki/Symantechttp://en.wikipedia.org/wiki/Symantechttp://en.wikipedia.org/wiki/Computer_Security_Institutehttp://en.wikipedia.org/wiki/Computer_Security_Institutehttp://en.wikipedia.org/wiki/Computer_Security_Institutehttp://en.wikipedia.org/wiki/File:Public_key_encryption_keys.pnghttp://en.wikipedia.org/wiki/Computer_Security_Institutehttp://en.wikipedia.org/wiki/Symantechttp://en.wikipedia.org/wiki/Phil_Zimmermannhttp://en.wikipedia.org/wiki/Pretty_Good_Privacyhttp://en.wikipedia.org/wiki/Public_key_encryptionhttp://en.wikipedia.org/wiki/Encryption#cite_note-Goldreich-2http://en.wikipedia.org/wiki/Encryption#cite_note-4http://en.wikipedia.org/wiki/Public-key_encryptionhttp://en.wikipedia.org/wiki/Public_key_encryptionhttp://en.wikipedia.org/wiki/Encryption#cite_note-3http://en.wikipedia.org/wiki/Symmetric-key_algorithmhttp://en.wikipedia.org/wiki/Key_(cryptography)http://en.wikipedia.org/wiki/Encryption#cite_note-Goldreich-2http://en.wikipedia.org/wiki/Ciphertexthttp://en.wikipedia.org/wiki/Plaintexthttp://en.wikipedia.org/wiki/Encryption#cite_note-Goldreich-2http://en.wikipedia.org/wiki/Encryption#cite_note-1http://en.wikipedia.org/wiki/Cryptography8/12/2019 concept2.1.2
2/12
data in storage.[6]
Encryption can be used to protect data "at rest", such as files on computers and
storage devices (e.g.USB flash drives). In recent years there have been numerous reports of
confidential data such as customers' personal records being exposed through loss or theft oflaptops or backup drives. Encrypting such files at rest helps protect them should physical
security measures fail.Digital rights managementsystems which prevent unauthorized use or
reproduction of copyrighted material and protect software againstreverse engineering(seealsocopy protection)is another somewhat different example of using encryption on data atrest.
[citation needed]
Encryption is also used to protect data in transit, for example data being transferred
vianetworks(e.g. the Internet,e-commerce),mobile telephones,wireless microphones,wireless
intercomsystems,Bluetoothdevices and bankautomatic teller machines.There have beennumerous reports of data in transit being intercepted in recent years.
[7]Encrypting data in transit
also helps to secure it as it is often difficult to physically secure all access to networks.[citation
needed]
Message verification[edit]
Encryption, by itself, can protect the confidentiality of messages, but other techniques are stillneeded to protect the integrity and authenticity of a message; for example, verification ofamessage authentication code(MAC) or adigital signature.Standards forcryptographic
softwareand hardware to perform encryption are widely available, but successfully using
encryption to ensure security may be a challenging problem. A single slip-up in system design orexecution can allow successful attacks. Sometimes an adversary can obtain unencrypted
information without directly undoing the encryption. See, e.g.,traffic analysis,TEMPEST,
orTrojan horse.[citation needed]
Digital signature and encryption must be applied at message creation time (i.e. on the samedevice it has been composed) to avoid tampering. Otherwise any node between the sender and
the encryption agent could potentially tamper it. It should be noted that encrypting at the time of
creation only adds security if the encryption device itself has not been tampered with.
Encryption algorithms are of different types
1) RSA algorithm2) DES algorithm3) AES algorithm
RSA algorithm :
RSAis acryptosystem,which is known as one of the first practicablepublic-keycryptosystemsand is widely used for secure data transmission. In such a cryptosystem,
theencryption keyis public and differs from thedecryption keywhich is kept secret. In RSA,
this asymmetry is based on the practical difficulty offactoringthe product of two largeprime
numbers,thefactoring problem.RSA stands forRon Rivest,Adi ShamirandLeonard Adleman,who first publicly described the algorithm in 1977.Clifford Cocks,an English mathematician,
had developed an equivalent system in 1973, but it wasn'tdeclassifieduntil 1997.[1]
A user of RSA creates and then publishes theproductof two largeprime numbers,along with an
auxiliary value, as their public key. The prime factors must be kept secret. Anyone can use thepublic key to encrypt a message, but with currently published methods, if the public key is large
enough, only someone with knowledge of the prime factors can feasibly decode the
http://en.wikipedia.org/wiki/Encryption#cite_note-6http://en.wikipedia.org/wiki/Encryption#cite_note-6http://en.wikipedia.org/wiki/USB_flash_driveshttp://en.wikipedia.org/wiki/USB_flash_driveshttp://en.wikipedia.org/wiki/USB_flash_driveshttp://en.wikipedia.org/wiki/Digital_rights_managementhttp://en.wikipedia.org/wiki/Digital_rights_managementhttp://en.wikipedia.org/wiki/Digital_rights_managementhttp://en.wikipedia.org/wiki/Reverse_engineeringhttp://en.wikipedia.org/wiki/Reverse_engineeringhttp://en.wikipedia.org/wiki/Reverse_engineeringhttp://en.wikipedia.org/wiki/Copy_protectionhttp://en.wikipedia.org/wiki/Copy_protectionhttp://en.wikipedia.org/wiki/Copy_protectionhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Computer_networkhttp://en.wikipedia.org/wiki/Computer_networkhttp://en.wikipedia.org/wiki/Computer_networkhttp://en.wikipedia.org/wiki/E-commercehttp://en.wikipedia.org/wiki/E-commercehttp://en.wikipedia.org/wiki/E-commercehttp://en.wikipedia.org/wiki/Mobile_telephonehttp://en.wikipedia.org/wiki/Mobile_telephonehttp://en.wikipedia.org/wiki/Mobile_telephonehttp://en.wikipedia.org/wiki/Wireless_microphonehttp://en.wikipedia.org/wiki/Wireless_microphonehttp://en.wikipedia.org/wiki/Wireless_microphonehttp://en.wikipedia.org/wiki/Wireless_intercomhttp://en.wikipedia.org/wiki/Wireless_intercomhttp://en.wikipedia.org/wiki/Wireless_intercomhttp://en.wikipedia.org/wiki/Wireless_intercomhttp://en.wikipedia.org/wiki/Bluetoothhttp://en.wikipedia.org/wiki/Bluetoothhttp://en.wikipedia.org/wiki/Bluetoothhttp://en.wikipedia.org/wiki/Automatic_teller_machinehttp://en.wikipedia.org/wiki/Automatic_teller_machinehttp://en.wikipedia.org/wiki/Automatic_teller_machinehttp://en.wikipedia.org/wiki/Encryption#cite_note-7http://en.wikipedia.org/wiki/Encryption#cite_note-7http://en.wikipedia.org/wiki/Encryption#cite_note-7http://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/w/index.php?title=Encryption&action=edit§ion=5http://en.wikipedia.org/w/index.php?title=Encryption&action=edit§ion=5http://en.wikipedia.org/w/index.php?title=Encryption&action=edit§ion=5http://en.wikipedia.org/wiki/Message_authentication_codehttp://en.wikipedia.org/wiki/Message_authentication_codehttp://en.wikipedia.org/wiki/Message_authentication_codehttp://en.wikipedia.org/wiki/Digital_signaturehttp://en.wikipedia.org/wiki/Digital_signaturehttp://en.wikipedia.org/wiki/Digital_signaturehttp://en.wikipedia.org/wiki/Cryptographic_softwarehttp://en.wikipedia.org/wiki/Cryptographic_softwarehttp://en.wikipedia.org/wiki/Cryptographic_softwarehttp://en.wikipedia.org/wiki/Cryptographic_softwarehttp://en.wikipedia.org/wiki/Traffic_analysishttp://en.wikipedia.org/wiki/Traffic_analysishttp://en.wikipedia.org/wiki/Traffic_analysishttp://en.wikipedia.org/wiki/TEMPESThttp://en.wikipedia.org/wiki/TEMPESThttp://en.wikipedia.org/wiki/TEMPESThttp://en.wikipedia.org/wiki/Trojan_horse_(computing)http://en.wikipedia.org/wiki/Trojan_horse_(computing)http://en.wikipedia.org/wiki/Trojan_horse_(computing)http://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Cryptosystemhttp://en.wikipedia.org/wiki/Cryptosystemhttp://en.wikipedia.org/wiki/Cryptosystemhttp://en.wikipedia.org/wiki/Public-key_cryptographyhttp://en.wikipedia.org/wiki/Public-key_cryptographyhttp://en.wikipedia.org/wiki/Public-key_cryptographyhttp://en.wikipedia.org/wiki/Public-key_cryptographyhttp://en.wikipedia.org/wiki/Encryption_keyhttp://en.wikipedia.org/wiki/Encryption_keyhttp://en.wikipedia.org/wiki/Encryption_keyhttp://en.wikipedia.org/wiki/Decryption_keyhttp://en.wikipedia.org/wiki/Decryption_keyhttp://en.wikipedia.org/wiki/Decryption_keyhttp://en.wikipedia.org/wiki/Factorizationhttp://en.wikipedia.org/wiki/Factorizationhttp://en.wikipedia.org/wiki/Factorizationhttp://en.wikipedia.org/wiki/Prime_numberhttp://en.wikipedia.org/wiki/Prime_numberhttp://en.wikipedia.org/wiki/Prime_numberhttp://en.wikipedia.org/wiki/Prime_numberhttp://en.wikipedia.org/wiki/Factoring_problemhttp://en.wikipedia.org/wiki/Factoring_problemhttp://en.wikipedia.org/wiki/Factoring_problemhttp://en.wikipedia.org/wiki/Ron_Rivesthttp://en.wikipedia.org/wiki/Ron_Rivesthttp://en.wikipedia.org/wiki/Ron_Rivesthttp://en.wikipedia.org/wiki/Adi_Shamirhttp://en.wikipedia.org/wiki/Adi_Shamirhttp://en.wikipedia.org/wiki/Adi_Shamirhttp://en.wikipedia.org/wiki/Leonard_Adlemanhttp://en.wikipedia.org/wiki/Leonard_Adlemanhttp://en.wikipedia.org/wiki/Clifford_Cockshttp://en.wikipedia.org/wiki/Clifford_Cockshttp://en.wikipedia.org/wiki/Clifford_Cockshttp://en.wikipedia.org/wiki/Classified_informationhttp://en.wikipedia.org/wiki/Classified_informationhttp://en.wikipedia.org/wiki/Classified_informationhttp://en.wikipedia.org/wiki/RSA_(cryptosystem)#cite_note-1http://en.wikipedia.org/wiki/RSA_(cryptosystem)#cite_note-1http://en.wikipedia.org/wiki/RSA_(cryptosystem)#cite_note-1http://en.wikipedia.org/wiki/Product_(mathematics)http://en.wikipedia.org/wiki/Product_(mathematics)http://en.wikipedia.org/wiki/Product_(mathematics)http://en.wikipedia.org/wiki/Prime_numberhttp://en.wikipedia.org/wiki/Prime_numberhttp://en.wikipedia.org/wiki/Prime_numberhttp://en.wikipedia.org/wiki/Prime_numberhttp://en.wikipedia.org/wiki/Product_(mathematics)http://en.wikipedia.org/wiki/RSA_(cryptosystem)#cite_note-1http://en.wikipedia.org/wiki/Classified_informationhttp://en.wikipedia.org/wiki/Clifford_Cockshttp://en.wikipedia.org/wiki/Leonard_Adlemanhttp://en.wikipedia.org/wiki/Adi_Shamirhttp://en.wikipedia.org/wiki/Ron_Rivesthttp://en.wikipedia.org/wiki/Factoring_problemhttp://en.wikipedia.org/wiki/Prime_numberhttp://en.wikipedia.org/wiki/Prime_numberhttp://en.wikipedia.org/wiki/Factorizationhttp://en.wikipedia.org/wiki/Decryption_keyhttp://en.wikipedia.org/wiki/Encryption_keyhttp://en.wikipedia.org/wiki/Public-key_cryptographyhttp://en.wikipedia.org/wiki/Public-key_cryptographyhttp://en.wikipedia.org/wiki/Cryptosystemhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Trojan_horse_(computing)http://en.wikipedia.org/wiki/TEMPESThttp://en.wikipedia.org/wiki/Traffic_analysishttp://en.wikipedia.org/wiki/Cryptographic_softwarehttp://en.wikipedia.org/wiki/Cryptographic_softwarehttp://en.wikipedia.org/wiki/Digital_signaturehttp://en.wikipedia.org/wiki/Message_authentication_codehttp://en.wikipedia.org/w/index.php?title=Encryption&action=edit§ion=5http://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Encryption#cite_note-7http://en.wikipedia.org/wiki/Automatic_teller_machinehttp://en.wikipedia.org/wiki/Bluetoothhttp://en.wikipedia.org/wiki/Wireless_intercomhttp://en.wikipedia.org/wiki/Wireless_intercomhttp://en.wikipedia.org/wiki/Wireless_microphonehttp://en.wikipedia.org/wiki/Mobile_telephonehttp://en.wikipedia.org/wiki/E-commercehttp://en.wikipedia.org/wiki/Computer_networkhttp://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttp://en.wikipedia.org/wiki/Copy_protectionhttp://en.wikipedia.org/wiki/Reverse_engineeringhttp://en.wikipedia.org/wiki/Digital_rights_managementhttp://en.wikipedia.org/wiki/USB_flash_driveshttp://en.wikipedia.org/wiki/Encryption#cite_note-68/12/2019 concept2.1.2
3/12
message.[2]
Breaking RSAencryptionis known as theRSA problem.It is an open question
whether it is as hard as the factoring problem.
Key generation[edit]
RSA involves apublic keyand aprivate key.The public key can be known by everyone and is
used for encrypting messages. Messages encrypted with the public key can only be decrypted ina reasonable amount of time using the private key. The keys for the RSA algorithm are generated
the following way:
1. Choose two distinctprime numberspand q.2. For security purposes, the integerspand qshould be chosen at random, and should be of
similar bit-length. Prime integers can be efficiently found using aprimality test.
3.Compute n=pq. nis used as themodulusfor both the public and private keys. Its length,
usually expressed in bits, is thekey length.
4.Compute (n) = (p)(q) = (p 1)(q 1), where isEuler's totient function.
5.Choose an integer esuch that 1 < e< (n) andgcd(e, (n)) = 1; i.e., eand (n) arecoprime.
eis released as the public key exponent. ehaving a shortbit-lengthand smallHamming weightresults in more efficient
encryptionmost commonly216
+ 1 = 65,537. However, much smaller values
of e(such as 3) have been shown to be less secure in some settings.[5]
6.Determine das de1(mod (n)); i.e., dis themultiplicative inverseof e(modulo (n)).
This is more clearly stated as: solve for dgiven de 1 (mod (n)) This is often computed using theextended Euclidean algorithm.Using the
pseudocode in theModular integerssection, inputs aand ncorrespond to eand (n),
respectively.
dis kept as the private key exponent.Thepublic keyconsists of the modulus nand the public (or encryption) exponent e.
Theprivate keyconsists of the modulus nand the private (or decryption) exponent d, which
must be kept secret.p, q, and (n) must also be kept secret because they can be used tocalculate d.
An alternative, used byPKCS#1,is to choose dmatching de 1 (mod )with =lcm(p 1,q 1), where lcm is theleast common multiple.Using instead of (n)
allows more choices for d. can also be defined using theCarmichael function,(n).
http://en.wikipedia.org/wiki/RSA_(cryptosystem)#cite_note-rsa-2http://en.wikipedia.org/wiki/RSA_(cryptosystem)#cite_note-rsa-2http://en.wikipedia.org/wiki/RSA_(cryptosystem)#cite_note-rsa-2http://en.wikipedia.org/wiki/Encryptionhttp://en.wikipedia.org/wiki/Encryptionhttp://en.wikipedia.org/wiki/Encryptionhttp://en.wikipedia.org/wiki/RSA_problemhttp://en.wikipedia.org/wiki/RSA_problemhttp://en.wikipedia.org/wiki/RSA_problemhttp://en.wikipedia.org/w/index.php?title=RSA_(cryptosystem)&action=edit§ion=3http://en.wikipedia.org/w/index.php?title=RSA_(cryptosystem)&action=edit§ion=3http://en.wikipedia.org/w/index.php?title=RSA_(cryptosystem)&action=edit§ion=3http://en.wikipedia.org/wiki/Private_keyhttp://en.wikipedia.org/wiki/Private_keyhttp://en.wikipedia.org/wiki/Private_keyhttp://en.wikipedia.org/wiki/Prime_numberhttp://en.wikipedia.org/wiki/Prime_numberhttp://en.wikipedia.org/wiki/Prime_numberhttp://en.wikipedia.org/wiki/Primality_testhttp://en.wikipedia.org/wiki/Primality_testhttp://en.wikipedia.org/wiki/Primality_testhttp://en.wikipedia.org/wiki/Modular_arithmetichttp://en.wikipedia.org/wiki/Modular_arithmetichttp://en.wikipedia.org/wiki/Modular_arithmetichttp://en.wikipedia.org/wiki/Key_lengthhttp://en.wikipedia.org/wiki/Key_lengthhttp://en.wikipedia.org/wiki/Key_lengthhttp://en.wikipedia.org/wiki/Euler%27s_totient_functionhttp://en.wikipedia.org/wiki/Euler%27s_totient_functionhttp://en.wikipedia.org/wiki/Euler%27s_totient_functionhttp://en.wikipedia.org/wiki/Greatest_common_divisorhttp://en.wikipedia.org/wiki/Greatest_common_divisorhttp://en.wikipedia.org/wiki/Greatest_common_divisorhttp://en.wikipedia.org/wiki/Coprimehttp://en.wikipedia.org/wiki/Coprimehttp://en.wikipedia.org/wiki/Coprimehttp://en.wikipedia.org/wiki/Bit-lengthhttp://en.wikipedia.org/wiki/Bit-lengthhttp://en.wikipedia.org/wiki/Bit-lengthhttp://en.wikipedia.org/wiki/Hamming_weighthttp://en.wikipedia.org/wiki/Hamming_weighthttp://en.wikipedia.org/wiki/Hamming_weighthttp://en.wikipedia.org/wiki/RSA_(cryptosystem)#cite_note-Boneh-5http://en.wikipedia.org/wiki/RSA_(cryptosystem)#cite_note-Boneh-5http://en.wikipedia.org/wiki/RSA_(cryptosystem)#cite_note-Boneh-5http://en.wikipedia.org/wiki/Modular_multiplicative_inversehttp://en.wikipedia.org/wiki/Modular_multiplicative_inversehttp://en.wikipedia.org/wiki/Modular_multiplicative_inversehttp://en.wikipedia.org/wiki/Extended_Euclidean_algorithmhttp://en.wikipedia.org/wiki/Extended_Euclidean_algorithmhttp://en.wikipedia.org/wiki/Extended_Euclidean_algorithmhttp://en.wikipedia.org/wiki/PKCS1http://en.wikipedia.org/wiki/PKCS1http://en.wikipedia.org/wiki/PKCS1http://en.wikipedia.org/wiki/Least_common_multiplehttp://en.wikipedia.org/wiki/Least_common_multiplehttp://en.wikipedia.org/wiki/Least_common_multiplehttp://en.wikipedia.org/wiki/Carmichael_functionhttp://en.wikipedia.org/wiki/Carmichael_functionhttp://en.wikipedia.org/wiki/Carmichael_functionhttp://en.wikipedia.org/wiki/Carmichael_functionhttp://en.wikipedia.org/wiki/Least_common_multiplehttp://en.wikipedia.org/wiki/PKCS1http://en.wikipedia.org/wiki/Extended_Euclidean_algorithmhttp://en.wikipedia.org/wiki/Modular_multiplicative_inversehttp://en.wikipedia.org/wiki/RSA_(cryptosystem)#cite_note-Boneh-5http://en.wikipedia.org/wiki/Hamming_weighthttp://en.wikipedia.org/wiki/Bit-lengthhttp://en.wikipedia.org/wiki/Coprimehttp://en.wikipedia.org/wiki/Greatest_common_divisorhttp://en.wikipedia.org/wiki/Euler%27s_totient_functionhttp://en.wikipedia.org/wiki/Key_lengthhttp://en.wikipedia.org/wiki/Modular_arithmetichttp://en.wikipedia.org/wiki/Primality_testhttp://en.wikipedia.org/wiki/Prime_numberhttp://en.wikipedia.org/wiki/Private_keyhttp://en.wikipedia.org/w/index.php?title=RSA_(cryptosystem)&action=edit§ion=3http://en.wikipedia.org/wiki/RSA_problemhttp://en.wikipedia.org/wiki/Encryptionhttp://en.wikipedia.org/wiki/RSA_(cryptosystem)#cite_note-rsa-28/12/2019 concept2.1.2
4/12
TheANSI X9.31standard prescribes,IEEE 1363describes, andPKCS#1allows,thatpand qmatch additional requirements: beingstrong primes,and being different
enough thatFermat factorizationfails.
2)DES algorithm:
The Data Encryption Standard(DES,/diis/or/dz/)is a previouslypredominantsymmetric-key algorithmfor theencryptionof electronic data. It was highly
influential in the advancement of moderncryptographyin the academic world. Developed in theearly 1970s atIBMand based on an earlier design byHorst Feistel,the algorithm was submitted
to theNational Bureau of Standards(NBS) following the agency's invitation to propose a
candidate for the protection of sensitive, unclassified electronic government data. In 1976, after
consultation with theNational Security Agency(NSA), the NBS eventually selected a slightlymodified version, which was published as an officialFederal Information Processing
Standard(FIPS) for theUnited Statesin 1977. The publication of an NSA-approved encryption
standard simultaneously resulted in its quick international adoption and widespread academic
scrutiny. Controversies arose out ofclassifieddesign elements, a relatively shortkey lengthofthesymmetric-keyblock cipherdesign, and the involvement of the NSA, nourishing suspicions
about abackdoor.The intense academic scrutiny the algorithm received over time led to themodern understanding of block ciphers and theircryptanalysis.
DES is now considered to be insecure for many applications. This is chiefly due to the 56-bit key
size being too small; in January, 1999,distributed.netand theElectronic Frontier
Foundationcollaborated to publicly break a DES key in 22 hours and 15 minutes
(seechronology). There are also some analytical results which demonstrate theoreticalweaknesses in the cipher, although they are infeasible to mount in practice. The algorithm is
believed to be practically secure in the form ofTriple DES,although there are theoretical attacks.
In recent years, the cipher has been superseded by theAdvanced Encryption Standard(AES).Furthermore, DES has been withdrawn as a standard by theNational Institute of Standards and
Technology(formerly the National Bureau of Standards).
Some documentation makes a distinction between DES as a standard and DES as an algorithm,
referring to the algorithm as the DEA(Data Encryption Algorithm).
HISTORY OF DES :
The origins of DES go back to the early 1970s. In 1972, after concluding a study on the US
government'scomputer securityneeds, the US standards body NBS (National Bureau of
Standards)now namedNIST(National Institute of Standards and Technology)identified a
need for a government-wide standard for encrypting unclassified, sensitive
information.[1]
Accordingly, on 15 May 1973, after consulting with the NSA, NBS solicitedproposals for a cipher that would meet rigorous design criteria. None of the submissions,
however, turned out to be suitable. A second request was issued on 27 August 1974. Thistime,IBMsubmitted a candidate which was deemed acceptablea cipher developed during the
period 19731974 based on an earlier algorithm,Horst Feistel'sLucifercipher. The team at IBM
involved in cipher design and analysis included Feistel,Walter Tuchman,Don Coppersmith,
Alan Konheim, Carl Meyer, Mike Matyas,Roy Adler,Edna Grossman,Bill Notz, Lynn Smith,andBryant Tuckerman.
http://en.wikipedia.org/w/index.php?title=ANSI_X9.31&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=ANSI_X9.31&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=ANSI_X9.31&action=edit&redlink=1http://en.wikipedia.org/wiki/P1363http://en.wikipedia.org/wiki/P1363http://en.wikipedia.org/wiki/P1363http://en.wikipedia.org/wiki/PKCS1http://en.wikipedia.org/wiki/PKCS1http://en.wikipedia.org/wiki/PKCS1http://en.wikipedia.org/wiki/Strong_primehttp://en.wikipedia.org/wiki/Strong_primehttp://en.wikipedia.org/wiki/Fermat_factorizationhttp://en.wikipedia.org/wiki/Fermat_factorizationhttp://en.wikipedia.org/wiki/Fermat_factorizationhttp://en.wikipedia.org/wiki/Help:IPA_for_Englishhttp://en.wikipedia.org/wiki/Help:IPA_for_Englishhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_Englishhttp://en.wikipedia.org/wiki/Help:IPA_for_Englishhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Symmetric-key_algorithmhttp://en.wikipedia.org/wiki/Symmetric-key_algorithmhttp://en.wikipedia.org/wiki/Symmetric-key_algorithmhttp://en.wikipedia.org/wiki/Encryptionhttp://en.wikipedia.org/wiki/Encryptionhttp://en.wikipedia.org/wiki/Encryptionhttp://en.wikipedia.org/wiki/Cryptographyhttp://en.wikipedia.org/wiki/Cryptographyhttp://en.wikipedia.org/wiki/Cryptographyhttp://en.wikipedia.org/wiki/IBMhttp://en.wikipedia.org/wiki/IBMhttp://en.wikipedia.org/wiki/IBMhttp://en.wikipedia.org/wiki/Horst_Feistelhttp://en.wikipedia.org/wiki/Horst_Feistelhttp://en.wikipedia.org/wiki/Horst_Feistelhttp://en.wikipedia.org/wiki/National_Bureau_of_Standardshttp://en.wikipedia.org/wiki/National_Bureau_of_Standardshttp://en.wikipedia.org/wiki/National_Bureau_of_Standardshttp://en.wikipedia.org/wiki/National_Security_Agencyhttp://en.wikipedia.org/wiki/National_Security_Agencyhttp://en.wikipedia.org/wiki/National_Security_Agencyhttp://en.wikipedia.org/wiki/Federal_Information_Processing_Standardhttp://en.wikipedia.org/wiki/Federal_Information_Processing_Standardhttp://en.wikipedia.org/wiki/Federal_Information_Processing_Standardhttp://en.wikipedia.org/wiki/Federal_Information_Processing_Standardhttp://en.wikipedia.org/wiki/United_Stateshttp://en.wikipedia.org/wiki/United_Stateshttp://en.wikipedia.org/wiki/United_Stateshttp://en.wikipedia.org/wiki/Classified_informationhttp://en.wikipedia.org/wiki/Classified_informationhttp://en.wikipedia.org/wiki/Classified_informationhttp://en.wikipedia.org/wiki/Key_lengthhttp://en.wikipedia.org/wiki/Key_lengthhttp://en.wikipedia.org/wiki/Key_lengthhttp://en.wikipedia.org/wiki/Symmetric-key_algorithmhttp://en.wikipedia.org/wiki/Symmetric-key_algorithmhttp://en.wikipedia.org/wiki/Block_cipherhttp://en.wikipedia.org/wiki/Block_cipherhttp://en.wikipedia.org/wiki/Block_cipherhttp://en.wikipedia.org/wiki/Backdoor_(computing)http://en.wikipedia.org/wiki/Backdoor_(computing)http://en.wikipedia.org/wiki/Backdoor_(computing)http://en.wikipedia.org/wiki/Cryptanalysishttp://en.wikipedia.org/wiki/Cryptanalysishttp://en.wikipedia.org/wiki/Cryptanalysishttp://en.wikipedia.org/wiki/Distributed.nethttp://en.wikipedia.org/wiki/Distributed.nethttp://en.wikipedia.org/wiki/Distributed.nethttp://en.wikipedia.org/wiki/Electronic_Frontier_Foundationhttp://en.wikipedia.org/wiki/Electronic_Frontier_Foundationhttp://en.wikipedia.org/wiki/Electronic_Frontier_Foundationhttp://en.wikipedia.org/wiki/Electronic_Frontier_Foundationhttp://en.wikipedia.org/wiki/Data_Encryption_Standard#Chronologyhttp://en.wikipedia.org/wiki/Data_Encryption_Standard#Chronologyhttp://en.wikipedia.org/wiki/Data_Encryption_Standard#Chronologyhttp://en.wikipedia.org/wiki/Triple_DEShttp://en.wikipedia.org/wiki/Triple_DEShttp://en.wikipedia.org/wiki/Triple_DEShttp://en.wikipedia.org/wiki/Advanced_Encryption_Standardhttp://en.wikipedia.org/wiki/Advanced_Encryption_Standardhttp://en.wikipedia.org/wiki/Advanced_Encryption_Standardhttp://en.wikipedia.org/wiki/National_Institute_of_Standards_and_Technologyhttp://en.wikipedia.org/wiki/National_Institute_of_Standards_and_Technologyhttp://en.wikipedia.org/wiki/National_Institute_of_Standards_and_Technologyhttp://en.wikipedia.org/wiki/Computer_securityhttp://en.wikipedia.org/wiki/Computer_securityhttp://en.wikipedia.org/wiki/Computer_securityhttp://en.wikipedia.org/wiki/NISThttp://en.wikipedia.org/wiki/NISThttp://en.wikipedia.org/wiki/NISThttp://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-1http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-1http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-1http://en.wikipedia.org/wiki/International_Business_Machineshttp://en.wikipedia.org/wiki/International_Business_Machineshttp://en.wikipedia.org/wiki/International_Business_Machineshttp://en.wikipedia.org/wiki/Horst_Feistelhttp://en.wikipedia.org/wiki/Horst_Feistelhttp://en.wikipedia.org/wiki/Horst_Feistelhttp://en.wikipedia.org/wiki/Lucifer_(cipher)http://en.wikipedia.org/wiki/Lucifer_(cipher)http://en.wikipedia.org/wiki/Lucifer_(cipher)http://en.wikipedia.org/wiki/Walter_Tuchmanhttp://en.wikipedia.org/wiki/Walter_Tuchmanhttp://en.wikipedia.org/wiki/Walter_Tuchmanhttp://en.wikipedia.org/wiki/Don_Coppersmithhttp://en.wikipedia.org/wiki/Don_Coppersmithhttp://en.wikipedia.org/wiki/Don_Coppersmithhttp://en.wikipedia.org/wiki/Roy_Adlerhttp://en.wikipedia.org/wiki/Roy_Adlerhttp://en.wikipedia.org/wiki/Roy_Adlerhttp://en.wikipedia.org/wiki/Edna_Grossmanhttp://en.wikipedia.org/wiki/Edna_Grossmanhttp://en.wikipedia.org/wiki/Edna_Grossmanhttp://en.wikipedia.org/wiki/Bryant_Tuckermanhttp://en.wikipedia.org/wiki/Bryant_Tuckermanhttp://en.wikipedia.org/wiki/Bryant_Tuckermanhttp://en.wikipedia.org/wiki/Bryant_Tuckermanhttp://en.wikipedia.org/wiki/Edna_Grossmanhttp://en.wikipedia.org/wiki/Roy_Adlerhttp://en.wikipedia.org/wiki/Don_Coppersmithhttp://en.wikipedia.org/wiki/Walter_Tuchmanhttp://en.wikipedia.org/wiki/Lucifer_(cipher)http://en.wikipedia.org/wiki/Horst_Feistelhttp://en.wikipedia.org/wiki/International_Business_Machineshttp://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-1http://en.wikipedia.org/wiki/NISThttp://en.wikipedia.org/wiki/Computer_securityhttp://en.wikipedia.org/wiki/National_Institute_of_Standards_and_Technologyhttp://en.wikipedia.org/wiki/National_Institute_of_Standards_and_Technologyhttp://en.wikipedia.org/wiki/Advanced_Encryption_Standardhttp://en.wikipedia.org/wiki/Triple_DEShttp://en.wikipedia.org/wiki/Data_Encryption_Standard#Chronologyhttp://en.wikipedia.org/wiki/Electronic_Frontier_Foundationhttp://en.wikipedia.org/wiki/Electronic_Frontier_Foundationhttp://en.wikipedia.org/wiki/Distributed.nethttp://en.wikipedia.org/wiki/Cryptanalysishttp://en.wikipedia.org/wiki/Backdoor_(computing)http://en.wikipedia.org/wiki/Block_cipherhttp://en.wikipedia.org/wiki/Symmetric-key_algorithmhttp://en.wikipedia.org/wiki/Key_lengthhttp://en.wikipedia.org/wiki/Classified_informationhttp://en.wikipedia.org/wiki/United_Stateshttp://en.wikipedia.org/wiki/Federal_Information_Processing_Standardhttp://en.wikipedia.org/wiki/Federal_Information_Processing_Standardhttp://en.wikipedia.org/wiki/National_Security_Agencyhttp://en.wikipedia.org/wiki/National_Bureau_of_Standardshttp://en.wikipedia.org/wiki/Horst_Feistelhttp://en.wikipedia.org/wiki/IBMhttp://en.wikipedia.org/wiki/Cryptographyhttp://en.wikipedia.org/wiki/Encryptionhttp://en.wikipedia.org/wiki/Symmetric-key_algorithmhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_Englishhttp://en.wikipedia.org/wiki/Help:IPA_for_Englishhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_English#Keyhttp://en.wikipedia.org/wiki/Help:IPA_for_Englishhttp://en.wikipedia.org/wiki/Help:IPA_for_Englishhttp://en.wikipedia.org/wiki/Fermat_factorizationhttp://en.wikipedia.org/wiki/Strong_primehttp://en.wikipedia.org/wiki/PKCS1http://en.wikipedia.org/wiki/P1363http://en.wikipedia.org/w/index.php?title=ANSI_X9.31&action=edit&redlink=18/12/2019 concept2.1.2
5/12
The algorithm as a standard:
Despite the criticisms, DES was approved as a federal standard in November 1976, and
published on 15 January 1977 asFIPSPUB 46, authorized for use on all unclassified data. It was
subsequently reaffirmed as the standard in 1983, 1988 (revised as FIPS-46-1), 1993 (FIPS-46-2),and again in 1999 (FIPS-46-3), the latter prescribing "Triple DES"(see below). On 26 May
2002, DES was finally superseded by the Advanced Encryption Standard (AES), followingapublic competition.On 19 May 2005, FIPS 46-3 was officially withdrawn, butNISThasapprovedTriple DESthrough the year 2030 for sensitive government information.
[13]
The algorithm is also specified in ANSI X3.92,[14]
NIST SP 800-67[13]
and ISO/IEC 18033-
3[15]
(as a component ofTDEA).
Another theoretical attack, linear cryptanalysis, was published in 1994, but it was abrute force
attackin 1998 that demonstrated that DES could be attacked very practically, and highlighted the
need for a replacement algorithm. These and other methods ofcryptanalysisare discussed inmore detail later in this article.
The introduction of DES is considered to have been a catalyst for the academic study of
cryptography, particularly of methods to crack block ciphers. According to a NIST retrospective
about DES,
The DES can be said to have "jump started" the nonmilitary study and development of
encryption algorithms. In the 1970s there were very few cryptographers, except for those
in military or intelligence organizations, and little academic study of cryptography. There
are now many active academic cryptologists, mathematics departments with strong
programs in cryptography, and commercial information security companies and
consultants. A generation of cryptanalysts has cut its teeth analyzing (that is trying to
"crack") the DES algorithm. In the words of cryptographerBruce Schneier,[16]
"DES didmore to galvanize the field of cryptanalysis than anything else. Now there was an
algorithm to study." An astonishing share of the open literature in cryptography in the
1970s and 1980s dealt with the DES, and the DES is the standard against which every
symmetric key algorithm since has been compared.
http://en.wikipedia.org/wiki/Federal_Information_Processing_Standardhttp://en.wikipedia.org/wiki/Federal_Information_Processing_Standardhttp://en.wikipedia.org/wiki/Federal_Information_Processing_Standardhttp://en.wikipedia.org/wiki/Triple_DEShttp://en.wikipedia.org/wiki/Triple_DEShttp://en.wikipedia.org/wiki/Triple_DEShttp://en.wikipedia.org/wiki/Advanced_Encryption_Standard_processhttp://en.wikipedia.org/wiki/Advanced_Encryption_Standard_processhttp://en.wikipedia.org/wiki/Advanced_Encryption_Standard_processhttp://en.wikipedia.org/wiki/Advanced_Encryption_Standard_processhttp://en.wikipedia.org/wiki/NISThttp://en.wikipedia.org/wiki/NISThttp://en.wikipedia.org/wiki/NISThttp://en.wikipedia.org/wiki/Triple_DEShttp://en.wikipedia.org/wiki/Triple_DEShttp://en.wikipedia.org/wiki/Triple_DEShttp://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-SP800-67-13http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-SP800-67-13http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-SP800-67-13http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-14http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-14http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-14http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-SP800-67-13http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-SP800-67-13http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-15http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-15http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-15http://en.wikipedia.org/wiki/TDEAhttp://en.wikipedia.org/wiki/TDEAhttp://en.wikipedia.org/wiki/TDEAhttp://en.wikipedia.org/wiki/Brute_force_attackhttp://en.wikipedia.org/wiki/Brute_force_attackhttp://en.wikipedia.org/wiki/Brute_force_attackhttp://en.wikipedia.org/wiki/Brute_force_attackhttp://en.wikipedia.org/wiki/Cryptanalysishttp://en.wikipedia.org/wiki/Cryptanalysishttp://en.wikipedia.org/wiki/Cryptanalysishttp://en.wikipedia.org/wiki/Bruce_Schneierhttp://en.wikipedia.org/wiki/Bruce_Schneierhttp://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-16http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-16http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-16http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-16http://en.wikipedia.org/wiki/Bruce_Schneierhttp://en.wikipedia.org/wiki/Cryptanalysishttp://en.wikipedia.org/wiki/Brute_force_attackhttp://en.wikipedia.org/wiki/Brute_force_attackhttp://en.wikipedia.org/wiki/TDEAhttp://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-15http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-SP800-67-13http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-14http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-SP800-67-13http://en.wikipedia.org/wiki/Triple_DEShttp://en.wikipedia.org/wiki/NISThttp://en.wikipedia.org/wiki/Advanced_Encryption_Standard_processhttp://en.wikipedia.org/wiki/Advanced_Encryption_Standard_processhttp://en.wikipedia.org/wiki/Triple_DEShttp://en.wikipedia.org/wiki/Federal_Information_Processing_Standard8/12/2019 concept2.1.2
6/12
Description:
Figure 1The overall Feistel structure of DES
For brevity, the following description omits the exact transformations and permutations
which specify the algorithm; for reference, the details can be found inDES supplementary
material.
DES is the archetypalblock cipheranalgorithmthat takes a fixed-length stringofplaintextbits and transforms it through a series of complicated operations into
anotherciphertextbitstring of the same length. In the case of DES, theblock sizeis 64 bits.
DES also uses akeyto customize the transformation, so that decryption can supposedly only
be performed by those who know the particular key used to encrypt. The key ostensiblyconsists of 64 bits; however, only 56 of these are actually used by the algorithm. Eight bits
are used solely for checkingparity,and are thereafter discarded. Hence the effectivekey
lengthis 56 bits, and it is always quoted as such.
The key is nominally stored or transmitted as 8bytes,each with odd parity. According toANSI X3.92-1981, section 3.5:
One bit in each 8-bit byte of theKEYmay be utilized for error detection in key
generation, distribution, and storage. Bits 8, 16,..., 64 are for use in ensuring that each
byte is of odd parity.
Like other block ciphers, DES by itself is not a secure means of encryption but must instead
be used in amode of operation.FIPS-81 specifies several modes for use with
DES.[20]
Further comments on the usage of DES are contained in FIPS-74.[21]
Decryption uses the same structure as encryption but with the keys used in reverse order.(This has the advantage that the same hardware or software can be used in both directions.)
Structure of DES algorithm:
The algorithm's overall structure is shown in Figure 1: there are 16 identical stages of
processing, termedrounds. There is also an initial and finalpermutation,termedIPandFP,
which areinverses(IP "undoes" the action of FP, and vice versa). IP and FP have no
http://en.wikipedia.org/wiki/File:DES-main-network.pnghttp://en.wikipedia.org/wiki/DES_supplementary_materialhttp://en.wikipedia.org/wiki/DES_supplementary_materialhttp://en.wikipedia.org/wiki/DES_supplementary_materialhttp://en.wikipedia.org/wiki/Block_cipherhttp://en.wikipedia.org/wiki/Block_cipherhttp://en.wikipedia.org/wiki/Block_cipherhttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Plaintexthttp://en.wikipedia.org/wiki/Plaintexthttp://en.wikipedia.org/wiki/Plaintexthttp://en.wikipedia.org/wiki/Ciphertexthttp://en.wikipedia.org/wiki/Ciphertexthttp://en.wikipedia.org/wiki/Block_size_(cryptography)http://en.wikipedia.org/wiki/Block_size_(cryptography)http://en.wikipedia.org/wiki/Block_size_(cryptography)http://en.wikipedia.org/wiki/Key_(cryptography)http://en.wikipedia.org/wiki/Key_(cryptography)http://en.wikipedia.org/wiki/Key_(cryptography)http://en.wikipedia.org/wiki/Parity_bithttp://en.wikipedia.org/wiki/Parity_bithttp://en.wikipedia.org/wiki/Parity_bithttp://en.wikipedia.org/wiki/Key_lengthhttp://en.wikipedia.org/wiki/Key_lengthhttp://en.wikipedia.org/wiki/Key_lengthhttp://en.wikipedia.org/wiki/Key_lengthhttp://en.wikipedia.org/wiki/Bytehttp://en.wikipedia.org/wiki/Bytehttp://en.wikipedia.org/wiki/Bytehttp://en.wikipedia.org/wiki/Block_cipher_mode_of_operationhttp://en.wikipedia.org/wiki/Block_cipher_mode_of_operationhttp://en.wikipedia.org/wiki/Block_cipher_mode_of_operationhttp://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-20http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-20http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-20http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-21http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-21http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-21http://en.wikipedia.org/wiki/Permutationhttp://en.wikipedia.org/wiki/Permutationhttp://en.wikipedia.org/wiki/Permutationhttp://en.wikipedia.org/wiki/Inverse_(function)http://en.wikipedia.org/wiki/Inverse_(function)http://en.wikipedia.org/wiki/Inverse_(function)http://en.wikipedia.org/wiki/Inverse_(function)http://en.wikipedia.org/wiki/Permutationhttp://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-21http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-20http://en.wikipedia.org/wiki/Block_cipher_mode_of_operationhttp://en.wikipedia.org/wiki/Bytehttp://en.wikipedia.org/wiki/Key_lengthhttp://en.wikipedia.org/wiki/Key_lengthhttp://en.wikipedia.org/wiki/Parity_bithttp://en.wikipedia.org/wiki/Key_(cryptography)http://en.wikipedia.org/wiki/Block_size_(cryptography)http://en.wikipedia.org/wiki/Ciphertexthttp://en.wikipedia.org/wiki/Plaintexthttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Block_cipherhttp://en.wikipedia.org/wiki/DES_supplementary_materialhttp://en.wikipedia.org/wiki/DES_supplementary_materialhttp://en.wikipedia.org/wiki/File:DES-main-network.png8/12/2019 concept2.1.2
7/12
cryptographic significance, but were included in order to facilitate loading blocks in and out
of mid-1970s 8-bit based hardware.[22]
Before the main rounds, the block is divided into two 32-bit halves and processed
alternately; this criss-crossing is known as theFeistel scheme.The Feistel structure ensuresthat decryption and encryption are very similar processesthe only difference is that the
subkeys are applied in the reverse order when decrypting. The rest of the algorithm isidentical. This greatly simplifies implementation, particularly in hardware, as there is noneed for separate encryption and decryption algorithms.
The symbol denotes theexclusive-OR(XOR) operation. TheF-functionscrambles half ablock together with some of the key. The output from the F-function is then combined with
the other half of the block, and the halves are swapped before the next round. After the finalround, the halves are swapped; this is a feature of the Feistel structure which makes
encryption and decryption similar processes.
The Feistel (F) function
The F-function, depicted in Figure 2, operates on half a block (32 bits) at a time and consists
of four stages:
Figure 2The Feistel function (F-function) of DES
1. Expansionthe 32-bit half-block is expanded to 48 bits using the expansionpermutation, denotedEin the diagram, by duplicating half of the bits. The outputconsists of eight 6-bit (8 * 6 = 48 bits) pieces, each containing a copy of 4
corresponding input bits, plus a copy of the immediately adjacent bit from each of
the input pieces to either side.
2. Key mixingthe result is combined with asubkeyusing an XOR operation. 16 48-bit subkeysone for each roundare derived from the main key using thekey
schedule(described below).
3. Substitutionafter mixing in the subkey, the block is divided into eight 6-bit piecesbefore processing by theS-boxes,orsubstitution boxes. Each of the eight S-boxes
replaces its six input bits with four output bits according to a non-linear
transformation, provided in the form of alookup table.The S-boxes provide the coreof the security of DESwithout them, the cipher would be linear, and trivially
breakable.
4. Permutationfinally, the 32 outputs from the S-boxes are rearranged according toa fixedpermutation,theP-box. This is designed so that, after permutation, each S-
box's output bits are spread across 4 different S boxes in the next round.
http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-22http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-22http://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-22http://en.wikipedia.org/wiki/Feistel_schemehttp://en.wikipedia.org/wiki/Feistel_schemehttp://en.wikipedia.org/wiki/Feistel_schemehttp://en.wikipedia.org/wiki/XORhttp://en.wikipedia.org/wiki/XORhttp://en.wikipedia.org/wiki/XORhttp://en.wikipedia.org/wiki/File:DES-f-function.pnghttp://en.wikipedia.org/wiki/Key_schedulehttp://en.wikipedia.org/wiki/Key_schedulehttp://en.wikipedia.org/wiki/Key_schedulehttp://en.wikipedia.org/wiki/Key_schedulehttp://en.wikipedia.org/wiki/Substitution_boxhttp://en.wikipedia.org/wiki/Substitution_boxhttp://en.wikipedia.org/wiki/Substitution_boxhttp://en.wikipedia.org/wiki/Lookup_tablehttp://en.wikipedia.org/wiki/Lookup_tablehttp://en.wikipedia.org/wiki/Lookup_tablehttp://en.wikipedia.org/wiki/Permutationhttp://en.wikipedia.org/wiki/Permutationhttp://en.wikipedia.org/wiki/Permutationhttp://en.wikipedia.org/wiki/Permutationhttp://en.wikipedia.org/wiki/Lookup_tablehttp://en.wikipedia.org/wiki/Substitution_boxhttp://en.wikipedia.org/wiki/Key_schedulehttp://en.wikipedia.org/wiki/Key_schedulehttp://en.wikipedia.org/wiki/File:DES-f-function.pnghttp://en.wikipedia.org/wiki/XORhttp://en.wikipedia.org/wiki/Feistel_schemehttp://en.wikipedia.org/wiki/Data_Encryption_Standard#cite_note-228/12/2019 concept2.1.2
8/12
The alternation of substitution from the S-boxes, and permutation of bits from the P-box and
E-expansion provides so-called "confusion and diffusion" respectively, a concept identified
byClaude Shannonin the 1940s as a n
Key schedule:
Figure 3 illustrates the key schedulefor encryption the algorithm which generates the
subkeys. Initially, 56 bits of the key are selected from the initial 64 byPermuted Choice1(PC-1)the remaining eight bits are either discarded or used asparitycheck bits. The 56
bits are then divided into two 28-bit halves; each half is thereafter treated separately. In
successive rounds, both halves are rotated left by one or two bits (specified for each round),
and then 48 subkey bits are selected byPermuted Choice 2(PC-2)24 bits from the lefthalf, and 24 from the right. The rotations (denoted by "
8/12/2019 concept2.1.2
9/12
fifteen competing designs were presented and evaluated, before the Rijndael cipher was selected
as the most suitable (seeAdvanced Encryption Standard processfor more details).
AES became effective as a federal government standard on May 26, 2002 after approval by
theSecretary of Commerce.AES is included in the ISO/IEC 18033-3 standard. AES is availablein many different encryption packages, and is the first publicly accessible and
opencipherapproved by theNational Security Agency(NSA) fortop secretinformation whenused in an NSA approved cryptographic module (seeSecurity of AES,below).
Description of the cipher
AES is based on a design principle known as a substitution-permutation network, and is fast in
both software and hardware.[8]
Unlike its predecessor DES, AES does not use aFeistel network.
AES is a variant of Rijndael which has a fixedblock sizeof 128bits,and akey sizeof 128, 192,
or 256 bits. By contrast, the Rijndael specificationper seis specified with block and key sizesthat may be any multiple of 32 bits, both with a minimum of 128 and a maximum of 256 bits.
AES operates on a 44column-major ordermatrix of bytes, termed thestate, although some
versions of Rijndael have a larger block size and have additional columns in the state. Most AEScalculations are done in a specialfinite field.
The key size used for an AES cipher specifies the number of repetitions of transformation rounds
that convert the input, called the plaintext, into the final output, called the ciphertext. The
number of cycles of repetition are as follows:
10 cycles of repetition for 128-bit keys. 12 cycles of repetition for 192-bit keys. 14 cycles of repetition for 256-bit keys.Each round consists of several processing steps, each containing four similar but different stages,
including one that depends on the encryption key itself. A set of reverse rounds are applied to
transform ciphertext back into the original plaintext using the same encryption key.
High-level description of the algorithm
1. KeyExpansionround keys are derived from the cipher key usingRijndael's keyschedule.AES requires a separate 128-bit round key block for each round plus one more.
2. InitialRound1.AddRoundKeyeach byte of the state is combined with a block of the round key
using bitwise xor.
3. Rounds1.SubBytesa non-linear substitution step where each byte is replaced with another
according to alookup table.
2.ShiftRowsa transposition step where the last three rows of the state are shiftedcyclically a certain number of steps.
3.MixColumnsa mixing operation which operates on the columns of the state,combining the four bytes in each column.
http://en.wikipedia.org/wiki/Advanced_Encryption_Standard_processhttp://en.wikipedia.org/wiki/Advanced_Encryption_Standard_processhttp://en.wikipedia.org/wiki/United_States_Secretary_of_Commercehttp://en.wikipedia.org/wiki/United_States_Secretary_of_Commercehttp://en.wikipedia.org/wiki/United_States_Secretary_of_Commercehttp://en.wikipedia.org/wiki/Cipherhttp://en.wikipedia.org/wiki/Cipherhttp://en.wikipedia.org/wiki/Cipherhttp://en.wikipedia.org/wiki/National_Security_Agencyhttp://en.wikipedia.org/wiki/National_Security_Agencyhttp://en.wikipedia.org/wiki/National_Security_Agencyhttp://en.wikipedia.org/wiki/Classified_informationhttp://en.wikipedia.org/wiki/Classified_informationhttp://en.wikipedia.org/wiki/Classified_informationhttp://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Securityhttp://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Securityhttp://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Securityhttp://en.wikipedia.org/wiki/Advanced_Encryption_Standard#cite_note-8http://en.wikipedia.org/wiki/Advanced_Encryption_Standard#cite_note-8http://en.wikipedia.org/wiki/Advanced_Encryption_Standard#cite_note-8http://en.wikipedia.org/wiki/Feistel_networkhttp://en.wikipedia.org/wiki/Feistel_networkhttp://en.wikipedia.org/wiki/Feistel_networkhttp://en.wikipedia.org/wiki/Block_size_(cryptography)http://en.wikipedia.org/wiki/Block_size_(cryptography)http://en.wikipedia.org/wiki/Block_size_(cryptography)http://en.wikipedia.org/wiki/Bithttp://en.wikipedia.org/wiki/Bithttp://en.wikipedia.org/wiki/Bithttp://en.wikipedia.org/wiki/Key_sizehttp://en.wikipedia.org/wiki/Key_sizehttp://en.wikipedia.org/wiki/Key_sizehttp://en.wikipedia.org/wiki/Column-major_orderhttp://en.wikipedia.org/wiki/Column-major_orderhttp://en.wikipedia.org/wiki/Column-major_orderhttp://en.wikipedia.org/wiki/Finite_field_arithmetichttp://en.wikipedia.org/wiki/Finite_field_arithmetichttp://en.wikipedia.org/wiki/Finite_field_arithmetichttp://en.wikipedia.org/wiki/Rijndael_key_schedulehttp://en.wikipedia.org/wiki/Rijndael_key_schedulehttp://en.wikipedia.org/wiki/Rijndael_key_schedulehttp://en.wikipedia.org/wiki/Rijndael_key_schedulehttp://en.wikipedia.org/wiki/Rijndael_S-boxhttp://en.wikipedia.org/wiki/Rijndael_S-boxhttp://en.wikipedia.org/wiki/Rijndael_S-boxhttp://en.wikipedia.org/wiki/Rijndael_S-boxhttp://en.wikipedia.org/wiki/Rijndael_key_schedulehttp://en.wikipedia.org/wiki/Rijndael_key_schedulehttp://en.wikipedia.org/wiki/Finite_field_arithmetichttp://en.wikipedia.org/wiki/Column-major_orderhttp://en.wikipedia.org/wiki/Key_sizehttp://en.wikipedia.org/wiki/Bithttp://en.wikipedia.org/wiki/Block_size_(cryptography)http://en.wikipedia.org/wiki/Feistel_networkhttp://en.wikipedia.org/wiki/Advanced_Encryption_Standard#cite_note-8http://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Securityhttp://en.wikipedia.org/wiki/Classified_informationhttp://en.wikipedia.org/wiki/National_Security_Agencyhttp://en.wikipedia.org/wiki/Cipherhttp://en.wikipedia.org/wiki/United_States_Secretary_of_Commercehttp://en.wikipedia.org/wiki/Advanced_Encryption_Standard_process8/12/2019 concept2.1.2
10/12
4.AddRoundKey4. Final Round (no MixColumns)
1.SubBytes2.ShiftRows3.AddRoundKey.
The SubBytes step
In the SubBytes step, each byte in the state is replaced with its entry in a fixed 8-bit lookup
table, S; bij= S(aij).
In the SubBytes step, each byte in thestatematrix is replaced with a SubByte using an8-bitsubstitution box,theRijndael S-box.This operation provides the non-linearity in thecipher.
The S-box used is derived from themultiplicative inverseoverGF(28), known to have good non-
linearity properties. To avoid attacks based on simple algebraic properties, the S-box is
constructed by combining the inverse function with an invertibleaffine transformation.The S-
box is also chosen to avoid any fixed points (and so is aderangement), i.e., , and alsoany opposite fixed points, i.e., . While performing the decryption, Inverse
SubBytes step is used, which requires first taking the affine transformation and then finding the
multiplicative inverse (just reversing the steps used in SubBytes step).
The ShiftRows step
In the ShiftRows step, bytes in each row of the state are shifted cyclically to the left. The number
of places each byte is shifted differs for each row.
The ShiftRows step operates on the rows of the state; it cyclically shifts the bytes in each row bya certainoffset.For AES, the first row is left unchanged. Each byte of the second row is shifted
one to the left. Similarly, the third and fourth rows are shifted by offsets of two and three
respectively. For blocks of sizes 128 bits and 192 bits, the shifting pattern is the same. Row n isshifted left circular by n-1 bytes. In this way, each column of the output state of
theShiftRows step is composed of bytes from each column of the input state. (Rijndael variants
with a larger block size have slightly different offsets). For a 256-bit block, the first row is
unchanged and the shifting for the second, third and fourth row is 1 byte, 3 bytes and 4 bytesrespectivelythis change only applies for the Rijndael cipher when used with a 256-bit block, as
http://en.wikipedia.org/wiki/Substitution_boxhttp://en.wikipedia.org/wiki/Substitution_boxhttp://en.wikipedia.org/wiki/Substitution_boxhttp://en.wikipedia.org/wiki/Rijndael_S-boxhttp://en.wikipedia.org/wiki/Rijndael_S-boxhttp://en.wikipedia.org/wiki/Cipherhttp://en.wikipedia.org/wiki/Cipherhttp://en.wikipedia.org/wiki/Cipherhttp://en.wikipedia.org/wiki/Multiplicative_inversehttp://en.wikipedia.org/wiki/Multiplicative_inversehttp://en.wikipedia.org/wiki/Multiplicative_inversehttp://en.wikipedia.org/wiki/Finite_fieldhttp://en.wikipedia.org/wiki/Finite_fieldhttp://en.wikipedia.org/wiki/Finite_fieldhttp://en.wikipedia.org/wiki/Affine_transformationhttp://en.wikipedia.org/wiki/Affine_transformationhttp://en.wikipedia.org/wiki/Derangementhttp://en.wikipedia.org/wiki/Derangementhttp://en.wikipedia.org/wiki/Offset_(computer_science)http://en.wikipedia.org/wiki/Offset_(computer_science)http://en.wikipedia.org/wiki/Offset_(computer_science)http://en.wikipedia.org/wiki/File:AES-ShiftRows.svghttp://en.wikipedia.org/wiki/File:AES-SubBytes.svghttp://en.wikipedia.org/wiki/File:AES-ShiftRows.svghttp://en.wikipedia.org/wiki/File:AES-SubBytes.svghttp://en.wikipedia.org/wiki/File:AES-ShiftRows.svghttp://en.wikipedia.org/wiki/File:AES-SubBytes.svghttp://en.wikipedia.org/wiki/File:AES-ShiftRows.svghttp://en.wikipedia.org/wiki/File:AES-SubBytes.svghttp://en.wikipedia.org/wiki/File:AES-ShiftRows.svghttp://en.wikipedia.org/wiki/File:AES-SubBytes.svghttp://en.wikipedia.org/wiki/File:AES-ShiftRows.svghttp://en.wikipedia.org/wiki/File:AES-SubBytes.svghttp://en.wikipedia.org/wiki/Offset_(computer_science)http://en.wikipedia.org/wiki/Derangementhttp://en.wikipedia.org/wiki/Affine_transformationhttp://en.wikipedia.org/wiki/Finite_fieldhttp://en.wikipedia.org/wiki/Multiplicative_inversehttp://en.wikipedia.org/wiki/Cipherhttp://en.wikipedia.org/wiki/Rijndael_S-boxhttp://en.wikipedia.org/wiki/Substitution_box8/12/2019 concept2.1.2
11/12
AES does not use 256-bit blocks. The importance of this step is to avoid the columns being
linearly independent, in which case, AES degenerates into four independent block ciphers.
The MixColumns step
In the MixColumns step, each column of the state is multiplied with a fixed polynomial c(x).
In the MixColumns step, the four bytes of each column of the state are combined using an
invertiblelinear transformation.TheMixColumns function takes four bytes as input and outputs
four bytes, where each input byte affects all four output bytes. Together
withShiftRows, MixColumns providesdiffusionin the cipher.
During this operation, each column is multiplied by a fixed matrix:
Matrix multiplication is composed of multiplication and addition of the entries, and here themultiplication operation can be defined as this: multiplication by 1 means no change,
multiplication by 2 means shifting to the left, and multiplication by 3 means shifting to the
left and then performingXORwith the initial unshifted value. After shifting, aconditionalXORwith 0x1B should be performed if the shifted value is larger than 0xFF.
(These are special cases of the usual multiplication in GF(28).) Addition is simply XOR.
In more general sense, each column is treated as a polynomial over GF(28) and is then
multiplied modulo x4+1 with a fixed polynomial c(x) = 0x03 x
3+ x
2+ x + 0x02. The
coefficients are displayed in theirhexadecimalequivalent of the binary representation of bit
polynomials from GF(2)[x]. The MixColumns step can also be viewed as a multiplication by
the shown particularMDS matrixin thefinite fieldGF(28). This process is described further
in the articleRijndael mix columns.
The AddRoundKey step
http://en.wikipedia.org/wiki/Linear_transformationhttp://en.wikipedia.org/wiki/Linear_transformationhttp://en.wikipedia.org/wiki/Linear_transformationhttp://en.wikipedia.org/wiki/Diffusion_(cryptography)http://en.wikipedia.org/wiki/Diffusion_(cryptography)http://en.wikipedia.org/wiki/Diffusion_(cryptography)http://en.wikipedia.org/wiki/Exclusive_orhttp://en.wikipedia.org/wiki/Exclusive_orhttp://en.wikipedia.org/wiki/Exclusive_orhttp://en.wikipedia.org/wiki/Exclusive_orhttp://en.wikipedia.org/wiki/Exclusive_orhttp://en.wikipedia.org/wiki/Exclusive_orhttp://en.wikipedia.org/wiki/Hexadecimalhttp://en.wikipedia.org/wiki/Hexadecimalhttp://en.wikipedia.org/wiki/Hexadecimalhttp://en.wikipedia.org/wiki/MDS_matrixhttp://en.wikipedia.org/wiki/MDS_matrixhttp://en.wikipedia.org/wiki/MDS_matrixhttp://en.wikipedia.org/wiki/Finite_fieldhttp://en.wikipedia.org/wiki/Finite_fieldhttp://en.wikipedia.org/wiki/Finite_fieldhttp://en.wikipedia.org/wiki/Rijndael_mix_columnshttp://en.wikipedia.org/wiki/Rijndael_mix_columnshttp://en.wikipedia.org/wiki/Rijndael_mix_columnshttp://en.wikipedia.org/wiki/File:AES-AddRoundKey.svghttp://en.wikipedia.org/wiki/File:AES-MixColumns.svghttp://en.wikipedia.org/wiki/File:AES-AddRoundKey.svghttp://en.wikipedia.org/wiki/File:AES-MixColumns.svghttp://en.wikipedia.org/wiki/File:AES-AddRoundKey.svghttp://en.wikipedia.org/wiki/File:AES-MixColumns.svghttp://en.wikipedia.org/wiki/Rijndael_mix_columnshttp://en.wikipedia.org/wiki/Finite_fieldhttp://en.wikipedia.org/wiki/MDS_matrixhttp://en.wikipedia.org/wiki/Hexadecimalhttp://en.wikipedia.org/wiki/Exclusive_orhttp://en.wikipedia.org/wiki/Exclusive_orhttp://en.wikipedia.org/wiki/Diffusion_(cryptography)http://en.wikipedia.org/wiki/Linear_transformation8/12/2019 concept2.1.2
12/12
In the AddRoundKey step, each byte of the state is combined with a byte of the round
subkey using theXORoperation ().
In the AddRoundKey step, the subkey is combined with the state. For each round, a subkey
is derived from the mainkeyusingRijndael's key schedule;each subkey is the same size as
the state. The subkey is added by combining each byte of the state with the correspondingbyte of the subkey using bitwiseXOR.
Optimization of the cipher
On systems with 32-bit or larger words, it is possible to speed up execution of this cipher by
combining the SubBytes and ShiftRowssteps with the MixColumns step by transforming
them into a sequence of table lookups. This requires four 256-entry 32-bit tables, and utilizes
a total of four kilobytes (4096 bytes) of memoryone kilobyte for each table. A round canthen be done with 16 table lookups and 12 32-bit exclusive-or operations, followed by four
32-bit exclusive-or operations in the AddRoundKey step.[9]
If the resulting four-kilobyte table size is too large for a given target platform, the table
lookup operation can be performed with a single 256-entry 32-bit (i.e. 1 kilobyte) table bythe use of circular rotates.
Using a byte-oriented approach, it is possible to combine the SubBytes, ShiftRows,
and MixColumnssteps into a single round operation.
In our project we have developed our own algorithm for a symmetric key encryption.
http://en.wikipedia.org/wiki/Exclusive_orhttp://en.wikipedia.org/wiki/Exclusive_orhttp://en.wikipedia.org/wiki/Key_(cryptography)http://en.wikipedia.org/wiki/Key_(cryptography)http://en.wikipedia.org/wiki/Key_(cryptography)http://en.wikipedia.org/wiki/Rijndael_key_schedulehttp://en.wikipedia.org/wiki/Rijndael_key_schedulehttp://en.wikipedia.org/wiki/Exclusive_orhttp://en.wikipedia.org/wiki/Exclusive_orhttp://en.wikipedia.org/wiki/Exclusive_orhttp://en.wikipedia.org/wiki/Advanced_Encryption_Standard#cite_note-9http://en.wikipedia.org/wiki/Advanced_Encryption_Standard#cite_note-9http://en.wikipedia.org/wiki/Advanced_Encryption_Standard#cite_note-9http://en.wikipedia.org/wiki/Advanced_Encryption_Standard#cite_note-9http://en.wikipedia.org/wiki/Exclusive_orhttp://en.wikipedia.org/wiki/Rijndael_key_schedulehttp://en.wikipedia.org/wiki/Key_(cryptography)http://en.wikipedia.org/wiki/Exclusive_or