EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

Symmetric Algorithms

Home » Software Development » Software Development Tutorials » Network Security Tutorial » Symmetric Algorithms

Symmetric Algorithms

Introduction to Symmetric Algorithms

Symmetric encryption which can be also called a secret key algorithm is a type of encryption that uses only one key that is a secret key for both encryption and decryption of messages. The main disadvantage of the symmetric key encryption is that all parties involved in communication have to exchange the key used to encrypt the message before they can decrypt it.

Fig1.a depicts the basic symmetric key encryption:

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

Introduction to Symmetric Algorithms

Figure1.a Symmetric-key Encryption

Types of Symmetric Algorithms

Broadly symmetric algorithms are classified into two

  • Block
  • Stream

Block Algorithms

Block algorithms encrypt the data block by block (many bytes). Block refers to the specified set of bits and these bits are altered/encrypted using a secret key. There is a drawback with the block algorithms which is, let us assume that we are going to encrypt network stream data, this data is retained by the encryption system in its memory components. This retention of data is done when the system actually waits for complete blocks of data. This wait time may lead to a security gap that can compromise the security and integrity of the data. To avoid this threat we can reduce the block and merge the data with previously encrypted data block until further blocks are received, in simple terms this technique is called feedback. This algorithm will encrypt only if the complete block is received.

Stream Algorithms

In-Stream algorithms, the data is encrypted byte by byte and sometimes even bit by bit. In the case of stream algorithm, the data is not retained in the memory by the system, hence one can say that this is much safer when compared to block algorithm as data is not retained in the system without encryption.

Furthermore, they are several types of encryption algorithms out of those few are listed below

  • DES & Triple DES
  • RC2
  • Blowfish

DES & Triple DES

DES stands for a Data encryption standard that takes a 64-bit plain text and encrypts into a 64-bit ciphertext and decrypts back with the help of a 56-bit key. In DES the encryption process starts off with an initial permutation stage where it will take the input as 64-bit data and permute them in a predefined manner. Followed by initial permutation is that 16 Feistel cipher rounds (An Feistel cipher takes the input and divides it into two parts and does the encryption on only one part) where each round will use different 48bit cipher key. For encryption & decryption purpose it uses a cipher and reverses cipher algorithm. Finally, the data goes through the final permutation stage to get back the ciphertext. Similar to DES Triple DES is nothing but DES cipher repeated 3 times. Fig2.a shows the generic architecture of the DES algorithm.

DES & Triple DES

Generic Architecture of DES algorithm

RC2

This is a block cipher algorithm where at first the data is divided into a block size of 8 bytes and these blocks are processed separately. This algorithm was widely used in the ’90s. Rc2 cipher uses a secret user key whose size can vary from one byte to 128 bytes. It takes this secret user key and uses a key expansion algorithm and encrypts the data. This algorithm is designed in such a way so that it can be easily implemented in 16-bit microprocessors. Here there are no Feistel rounds instead the data undergoes 18 rounds of mixing and mashing. Fig2.b shows the generic architecture of the RC2 algorithm.

Popular Course in this category
Cyber Security Training (12 Courses, 3 Projects)12 Online Courses | 3 Hands-on Projects | 77+ Hours | Verifiable Certificate of Completion | Lifetime Access
4.5 (5,591 ratings)
Course Price

View Course

Related Courses
CDN Training (2 Courses)OSPF Training Program (2 Courses)Penetration Testing Training Program (2 Courses)

RC2

Generic Architecture of RC2 algorithm

Blowfish

This is an asymmetric algorithm that replaces DES. Here the block size used is 64 bits and key sizes ranging from 32 to 448 bits. Encryption using blowfish primarily consist of two stages

  • Round function
  • Output operation

The round function performs the following steps

  1. Key whitening, where the left portion of the input data is taken and exclusive OR operation is performed on it.
  2. In the second step it uses S-boxes, these S-boxes maps an 8-bit data to 32 bit and the output is taken to combine with a combination of addition and XOR operations
  3. The above two steps combined together referred to as F function. With the output of the F function and the right side of the input data, XOR operation is performed.
  4. The final step involves the swapping of the output.

Output function reveres the final swap and performs output whitening. The output of this function is a blowfish ciphertext. Decryption with blowfish involves the usage of the same structure as encryption as it uses a Feistel cipher but the round keys must be used in reverse order. The major advantage of this algorithm is that it is available in the public domain so that it is easily accessible. The drawbacks are basically it’s a bit time-consuming in generating the keys and if the block size is small it is vulnerable to attacks.

Applications of Symmetric Algorithms

Some of the places where the symmetric encryption algorithm is used are

  • Card transactions are used to prevent identity thefts and fraudulent transactions.
  • To confirm the identity of the messenger.
  • Hashing and random number generation
  • Database encryption

Conclusion- Symmetric Algorithms

Symmetric algorithms are much faster and efficient when compared to asymmetric algorithms. This is all the more reason they are used in bulk encryption. But its drawback is that the key management is very exhaustive, hence maintenance at a large scale is a tedious task, where we need to have high-grade security, to achieve this we must have maintained the lifecycle of the key generated using the separate system. Hence we must always use proper encryption to avoid any attacks on our data.

Recommended Articles

This is a guide to Symmetric Algorithms. Here we discuss the Introduction and Types of Symmetric Algorithms along with DES & Triple DES. You can also go through our other suggested articles to learn more–

  1. What is WebSocket?
  2. Web Application Security
  3. Block Cipher modes of Operation
  4. C++ Algorithm

Cyber Security Training (12 Courses, 3 Projects)

12 Online Courses

3 Hands-on Projects

77+ Hours

Verifiable Certificate of Completion

Lifetime Access

Learn More

1 Shares
Share
Tweet
Share
Primary Sidebar
Network Security Tutorial
  • Algorithm
    • IDEA Algorithm
    • MD5 Algorithm
    • Symmetric Algorithms
    • Diffie Hellman Key Exchange Algorithm
    • Digital Signature Algorithm
    • Encryption Algorithm
    • Advanced Encryption Standard
    • Asymmetric Encryption
    • ElGamal Encryption
    • HMAC
    • DES Algorithm
    • Brute Force Algorithm
    • SHA Algorithm
    • RSA Algorithm
    • What is Digital Certificate?
    • Certificate Revocation
    • RC5
  • Basics
    • Security Consultant Definition
    • Security Policies
    • What is Network Security
    • What is Data Security?
    • What is Cryptography
    • Cryptography Techniques
    • Cryptography Tools
    • Data Security Techniques and Privacy
    • Digital Signature Cryptography
    • Java Cryptography
    • Basics of Cybersecurity
    • What is Network Topology
    • Algorithms and Cryptography
    • HTTP Methods
    • Security Technologies
    • Security Architecture
    • Network Topologies
    • What is a Physical Address?
    • Logical Address
    • What is Storage Area Network?
    • Mobile Ad Hoc Network
    • What is Computer Networks?
  • Protocols
    • What is TCP Protocol
    • What is TCP/IP
    • How do IP Addresses Work?
    • Routing Protocols Types
    • What is Telnet
    • What is TFTP
    • What is DHCP
    • What is SFTP
    • Address Resolution Protocol
    • Internet Control Message Protocol
    • Simple Mail Transfer Protocol
    • Internet Security Protocols
    • SMTP Protocol
    • Types of Networking Protocols
    • User Datagram Protocol
    • Data Link Layer
    • Transport Layer Protocols
    • What Is Networking Protocols
    • TFTP
    • What is ARP
    • Basic Fundamental Of Networking
    • What is IPv4
    • What is IPv6
    • CIFS Protocol
    • What is SMB?
    • What is EIGRP
    • What is LLDP?
  • Routing
    • What is Router
    • Types of Routers
    • Dynamic Routing
    • Routing Algorithms
    • Routing Protocol
    • What is Routing
    • What is Static Routing
    • Important Types of DNS Servers (Powerful)
  • Attacks
    • Types of Network Attacks
    • What is Trojan Horse Virus
    • What is DOS
    • Types of DOS Attacks
    • DDos Attack Mitigation
    • Ransomware Attack  
    • Types of Cyber Attack
    • What is a Brute Force Attack
    • What is a Phishing Attack
    • What is Cyber Attack
    • What is DDoS Attack
    • What is Man In The Middle Attack
    • What is Man In The Middle Attack
    • What is Ransomware
    • What is Pharming
    • What is Phishing
    • What is CSRF
    • DNS Amplification Attack
    • Denial of Service Attack
  • Encryption/ Decryption
    • Encryption process
    • Public Key Encryption
    • Symmetric Key Encryption
    • What is Encryption
    • What is Decryption
    • Types of Cipher
    • Transposition Techniques
    • What is Steganography
    • One Time Pad
    • Steganography Techniques
  • Hosting
    • Types of Web Hosting
    • Free Web Hosting Sites
    • What is Hosting
    • What is VPS Hosting
    • What is Web Hosting
    • Types of Domain
    • VPN Applications for PC
    • Why we use VPN?
    • What is Virtual Host?
  • Firewalls
    • What is a Firewall?
    • Types of Firewalls
    • Firewall Devices
    • Firewall Uses
  • Advanced
    • Cryptosystems
    • Configuring DHCP Server
    • Block Cipher modes of Operation
    • TCP/IP Model
    • Types of Network
    • Types of Network Devices
    • Types of Network Topology
    • Types of Intrusion Prevention System
    • Types of Proxy Servers
    • Types of Websites
    • Types of NAT 
    • Mobile IP
    • Career in Automobile Design
    • What is TFS
    • What is NAT
    • What is OSI Model
    • Data Link Layer OSI Model
    • What is Cross Site Scripting
    • Applications of Sensors
    • ARP Packet Format
    • Asymmetric Information
    • Autoencoders
    • What is FTP Server?
    • IPS Tools
    • IPv4 Header Format
    • IPv6 Header Format
    • Authentication Header
    • Kerberos
    • Network Mapper
    • Network Scanning Tools
    • Network Mapping Tools
    • Network Access Control
    • Network Sniffer
    • Networking Commands
    • Networking Devices
    • Networking Strategies
    • Digital Certificate
    • What is a Digital Signature?
    • Digital Signature Softwares
    • Digital Signature Types
    • Digital Signature vs Digital Certificate
    • PKCS
    • What is FTP
    • FTP Commands
    • What is MIME?
    • What is Smart Card?
    • Networking Ports
    • Mutual Authentication
    • Password Authentication
    • Data Masking 
    • Authentication Tokens
    • Biometric Authentication
    • What is IP?
    • IPSec
    • Secure Electronic Transaction
    • What is CIDR
    • Static Binding and Dynamic Binding
    • What is SSL
    • PKIX
    • Public Key Infrastructure
    • What is Wireshark
    • SNMP Monitoring Tools
    • Network Analysis Tools
    • Server Monitoring Tools
    • Network Discovery Tools
    • Network Management Tool
    • SIEM Tools
    • OSINT Tools
    • Multiple Ping Tool
  • Interview Questions
    • Network Security Interview Questions
    • Networking Interview Questions
    • EIGRP Interview Questions

Related Courses

CDN Training

OSPF Certification Training

Penetration Training Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - Cyber Security Training (12 Courses, 3 Projects) Learn More