VISVESVARAYA TECHNOLOGICAL UNIVERSITY
“JNANA SANGAMA”, BELGAUM– 590 014
A PROJECT REPORT ON
“E-MAIL ENCRYPTION USING AES AND RSA ALGORITHM”
th
Submitted in the partial fulfillment of the requirements in the 8 semester degree of
BACHELOR OF ENGINEERING
IN
INFORMATION SCIENCE AND ENGINEERING
Submitted by
AISHWARYA B 1NH13IS007
BIKIRAN CHOUDHURY 1NH12IS025
FARHEEN SULTANA 1NH13IS031
MEGHANA V 1NH13IS063
Under the guidance of
Mrs. SHOBHA M.S.
Sr. Assistant professor, Dept of ISE, NHCE
DEPARTMENT OF INFORMATION SCIENCE AND ENGINEERING
NEW HORIZON COLLEGE OF ENGINEERING
(Autonomous College, permanently affiliated to VTU Approved by AICTE Accredited
by NACC with „A‟ Grade)
Outer Ring Road, Panathur post, Kadubisanahalli, BENGALURU-560103
NEW HORIZON COLLEGE OF ENGINEERING
( Accredited by NACC with ‘A’ Grade Autonomous College,permanently affiliated to VTU)
Outer Ring Road, Panathur post, Kadubisanahalli, BENGALURU-560103
DEPARTMENT OF INFORMATION SCIENCE AND ENGINEERING
CERTIFICATE
Certified that the seminar entitled “E-MAIL ENCRYPTION USING AES AND RSA
ALGORITHM” carried out by AISHWARYA.B (1NH13IS007), FARHEEN SULTANA
(1NH13IS031), MEGHANA.V (1NH13IS063), BIKIRAN CHOUDHURY (1NH12IS025)
bonafide students of NEW HORIZON COLLEGE OF ENGINEERING in partial fulfillment of
the requirements in the 8th semester of Bachelor of Engineering in Information Science and
Engineering of the Visvesvaraya Technological University, Belgaum during the year 2016-
2017.It is certified that all the corrections/suggestions indicated for internal assessment have been
incorporated in the report deposited in the department library. The project report has been
approved as it satisfies the academic requirements in respect of project work prescribed for
Bachelor of Engineering Degree.
Name & Signature of Guide Name & Signature of HOD
[Mrs. Shobha M.S] [Dr.Jitendranathan Mungara]
TABLE OF CONTENTS
CHAPTER NO TOPIC PAGE NO
i
ABSTRACT
ii
LIST OF FIGURES
iii
LIST OF TABLES
1. 1
INTRODUCTION
1
1.1 Motivation
2
1.2 Existing System
2
1.3 Brief About AES And RSA
2
1.3.1 AES
3
1.3.2 RSA
5
1.4 Proposed System
5
1.5 Innovativeness And Usefulness
5
1.6 Contribution
2. LITERATURE SURVEY 7
3. SYSTEM ANALYSIS AND REQUIREMENT 20
3.1 Introduction 20
3.2 Software Used 20
3.2.1 Python 20
3.2.2 Command Prompt 22
4. SYSTEM DESIGN 23
4.1 General 23
4.2 Encryption 24
4.2.1 Overview of Encryption 24
4.3 Decryption 25
4.3.1 Overview of Decryption 25
4.4 System Architecture 26
4.5 Data Flow Diagrams 28
4.5.1 Level 1 28
4.5.2 Level 2 28
4.5.3 Level 3 29
4.6 Use-Case Diagram 29
4.7 Activity Diagram 30
4.8 Sequence Diagram 31
REFERENCES 33
APPENDIX 35
LIST OF TABLES
TABLE NO. NAME OF TABLE PAGE NO.
2.1 Comparison between AES and RSA 8
2.2 Comparison on the basis of memory usage 8
and time
2.3 Comparison of encryption time and 18
Decryption time
2.4 Comparative study among AES,DES,RSA 19
iii
ABSTRACT
Now a day’s civilization is hugely dependent upon electronic and communication system. In this
electronic world, increasing need of data protection in computer networks is necessary for the
development of several cryptographic algorithms and to send data securely over a transmission
link from one person to another .The Advanced Encryption Standard, or AES, is a
symmetric block cipher to protect classified information and is implemented in software and
hardware throughout the world to encrypt sensitive data. RSA is an asymmetric encryption
system, it works with two different keys: A public and a private key and both work
complementary to each other, which means that a message encrypted with one of them can only
be decrypted by its counterpart. In this project we have used AES to encrypt the text data and
then encrypted the AES key using RSA to achieve the combination of symmetric with
asymmetric encryption thereby producing a hybrid encryption system that would overcome the
drawbacks of algorithm simultaneously which when used individually would have its own
disadvantages hence providing secure system without compromising speed.
Keywords : AES, RSA, Cipher, Cryptography.
i
LIST OF FIGURES
FIGURE NO NAME OF FIGURE PAGE NO
1.1 Design of AES 03
1.2 Design of RSA 08
2.1 Comparison between AES and RSA 08
w.r.t 1 bit variation
2.2 Memory Implementation 09
2.3 Flowchart illustrating RSA algorithm 10
2.4 Baseline Time and Optimized Time 11
2.5 Diagram of DES algorithm 13
2.6 AES Encryption and Decryption 15
2.7 RSA Encryption and Decryption 17
4.1 Overview of Encryption 24
4.2 Overview of Decryption 25
4.3 System Architecture 26
4.4 DFD Level 1 28
4.5 DFD Level 2 28
4.6 DFD Level 3 29
4.7 Use Case Diagram 30
4.8 Activity Diagram 31
4.9 Sequence Diagram 32
ii
E-MAIL ENCRYPTION USING AES AND RSA
CHAPTER 1
INTRODUCTION
Though we have several technologies to communicate with each other ,the truth is E-mail is the
KING! . For several now ,E-mail plays a very crucial role in delivering confidential messages.
These messages needs to be delivered to the intended recipient without being prone to any kind
of attacks . Hence, a secure computing environment would not be complete without
consideration of encryption technology. To obtain this, our system, DATA ENCRYPTION
USING AES AND RSA ALGORITHM, provides a very safe and secure approach to protect all
the messages that are been transferred over the net. The main advantage of this system is the use
of hybrid encryption ,which makes it even secure .
1.1 MOTIVATION
Encryption of email messages to protect the content from being read by other entities than the
intended recipients. Email encryption may also include authentication. Email is prone to
disclosure of information.
Most emails are currently transmitted in the clear (not encrypted). By means of some available
tools, persons other than the designated recipients can read the email contents. Email encryption
is being used by journalists and regular users to protect privacy. E-mail encryption can rely on
public-key cryptography, in which users can each publish a public key that others can use to
encrypt messages to them, while keeping secret a private key they can use to decrypt such
messages or to digitally encrypt and sign messages they send.
In this project we have used AES to encrypt the text data and then encrypted the AES key using
RSA to achieve the combination of symmetric with asymmetric encryption. AES is strong
symmetric algorithm, but it is very fast to implement and thus bulky data can be encrypted using
this encryption.
RSA is a very secure being a public key cryptography, but it is very slow thus we use it to only
Dept. of ISE 1 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
encrypt the AES key which is decrypted by the receiver using their private key.
`1.2 EXISTING SYSTEMS
RSA, as we know is a really amazing public key cipher that uses only basic number theory in its
description. However, whenever a new cipher appears there will be many people that test its
security and whenever possible will try to break it. So far RSA has not been broken but certain
bad things can happen with it if you are not careful. Here are a few things that can go wrong.
Using small primes.
Using primes that are very close. Message is an observable eth power.
Two people using the same N, receiving the same message. Sending the same message
to one or more people with the same (Hastad’s attack).
1.3 BRIEF ABOUT AES AND RSA
1.3.1 AES
The Advanced Encryption Standard (AES) a symmetric key algorithm, also known by its
original name Rijndael is a specification for the encryption of electronic data established by the
U.S. National Institute of Standards and Technology (NIST) in 2001.
AES is a subset of the Rijndael cipher developed by two Belgian cryptographers, Vincent
Rijmen and Joan Daemen, who submitted a proposal to NIST during the AES selection process.
Rijndael is a family of ciphers with different key and block sizes.For AES, NIST selected three
members of the Rijndael family, each with a block size of 128 bits, but three different key
lengths: 128, 192 and 256 bits; other criteria for being chosen as the next advanced encryption
standard algorithm included:
Security: Competing algorithms were to be judged on their ability to resist attack, as
compared to other submitted ciphers, though security strength was to be considered the most
important factor in the competition.
Cost: Intended to be released under a global, nonexclusive and royalty-free basis, the
candidate algorithms were to be evaluated on computational and memory efficiency.
Implementation: Algorithm and implementation characteristics to be evaluated included the
Dept. of ISE 2 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
flexibility of the algorithm; suitability of the algorithm to be implemented in hardware or
software; and overall, relative simplicity of implementation.
Fig 1.1 Design of AES
1.3.2 RSA
RSA was first described in 1977 by Ron Rivest, Adi Shamir and Leonard Adleman of the
Massachusetts Institute of Technology. Public-key cryptography, also known as asymmetric
cryptography, uses two different but mathematically linked keys, one public and one private. The
public key can be shared with everyone, whereas the private key must be kept secret. In RSA
cryptography, both the public and the private keys can encrypt a message; the opposite key from
the one used to encrypt a message is used to decrypt it. This attribute is one reason why RSA has
become the most widely used asymmetric algorithm: It provides a method of assuring the
confidentiality, integrity, authenticity and non-reputability of electronic communications and
data storage. The popularity of RSA is given below:-
RSA derives its security from the difficulty of factoring large integers that are the product of two large
Dept. of ISE 3 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
prime numbers. Multiplying these two numbers is easy, but determining the original prime
numbers from the total -- factoring -- is considered infeasible due to the time it would take even
using today’s super computers.
The public and the private key-generation algorithm is the most complex part of RSA
cryptography. Two large prime numbers, p and q, are generated using the Rabin-Miller primality
test algorithm. A modulus n is calculated by multiplying p and q. This number is used by both
the public and private keys and provides the link between them. Its length, usually expressed in
bits, is called the key length. The public key consists of the modulus n, and a public exponent, e,
which is normally set at 65537, as it's a prime number that is not too large. The e figure doesn't
have to be a secretly selected prime number as the public key is shared with everyone. The
private key consists of the modulus n and the private exponent d, which is calculated using the
Extended Euclidean algorithm to find the multiplicative inverse with respect to the totient of n.
Fig 1.2 Design of RSA
Dept. of ISE 4 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
1.4 PROPOSED SYSTEM
In this project we have used AES to encrypt the text data and then encrypted the AES key using
RSA to achieve the combination of symmetric with asymmetric encryption.
AES is very fast to implement thus bulky data can be encrypted using this encryption.
Only disadvantage of AES is that it is symmetric (meaning each recipient must receive the key
through a different channel than the message). But this demerit can be managed by proper
design.
RSA is a very secure being a public key cryptography, Its downside though is that its very slow.
Therefore we are using it to only encrypt the AES key which is decrypted by the receiver using
their private key.
This combination of algorithms assures good performance while not sacrificing security.
1.5 INNOVATIVENSS & USEFULNESS
In this project we use a 256 bit key (32 bytes) for the AES encryption which makes it
very secure and we use a 2048 bit key for RSA which is considered a reasonably good
size for an RSA key.
Due to the above design, the end users can feel secure about sending and receiving mails.
We used the CFB8 mode with AES to ensure that extra padding problems would not be
an issue.This combination of algorithms RSA and AES assures good performance while
not sacrificing security.
The Performance of the system is not compromised, since the algorithm is fast. The end users
can enjoy a rapid safe mailing experience.
1.6 CONTRIBUTION
This work mainly concentrates on making encryption a more efficient and secure process. It also
enables non-repudiation. Since we use double encryption i.e. AES which is a symmetric
Dept. of ISE 5 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
algorithm and RSA which is an asymmetric algorithm ,the message/input file is well secured
and make it less prone to either active or passive attack.
The input file/message from the sender is digitally signed hence only the intended user can open
and read the file, making it a very secure way to transfer confidential files.
SUMMARY
This chapter briefly discussed about the existing system and the limitations. It also discusses
about the outcomes of the proposed system. A brief idea about AES and RSA algorithm is
mentioned along with the advantages of using it in our system. And how security can be
optimized by using hybrid encryption is been explained.
Dept. of ISE 6 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
CHAPTER 2
LITERATURE SURVEY
A.DES and AES Performance Evaluation
In cryptography, we encode data before sending it and decode it on receiving, for this purpose,
we use many cryptographic algorithms. AES and DES are most commonly used Cryptographic
algorithms. .In this paper we discussed AES and DES and their comparison using MATLAB
software .After applying AES and DES, we compare their result on the basis of avalanche effect,
simulation time and memory required by AES and DES.
Cryptography [1] is the science of keeping message secure. The method, in which we disguising
a message in such a way so that its substances are kept are encryption and encrypted message, is
cipher text. The process of diversion cipher text back in plain text is decryption. The
classification of cryptography on the basis of key based algorithm, there are following two
Types of algorithms such as: (i) symmetric key based algorithm, sometimes known as
conventional key algorithm and (ii) asymmetric key based algorithm, also known as public-key
algorithm.
DES: Data Encryption Standard is a symmetric key algorithm. In DES , the key size is 56 bits.
The 56-bit key is divided into eight 7-bit blocks and additional 8th odd parity bit is further added
to every block. A DES key is actually 64 bits in length to avoid randomness; it is 56 bit for
computation.
AES:The key size supported by AES is 128,192and 256 bits .AES takes 128 bits as minimum
and maximum is taken 256 bits. Whereas DES key is small in size and its processor power has
less technological advancement.
Operations of AES are applied on the state during each round are:
1. Sub Byte: In this round all bits are replaced by the other in state and this is done in Rijndeal
S-Box
2. Shift Row: All rows are shifted to left by some amount the 4x4
3. Mix Column: Here the linear transformation is done on the columns of array.
4. Add Round Key: After the iterations, each byte of the state is joined with a round key, and
that round key varies for each round and we originate that from the Rijndeal key schedule.
Dept. of ISE 7 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
The comparison of Advanced Encryption Standard (AES) and Data Encryption Standard (DES)
Table 2.1 comparison between AES and RSA
Fig 2.1 Comparison between AES and RSA w.r.t 1 bit variation
In AES, the avalanche effect is more than in DES.
The comparison, on the basis of Memory usage for implementation and simulation time of AES
and DES.
Table 2.2 The comparison, on the basis of Memory usage for implementation and simulation time
Dept. of ISE 8 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
Fig 2.2 Memory Implementation
Larger memory required for implementation in Advanced Encryption Standard (AES) as
compare to Data Encryption Standard (DES) .It is also clear that simulation time in AES is
more effective as compared to DES. In financial application encryption in done by DES but
Memory usage is DES is more than in AES .Avalanche effective i.e. One bit variation is more in
Advanced Encryption Standard (AES) as compare to Data Encryption Standard (DES). AES is
mostly used in encryption of message in chat Channel and is also used in monumentry
transaction.AES provides the improvement in security level in information world as compared
DES.
B. Data Encryption and Decryption Using RSA Algorithm in a Network
Environment
Network Security is premised on the fact that once there is connectivity between computers
sharing some resources, the issue of data security becomes critical[2][3]. This paper presents a
design of data encryption and decryption in a network environment using RSA algorithm with
a specific message block size. RSA is the most popular public key cryptography (PKC). It uses
2 key cryptosystem, a public key which is known by the sender and the receiver and a private
key which is known only by the receiver, so that two parties can engage in a secure
communication over a non secure communication channel without having to share key.
Dept. of ISE 9 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
RSA encryption: The public and the private key-generation algorithm is the most complex part
of RSA cryptography. Two large prime numbers, p and q, are generated using the Rabin-Miller
primality test algorithm. A modulus n is calculated by multiplying p and q. This number is used
by both the public and private keys and provides the link between them. Its length, usually
expressed in bits, is called the key length. The public key consists of the modulus n, and a public
exponent, e, which is normally set at 65537, as it's a prime number that is not too large. The e
figure doesn’t have to be a secretly selected prime number as the public key is shared with
everyone. The private key consists of the modulus n and the private exponent d, which is
calculated using the Extended Euclidean algorithm to find the multiplicative inverse with respect
to the totient of n.
Fig 2.3 A flowchart illustrating the RSA decryption Algorithm.
Dept. of ISE 10 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
An eavesdropper that breaks into the message that is encrypted by RSA algorithm will return a
decoded message that is a meaningless[4]. This ensures that data is secured against hackers
within the network environment
C . RSA Encryption Algorithm Optimization to Improve Performance and
Security Level of Network Messages
Asymmetric cryptographic algorithms are a robust technology used to reduce security threats in
the transmission of messages on the network. The Major drawback is the mathematical solutions
that require a greater amount of calculation leading to increased use of computational resources.
This paper aims to optimize the RSA encryption algorithm and thus improve the security,
integrity and availability of information. This is done by obtaining the RSAValue for each
character of the message ,using a matrix the characters are mixed as an additional process for
encryption.
Fig 2.4 Baseline Time and optimized Time
In Base-line RSA model the key can be accessed by intruders whereas in optimized RSA model
key is encrypted which makes it more secure upon evaluation of result optimized RSA model
performs better than Baseline RSA model in terms of lowering time , memory , processor and
network performance.
D. A Study of Encryption Algorithms AES, DES and RSA for Security
This paper by Dr. Prerna Mahajan & Abhishek Sachdeva (IITM India)is an effective comparison
of the three important cryptography techniques using AES , DES and RSA comparing its
performance based on simulation time for encryption and decryption and analysing the
experimental result to realise effectiveness of each algorithm. encryption algorithms can be
categorized into Symmetric (private) and Asymmetric (public) keys encryption.Public key
Dept. of ISE 11 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
encryption is based on mathematical functions, computationally intensive and is not very
efficient for small mobile devices . Asymmetric encryption techniques are almost 1000 times
slower than symmetric techniques due to computational processing power.
Encryption Algorithm
Its a well known technique that makesUse of the combination of Public and Private Key
encryption to hide the sensitive data of users, and cipher text retrieval.a) Data Encryption
Standard (DES). DES (Data Encryption Standard) algorithm purpose is to provide a standard
method for protecting sensitive commercial and unclassified data. In this same key used for
encryption and decryption process . DES algorithm consists of the following steps
i. Encryption
ii. 1. DES accepts an input of 64-bit long plaintext and 56-bitkey (8 bits of parity) and produce
output of 64 bit block.
2. The plaintext block has to shift the bits around.
3. The 8 parity bits are removed from the key by subjecting the key to its Key Permutation.
4. The plaintext and key will processed by following
i. The key is split into two 28 halves
ii. Each half of the key is shifted (rotated) by one or two bits, depending on the round.
iii. The halves are recombined and subject to a compression permutation to reduce the key
from 56 bits to 48 bits. This compressed keys used to encrypt this round’s plaintext block.
iv. The rotated key halves from step 2 are used in next round.
v. The data block is split into two 32-bit halves.
vi. One half is subject to an expansion permutation to increase its size to 48 bits.
vii.Output of step 6 is exclusive-OR’ed with the 48- itcompressed key from step 3.
viii.Output of step 7 is fed into an S-box, which substitutes key bits and reduces the 48-bit
block back down to 32-bits.
ix.Output of step 8 is subject to a P-box to permute the bits
iii. x. The output from the P-box is exclusive-OR’ed with other half of the data block. k. The
two data halves are swapped and become the next round’s input
Dept. of ISE 12 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
Fig 2.5 Diagram of DES Algorithm
b)Advanced Encryption Standard (AES) :
AES algorithm not only for security but also for great speed. Both hardware and software
implementation are faster still. New encryption standard recommended by NIST to replace DES.
Encrypts data blocks of 128 bits in 10, 12 and 14 round depending on key size as shown in
Figure - 2. It can be implemented on various platforms specially in small devices. .
i. Algorithm Steps : These steps used to encrypt 128-bit block
ii. 1. The set of round keys from the cipher key.
2. Initialize state array and add the initial round key to the starting state array.
3. Perform round = 1 to 9 : Execute Usual Round.
Dept. of ISE 13 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
4. Execute Final Round.
5. Corresponding cipher text chunk output of Final Round Step
ii. Usual Round : Execute the following operations as described above
1.Sub Bytes
2.Shift Rows
3.Mix Columns
4.Add Round Key , using K(round)
iii. Final Round:Execute the following operations which are described above.
1.Sub Bytes
2.Shift Rows
3. Add Round Key, using K(10)
iv. Encryption : Each round consists of the following four steps:
. a. Sub Bytes : The first transformation, Sub Bytes, is used at the encryption site. To
substitute a byte, we interpret the byte as two hexadecimal digits.
b. Shift Rows : In the encryption, the transformation is called Shift Rows.
iii.Mix Columns : The Mix Columns transformation operates at the column level; it transforms
each column of the state to a new column.
iv. Add Round Key : Add Round Key proceeds one column at a time. Add Round Key adds a
round key word with each state column matrix; the operation in Add Round Key is matrix
addition.
The last step consists of XO Ring the output of the previous three steps with four words from the
key schedule. And the last round for encryption does not involve the “Mix columns” step.
Dept. of ISE 14 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
v. Decryption: Decryption involves reversing all the steps taken in encryption using inverse
functions like a) Inverse shift rows, b) Inverse substitute bytes, c) Add round key, and d) Inverse
mix columns.
The third step consists of XO Ring the output of the previous two steps with four words from the
key schedule. And the last round for decryption does not involve the “Inversemix columns” step.
Fig 2.6 AES Encryption and Decryption
c) Rivest-Shamir-Adleman (RSA)
RSA is widely used Public-Key algorithm. RSA firstly described in 1977. In this proposed work,
RSA algorithm is used to encrypt the data to provide security so that only the concerned user can
access it.
RSA algorithm involves these steps:
1.Key Generation
Dept. of ISE 15 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
2. Encryption
3. Decryption
i KeyGeneration
Before the data is encrypted, Key generation should be done.
Steps:
Generate a public/private key pair :
1. Generate two large distinct primes p and q
2. Compute n = pq and φ = (p − 1)(q − 1)
3. Select an e, 1 < e <φ, relatively prime to φ.
4. Compute the unique integer d, 1 < d <φ where ed ≡φ 1.
5. Return public key (n, e) and private key d
ii Encryption
Encryption is the process of converting original plain text (data) into cipher text (data).
Encryption with key (n , e)
1. Represent the message as an integer m € {0<=m<=(n−1)}
2. Compute c = me mod n
iii Decryption
Decryption is the process of converting the cipher text (data) to the original plain text(data).
Decryption with key d: compute m = cd mod n
Dept. of ISE 16 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
Fig 2.7 RSA Encryption and Decryption Flowchart
Dept. of ISE 17 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
The four text files of different sizes are used to conduct four experiments, where a comparison of
three algorithms AES, DES and RSA is performed with Encryption Time and Decryption Time
as evaluation parameters
Table 2.3 Comparison of Encryption time and Decryption time
Based on the text files used and the experimental result it was concluded that AES algorithm
consumes least encryption and RSA consume longest encryption time and also that Decryption
of AES algorithm is better than other algorithms. from the simulation result it is evaluated that
AES algorithm is much better than DES and RSA algorithm
Dept. of ISE 18 2016-2017
E-MAIL ENCRYPTION USING AES AND RSA
Table 2.4 In the table above a comparative study between AES, DES and RSA is presented in to eighteen
factors.
Dept. of ISE 19 2016-2017
E-MAIL-ENCRYPTION USING AES AND RSA
CHAPTER 3
SYSTEM ANALYSIS AND REQUIREMENTS
3.1. INTRODUCTION
System analysis involves a wider look at the system, breaking apart the parts and figuring out
how a system works to achieve a particular goal. The project works on the simplest of systems
i.e. a system with a basic configuration and a working OS and an internet connection.
3.2. SOFTWARE USED
1) Python
2) Command Prompt
3.2.1. PYTHON
Python is a widely used high-level programming language for general-purpose programming,
created by Guido van Rossum and first released in 1991. An interpreted language, Python has a
design philosophy which emphasizes code readability (notably using whitespace indentation to
delimit code blocks rather than curly braces or keywords), and a syntax which allows
programmers to express concepts in fewer lines of code than possible in languages such as C++
or Java. The language provides constructs intended to enable writing clear programs on both a
small and large scale.
Python features a dynamic type system and automatic memory management and supports
multiple programming paradigms, including object-oriented, imperative, functional
programming, and procedural styles. It has a large and comprehensive standard library.
Python interpreters are available for many operating systems, allowing Python code to run on a
wide variety of systems. CPython, the reference implementation of Python, is open source
software and has a community-based development model, as do nearly all of its variant
implementations. CPython is managed by the non-profit Python Software Foundation.
Dept. of ISE 20 2016-2017
E-MAIL-ENCRYPTION USING AES AND RSA
Python is a multi-paradigm programming language: object-oriented programming and structured
programming are fully supported, and many language features support functional programming
and aspect-oriented programming (including by meta-programming and meta-objects (magic
methods). Many other paradigms are supported via extensions, including design by contract and
logic programming.
Python uses dynamic typing and a mix of reference counting and a cycle-detecting garbage
collector for memory management. An important feature of Python is dynamic name resolution
(late binding), which binds method and variable names during program execution.
The design of Python offers some support for functional programming in the Lisp tradition. The
language has map(), reduce() and filter() functions; list comprehensions, dictionaries, and sets;
and generator expressions. The standard library has two modules (itertools and functools) that
implement functional tools borrowed from Haskell and Standard ML.
The core philosophy of the language is summarized by the document The Zen of Python (PEP
20), which includes aphorisms such as:
Beautiful is better than ugly
Explicit is better than implicit
Simple is better than complex
Complex is better than complicated
Readability count.
Rather than requiring all desired functionality to be built into the language's core, Python
was designed to be highly extensible. Python can also be embedded in existing
applications that need a programmable interface. This design of a small core language
with a large standard library and an easily extensible interpreter was intended by Van
Rossum from the start because of his frustrations with ABC, which espoused the opposite
mindset.
While offering choice in coding methodology, the Python philosophy rejects exuberant syntax,
such as in Perl, in favor of a sparser, less-cluttered grammar. As Alex Martelli put it: "To
describe something as clever is not considered a compliment in the Python culture." Python's
Dept. of ISE 21 2016-2017
E-MAIL-ENCRYPTION USING AES AND RSA
philosophy rejects the Perl "there is more than one way to do it" approach to language design in
favor of "there should be one—and preferably only one—obvious way to do it".
. Python's developers strive to avoid premature optimization, and moreover, reject patches to
non-critical parts of CPython that would offer a marginal increase in speed at the cost of clarity.
When speed is important, a Python programmer can move time-critical functions to extension
modules written in languages such as C, or try using PyPy, a just-in-time compiler. Cython is
also available, which translates a Python script into C and makes direct C-level API calls into the
Python interpreter.
3.2.2COMMAND PROMPT
Command Prompt, also known as cmd.exe or cmd (after its executable file name), is the
command-line interpreter on Windows NT, WindowsCE, OS/2 and eComStation operating
systems. It is the counterpart of COMMAND.COM in DOS and Windows 9x systems (where it
is also called "MS-DOS Prompt"), and analogous to the Unix Shell used on Unix-like systems.
The initial version of Command Prompt for Windows NT was developed by Therese Stowell.
Command Prompt interacts with the user through a Command-line Interface. In Windows, this
interface is implemented through Win32 console. Command Prompt may take advantage of
features available to native programs of its own platform. For example, in OS/2, it can use real
pipes in command pipelines, allowing both sides of the pipeline to run concurrently. As a result,
it is possible to redirect the standard error streams.
Command Prompt is used to execute entered commands. Most of those commands are used to
automate tasks via scripts and batch files, perform advanced administrative functions, and
troubleshoot and solve certain kinds of Windows issues.
SUMMARY
This chapter discussed about the project requirements in detail which includes the software and
the hardware that are used in the completion of this project.
Dept. of ISE 22 2016-2017