Skip to main content

what is Triple DES?

Triple DES uses three different keys and three executions of DES algorithm.

The algorithm is
Cipher text = E k3 [D k2 [E k1 [Plain Text]]]
where E k [X] = DES Encryption of X using key K
and D k [X] = DES Decryption of X using key K

Remember that in DES Decryption of encrypted plain text with a different
key is almost same as another encryption. This is true as encryption and
decryption use the same algorithm.

To decrypt cipher text we reverse the operations.
Plain text = D k1 [E k2 [D k3 [Cipher Text]]]

Block Diagram of Triple DES: 


 Using DES thrice is equivalent to having a DES key length of 168 bits.
Brute force method to break triple DES with 106 decrypts per micro second
will take 5.9 X 10 30 years! Even at 1012 fold increase in computer speed
will make triple DES secure against brute force attacks to break code
The only reason D is used as middle step in triple DES is to allow decryption
of data encrypted using single DES hardware. In this case K3=K2=K1
(Single key used) (See block diagram)

Triple DES will be quite popular for a foreseeable future as it is very secure,
can be released by simple hardware. Triple DES has two disadvantages
1. It is slow to implement in software
2. It uses 64 bit blocks.
Thus new standards were explored.

Comments

Popular posts from this blog

how to Install Numpy, Pandas and matplotlib on ubuntu 18.04 and Linux Mint

Install Python, NumPy,Matplotlib for Python 3 on Ubuntu 18.04, Linux Mint, Debian Linux. This is a short article about installing Numpy, Pandas , Matplotlib, Python3 on the latest Ubuntu 18.04 LTS, Linux Mint, Debian Linux which comes with Python 3.6.5. Let’s start by making sure we have an updated system: 1 sudo apt update 2 sudo apt upgrade Now, let’s install NumPy, Pandas,Matplotlib : sudo apt-get install python-pip sudo pip install numpy sudo pip install pandas sudo pip install matplotlib Test numpy : Open up a Terminal in Your Linux Operating System by running the following: python3 At the Terminal, type the following: >>> import numpy as np >>> np.__version__ '1.13.3'   Test Pandas : Open up a Terminal in Your Linux Operating System by running the following: python3 At the Terminal, type the following: >>> import pandas as pd >>> pd.__version__ '0.22.0'   Test Matpl...

important question on Entity Relationship Model(ER Model)

5)A university registrar’s office maintains data about the following entities: (a) courses, including number, title, credits, syllabus, and prerequisites; (b) course offerings, including course number, year, semester, section number, instructor(s), timings, and classroom; (c) students, including student-id, name, and program; and (d) instructors, including identification number, name, department, and title. Further, the enrollment of students in courses and grades awarded to students in each course they are enrolled for must be appropriately modeled. Construct an E-R diagram for the registrar’s office. Document all assumptions that you make about the mapping constraints. Answer:   In the answer given here, the main entity sets are student, course, course-offering, and instructor. The entity set course-offering is a weak entity set dependent on course. The assumptions made are : a class meets only at one particular place and time. This E - R diagram cannot model a c...

Introduction to SQL and Database with example

            Introduction to SQL and Database What is SQL? SQL is a language used to retrieve and manipulate data in a RDMS. SQL stands for S tructured Q uery L anguage. What is a Database? A database is a place to store data. A relational database system (RDBMS) stores data in tables. Relational Database Tables A relational database stores data in tables. Each table has a number of rows and columns. The table below has 4 rows and 3 columns. SQL and Relational Databases A relational database contains tables which store data that is related in some way. SQL is the language that allows retrieval and manipulation of table data in a relational database.