Cryptography and Network Security 20APE0511 Min
Cryptography and Network Security 20APE0511 Min
Prepared By
Mrs C Hemavathy
Mrs. N Supriya
AssistantProfessor
Department of CSE, AITS
hemasathwik1@gmail.com
UNIT-1
SECURITY CONCEPTS
INTRODUCTION
Basic Concepts
Plaintext can refer to anything which humans can understand and/or relate to.
This may be as simple as English sentences, a script, or Java code. If you can
make sense of what is written, then it is in plaintext.
1. Encryption
2. Authentication
3. Integrity
Now, one problem that a communication system can face is the loss of integrity
of messages being sent from sender to receiver. This means that Cryptography
should ensure that the messages that are received by the receiver are not
altered anywhere on the communication path. This can be achieved by using the
concept of cryptographic hash.
4. Non Repudiation
Types of Cryptography
This type of cryptography technique uses just a single key. The sender applies a
key to encrypt a message while the receiver applies the same key to decrypt the
message. Since only single key is used so we say that this is a symmetric
encryption.
The biggest problem with this technique is the distribution of key as this
algorithm makes use of single key for encryption or decryption.
This type of cryptography technique involves two key crypto system in which a
secure communication can take place between receiver and sender over insecure
communication channel. Since a pair of keys is applied here so this technique is
also known as asymmetric encryption.
This is what we use when we setup public key authentication in openssh to login
from one server to another server in the backend without having to enter the
password.
3. Hash Functions
This technique does not involve any key. Rather it uses a fixed length hash value
that is computed on the basis of the plain text message. Hash functions are
used to check the integrity of the message to ensure that the message has not
be altered,compromised or affected by virus.
The decision maker in organizations must set policy and operates their
organization in compliance with the complex, shifting legislation, efficient
and capable applications.
The organization must add intrastate services based on the size and
scope of the organization. Organizational growth could lead to the need
for public key infrastructure, PKI an integrated system of the software,
encryption methodologies. The information security mechanism used by
large organizations is complex in comparison to a small organization. The
small organization generally prefers symmetric key encryption of data.
SECURITY APPROACHES
1. Trusted Systems:
2. Security Models
A good security policy generally takes care offour key aspects, as follows:
PRINCIPLES OF SECURITY
Loss of confidentiality
Another user C gets access to this message, which is not desired andtherefore,
defeats the purpose of confidentiality. Example of this could be a confidential
email messagesent by A to B, which is accessed by C without the permission or
knowledge of A and B. This type ofattack is called as interception.
Interception causes loss of message confidentiality.
2. Authentication
Authentication mechanisms help establish proof of identities. The
authentication process ensures thatthe origin of a electronic message or
document is correctly identified.
suppose that user Csends an electronic document over the Internet to user B.
However, the trouble is that user C had posedas user A when she sent this
document to user B.
A real life example of this could be the case of a user C, posing asuser A,
sending a funds transfer request (from A‟s account to C‟s account) to bank B.
The bank mighthappily transfer the funds from A‟s account to C‟s account –
after all, it would think that user A hasrequested for the funds transfer! This
concept is shown in Fig.
Loss of integrity
4. Non-repudiation
There are situations where a user sends a message and later on refuses that
she had sent that message. Forinstance, user A could send a funds transfer
request to bank B over the Internet. After the bank performsthe funds
transfer as per A‟s instructions, A could claim that she never sent the funds
transfer instructionto the bank! Thus, A repudiates or denies, her funds
Attack on availability
TYPES OF SECURITY ATTACKS
We shall classify attacks with respect to two views: the common person’s view
and a technologist’s view.
1. General Attacks:
Legal Attacks This form of attack is quite novel and unique. Here, the attacker
tries to make the judge or the jury doubtful about the security of a computer
system. This works as follows. The attacker attacks the computer system and
the attacked party (say a bank or an organization) manages to take the attacker
to the court.
Active attacks
Masquerade is caused when an unauthorized entity pretends to be another
entity.
Replay attack, a user captures a sequence of events or some data units and re-
sends them.
Alteration of messages involves some change to the original message. For
instance, suppose user A sends an electronic message Transfer $1000 to D‟s
Virus
A virus is a computer program that attaches itself to another legitimate
program and causes damage to the computer system or to the network.
During its lifetime, a virus goes through four phases:
(a) Dormant phase: Here, the virus is idle. It gets activated based on certain
action or event (e.g. the user typing a certain key or certain date or time is
reached, etc). This is an optional phase.
(b) Propagation phase: In this phase, a virus copies itself and each copy starts
creating more copies of self, thus propagating the virus.
(c) Triggering phase: A dormant virus moves into this phase when the
action/event for which it was waiting is initiated.
(d) Execution phase: This is the actual work of the virus, which could be
harmless (display some message on the screen) or destructive (delete a file on
the disk).
Worm
Trojan Horse A Trojan horse is a hidden piece of code, like a virus. However,
the purpose of aTrojan horse is different. Whereas the main purpose of a virus
is to make some sort of modifications to the target computer or network, a
Trojan horse attempts to reveal confidential information to an attacker.
SECURITY MECHANISMS
1. Encipherment :
This security mechanism deals with hiding and covering of data which
helps data to become confidential. It is achieved by applying
mathematical calculations or algorithms which reconstruct information
into not readable form. It is achieved by two famous techniques named
2. Access Control :
This mechanism is used to stop unattended access to data which you are
sending. It can be achieved by various techniques such as applying
passwords, using firewall, or just by adding PIN to data.
3. Notarization :
4. Data Integrity :
5. Authentication exchange :
6. Bit stuffing :
This security mechanism is used to add some extra bits into data which is
being transmitted. It helps data to be checked at the receiving end and is
achieved by Even parity or Odd Parity.
7. Digital Signature :
INTRODUCTION:
Cryptographic system
Cryptanalysis
Cryptology is a combination of cryptography and cryptanalysis.
A N N A M A C H A R Y A
D Q Q D P D F K D U B D
Each alphabet in the original message can be replaced by another to hide the
original contents of the message. The codified message is called as cipher text.
Cipher means a code or a secret message.
When a plain text message is codified using any suitable scheme, the resulting
message is called as cipher text.
SUBSTITUTION TECHNIQUES
1. CAESAR CIPHER
This was first proposed by Julius Caesar and is termed as Caesar Cipher.
Caesar Cipher is a special case of substitution techniques wherein each alphabet
in a message is replaced by an alphabet three places down the line. For instance,
using the Caesar Cipher, the plain text ATUL will become cipher text DWXO.
An attack on a cipher text message, wherein the attacker attempts to use all
possible permutations and combinations, is called as a Bruteforce attack. The
process of trying to break any cipher text message to obtain the original plain
text message itself is called as Cryptanalysis and the person attempting a
cryptanalysis is called as a cryptanalyst.
MONO-ALPHABETIC CIPHER
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
samba
the Cipher text is : HOSKO
Homophonic Substitution Cipher
For example, „a‟ can be enciphered as „d‟ in the starting of the text, but as „n‟ at
the middle. The polyalphabetic ciphers have the benefit of hiding the letter
frequency of the basic language. Therefore attacker cannot use individual letter
frequency static to divide the ciphertext.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Key: samba
Plain text: hello students how are you
Cipher text:
Key s a m B a s a m b a s a m b a s a m b a s A
PT h e l L o s t u d e n t s h o w a r e y o U
CT z e x M o k t g E e f t e i o o a c f y g U
Playfair Cipher:
The Playfair Cipher, also called as Playfair Square, is a cryptographic technique
that is used for manual encryption of data.
The Playfair encryption scheme uses two main processes, as shown in Fig
1. Enter the keyword in the matrix row-wise: left-to-right, and then top-to-
bottom.
2. Drop duplicate letters.
3. Fill the remaining spaces in the matrix with the rest of the English alphabets
(A-Z) that were not a part of our keyword. While doing so, combine I and J in
the same cell of the table. In other words, if I or J is a part of the keyword,
disregard both I and J while filling the remaining slots.
Algorithm to encrypt the plain text: The plaintext is split into pairs of two
letters (digraphs). If there is an odd number of letters, a Z is added to the
PlainText: "instruments"
After Split: 'in' 'st' 'ru' 'me' 'nt' 'sz'
1. Pair cannot be made with same letter. Break the letter in single and add a
bogus letter to the previous letter.
Plain Text: “hello”
After Split: „he‟ „lx‟ „lo‟
Here ‘x’ is the bogus letter.
2. If the letter is standing alone in the process of pairing, then add an extra
bogus letter with the alone letter
Plain Text: “helloe”
AfterSplit: „he‟ „lx‟ „lo‟ „ez‟
Here ‘z’ is the bogus letter.
Rules for Encryption:
If both the letters are in the same column: Take the letter below each
one (going back to the top if at the bottom).
For example:
Diagraph: "me"
Encrypted Text: cl
Encryption:
m -> c
e -> l
If both the letters are in the same row: Take the letter to the right of each
one (going back to the leftmost if at the rightmost position).
Diagraph: "ST"
Encrypted Text: TL
Encryption:
S -> T
T -> L
Diagraph: "nt"
Encrypted Text: rq
Encryption:
n -> r
t -> q
Rail fence technique involves writing plain text as sequence of diagonals and
then reading it row-by-row to produce cipher text.
Suppose that we have a plain text message Come home tomorrow. How would we
transform that into a cipher text message using the Rail Fence Technique? This
is shown in Fig.
The Simple Columnar Transposition Technique simply arranges the plain text as
a sequence of rows of a rectangle that are read in columns randomly.
The general model shows that there are four basic tasks in designing a
particular security service:
1. Design an algorithm for performing the security-related transformation.
The algorithm should be such that an opponent cannot defeat its purpose.
2. Generate the secret information to be used with the algorithm .
3. Develop methods for the distribution and sharing of the secret
information.
4. Specify a protocol to be used by the two principals that makes use of the
security algorithm and the secret information to achieve a particular
security service
The process of encoding plain text messages into cipher text messages is called
as encryption.
The process of transforming cipher text messages back to plain text messages
is called as decryption.
Every encryption and decryption process has two aspects: the algorithm and the
key used for encryption and decryption.
let us take the example of a combination lock, which we use in real life. We need
to remember the combination (which is a number, such as 871) needed to open
up the lock. The facts that it is a combination lock and how to open it
(algorithm) are pieces of public knowledge. However, the actual value of the key
required for opening a specific lock (key), which is 871 in this case, is kept
secret. The idea is illustrated in Fig
The sender and the receiver will use the same key to lock and unlock, this is
called as symmetric key operation (when used in the context of cryptography,
this operation is called as symmetric key cryptography).
Person A wants to send a highly confidential letter to another person B. A and B
both reside in the same city, but are separated by a few miles and for some
reason, cannot meet each other.
With the symmetric key cryptography A can send securely to the B.
Let us now imagine that not only A and B but also thousands of people want to
send such confidential letters securely to each other. What would happen if
they decide to go for symmetric key operation? If we examine this approach
more closely, we can see that it has one big drawback if the number of people
that want to avail of its services is very large.
Therefore, can we see that, in general, for n persons, the number of lock-and-
key pairs is
In this scheme the two parties, who want to communicate securely, can agree on
a symmetric key using this technique. This key can then be used for encryption/
decryption. However, we must note that Diffie–Hellman key exchange algorithm
can be used only for key agreement, but not for encryption or decryption of
messages. Once both the parties agree on the key to be used, they need to use
In this scheme, (Alice) A and (Bob) B do not have to jointly approach (Tom) T
for a lock-and-key pair. Instead, B alone approaches T, obtains a lock and a key
(K1) that can seal the lock and sends the lock and key K1 to A. B tells A that A
can use that lock and key to seal the box before sending the sealed box to B.
The sender used methods such as invisible ink, tiny pin punctures on specific
characters, minute variations between handwritten characters, pencil marks on
handwritten characters, etc.
With every incremental bit, the attacker has to perform double the number of
operations as compared to the previous key size. It is found that for a 56-bit
We can represent the possible values in the key range using hexadecimal
notation and see visually how an increase in the key size increases the key range
and therefore, the complexity for an attacker.
When the sender of a message encrypts a plain text message into its
corresponding cipher text, there are five possibilities for an attack on this
message.
Known plain text attack: In this case, the attacker knows about some pairs of
plain text and corresponding cipher text for those pairs. Using this information,
the attacker tries to find other pairs and therefore, know more and more of
the plain text. Examples of such known plain texts are company banners, file
headers, etc. which are found commonly in all the documents of a particular
company.
Chosen plain text attack: Here, the attacker selects a plain text block and
tries to look for the encryption of the same in the cipher text. Here, the
attacker is able to choose the messages to encrypt. Based on this, the attacker
Cryptography and Network Security, Dept. of CSE, AITS 43
intentionally picks patterns of cipher text that result in obtaining more
information about the key.
Chosen cipher text attack: In the chosen cipher text attack, the attacker
knows the cipher text to be decrypted, the encryption algorithm that was used
to produce this cipher text and the corresponding plain text block. The
attacker‟s job is to discover the key used for encryption.
A stream cipher is one that encrypts a digital data stream one bit or one byte
at a time.
Examples of classical stream ciphers are the autokeyed Vigenère cipher and the
Vernam cipher.
In the ideal case, a one-time pad version of the Vernam cipher would be used, in
which the keystream (Ki) is as long as the plaintext bit stream (Pi). If the
cryptographic keystream is random, then this cipher is unbreakable by any
means other than acquiring the keystream.
A block cipher is one in which a block of plaintext is treated as a whole and used
to produce a ciphertext block of equal length. Typically, a block size of 64 or
128 bits is used. As with a stream cipher, the two users share a symmetric
encryption key.
The logic of a general substitution cipher for A 4-bit input produces one of 16
possible input states, which is mapped by the substitution cipher into a unique
one of 16 possible output states, each of which is represented by 4 ciphertext
bits.
A block cipher is designed by considering its three critical aspects which are
listed as below:
1. Number of Rounds
2. Design of Function F
3. Key Schedule Algorithm
1. Number of Rounds
The number of rounds judges the strength of the block cipher algorithm. It is
considered that more is the number of rounds, difficult is for cryptanalysis to
break the algorithm.
2. Design of Function F
The function F of the block cipher must be designed such that it must be
impossible for any cryptanalysis to unscramble the substitution. The criterion
that strengthens the function F is it non-linearity.
More the function F is nonlinear, more it would be difficult to crack it. Well,
while designing the function F it should be confirmed that it has a good
avalanche property which states that a change in one-bit of input must reflect
the change in many bits of output.
It is suggested that the key schedule should confirm the strict avalanche
effect and bit independence criterion.
Since DES is based on the Feistel Cipher, all that is required to specify DES is −
Round function
Key schedule
Any additional processing − Initial and final permutation
Initial and Final Permutation
The initial and final permutations are straight Permutation boxes (P-boxes) that
are inverses of each other. They have no cryptography significance in DES. The
initial and final permutations are shown as follows −
The heart of this cipher is the DES function, f. The DES function applies a 48-
bit key to the rightmost 32 bits to produce a 32-bit output.
Expansion Permutation Box − Since right input is 32-bit and round key is a 48-
bit, we first need to expand right input to 48 bits. Permutation logic is
graphically depicted in the following illustration
Key Generation
The round-key generator creates sixteen 48-bit keys out of a 56-bit cipher key.
The process of key generation is depicted in the following illustration
AES does not use a Feistel structure. Instead, each full round consists of four
separate functions: byte substitution, permutation, arithmetic operations over a
finite field, and XOR with a key.
General Structure
Figure shows the overall structure of the AES encryption process. The cipher
takes a plaintext block size of 128 bits, or 16 bytes. The key length can be 16,
24, or 32 bytes (128, 192, or 256 bits). The algorithm is referred to as AES-
128, AES-192, or AES-256, depending on the key length.
Interestingly, AES performs all its computations on bytes rather than bits.
Hence, AES treats the 128 bits of a plaintext block as 16 bytes. These 16 bytes
are arranged in four columns and four rows for processing as a matrix −
Unlike DES, the number of rounds in AES is variable and depends on the length
of the key. AES uses 10 rounds for 128-bit keys, 12 rounds for 192-bit keys and
14 rounds for 256-bit keys. Each of these rounds uses a different 128-bit
round key, which is calculated from the original AES key.
Encryption Process
The 16 input bytes are substituted by looking up a fixed table (S-box) given in
design. The result is in a matrix of four rows and four columns.
Shiftrows
Each of the four rows of the matrix is shifted to the left. Any entries that „fall
off‟ are re-inserted on the right side of row. Shift is carried out as follows −
[ b0 | b1 | b2 | b3 ] [ b0 | b1 | b2 | b3 ]
| b4 | b5 | b6 | b7 | -> | b5 | b6 | b7 | b4 |
| b8 | b9 | b10 | b11 | | b10 | b11 | b8 | b9 |
[ b12 | b13 | b14 | b15 ] [ b15 | b12 | b13 | b14 ]
MixColumns
[ c0 ] [ 2 3 1 1 ] [ b0 ]
| c1 | = | 1 2 3 1 || b1 |
| c2 | | 1 1 2 3 || b2 |
[ c3 ] [ 3 1 1 2 ][ b3 ]
The 16 bytes of the matrix are now considered as 128 bits and are XORed to
the 128 bits of the round key. If this is the last round then the output is the
ciphertext. Otherwise, the resulting 128 bits are interpreted as 16 bytes and
we begin another similar round.
Decryption Process
Since sub-processes in each round are in reverse manner, unlike for a Feistel
Cipher, the encryption and decryption algorithms needs to be separately
implemented, although they are very closely related.
BLOWFISH ALGORITHM
1. blockSize: 64-bits
2. keySize: 32-bits to 448-bits variable size
3. number of subkeys: 18 [P-array]
4. number of rounds: 16
5. number of substitution boxes: 4 [each having 512 entries of 32-bits each]
The resultant P-array holds 18 subkeys that is used during the entire
encryption process
Step3: Encryption:
A block cipher processes the data blocks of fixed size. Usually, the size of a
message is larger than the block size. Hence, the long message is divided into a
series of sequential message blocks, and the cipher operates on these blocks
one at a time.
This mode is a most straightforward way of processing a series of sequentially listed message
blocks.
Operation
The user takes the first block of plaintext and encrypts it with the key
to produce the first block of ciphertext.
He then takes the second block of plaintext and follows the same process
with same key and so on so forth.
In fact, for a given key technically we can create a codebook of ciphertexts for
all possible plaintext blocks. Encryption would then entail only looking up for
required plaintext and select the corresponding ciphertext. Thus, the operation
is analogous to the assignment of code words in a codebook, and hence gets an
official name − Electronic Codebook mode of operation (ECB). It is illustrated as
follows
In reality, any application data usually have partial information which can be
guessed. For example, the range of salary can be guessed. A ciphertext from
ECB can allow an attacker to guess the plaintext by trial-and-error if the
plaintext message is within predictable.
For example, if a ciphertext from the ECB mode is known to encrypt a salary
figure, then a small number of trials will allow an attacker to recover the figure.
In general, we do not wish to use a deterministic cipher, and hence the ECB
mode should not be used in most applications.
Operation
The operation of CBC mode is depicted in the following illustration. The steps
are as follows −
In CBC mode, the current plaintext block is added to the previous ciphertext
block, and then the result is encrypted with the key. Decryption is thus the
reverse process, which involves decrypting the current ciphertext and then
adding the previous ciphertext block to the result.
It is worth mentioning that CBC mode forms the basis for a well-known data
origin authentication mechanism. Thus, it has an advantage for those
applications that require both symmetric encryption and data origin
authentication.
In this mode, each ciphertext block gets „fed back‟ into the encryption process
in order to encrypt the next plaintext block.
Operation
The operation of CFB mode is depicted in the following illustration. For example,
in the present system, a message block has a size „s‟ bits where 1 < s < n. The
CFB mode requires an initialization vector (IV) as the initial random n-bit input
block. The IV need not be secret. Steps of operation are –
CFB mode differs significantly from ECB mode, the ciphertext corresponding to
a given plaintext block depends not just on that plaintext block and the key, but
also on the previous ciphertext block. In other words, the ciphertext block is
dependent of message.
CFB has a very strange feature. In this mode, user decrypts the ciphertext
using only the encryption process of the block cipher. The decryption algorithm
of the underlying block cipher is never used.
Apparently, CFB mode is converting a block cipher into a type of stream cipher.
The encryption algorithm is used as a key-stream generator to produce key-
stream that is placed in the bottom register. This key stream is then XORed
with the plaintext as in case of stream cipher.
By converting a block cipher into a stream cipher, CFB mode provides some of
the advantageous properties of a stream cipher while retaining the
advantageous properties of a block cipher.
It involves feeding the successive output blocks from the underlying block
cipher back to it. These feedback blocks provide string of bits to feed the
encryption algorithm which act as the key-stream generator as in case of CFB
mode.
The key stream generated is XOR-ed with the plaintext blocks. The OFB mode
requires an IV as the initial random n-bit input block. The IV need not be
secret.
Operation
Both encryption and decryption in CTR mode are depicted in the following
illustration. Steps in operation are −
Load the initial counter value in the top register is the same for both the
sender and the receiver. It plays the same role as the IV in CFB (and
CBC) mode.
STREAM CIPHERS
A typical stream cipher encrypts plaintext one byte at a time, although a stream
cipher may be designed to operate on one bit at a time or on units larger than a
byte at a time. A key is input to a pseudorandom bit generator that produces a
stream of 8-bit numbers that are apparently random. The output of the
generator, called a keystream, is combined one byte at a time with the plaintext
stream using the bit- wise exclusive-OR (XOR) operation. For example, if the
next byte generated by the generator is 01101100 and the next plaintext byte
is 11001100, then the resulting ciphertext byte is
RC4
RC4 is a stream cipher designed in 1987 by Ron Rivest for RSA Security. It is a
variable key size stream cipher with byte-oriented operations. The algorithm is
based on the use of a random permutation. Analysis shows that the period of
the cipher is overwhelmingly likely to be greater than 10100. Eight to sixteen
machine operations are required per output byte, and the cipher can be
expected to run very quickly in software. RC4 is used in the Secure Sockets
Layer/Transport Layer Security (SSL/TLS) standards that have been defined
for communication between Web browsers and servers.
The RC4 algorithm is remarkably simple and quite easy to explain. A variable
length key of from 1 to 256 bytes (8 to 2048 bits) is used to initialize a 256-
byte state vector S, with elements S[0],S[1],S[2],. . . . . S[255].
Initialization of S
To begin, the entries are set equal to the values from 0 through 255 in
ascending order; that is, S[0],S[1],S[2],. . . . . S[255]=255.
Stream Generation
Once the S vector is initialized, the input key is no longer used. Stream
generation involves cycling through all the elements of S[i] , and for each S[i],
swapping S[i] with another byte in S according to a scheme dictated by the
current configuration of S. After S[255]is reached, the process continues,
starting over again at S[0].
/* Stream Generation */
i, j = 0;
while (true)
i = (i + 1) mod 256;
j = (j + S[i]) mod 256;
Swap (S[i], S[j]);
t = (S[i] + S[j]) mod 256;
k = S[t];
The most powerful and most common approach to securing the points of
vulnerability highlighted in the preceding section is encryption. If encryption is
to be used to counter these attacks, then we need to decide what to encrypt
The second problem that Diffie pondered, and one that was apparently
unrelated to the first, was that of digital signatures.
A public key encryption scheme has the following ingredients which are as
follows
1. Each user generates a pair of keys to be used for the encryption and
decryption of messages.
2. Each user places one of the two keys in a public register or other accessible
file. This is the public key.The companion key is kept private. As in Figure
suggests, each user maintains a collection of public keys obtained from others.
4. When Alice receives the message, she decrypts it using her private key. No
other recipient can decrypt the message because only Alice knows Alice‟s
private key.
The computation of the pair of keys i.e. private key and the public key
must be easy.
Knowing the encryption algorithm and public key of the intended receiver,
computation of cipher text must be easy.
For a receiver of the message, it should be computationally easy to
decrypt the obtained cipher text using his private key.
It is also required that any opponent in the network knowing the public
key should be unable to determine its corresponding private key.
Having the cipher text and public key an opponent should be unable to
determine the original message.
RSA ALGORITHM
In this algorithm two keys were used. One is private key and another one is
public key.
In this scheme the two parties, who want to communicate securely, can agree on
a symmetric key using this technique. This key can then be used for encryption/
decryption. However, we must note that Diffie–Hellman key exchange algorithm
can be used only for key agreement, but not for encryption or decryption of
messages. Once both the parties agree on the key to be used, they need to use
other symmetric key encryption algorithms for actual encryption or decryption
of messages.
1. Key generation
2. Encryption
3. Decryption
The more frequently session keys are exchanged, the more secure they are,
because the opponent has less ciphertext to work with for any given session
key. On the other hand, the distribution of session keys delays the start of any
exchange and places a burden on network capacity. A security manager must try
to balance these competing considerations in determining the lifetime of a
particular session key.
The use of a key distribution center imposes the requirement that the KDC be
trusted and be protected from subversion. This requirement can be avoided if
key distribution is fully decentralized. Although full decentralization is not
practical for larger networks using symmetric encryption only, it may be useful
within a local context.
1. Public announcement
2. Publicly available directory
3. Public-key authority
4. Public-key certificates.
AUTHENTICATION REQUIREMENTS
Message Encryption
as confidentiality.
accept any input X and produce output Y = D(K, X). If X is the ciphertext
value of X, the value Y = D(K, X) is some bit pattern and therefore must
Thus, in general, we require that only a small subset of all possible bit
Nbsftfbupbutboeepftfbupbutboemjuumfmbnctfbujwz
mareseatoatsanddoeseatoatsandlittlelambseativy
A simple frequency analysis confirms that this message has the profile
zuvrsoevgqxlzwigamdvnmhpmccxiuureosfbcebtqxsxq
this decrypts to
ytuqrndufpwkyvhfzlcumlgolbbwhttqdnreabdaspwrwp
which does not fit the profile of ordinary English. It may be difficult to
plaintext. If the plaintext is, say, a binary object file or digitized X-rays,
a legitimate user.
decrypts the incoming block and treats the results as a message with an
the FCS. If the calculated FCS is equal to the incoming FCS, then the
Note that the order in which the FCS and encryption functions are
ciphertext that, when decrypted, would have valid error control bits. If
instead the FCS is the outer code, an opponent can construct messages
with valid error-control codes. Although the opponent cannot know what
the decrypted plaintext will be, he or she can still hope to create confu-
(A) uses the public key PUb of the destination (B) to encrypt M.
Because only B has the corresponding private key PRb, only B can
any opponent could also use B‟s public key to encrypt a message and claim
to be A.
and B uses A‟s public key to decrypt. This provides authentication using the
must have come from A because A is the only party that possesses PRa
construct ciphertext that can be decrypted with PUa. Again, the same
A possesses PRa. Not even B, the recipient, could have constructed the
means to prove that the message must have come from A. In effect, A
has “signed” the message by using its private key to encrypt. Note that
first using its private key, which provides the digital signature, and then
the TCP/IP protocol architecture. The above figure shows the format of a
TCP segment, illustrating the TCP header. Now suppose that each pair of
hosts used the same key, regardless of application. Then we could simply
substituted some arbitrary bit pattern for the encrypted TCP segment,
case, the header includes not only a checksum (which covers the header)
but also other useful information, such as the sequence number. Because
any segments.
The sender uses some publicly known MAC algorithm, inputs the message
and the secret key K and produces a MAC value.
Similar to hash, MAC function also compresses an arbitrary long input
into a fixed length output. The major difference between hash and MAC
is that MAC uses secret key during the compression.
Limitations of MAC
There are two major limitations of MAC, both due to its symmetric nature of
operation −
Both these limitations can be overcome by using the public key based digital
signatures discussed in following section.
Values returned by a hash function are called message digest or simply hash
values. The following picture illustrated hash function −
Pre-Image Resistance
o This property means that it should be computationally hard to reverse a
hash function.
o In other words, if a hash function h produced a hash value z, then it
should be a difficult process to find any input value x that hashes to z.
o This property protects against an attacker who only has a hash value and
is trying to find the input.
Second Pre-Image Resistance
o This property means given an input and its hash, it should be hard to
find a different input with the same hash.
o In other words, if a hash function h for an input x produces hash value
h(x), then it should be difficult to find any other input value y such that
h(y) = h(x).
o This property of hash function protects against an attacker who has an
input value and its hash, and wants to substitute different value as
legitimate value in place of original input value.
Collision Resistance
o This property means it should be hard to find two different inputs of
any length that result in the same hash. This property is also referred
to as collision free hash function.
o In other words, for a hash function h, it is hard to find any two
different inputs x and y such that h(x) = h(y).
o Since, hash function is compressing function with fixed hash length, it is
impossible for a hash function not to have collisions. This property of
collision free only confirms that these collisions should be hard to find.
o This property makes it very difficult for an attacker to find two input
values with the same hash.
o Also, if a hash function is collision-resistant then it is second pre-
image resistant.
The size of each data block varies depending on the algorithm. Typically the
block sizes are from 128 bits to 512 bits. The following illustration
demonstrates hash function −
This process is repeated for as many rounds as are required to hash the entire
message. Schematic of hashing algorithm is depicted in the following illustration
−
Since, the hash value of first message block becomes an input to the second
hash operation, output of which alters the result of the third operation, and so
on. This effect, known as an avalanche effect of hashing.
Understand the difference between hash function and algorithm correctly. The
hash function generates a hash code by operating on two blocks of fixed-length
binary data.
Hashing algorithm is a process for using the hash function, specifying how the
message will be broken up and how the results from previous message blocks are
chained together.
Additionally, SHA uses MD5, SHA 1, or SHA 256 for symmetric cryptography.
They generate hash values to encrypt and decrypt data securely.
SHA-0: A retronym applied to the original version of the 160-bit hash function
published in 1993 under the name "SHA". It was withdrawn shortly after
publication due to an undisclosed "significant flaw" and replaced by the slightly
revised version SHA-1.
SHA-1: A 160-bit hash function which resembles the earlier MD5 algorithm.
This was designed by the National Security Agency (NSA) to be part of the
Digital Signature Algorithm. Cryptographic weaknesses were discovered in SHA-
1, and the standard was no longer approved for most cryptographic uses after
2010.
SHA-2: A family of two similar hash functions, with different block sizes,
known as SHA-256 and SHA-512. They differ in the word size; SHA-256 uses
32-bit words where SHA-512 uses 64-bit words. There are also truncated
versions of each standard, known as SHA-224, SHA-384, SHA-512/224 and
SHA-512/256. These were also designed by the NSA.
SHA-3: A hash function formerly called Keccak, chosen in 2012 after a public
competition among non-NSA designers. It supports the same hash lengths as
SHA-2, and its internal structure differs significantly from the rest of the
SHA family.
SHA 2 is SHA 1‟s upgraded algorithm. SHA 3 is SHA 2‟s upgraded algorithm.
The general iterated hash structure proposed by Merkle is used in virtually all
secure hash functions. Preneel performedia systematic analysis of block-cipher-
based hash functions. In this model, the hash code length equals the cipher
block length. Additional security problems are introduced and the analysis is
more difficult if the hash code length exceeds the cipher block length. Preneel
devised 64 possible permutations of the basic model, based on which input
served as the encryption key and which served as plaintext and on what input, if
any, was combined with the ciphertext to produce the intermediate hash code.
Based on his analysis, he concluded that only schemes in which the plaintext was
fed forward and combined with the ciphertext were secure.
Whirlpool Logic:
The algorithm takes as input a message with a maximum length of less than 2 256
bits and produces as output a 512-bit message digest. The input is processed in
512-bit blocks.. The processing consists of the following steps:
Step 1: Append padding bits.The message is padded so that its length in bits is
an odd multiple of 256. Padding is always added, even if the message is already
of the desired length.
Step 2: Append length. A block of 256 bits is appended to the message. This
block is treated as an unsigned 256-bit and contains the length in bits of the
original message.
Step 3: Initialize hash matrix. An 8 x 8 matrix of bytes is used to hold
intermediate and final results of the hash function. The matrix is initialized as
consisting of all 0-bits.
Step 4: Process message in 512-bit (64-byte) blocks. The heart of the
algorithm is the block cipher W.
HMAC
A hash function such as SHA was not designed for use as a MAC and cannot be
used directly for that purpose because it does not rely on a secret key. There
have been a number of proposals for the incorporation of a secret key into an
The first two objectives are important to the acceptability of HMAC. HMAC
treats the hash function as a "black box." This has two benefits. First, an
existing implementation of a hash function can be used as a module in
implementing HMAC. In this way, the bulk of the HMAC code is prepackaged
and ready to use without modification. Second, if it is ever desired to replace a
given hash function in an HMAC implementation, all that is required is to remove
the existing hash function module and drop in the new module. This could be
done if a faster hash function were desired.
The last design objective in the preceding list is, in fact, the main advantage of
HMAC over other proposed hash-based schemes. HMAC can be proven secure
provided that the embedded hash function has some reasonable cryptographic
strength.
The XOR with ipad results in flipping one-half of the bits of K. Similarly, the
XOR with opad results in flipping one-half of the bits of K, but a different set
of bits. In effect, by passing Si and So through the compression function of the
hash algorithm, we have pseudorandomly generated two keys from K.
CMAC
The Data Authentication Algorithm defined in FIPS PUB 113, also known as the
CBC-MAC (cipher block chaining message authentication code). This cipher-
based MAC has been widely adopted in government and industry.MAC is secure
under a reasonable set of security criteria, with the following restriction.
First, let us consider the operation of CMAC when the message is an integer
multiple n of the cipher block length b. For AES, b = 128 and for triple DES,
b=64. The message is divided into n blocks, M1, M2... Mn. The algorithm makes
use of a k-bit encryption key K and an n-bit constant K1. For AES, the key size k
is 128, 192, or 256 bits; for triple DES, the key size is 112 or 168 bits. CMAC is
calculated as follows:
If the message is not an integer multiple of the cipher block length, then the
final block is padded to the right (least significant bits) with a 1 and as many 0s
as necessary so that the final block is also of length b. The CMAC operation
then precedes as before, except that a different n-bit key K2 is used instead
of K1.The two n-bit keys are derived from the k-bit encryption key as follows:
L = E (K, 0n)
K1 = L · x
K2 = L · x2 = (L · x) · x
DIGITAL SIGNATURE
Properties
Message authentication protects two parties who exchange messages from any
third party. However, it does not protect the two parties against each other.
Several forms of dispute between the two are possible.
It must verify the author and the date and time of the signature.
It must authenticate the contents at the time of the signature.
It must be verifiable by third parties, to resolve disputes.
Here A denotes the user whose signature method is being attacked, and C
denotes the attacker.
• Directed chosen message attack: Similar to the generic attack, except that
the list of messages to be signed is chosen after C knows A‟s public key but
before any signatures are seen.
non-negligible probability:
The signature must be a bit pattern that depends on the message being
signed.
The signature must use some information unique to the sender to prevent
both forgery and denial.
It must be relatively easy to produce the digital signature.
It must be relatively easy to recognize and verify the digital signature.
It must be computationally infeasible to forge a digital signature, either
by constructing a new message for an existing digital signature or by
constructing a fraudulent digital signature for a given message.
It must be practical to retain a copy of the digital signature in storage
The term direct digital signature refers to a digital signature scheme that
involves only the communicating parties (source, destination). It is assumed that
the destination knows the public key of the source.
The validity of the scheme just described depends on the security of the
sender‟s private key. If a sender later wishes to deny sending a particular
message, the sender can claim that the private key was lost or stolen and that
someone else forged his or her signature.
KNAPSACK ALGORITHM
For the easy knapsack, we will choose a Super Increasing knapsack problem.
Super increasing knapsack is a sequence in which every next term is greater
than the sum of all preceding terms.
Example –
Step-1:
Choose a super increasing knapsack {1, 2, 4, 10, 20, 40} as the private
key.
Step-2:
Choose two numbers n and m. Multiply all the values of private key by the
number n and then find modulo m. The value of m must be greater than
the sum of all values in private key, for example 110. And the number n
should have no common factor with m, for example 31.
Step-3:
Calculate the values of Public key using m and n.
1x31 mod(110) = 31
2x31 mod(110) = 62
4x31 mod(110) = 14
10x31 mod(110) = 90
20x31 mod(110) = 70
40x31 mod(110) = 30
Thus, our public key is {31, 62, 14, 90, 70, 30}
And Private key is {1, 2, 4, 10, 20, 40}.
Example –
Lets our plain text is 100100111100101110.
1. Encryption :
As our knapsacks contain six values, so we will split our plain text in a groups
of six:
Multiply each values of public key with the corresponding values of each
group and take their sum.
2. Decryption :
The receiver receive the cipher text which has to be decrypt. The receiver
also know as the values of m and n.
So, first we need to find the n-1 , which is multiplicative inverse of n mod m
i.e., Gcd of 110 & 31 is By Euclidean algorithm
110=3(31)+17 1 = 3- 1(2)
-1
n x n mod(m) = 1 31 =1(17) + 14 1 = 5(3) -1(14)
17 = 1(14) + 3 1 = 11(14) – 9(17)
14 = 4(3) + 2 1 = 11(17) – 6(31)
31 xn-1 mod(110) = 1 3 = 1(2) + 1 1 = 71(31) – 20 (110)
n-1 = 71
Now, we have to multiply 71 with each block of cipher text take modulo m.
121 x 71 mod(110) = 11
Then, we will have to make the sum of 11 from the values of private key {1, 2, 4,
10, 20, 40} i.e.,
1+10=11 so make that corresponding bits 1 and others 0 which is 100100.
Similarly,
197 x 71 mod(110) = 17
1+2+4+10=17 = 111100
IP SECURITY OVERVIEW
IP security (IPsec) is a capability that can be added to either current
version of the Internet Protocol (IPv4 or IPv6) by means of additional headers.
IPsec encompasses three functional areas: authentication, confidentiality, and
key management.
In 1994, the Internet Architecture Board (IAB) issued a report titled
“Security in the Internet Architecture”
Benefits of IPsec
Some of the benefits of IPsec:
When IPsec is implemented in a firewall or router, it provides strong
security that can be applied to all traffic crossing the perimeter. Traffic
within a company or workgroup does not incur the overhead of security-
related processing.
IPsec in a firewall is resistant to bypass if all traffic from the outside
must use IP and the firewall is the only means of entrance from the
Internet into the organization.
IPsec is below the transport layer (TCP, UDP) and so is transparent to
applications.
IPsec can be transparent to end users.
IPsec can provide security for individual users if needed.
Routing Applications
Router advertisement (a new router advertises its presence) comes from
an authorized router.
A neighbor advertisement (a router seeks to establish or maintain a
neighbour relationship with a router in another routing domain) comes
from an authorized router.
A redirect message comes from the router to which the initial IP packet
was sent.
A routing update is not forged.
IPsec Services
IPsec provides security services at the IP layer by enabling a system to select
required security protocols, determine the algorithm(s) to use for the
service(s), and put in place any cryptographic keys required to provide the
requested services.
Access control
Connectionless integrity
Data origin authentication
Rejection of replayed packets (a form of partial sequence integrity)
Confidentiality (encryption)
Limited traffic flow confidentiality
IPSec (IP Security) architecture uses two protocols to secure the traffic or
data flow. These protocols are ESP (Encapsulation Security Payload) and AH
(Authentication Header). IPSec Architecture includes protocols, algorithms,
DOI, and Key Management. All these components are very important in order to
provide the three main services:
Confidentiality
Authentication
Integrity
AUTHENTICATION HEADER
Transport mode
Tunnel mode
To protect these fields, tunnelling must be used. The payload of the IP packet
is considered immutable and is always protected by AH.
AH format
The AH format is described in RFC 2402. The below shows the position of the
Authentication Header fields in the IP packet.
Next header
It is an 8-bit field which identifies the type of what follows. The value of this
field is chosen from the set of IP header protocol fields, which is set to 51, and
Payload length
It is an 8 bits long field and contains the length of the AH header expressed in
32-bit words, minus 2. It does not relate to the actual payload length of the IP
packet. Suppose if default options are used, the value is 4 (three 32-bit fixed
words plus three 32-bit words of authentication data minus two).
Reserved
It is reserved for future use. Its length is 16 bits and it is set to zero.
It is 32 bits in length.
Sequence number
This 32-bit field is a monotonically increasing counter, which is used for replay
protection. It is an optional field. The sender always includes this field, and it is
at the discretion of the receiver to process it or not. Starting the sequence
number is initialized to zero. The first packet transmitted using the SA has a
sequence number of 1. Sequence numbers are not allowed to repeat.
Authentication data
This is a variable-length field containing the Integrity Check Value (ICV), and is
padded to 32 bits for IPv4 or 64 bits for IPv6.
ESP Format
Figure 19.5a shows the top-level format of an ESP packet. It contains the
following fields.
Padding
Anti-Replay Service
Figure 19.7 shows two ways in which the IPsec ESP service can be used. In the
upper part of the figure, encryption (and optionally authentication) is provided
directly between two hosts. Figure 19.7b shows how tunnel mode operation can
be used to set up a virtual private network.
An individual SA can implement either the AH or ESP protocol but not both.
Sometimes a particular traffic flow will call for the services provided by both
AH and ESP.
Case 1. All security is provided between end systems that implement IPsec. For
any two end systems to communicate via an SA, they must share the appropriate
secret keys.
Case 4. This provides support for a remote host that uses the Internet to
reach an organization‟s firewall and then to gain access to some server or
workstation behind the firewall.
KEY MANAGEMENT
• Manual: A system administrator manually configures each system with its own
keys and with the keys of other communicating systems. This is practical for
small, relatively static environments.
ISAKMP provides a framework for Internet key management and provides the
specific protocol support, including formats, for negotiation of security
attributes.
Exchange Type (8 bits): Indicates the type of exchange; these are discussed
later in this section.
• Length (32 bits): Length of total message (header plus all payloads) in octets
Another way to classify Web security threats is in terms of the location of the
threat: Web server, Web browser, and network traffic between browser and
server.
One way to provide Web security is to use IP security (IPsec) (Figure 16.1a).
The advantage of using IPsec is that it is transparent to end users and
applications and provides a general-purpose solution.
SSL Architecture
The SSL Record Protocol provides basic security services to various higher-
layer protocols. In particular, the Hypertext Transfer Protocol (HTTP), which
provides the transfer service for Web client/server interaction, can operate on
top of SSL. Three higher-layer protocols are defined as part of SSL: the
Handshake Protocol, The Change Cipher Spec Protocol, and the Alert Protocol.
These SSL-specific protocols are used in the management of SSL exchanges
and are examined later in this section
The SSL Record Protocol provides two services for SSL connections:
Message Integrity: The Handshake Protocol also defines a shared secret key
that is used to form a message authentication code (MAC).
Version Number
The TLS Record Format is the same as that of the SSL Record Format For the
current version of TLS, the major version is 3 and the minor version is 3.
There are two differences between the SSLv3 and TLS MAC schemes: the
actual algorithm and the scope of the MAC calculation. TLS makes use of the
Pseudorandom Function
Alert Codes
TLS supports all of the alert codes defined in SSLv3 with the exception of
no_certificate. A number of additional codes are defined in TLS; of these, the
following are always fatal.
Secure Electronic Transaction or SET is a system that ensures the security and
integrity of electronic transactions done using credit cards in a scenario. SET is
not some system that enables payment but it is a security protocol applied to
those payments. It uses different encryption and hashing techniques to secure
payments over the internet done through credit cards. The SET protocol was
supported in development by major organizations like Visa, Mastercard,
Microsoft which provided its Secure Transaction Technology (STT), and
Netscape which provided the technology of Secure Socket Layer (SSL).
SET protocol restricts the revealing of credit card details to merchants thus
keeping hackers and thieves at bay. The SET protocol includes Certification
Authorities for making use of standard Digital Certificates like X.509
Certificate.
INTRUDER
The most common threat to security is the attack by the intruder. Intruders
are often referred to as hackers and are the most harmful factors contributing
to the vulnerability of security. They have immense knowledge and an in-depth
understanding of technology and security. Intruders breach the privacy of
users and aim at stealing the confidential information of the users. The stolen
information is then sold to third-party, which aim at misusing the information
for their own personal or professional gains.
INTRUSION DETECTION
Intrusions might occur from the outside or from within your network structure
(an employee, customer, or business partner). Some intrusions are just aimed to
alert you that an intruder has entered your site and is defacing it with various
messages or obscene graphics. Others are more malevolent, attempting to
harvest sensitive data on a one-time basis or as part of a long-term parasitic
connection that will continue to siphon data until it is identified.
Some intruders will try to implant code that has been carefully developed.
Others will infiltrate the network, stealthily siphoning out data on a regular
basis or altering public-facing Web sites with varied messages.
An attacker can acquire physical access to your system (by physically accessing
a restricted computer and its hard drive and/or BIOS), externally (by
assaulting your Web servers or breaching your firewall), or internally (by
physically accessing a restricted machine and its hard disc and/or BIOS) (your
own users, customers, or partners).
The IDS can readily identify malformed information packets, DNS poisonings,
Xmas scans, and other polluted materials, which can have a severe impact on
your overall network performance.
PASSWORD MANAGEMENT
There are many challenges in securing passwords in this digital era. When the
number of web services used by individuals are increasing year-over-year on one
end, the number of cyber crimes is also skyrocketing on the other end. Here are
a few common threats to protecting our passwords:
While hackers are equipped with advanced tools and attacks, individuals and
businesses still rely on traditional methods of password management. This
clearly raises the need for the best password management practices to curb
security threats.
Use strong and unique passwords for all websites and applications
Reset passwords at regular intervals
Configure two-factor authentication for all accounts
Securely share passwords with friends, family, and colleagues
Store all enterprise passwords in one place and enforce secure password
policies within the business environment
Periodically review the violations and take necessary actions.
Malicious Programs
Malicious software can be divided into two categories: those that need a host
program, and those that are independent.
A virus can do anything that other programs do. The only difference is that it
attaches itself to another program and executes secretly when the host
program is run. Once a virus is executing, it can perform any function, such as
erasing files and programs.
During its lifetime, a typical virus goes through the following four phases:
Dormant phase: The virus is idle. The virus will eventually be activated by some
event, such as a date, the presence of another program or file, or the capacity
of the disk exceeding some limit. Not all viruses have this stage.
Propagation phase: The virus places an identical copy of itself into other
programs or into certain system areas on the disk. Each infected program will
now contain a clone of the virus, which will itself enter a propagation phase.
Virus Structure
An infected program begins with the virus code and works as follows.
The first line of code is a jump to the main virus program. The second line is a
special marker that is used by the virus to determine whether or not a potential
victim program has already been infected with this virus.
This action could be performed every time the program is invoked, or it could be
a logic bomb that triggers only under certain conditions.
A virus such as the one just described is easily detected because an infected
version of a program is longer than the corresponding uninfected one. A way to
thwart such a simple means of detecting a virus is to compress the executable
file so that both the infected and uninfected versions are of identical length..
The key lines in this virus are numbered. We assume that program P1 is infected
with the virus CV. When this program is invoked, control passes to its virus,
which performs the following steps:
1. For each uninfected file P2 that is found, the virus first compresses that file
to produce P'2, which is shorter than the original program by the size of the
virus.
Characteristics of Firewall
1. Physical Barrier: A firewall does not allow any external traffic to enter
a system or a network without its allowance. A firewall creates a choke
point for all the external data trying to enter into the system or network
and hence can easily block the access if needed.
2. Multi-Purpose: A firewall has many functions other than security
purposes. It configures domain names and Internet Protocol (IP)
addresses. It also acts as a network address translator. It can act as a
meter for internet usage.
If the design of the solution is complex. then it will be difficult to implement it.
If the solution is easy. then it will be easier to implement it. A simple design is
easier to maintain. we can make upgrades in the simple design according to the
new possible threats leaving it with an efficient but more simple structure. The
problem that comes with complex designs is a configuration error that opens a
path for external attacks.
Every network security device has its purpose and its way of implementation. if
we use the wrong device for the wrong problem, the network becomes
vulnerable. if the outdated device is used for a designing firewall, it exposes the
network to risk and is almost useless. Firstly the designing part must be done
then the product requirements must be found out, if the product is already
available then it is tried to fit in a design that makes security weak.
4. Layered Defense
A network defense must be multiple layered in the modern world because if the
security is broken, the network will be exposed to external attacks. Multilayer
security design can be set to deal with different levels of threat. It gives an
edge to the security design and finally neutralizes the attack over the system.
TYPES OF FIREWALL
Packet Filters
It is also a type of packet filtering which is used to control how data packets
move through a firewall. It is also called dynamic packet filtering. These
firewalls can inspect that if the packet belongs to a particular session or not. It
only permits communication if and only if, the session is perfectly established
between two endpoints else it will block the communication.
These firewalls can examine application layer (of OSI model) information like an
HTTP request. If finds some suspicious application that can be responsible for
harming our network or that is not safe for our network then it gets blocked
right away.
Next-generation Firewalls
These firewalls are called intelligent firewalls. These firewalls can perform all
the tasks that are performed by the other types of firewalls that we learned
previously but on top of that, it includes additional features like application
awareness and control, integrated intrusion prevention, and cloud-delivered
threat intelligence.
Circuit-level gateways
Software Firewall
Hardware Firewall
Cloud Firewall
Halt Hacking
Stops viruses
Viruses can come from anywhere, such as from an insecure website, from a
spam message, or any threat, so it becomes more important to have a strong
defense system (i.e. firewall in this case), a virus attack can easily shut off a
whole network. In such a situation, a firewall plays a vital role.
Better security
If it is about monitoring and analyzing the network from time to time and
establishing a malware-free, virus-free, spam-free environment so network
firewall will provide better security to our network.
Increase privacy
By protecting the network and providing better security, we get a network
that can be trusted.
Cost
Depending on the type of firewall, it can be costly, usually, the hardware
firewalls are more costly than the software ones.
Restricts User
Restricting users can be a disadvantage for large organizations, because of
its tough security mechanism. A firewall can restrict the employees to do a
certain operation even though it‟s a necessary operation.
Issues with the speed of the network
Since the firewalls have to monitor every packet passing through the
network, this can slow down operations needed to be performed, or it can
simply lead to slowing down the network.
Maintenance
Firewalls require continuous updates and maintenance with every change in
the networking technology. As the development of new viruses is increasing
continuously that can damage your system.
Currently, EPS has minimal data security. As the system operates in a closed
network, the current security infrastructure may suffice the need. The data
moving across the network is in encrypted format.
Current EPS Architecture EPS is used to transmit payment details from the
payer branch to the payee branch via the central server in Mumbai. Fig. 10.5
depicts the flow, which is also described step-by-step
On the Payee Leg, the EPS central office will create a Credit Request as before,
sign and encrypt it with the bank officer‟s digital certificate. This signed-and-
encrypted request will be forwarded to the Payee Branch.
VIRTUAL ELECTIONS
Computerized voting would become quite common in the next few decades. As
such, it is important that the protocol for virtual elections should protect
individual privacy and should also disallow cheating. Consider the following
protocol in order that voters can send their votes electronically to the Election
Authority (EA).
1. Each voter casts the vote and encrypts it with the public key of the EA.
2. Each voter sends the encrypted vote to the EA.
3. The EA decrypts all the votes to retrieve the original vote, tabulates all the
votes and announces the result of the election.
Is this protocol secure and does it provide comfort both to the voters as well as
to the EA? Not at all! There are following problems in this scheme:
1. The EA does not know whether the authorized voters have voted or it has
received fake (bogus) votes.