block cipher - wikipedia, the free encyclopedia.pdf

14
Block cipher From Wikipedia, the free encyclopedia In cryptography, a block cipher is a deterministic algorithm operating on fixedlength groups of bits, called blocks, with an unvarying transformation that is specified by a symmetric key. Block ciphers are important elementary components in the design of many cryptographic protocols, and are widely used to implement encryption of bulk data. The modern design of block ciphers is based on the concept of an iterated product cipher. Product ciphers were suggested and analyzed by Claude Shannon in his seminal 1949 publication Communication Theory of Secrecy Systems as a means to effectively improve security by combining simple operations such as substitutions and permutations. [1] Iterated product ciphers carry out encryption in multiple rounds, each of which uses a different subkey derived from the original key. One widespread implementation of such ciphers is called a Feistel network, named after Horst Feistel, and notably implemented in the DES cipher. [2] Many other realizations of block ciphers, such as the AES, are classified as substitutionpermutation networks. [3] The publication of the DES cipher by the U.S. National Bureau of Standards (now National Institute of Standards and Technology, NIST) in 1977 was fundamental in the public understanding of modern block cipher design. In the same way, it influenced the academic development of cryptanalytic attacks. Both differential and linear cryptanalysis arose out of studies on the DES design. Today, there is a palette of attack techniques against which a block cipher must be secure, in addition to being robust against brute force attacks. Even a secure block cipher is suitable only for the encryption of a single block under a fixed key. A multitude of modes of operation have been designed to allow their repeated use in a secure way, commonly to achieve the security goals of confidentiality and authenticity. However, block ciphers may also be used as building blocks in other cryptographic protocols, such as universal hash functions and pseudorandom number generators. Contents 1 Definition 2 Design 2.1 Iterated block ciphers 2.2 Substitutionpermutation networks 2.3 Feistel ciphers 2.4 LaiMassey ciphers 2.5 Operations 2.5.1 ARX addrotatexor 2.5.2 other operations 3 Modes of operation 4 Padding 5 Cryptanalysis 5.1 Brute force attacks 5.2 Differential cryptanalysis 5.3 Linear cryptanalysis 5.4 Integral cryptanalysis 5.5 Other techniques 6 Provable security

Upload: daniel-ibbe

Post on 14-Sep-2015

255 views

Category:

Documents


1 download

TRANSCRIPT

  • 6/15/2015 BlockcipherWikipedia,thefreeencyclopedia

    https://en.wikipedia.org/wiki/Block_cipher 1/14

    BlockcipherFromWikipedia,thefreeencyclopedia

    Incryptography,ablockcipherisadeterministicalgorithmoperatingonfixedlengthgroupsofbits,calledblocks,withanunvaryingtransformationthatisspecifiedbyasymmetrickey.Blockciphersareimportantelementarycomponentsinthedesignofmanycryptographicprotocols,andarewidelyusedtoimplementencryptionofbulkdata.

    Themoderndesignofblockciphersisbasedontheconceptofaniteratedproductcipher.ProductciphersweresuggestedandanalyzedbyClaudeShannoninhisseminal1949publicationCommunicationTheoryofSecrecySystemsasameanstoeffectivelyimprovesecuritybycombiningsimpleoperationssuchassubstitutionsandpermutations.[1]Iteratedproductcipherscarryoutencryptioninmultiplerounds,eachofwhichusesadifferentsubkeyderivedfromtheoriginalkey.OnewidespreadimplementationofsuchciphersiscalledaFeistelnetwork,namedafterHorstFeistel,andnotablyimplementedintheDEScipher.[2]Manyotherrealizationsofblockciphers,suchastheAES,areclassifiedassubstitutionpermutationnetworks.[3]

    ThepublicationoftheDEScipherbytheU.S.NationalBureauofStandards(nowNationalInstituteofStandardsandTechnology,NIST)in1977wasfundamentalinthepublicunderstandingofmodernblockcipherdesign.Inthesameway,itinfluencedtheacademicdevelopmentofcryptanalyticattacks.BothdifferentialandlinearcryptanalysisaroseoutofstudiesontheDESdesign.Today,thereisapaletteofattacktechniquesagainstwhichablockciphermustbesecure,inadditiontobeingrobustagainstbruteforceattacks.

    Evenasecureblockcipherissuitableonlyfortheencryptionofasingleblockunderafixedkey.Amultitudeofmodesofoperationhavebeendesignedtoallowtheirrepeateduseinasecureway,commonlytoachievethesecuritygoalsofconfidentialityandauthenticity.However,blockciphersmayalsobeusedasbuildingblocksinothercryptographicprotocols,suchasuniversalhashfunctionsandpseudorandomnumbergenerators.

    Contents

    1Definition2Design

    2.1Iteratedblockciphers2.2Substitutionpermutationnetworks2.3Feistelciphers2.4LaiMasseyciphers2.5Operations

    2.5.1ARXaddrotatexor2.5.2otheroperations

    3Modesofoperation4Padding5Cryptanalysis

    5.1Bruteforceattacks5.2Differentialcryptanalysis5.3Linearcryptanalysis5.4Integralcryptanalysis5.5Othertechniques

    6Provablesecurity

  • 6/15/2015 BlockcipherWikipedia,thefreeencyclopedia

    https://en.wikipedia.org/wiki/Block_cipher 2/14

    6Provablesecurity6.1Standardmodel6.2Idealciphermodel

    7Practicalevaluation8Notableblockciphers

    8.1Lucifer/DES8.2IDEA8.3RC58.4Rijndael/AES8.5Blowfish

    9Generalizations9.1Tweakableblockciphers9.2Formatpreservingencryption

    10Relationtoothercryptographicprimitives11Seealso12References13Furtherreading14Externallinks

    Definition

    Ablockcipherconsistsoftwopairedalgorithms,oneforencryption,E,andtheotherfordecryption,D.[4]Bothalgorithmsaccepttwoinputs:aninputblockofsizenbitsandakeyofsizekbitsandbothyieldannbitoutputblock.ThedecryptionalgorithmDisdefinedtobetheinversefunctionofencryption,i.e.,D=E1.Moreformally,[5][6]ablockcipherisspecifiedbyanencryptionfunction

    whichtakesasinputakeyKofbitlengthk,calledthekeysize,andabitstringPoflengthn,calledtheblocksize,andreturnsastringCofnbits.Piscalledtheplaintext,andCistermedtheciphertext.ForeachK,thefunctionEK(P)isrequiredtobeaninvertiblemappingon{0,1}n.TheinverseforEisdefinedasafunction

    takingakeyKandaciphertextCtoreturnaplaintextvalueP,suchthat

    Forexample,ablockcipherencryptionalgorithmmighttakea128bitblockofplaintextasinput,andoutputacorresponding128bitblockofciphertext.Theexacttransformationiscontrolledusingasecondinputthesecretkey.Decryptionissimilar:thedecryptionalgorithmtakes,inthisexample,a128bitblockofciphertexttogetherwiththesecretkey,andyieldstheoriginal128bitblockofplaintext.[7]

    ForeachkeyK,EKisapermutation(abijectivemapping)overthesetofinputblocks.Eachkeyselects

    onepermutationfromthepossiblesetof .[8]

    Design

  • 6/15/2015 BlockcipherWikipedia,thefreeencyclopedia

    https://en.wikipedia.org/wiki/Block_cipher 3/14

    Iteratedblockciphers

    Mostblockcipheralgorithmsareclassifiedasiteratedblockcipherswhichmeansthattheytransformfixedsizeblocksofplaintextintoidenticalsizeblocksofciphertext,viatherepeatedapplicationofaninvertibletransformationknownastheroundfunction,witheachiterationreferredtoasaround.[9]

    Usually,theroundfunctionRtakesdifferentroundkeysKiassecondinput,whicharederivedfromtheoriginalkey:

    where istheplaintextand theciphertext,withrbeingtheroundnumber.

    Frequently,keywhiteningisusedinadditiontothis.Atthebeginningandtheend,thedataismodifiedwithkeymaterial(oftenwithXOR,butsimplearithmeticoperationslikeaddingandsubtractingarealsoused):

    Givenoneofthestandarditeratedblockcipherdesignschemes,itisfairlyeasytoconstructablockcipherthatiscryptographicallysecure,simplybyusingalargenumberofrounds.However,thiswillmakethecipherinefficient.Thus,efficiencyisthemostimportantadditionaldesigncriterionforprofessionalciphers.Further,agoodblockcipherisdesignedtoavoidsidechannelattacks,suchasinputdependentmemoryaccessesthatmightleaksecretdataviathecachestateortheexecutiontime.Inaddition,theciphershouldbeconcise,forsmallhardwareandsoftwareimplementations.Finally,theciphershouldbeeasilycryptanalyzable,suchthatitcanbeshowntohowmanyroundsthecipherneedstobereducedsuchthattheexistingcryptographicattackswouldworkand,conversely,thatthenumberofactualroundsislargeenoughtoprotectagainstthem.

    Substitutionpermutationnetworks

    Oneimportanttypeofiteratedblockcipherknownasasubstitutionpermutationnetwork(SPN)takesablockoftheplaintextandthekeyasinputs,andappliesseveralalternatingroundsconsistingofasubstitutionstagefollowedbyapermutationstagetoproduceeachblockofciphertextoutput.[10]Thenonlinearsubstitutionstagemixesthekeybitswiththoseoftheplaintext,creatingShannon'sconfusion.Thelinearpermutationstagethendissipatesredundancies,creatingdiffusion.[11][12]

    Asubstitutionbox(Sbox)substitutesasmallblockofinputbitswithanotherblockofoutputbits.Thissubstitutionmustbeonetoone,toensureinvertibility(hencedecryption).AsecureSboxwillhavethepropertythatchangingoneinputbitwillchangeabouthalfoftheoutputbitsonaverage,exhibitingwhatisknownastheavalancheeffecti.e.ithasthepropertythateachoutputbitwilldependoneveryinputbit.[13]

    Apermutationbox(Pbox)isapermutationofallthebits:ittakestheoutputsofalltheSboxesofoneround,permutesthebits,andfeedsthemintotheSboxesofthenextround.AgoodPboxhasthepropertythattheoutputbitsofanySboxaredistributedtoasmanySboxinputsaspossible.

    Ateachround,theroundkey(obtainedfromthekeywithsomesimpleoperations,forinstance,usingSboxesandPboxes)iscombinedusingsomegroupoperation,typicallyXOR.

  • 6/15/2015 BlockcipherWikipedia,thefreeencyclopedia

    https://en.wikipedia.org/wiki/Block_cipher 4/14

    AsketchofaSubstitutionPermutationNetworkwith3rounds,encryptingaplaintextblockof16bitsintoaciphertextblockof16bits.TheSboxesaretheSis,thePboxesarethesameP,andtheroundkeysaretheKis.

    Manyblockciphers,suchasDESandBlowfishutilizestructuresknownasFeistelciphers

    Decryptionisdonebysimplyreversingtheprocess(usingtheinversesoftheSboxesandPboxesandapplyingtheroundkeysinreversedorder).

    Feistelciphers

    InaFeistelcipher,theblockofplaintexttobeencryptedissplitintotwoequalsizedhalves.Theroundfunctionisappliedtoonehalf,usingasubkey,andthentheoutputisXORedwiththeotherhalf.Thetwohalvesarethenswapped.[14]

    Let betheroundfunctionandlet bethesubkeysfortherounds respectively.

    Thenthebasicoperationisasfollows:[14]

    Splittheplaintextblockintotwoequalpieces,( , )

    Foreachround ,compute

    .

    Thentheciphertextis .

    Decryptionofaciphertext isaccomplishedbycomputingfor

    .

    Then istheplaintextagain.

    OneadvantageoftheFeistelmodelcomparedtoasubstitutionpermutationnetworkisthattheroundfunction doesnothavetobeinvertible.[15]

    LaiMasseyciphers

    TheLaiMasseyschemeofferssecuritypropertiessimilartothoseoftheFeistelstructure.Italsosharesitsadvantagethattheroundfunction doesnothavetobeinvertible.Anothersimilarityisthatisalsosplitstheinputblockintotwoequalpieces.However,theroundfunctionisappliedtothedifferencebetweenthetwo,andtheresultisthenaddedtobothhalfblocks.

    Let betheroundfunctionand ahalfroundfunctionandlet bethesubkeysfortherounds

    respectively.

  • 6/15/2015 BlockcipherWikipedia,thefreeencyclopedia

    https://en.wikipedia.org/wiki/Block_cipher 5/14

    TheLaiMasseyscheme.ThearchetypicalcipherutilizingitisIDEA.

    Thenthebasicoperationisasfollows:

    Splittheplaintextblockintotwoequalpieces,( , )

    Foreachround ,compute

    where and

    Thentheciphertextis.

    Decryptionofaciphertext isaccomplishedbycomputingfor

    where and

    Then istheplaintextagain.

    Operations

    ARXaddrotatexor

    ManymodernblockciphersandhashesareARXalgorithmstheirroundfunctioninvolvesonlythreeoperations:modularaddition,rotationwithfixedrotationamounts,andXOR(ARX).ExamplesincludeSalsa20andSpeckandBLAKE.ManyauthorsdrawanARXnetwork,akindofdataflowdiagram,toillustratesucharoundfunction.[16]

    TheseARXoperationsarepopularbecausetheyarerelativelyfastandcheapinhardwareandsoftware,andalsobecausetheyruninconstanttime,andarethereforeimmunetotimingattacks.Therotationalcryptanalysistechniqueattemptstoattacksuchroundfunctions.

    otheroperations

    OtheroperationsoftenusedinblockciphersincludedatadependentrotationsasinRC5andRC6,asubstitutionboximplementedasalookuptableasinDataEncryptionStandardandAdvancedEncryptionStandard,apermutationbox,andmultiplicationasinIDEA.

    Modesofoperation

    Ablockcipherbyitselfallowsencryptiononlyofasingledatablockofthecipher'sblocklength.Foravariablelengthmessage,thedatamustfirstbepartitionedintoseparatecipherblocks.Inthesimplestcase,knownastheelectroniccodebook(ECB)mode,amessageisfirstsplitintoseparateblocksofthecipher'sblocksize(possiblyextendingthelastblockwithpaddingbits),andtheneachblockis

  • 6/15/2015 BlockcipherWikipedia,thefreeencyclopedia

    https://en.wikipedia.org/wiki/Block_cipher 6/14

    Insecureencryptionofanimageasaresultofelectroniccodebookmodeencoding.

    encryptedanddecryptedindependently.However,suchanaivemethodisgenerallyinsecurebecauseequalplaintextblockswillalwaysgenerateequalciphertextblocks(forthesamekey),sopatternsintheplaintextmessagebecomeevidentintheciphertextoutput.[17]

    Toovercomethislimitation,severalsocalledblockciphermodesofoperationhavebeendesigned[18][19]andspecifiedinnationalrecommendationssuchasNIST80038A[20]andBSITR02102[21]

    andinternationalstandardssuchasISO/IEC10116.[22]Thegeneralconceptistouserandomizationoftheplaintextdatabasedonanadditionalinputvalue,frequentlycalledaninitializationvector,tocreatewhatistermedprobabilisticencryption.[23]Inthepopularcipherblockchaining(CBC)mode,forencryptiontobesecuretheinitializationvectorpassedalongwiththeplaintextmessagemustbearandomorpseudorandomvalue,whichisaddedinanexclusiveormannertothefirstplaintextblockbeforeitisbeingencrypted.Theresultantciphertextblockisthenusedasthenewinitializationvectorforthenextplaintextblock.Inthecipherfeedback(CFB)mode,whichemulatesaselfsynchronizingstreamcipher,theinitializationvectorisfirstencryptedandthenaddedtotheplaintextblock.Theoutputfeedback(OFB)moderepeatedlyencryptstheinitializationvectortocreateakeystreamfortheemulationofasynchronousstreamcipher.Thenewercounter(CTR)modesimilarlycreatesakeystream,buthastheadvantageofonlyneedinguniqueandnot(pseudo)randomvaluesasinitializationvectorstheneededrandomnessisderivedinternallybyusingtheinitializationvectorasablockcounterandencryptingthiscounterforeachblock.[20]

    Fromasecuritytheoreticpointofview,modesofoperationmustprovidewhatisknownassemanticsecurity.[24]Informally,itmeansthatgivensomeciphertextunderanunknownkeyonecannotpracticallyderiveanyinformationfromtheciphertext(otherthanthelengthofthemessage)overwhatonewouldhaveknownwithoutseeingtheciphertext.Ithasbeenshownthatallofthemodesdiscussedabove,withtheexceptionoftheECBmode,providethispropertyundersocalledchosenplaintextattacks.

    Padding

    SomemodessuchastheCBCmodeonlyoperateoncompleteplaintextblocks.Simplyextendingthelastblockofamessagewithzerobitsisinsufficientsinceitdoesnotallowareceivertoeasilydistinguishmessagesthatdifferonlyintheamountofpaddingbits.Moreimportantly,suchasimplesolutiongivesrisetoveryefficientpaddingoracleattacks.[25]Asuitablepaddingschemeisthereforeneededtoextendthelastplaintextblocktothecipher'sblocksize.Whilemanypopularschemesdescribedinstandardsandintheliteraturehavebeenshowntobevulnerabletopaddingoracleattacks,[25][26]asolutionwhichaddsaonebitandthenextendsthelastblockwithzerobits,standardizedas"paddingmethod2"inISO/IEC97971,[27]hasbeenprovensecureagainsttheseattacks.[26]

    Cryptanalysis

    Bruteforceattacks

  • 6/15/2015 BlockcipherWikipedia,thefreeencyclopedia

    https://en.wikipedia.org/wiki/Block_cipher 7/14

    Duetoablockcipher'scharacteristicasaninvertiblefunction,itsoutputbecomesdistinguishablefromatrulyrandomoutputstringovertimeduetothebirthdayattack.Thispropertyresultsinthecipher'ssecuritydegradingquadratically,andneedstobetakenintoaccountwhenselectingablocksize.Thereisatradeoffthoughaslargeblocksizescanresultinthealgorithmbecominginefficienttooperate.[28]EarlierblockcipherssuchastheDEShavetypicallyselecteda64bitblocksize,whilenewerdesignssuchastheAESsupportblocksizesof128bitsormore,withsomecipherssupportingarangeofdifferentblocksizes.[29]

    Differentialcryptanalysis

    Linearcryptanalysis

    Linearcryptanalysisisaformofcryptanalysisbasedonfindingaffineapproximationstotheactionofacipher.Linearcryptanalysisisoneofthetwomostwidelyusedattacksonblockcipherstheotherbeingdifferentialcryptanalysis.

    ThediscoveryisattributedtoMitsuruMatsui,whofirstappliedthetechniquetotheFEALcipher(MatsuiandYamagishi,1992).[30]

    Integralcryptanalysis

    Integralcryptanalysisisacryptanalyticattackthatisparticularlyapplicabletoblockciphersbasedonsubstitutionpermutationnetworks.Unlikedifferentialcryptanalysis,whichusespairsofchosenplaintextswithafixedXORdifference,integralcryptanalysisusessetsorevenmultisetsofchosenplaintextsofwhichpartisheldconstantandanotherpartvariesthroughallpossibilities.Forexample,anattackmightuse256chosenplaintextsthathaveallbut8oftheirbitsthesame,butalldifferinthose8bits.SuchasetnecessarilyhasanXORsumof0,andtheXORsumsofthecorrespondingsetsofciphertextsprovideinformationaboutthecipher'soperation.Thiscontrastbetweenthedifferencesofpairsoftextsandthesumsoflargersetsoftextsinspiredthename"integralcryptanalysis",borrowingtheterminologyofcalculus.

    Othertechniques

    Inadditiontolinearanddifferentialcryptanalysis,thereisagrowingcatalogofattacks:truncateddifferentialcryptanalysis,partialdifferentialcryptanalysis,integralcryptanalysis,whichencompassessquareandintegralattacks,slideattacks,boomerangattacks,theXSLattack,impossibledifferentialcryptanalysisandalgebraicattacks.Foranewblockcipherdesigntohaveanycredibility,itmustdemonstrateevidenceofsecurityagainstknownattacks.

    Provablesecurity

    Whenablockcipherisusedinagivenmodeofoperation,theresultingalgorithmshouldideallybeaboutassecureastheblockcipheritself.ECB(discussedabove)emphaticallylacksthisproperty:regardlessofhowsecuretheunderlyingblockcipheris,ECBmodecaneasilybeattacked.Ontheotherhand,CBCmodecanbeproventobesecureundertheassumptionthattheunderlyingblockcipherislikewisesecure.Note,however,thatmakingstatementslikethisrequiresformalmathematicaldefinitionsforwhatitmeansforanencryptionalgorithmorablockcipherto"besecure".Thissectiondescribestwocommonnotionsforwhatpropertiesablockciphershouldhave.Eachcorrespondstoamathematicalmodelthatcanbeusedtoprovepropertiesofhigherlevelalgorithms,suchasCBC.

  • 6/15/2015 BlockcipherWikipedia,thefreeencyclopedia

    https://en.wikipedia.org/wiki/Block_cipher 8/14

    Thedevelopmentoftheboomerangattackenableddifferentialcryptanalysistechniquestobeappliedtomanyciphersthathadpreviouslybeendeemedsecureagainstdifferentialattacks

    Thisgeneralapproachtocryptographyprovinghigherlevelalgorithms(suchasCBC)aresecureunderexplicitlystatedassumptionsregardingtheircomponents(suchasablockcipher)isknownasprovablesecurity.

    Standardmodel

    Informally,ablockcipherissecureinthestandardmodelifanattackercannottellthedifferencebetweentheblockcipher(equippedwitharandomkey)andarandompermutation.

    Tobeabitmoreprecise,letEbeannbitblockcipher.Weimaginethefollowinggame:

    1. Thepersonrunningthegameflipsacoin.Ifthecoinlandsonheads,hechoosesarandomkeyKanddefinesthefunctionf=EK.Ifthecoinlandsontails,hechoosesarandompermutationonthesetofnbitstrings,anddefinesthefunctionf=.

    2. TheattackerchoosesannbitstringX,andthepersonrunningthegametellshimthevalueoff(X).

    3. Step2isrepeatedatotalofqtimes.(Eachoftheseqinteractionsisaquery.)4. Theattackerguesseshowthecoinlanded.Hewinsifhisguessiscorrect.

    Theattacker,whichwecanmodelasanalgorithm,iscalledanadversary.Thefunctionf(whichtheadversarywasabletoquery)iscalledanoracle.

    Notethatanadversarycantriviallyensurea50%chanceofwinningsimplybyguessingatrandom(orevenby,forexample,alwaysguessing"heads").ThereforeletPE(A)denotetheprobabilitythattheadversaryAwinsthisgameagainstE,anddefinetheadvantageofAas2(PE(A)1/2).ItfollowsthatifAguessesrandomly,itsadvantagewillbe0ontheotherhand,ifAalwayswins,thenitsadvantageis1.TheblockcipherEisapseudorandompermutation(PRP)ifnoadversaryhasanadvantagesignificantlygreaterthan0,givenspecifiedrestrictionsonqandtheadversary'srunningtime.IfinStep2aboveadversarieshavetheoptionoflearningf1(X)insteadoff(X)(butstillhaveonlysmalladvantages)thenEisastrongPRP(SPRP).AnadversaryisnonadaptiveifitchoosesallqvaluesforXbeforethegamebegins(thatis,itdoesnotuseanyinformationgleanedfrompreviousqueriestochooseeachXasitgoes).

    Thesedefinitionshaveprovenusefulforanalyzingvariousmodesofoperation.Forexample,onecandefineasimilargameformeasuringthesecurityofablockcipherbasedencryptionalgorithm,andthentrytoshow(throughareductionargument)thattheprobabilityofanadversarywinningthisnewgameisnotmuchmorethanPE(A)forsomeA.(ThereductiontypicallyprovideslimitsonqandtherunningtimeofA.)Equivalently,ifPE(A)issmallforallrelevantA,thennoattackerhasasignificantprobabilityofwinningthenewgame.Thisformalizestheideathatthehigherlevelalgorithminheritstheblockcipher'ssecurity.

    Idealciphermodel

    Practicalevaluation

  • 6/15/2015 BlockcipherWikipedia,thefreeencyclopedia

    https://en.wikipedia.org/wiki/Block_cipher 9/14

    Blockciphersmaybeevaluatedaccordingtomultiplecriteriainpractice.Commonfactorsinclude:[31][32]

    Keyparameters,suchasitskeysizeandblocksize,bothwhichprovideanupperboundonthesecurityofthecipher.Theestimatedsecuritylevel,whichisbasedontheconfidencegainedintheblockcipherdesignafterithaslargelywithstoodmajoreffortsincryptanalysisovertime,thedesign'smathematicalsoundness,andtheexistenceofpracticalorcertificationalattacks.Thecipher'scomplexityanditssuitabilityforimplementationinhardwareorsoftware.Hardwareimplementationsmaymeasurethecomplexityintermsofgatecountorenergyconsumption,whichareimportantparametersforresourceconstraineddevices.Thecipher'sperformanceintermsofprocessingthroughputonvariousplatforms,includingitsmemoryrequirements.Thecostofthecipher,whichreferstolicensingrequirementsthatmayapplyduetointellectualpropertyrights.Theflexibilityofthecipher,whichincludesitsabilitytosupportmultiplekeysizesandblocklengths.

    Notableblockciphers

    Lucifer/DES

    Luciferisgenerallyconsideredtobethefirstcivilianblockcipher,developedatIBMinthe1970sbasedonworkdonebyHorstFeistel.ArevisedversionofthealgorithmwasadoptedasaU.S.governmentFederalInformationProcessingStandard:FIPSPUB46DataEncryptionStandard(DES).[33]ItwaschosenbytheU.S.NationalBureauofStandards(NBS)afterapublicinvitationforsubmissionsandsomeinternalchangesbyNBS(and,potentially,theNSA).DESwaspubliclyreleasedin1976andhasbeenwidelyused.

    DESwasdesignedto,amongotherthings,resistacertaincryptanalyticattackknowntotheNSAandrediscoveredbyIBM,thoughunknownpubliclyuntilrediscoveredagainandpublishedbyEliBihamandAdiShamirinthelate1980s.Thetechniqueiscalleddifferentialcryptanalysisandremainsoneofthefewgeneralattacksagainstblockcipherslinearcryptanalysisisanother,butmayhavebeenunknowneventotheNSA,priortoitspublicationbyMitsuruMatsui.DESpromptedalargeamountofotherworkandpublicationsincryptographyandcryptanalysisintheopencommunityanditinspiredmanynewcipherdesigns.

    DEShasablocksizeof64bitsandakeysizeof56bits.64bitblocksbecamecommoninblockcipherdesignsafterDES.Keylengthdependedonseveralfactors,includinggovernmentregulation.Manyobserversinthe1970scommentedthatthe56bitkeylengthusedforDESwastooshort.Astimewenton,itsinadequacybecameapparent,especiallyafteraspecialpurposemachinedesignedtobreakDESwasdemonstratedin1998bytheElectronicFrontierFoundation.AnextensiontoDES,TripleDES,tripleencryptseachblockwitheithertwoindependentkeys(112bitkeyand80bitsecurity)orthreeindependentkeys(168bitkeyand112bitsecurity).Itwaswidelyadoptedasareplacement.Asof2011,thethreekeyversionisstillconsideredsecure,thoughtheNationalInstituteofStandardsandTechnology(NIST)standardsnolongerpermittheuseofthetwokeyversioninnewapplications,duetoits80bitsecuritylevel.[34]

    IDEA

  • 6/15/2015 BlockcipherWikipedia,thefreeencyclopedia

    https://en.wikipedia.org/wiki/Block_cipher 10/14

    Oneround(twohalfrounds)oftheRC5blockcipher

    TheInternationalDataEncryptionAlgorithm(IDEA)isablockcipherdesignedbyJamesMasseyofETHZurichandXuejiaLaiitwasfirstdescribedin1991,asanintendedreplacementforDES.

    IDEAoperateson64bitblocksusinga128bitkey,andconsistsofaseriesofeightidenticaltransformations(around)andanoutputtransformation(thehalfround).Theprocessesforencryptionanddecryptionaresimilar.IDEAderivesmuchofitssecuritybyinterleavingoperationsfromdifferentgroupsmodularadditionandmultiplication,andbitwiseexclusiveor(XOR)whicharealgebraically"incompatible"insomesense.

    ThedesignersanalysedIDEAtomeasureitsstrengthagainstdifferentialcryptanalysisandconcludedthatitisimmuneundercertainassumptions.Nosuccessfullinearoralgebraicweaknesseshavebeenreported.Asof2012,thebestattackwhichappliestoallkeyscanbreakfull8.5roundIDEAusinganarrowbicliquesattackaboutfourtimesfasterthanbruteforce.

    RC5

    RC5isablockcipherdesignedbyRonaldRivestin1994which,unlikemanyotherciphers,hasavariableblocksize(32,64or128bits),keysize(0to2040bits)andnumberofrounds(0to255).Theoriginalsuggestedchoiceofparameterswereablocksizeof64bits,a128bitkeyand12rounds.

    AkeyfeatureofRC5istheuseofdatadependentrotationsoneofthegoalsofRC5wastopromptthestudyandevaluationofsuchoperationsasacryptographicprimitive.RC5alsoconsistsofanumberofmodularadditionsandXORs.ThegeneralstructureofthealgorithmisaFeistellikenetwork.Theencryptionanddecryptionroutinescanbespecifiedinafewlinesofcode.Thekeyschedule,however,ismorecomplex,expandingthekeyusinganessentiallyonewayfunctionwiththebinaryexpansionsofbotheandthegoldenratioassourcesof"nothingupmysleevenumbers".ThetantalisingsimplicityofthealgorithmtogetherwiththenoveltyofthedatadependentrotationshasmadeRC5anattractiveobjectofstudyforcryptanalysts.

    12roundRC5(with64bitblocks)issusceptibletoadifferentialattackusing244chosenplaintexts.[35]1820roundsaresuggestedassufficientprotection.

    Rijndael/AES

    DEShasbeensupersededasaUnitedStatesFederalStandardbytheAES,adoptedbyNISTin2001aftera5yearpubliccompetition.ThecipherwasdevelopedbytwoBelgiancryptographers,JoanDaemenandVincentRijmen,andsubmittedunderthenameRijndael.

    AEShasafixedblocksizeof128bitsandakeysizeof128,192,or256bits,whereasRijndaelcanbespecifiedwithblockandkeysizesinanymultipleof32bits,withaminimumof128bits.Theblocksizehasamaximumof256bits,butthekeysizehasnotheoreticalmaximum.AESoperatesona44columnmajorordermatrixofbytes,termedthestate(versionsofRijndaelwithalargerblocksizehaveadditionalcolumnsinthestate).

  • 6/15/2015 BlockcipherWikipedia,thefreeencyclopedia

    https://en.wikipedia.org/wiki/Block_cipher 11/14

    Blowfish

    Blowfishisablockcipher,designedin1993byBruceSchneierandincludedinalargenumberofciphersuitesandencryptionproducts.Blowfishhasa64bitblocksizeandavariablekeylengthfrom1bitupto448bits.[36]Itisa16roundFeistelcipheranduseslargekeydependentSboxes.NotablefeaturesofthedesignincludethekeydependentSboxesandahighlycomplexkeyschedule.

    SchneierdesignedBlowfishasageneralpurposealgorithm,intendedasanalternativetotheageingDESandfreeoftheproblemsandconstraintsassociatedwithotheralgorithms.AtthetimeBlowfishwasreleased,manyotherdesignswereproprietary,encumberedbypatentsorwerecommercial/governmentsecrets.Schneierhasstatedthat,"Blowfishisunpatented,andwillremainsoinallcountries.Thealgorithmisherebyplacedinthepublicdomain,andcanbefreelyusedbyanyone."Blowfishprovidesagoodencryptionrateinsoftwareandnoeffectivecryptanalysisofthefullroundversionhasbeenfoundtodate.

    Generalizations

    Tweakableblockciphers

    M.Liskov,R.Rivest,andD.Wagnerhavedescribedageneralizedversionofblockcipherscalled"tweakable"blockciphers.[37]Atweakableblockcipheracceptsasecondinputcalledthetweakalongwithitsusualplaintextorciphertextinput.Thetweak,alongwiththekey,selectsthepermutationcomputedbythecipher.Ifchangingtweaksissufficientlylightweight(comparedwithausuallyfairlyexpensivekeysetupoperation),thensomeinterestingnewoperationmodesbecomepossible.Thediskencryptiontheoryarticledescribessomeofthesemodes.

    Formatpreservingencryption

    Blockcipherstraditionallyworkoverabinaryalphabet.Thatis,boththeinputandtheoutputarebinarystrings,consistingofnzeroesandones.Insomesituations,however,onemaywishtohaveablockcipherthatworksoversomeotheralphabetforexample,encrypting16digitcreditcardnumbersinsuchawaythattheciphertextisalsoa16digitnumbermightfacilitateaddinganencryptionlayertolegacysoftware.Thisisanexampleofformatpreservingencryption.Moregenerally,formatpreservingencryptionrequiresakeyedpermutationonsomefinitelanguage.Thismakesformatpreservingencryptionschemesanaturalgeneralizationof(tweakable)blockciphers.Incontrast,traditionalencryptionschemes,suchasCBC,arenotpermutationsbecausethesameplaintextcanencrypttomultipledifferentciphertexts,evenwhenusingafixedkey.

    Relationtoothercryptographicprimitives

    Blockcipherscanbeusedtobuildothercryptographicprimitives,suchasthosebelow.Fortheseotherprimitivestobecryptographicallysecure,carehastobetakentobuildthemtherightway.

    Streamcipherscanbebuiltusingblockciphers.OFBmodeandCTRmodeareblockmodesthatturnablockcipherintoastreamcipher.

    Cryptographichashfunctionscanbebuiltusingblockciphers.[38][39]Seeonewaycompressionfunctionfordescriptionsofseveralsuchmethods.Themethodsresembletheblockciphermodesofoperationusuallyusedforencryption.

  • 6/15/2015 BlockcipherWikipedia,thefreeencyclopedia

    https://en.wikipedia.org/wiki/Block_cipher 12/14

    Cryptographicallysecurepseudorandomnumbergenerators(CSPRNGs)canbebuiltusingblockciphers.[40][41]

    SecurepseudorandompermutationsofarbitrarilysizedfinitesetscanbeconstructedwithblockciphersseeFormatPreservingEncryption.

    Messageauthenticationcodes(MACs)areoftenbuiltfromblockciphers.CBCMAC,OMACandPMACaresuchMACs.

    Authenticatedencryptionisalsobuiltfromblockciphers.ItmeanstobothencryptandMACatthesametime.Thatistobothprovideconfidentialityandauthentication.CCM,EAX,GCMandOCBaresuchauthenticatedencryptionmodes.

    Justasblockcipherscanbeusedtobuildhashfunctions,hashfunctionscanbeusedtobuildblockciphers.ExamplesofsuchblockciphersareSHACAL,BEARandLION.

    Seealso

    CiphersecuritysummaryTopicsincryptography

    References1. Shannon,Claude(1949)."CommunicationTheoryofSecrecySystems"

    (http://netlab.cs.ucla.edu/wiki/files/shannon1949.pdf)(PDF).BellSystemTechnicalJournal28(4):656715.2. vanTilborg,HenkC.A.Jajodia,Sushil,eds.(2011).EncyclopediaofCryptographyandSecurity

    (http://books.google.com/books?id=UuNKmgv70lMC&pg=PA455).Springer.ISBN9781441959058.,p.455.

    3. vanTilborg&Jajodia2011,p.1268.4. Cusick,ThomasW.&Stanica,Pantelimon(2009).CryptographicBooleanfunctionsandapplications

    (http://books.google.com/books?id=OAkhkLSxxxMC&pg=PA158).AcademicPress.pp.158159.ISBN9780123748904.

    5. Menezes,AlfredJ.vanOorschot,PaulC.Vanstone,ScottA.(1996)."Chapter7:BlockCiphers".HandbookofAppliedCryptography(http://www.cacr.math.uwaterloo.ca/hac/).CRCPress.ISBN0849385237.

    6. Bellare,MihirRogaway,Phillip(11May2005),IntroductiontoModernCryptography(http://www.cs.ucdavis.edu/~rogaway/classes/227/spring05/book/main.pdf)(LECTURENOTES),chapter3.

    7. Chakraborty,D.&RodriguezHenriquezF.(2008)."BlockCipherModesofOperationfromaHardwareImplementationPerspective".InKo,etinK.CryptographicEngineering(http://books.google.com/books?id=nErZY4vYHIoC&pg=PA321).Springer.p.321.ISBN9780387718163.

    8. Menezes,vanOorschot&Vanstone1996,section7.2.9. Junod,Pascal&Canteaut,Anne(2011).AdvancedLinearCryptanalysisofBlockandStreamCiphers

    (http://books.google.com/books?id=pMnRhjStTZoC&pg=PA2).IOSPress.p.2.ISBN9781607508441.10. Keliher,Liametal.(2000)."ModelingLinearCharacteristicsofSubstitutionPermutationNetworks".In

    Hays,Howard&Carlisle,Adam.Selectedareasincryptography:6thannualinternationalworkshop,SAC'99,Kingston,Ontario,Canada,August910,1999:proceedings(http://books.google.com/books?id=qxurbiN0CcYC&pg=PA79).Springer.p.79.ISBN9783540671855.

    11. Baigneres,Thomas&Finiasz,Matthieu(2007)."Dial'C'forCipher".InBiham,Eli&Yousseff,Amr.Selectedareasincryptography:13thinternationalworkshop,SAC2006,Montreal,Canada,August1718,2006:revisedselectedpapers(http://books.google.com/books?id=yb99g5G7FS4C&pg=PA77).Springer.p.77.ISBN9783540744610.

    12. Cusick,ThomasW.&Stanica,Pantelimon(2009).CryptographicBooleanfunctionsandapplications(http://books.google.com/books?id=OAkhkLSxxxMC&pg=PA164).AcademicPress.p.164.ISBN9780123748904.

    13. Katz,JonathanLindell,Yehuda(2008).Introductiontomoderncryptography

  • 6/15/2015 BlockcipherWikipedia,thefreeencyclopedia

    https://en.wikipedia.org/wiki/Block_cipher 13/14

    (http://books.google.com/books?id=TTtVKHdOcDoC&pg=PA166).CRCPress.ISBN9781584885511.,pages166167.

    14. Katz&Lindell2008,pp.170172.15. Katz&Lindell2008,p.171.16. Aumasson,JeanPhilippeBernstein,DanielJ.(20120918)."SipHash:afastshortinputPRF"

    (https://131002.net/siphash/siphash.pdf)(PDF).p.5.17. Menezes,Oorschot&Vanstone1996,pp.228230,Chapter7.18. "BlockCipherModes"(http://csrc.nist.gov/groups/ST/toolkit/BCM/index.html).NISTComputerSecurity

    ResourceCenter.19. Menezes,vanOorschot&Vanstone1996,pp.228233.20. MorrisDworkin(December2001),"RecommendationforBlockCipherModesofOperationMethodsand

    Techniques"(http://csrc.nist.gov/publications/nistpubs/80038a/sp80038a.pdf)(PDF),SpecialPublication80038A(NationalInstituteofStandardsandTechnology(NIST))

    21. "KryptographischeVerfahren:EmpfehlungenundSchlssellngen",BSITR02102(TechnischeRichtlinie)(Version1.0),June20,2008

    22. ISO/IEC10116:2006InformationtechnologySecuritytechniquesModesofoperationforannbitblockcipher(http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=38761)

    23. Bellare&Rogaway2005,p.101,section5.3.24. Bellare&Rogaway2005,section5.6.25. SergeVaudenay(2002)."SecurityFlawsInducedbyCBCPaddingApplicationstoSSL,IPSEC,WTLS...".

    AdvancesinCryptologyEUROCRYPT2002,Proc.InternationalConferenceontheTheoryandApplicationsofCryptographicTechniques(SpringerVerlag)(2332):534545.

    26. KennethG.PatersonGavenJ.Watson(2008)."ImmunisingCBCModeAgainstPaddingOracleAttacks:AFormalSecurityTreatment".SecurityandCryptographyforNetworksSCN2008,LectureNotesinComputerScience(SpringerVerlag)(5229):340357.

    27. ISO/IEC97971:InformationtechnologySecuritytechniquesMessageAuthenticationCodes(MACs)Part1:Mechanismsusingablockcipher(http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=50375),ISO/IEC,2011

    28. Martin,KeithM.(2012).EverydayCryptography:FundamentalPrinciplesandApplications(http://books.google.com/books?id=5DZ_vvgl4oC&pg=PA114).OxfordUniversityPress.p.114.ISBN9780199695591.

    29. Paar,Cristofetal.(2010).UnderstandingCryptography:ATextbookforStudentsandPractitioners(http://books.google.com/books?id=f24wFELSzkoC&pg=PA30).Springer.p.30.ISBN9783642041006.

    30. Matsui,M.andYamagishi,A."AnewmethodforknownplaintextattackofFEALcipher".AdvancesinCryptologyEUROCRYPT1992.

    31. Menezes,vanOorschot&Vanstone1996,p.227.32. JamesNechvatal,ElaineBarker,LawrenceBassham,WilliamBurr,MorrisDworkin,JamesFoti,Edward

    Roback(October2000),ReportontheDevelopmentoftheAdvancedEncryptionStandard(AES)(http://csrc.nist.gov/archive/aes/round2/r2report.pdf)(PDF),NationalInstituteofStandardsandTechnology(NIST)

    33. FIPSPUB463DataEncryptionStandard(DES)(http://csrc.nist.gov/publications/fips/fips463/fips463.pdf)(Thisisthethirdedition,1999,butincludeshistoricalinformationinthepreliminarysection12.)

    34. NISTSpecialPublication80057RecommendationforKeyManagementPart1:General(Revised),March,2007(http://csrc.nist.gov/publications/nistpubs/80057/sp80057Part1revised2_Mar082007.pdf)

    35. BiryukovA.andKushilevitzE.(1998).ImprovedCryptanalysisofRC5.EUROCRYPT1998.36. BruceSchneier(1993)."DescriptionofaNewVariableLengthKey,64BitBlockCipher(Blowfish)"

    (http://www.schneier.com/paperblowfishfse.html).37. M.Liskov,R.Rivest,andD.Wagner."TweakableBlockCiphers"

    (http://www.cs.colorado.edu/~jrblack/class/csci7000/f03/papers/tweakcrypto02.pdf)(PDF).Crypto2002.38. ISO/IEC101182:2010InformationtechnologySecuritytechniquesHashfunctionsPart2:Hash

    functionsusingannbitblockcipher(http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=44737)

    39. Menezes,vanOorschot&Vanstone1996,Chapter9:HashFunctionsandDataIntegrity.40. NISTSpecialPublication80090ARecommendationforRandomNumberGenerationUsingDeterministic

    RandomBitGenerators(http://csrc.nist.gov/publications/nistpubs/80090A/SP80090A.pdf)41. Menezes,vanOorschot&Vanstone1996,Chapter5:PseudorandomBitsandSequences.

  • 6/15/2015 BlockcipherWikipedia,thefreeencyclopedia

    https://en.wikipedia.org/wiki/Block_cipher 14/14

    Furtherreading

    Knudsen,LarsR.&(2011).TheBlockCipherCompanion(http://books.google.com/books?id=YiZKt_FcmYQC).Springer.ISBN9783642173417.

    Externallinks

    Alistofmanysymmetricalgorithms,themajorityofwhichareblockciphers.(http://www.users.zetnet.co.uk/hopwood/crypto/scan/cs.html)Theblockcipherlounge(http://www.mat.dtu.dk/people/Lars.R.Knudsen/bc.html)Whatisablockcipher?(http://www.rsa.com/rsalabs/node.asp?id=2168)fromRSAFAQ

    Retrievedfrom"https://en.wikipedia.org/w/index.php?title=Block_cipher&oldid=663735007"

    Categories: Blockciphers Cryptographicprimitives

    Thispagewaslastmodifiedon24May2015,at00:25.TextisavailableundertheCreativeCommonsAttributionShareAlikeLicenseadditionaltermsmayapply.Byusingthissite,youagreetotheTermsofUseandPrivacyPolicy.WikipediaisaregisteredtrademarkoftheWikimediaFoundation,Inc.,anonprofitorganization.