Skillnad mellan Stream Cipher och Block Cipher

Anonim

Stream Cipher vs Block Cipher | State Cipher vs Block Cipher

I kryptering är Stream-cifrar och Block-cifrar två krypterings- / dekrypteringsalgoritmer som tillhör familjen symmetriska nyckelkodor. Typiskt tar en chiffer en vanlig text som ingång och producerar en chiffertext som utgång. Blockcifrar krypterar bitar med fast längd av bitar med hjälp av en ojämn transformation. Stream-cifrar krypterar bitströmmar med varierande längd och använder varierande transformation på varje bit.

Vad är en Stream Cipher?

Streamciphers tillhör familjen av symmetriska nyckelkodor. Stream-cifrar kombinerar plaintext-bitar med en pseudorandom-chifferbitström med användning av XOR (exklusiv eller) -operation. Stream-cifrar krypterar enkla siffror en i taget med varierande transformationer för successiva siffror. Eftersom krypteringen av varje siffra beror på nuvarande tillstånd för chiffermotorn är strömkodrar också kända som statscifrar. Vanligen används enkla bitar / bitar som enstaka siffror. För att undvika säkerhetsproblem bör det säkerställas att samma startläge inte används mer än en gång. Den mest använda strömkodningen är RC4.

Vad är en Block Cipher?

En blockchiffring är en annan symmetrisk nyckelkodning. Blockciphers fungerar på block (grupper av bitar) med fast längd. Blockciphers använder en fast (ovannämnda) transformation för alla siffror i blocket. Till exempel, när en x-bit block plaintext (tillsammans med en hemlig nyckel) tillhandahålls som input till block-chiffermotorn, producerar den motsvarande x-bit-blocket av chiffertext. Den faktiska omvandlingen är beroende av den hemliga nyckeln. På samma sätt återställer dekrypteringsalgoritmen det ursprungliga x-bit-blocket av renttext med hjälp av x-bit-blocket av chiffertext och ovanstående hemliga nyckel som ingången. Om inmatningsmeddelandet är för långt jämfört med blockets storlek kommer det att delas upp till block och dessa block kommer (individuellt) krypteras med samma nyckel. Men eftersom samma nyckel används, blir varje upprepad sekvens i vanlig text samma upprepade sekvens i chiffertexten, vilket kan orsaka säkerhetsproblem. Populära blockcifrar är DES (Data Encryption Standard) och AES (Advanced Encryption Standard).

Vad är skillnaden mellan en Stream Cipher och en Block Cipher?

Även om både strömkiprar och blockcifrar hör till familjen av symmetriska krypteringskoder, finns det några viktiga skillnader. Block-cifrar krypterar bitar med fast längd, medan strömciphrar kombinerar vanliga bitar med en pseudorandom-chifferbitström med användning av XOR-operation. Även om blockcifrar använder samma omvandling använder strömciphrar varierande transformationer baserat på motorns tillstånd.Stream-cifrar utför vanligtvis snabbare än blockcifrar. När det gäller hårdvarukomplexitet är strömkodrar relativt mindre komplexa. Stream-cifrar är den typiska preferensen över blockciphers när den vanliga texten finns i varierande kvantiteter (till exempel en säker wifi-anslutning) eftersom blockcifrar inte kan fungera direkt på block som är kortare än blockstorleken. Men ibland är skillnaden mellan strömciphrar och blockcifrar inte mycket tydlig. Anledningen är att när man använder vissa driftsätt kan en blockchiffring användas för att fungera som en strömkodning genom att låta den kryptera den minsta tillgängliga datamängden.