UNIT 4 Notes
UNIT 4 Notes
UNIT 4 Notes
AUTHENTICATION REQUIREMENTS
Measures to deal with first two attacks are in the realm of message confidentiality.
AUTHENTICATION FUNCTIONS
Any message authentication or digital signature mechanism can be viewed as having
fundamentally two levels. At the lower level, there may be some sort of function that
produces an authenticator: a value to be used to authenticate a message. This lower
layer function is then used as primitive in a higher-layer authentication protocol that
enables a receiver to verify the authenticity of a message.
The different types of functions that may be used to produce an authenticator are
as follows:
Message encryption – the cipher text of the entire message serves
as its authenticator.
Message authentication code (MAC) – a public function of the
message and a secret key that produces a fixed length value serves as
the authenticator.
MESSAGE ENCRYPTION
Message encryption by itself can provide a measure of authentication.
The analysis differs from symmetric and public key encryption
schemes.
Suppose the message can be any arbitrary bit pattern. In that case,
there is no way to determine automatically, at the destination whether
an incoming message is the ciphertext of a legitimate message (Figure
-4.1). One solution to this problem is to force the plaintext to have
some structure that is easily recognized but that cannot be replicated
without recourse to the encryption function. We could, for example,
append an error detecting code, also known as Frame Check
Sequence (FCS) or checksum to each message before encryption
MAC = C(K,M)
C – MAC function
Round 1
Compute MACi = C (Ki,M2) for the 2(k-n) keys resulting from Round 1
If the key length is less than or equal to the MAC length, then it is likely that a
first round will produce a single match.
Where is the exclusive-OR (XOR) operation and the encryption algorithm is DES
in electronic codebook mode. Thus, the key length is 56 bits and the MAC length
is 64 bits. If an opponent observes {M||C(K, M)}, a brute-force attempt to
determine K will require at least 256 encryptions. But the opponent can attack the
system by replacing X1 through Xm-1 with any desired values Y1 through Ym-1 and
replacing Xm with Ym where Ym is calculated as follows
The opponent can now concatenate the new message, which consists of Y1
through Ym, with the original MAC to form a message that will be accepted as
authentic by the receiver. With this tactic, any message of length 64 x (m-1) bits
can be fraudulently inserted.
CK(M) should be uniformly distributed in the sense that for randomly chosen
messages, M and M‘, the probability that C(K,M) = C(K,M‘) is 2-n where n is the
number of bits in the MAC.
HASH FUNCTIONS:
A hash function H accepts a variable-length block of data as input and produces
a fixed-size hash value h=H(M). A ―good‖ hash function has the property that the
results of applying the function to a large set of inputs will produce outputs that
are evenly distributed and apparently random.
the input is padded out to an integer multiple of some fixed length (e.g.,
1024bits), and the padding includes the value of the length of the original
message in bits. The length field is a security measure to increase the difficulty
for an attacker to produce an alternative message with the same hash value.
Figure 4.4 – Hash function
3.Hash functions are commonly used to create a one-way password file. when a
user enters a password, the hash of that password is compared to the stored hash
value for verification. This approach to password protection is used by most
operating systems.
4. Hash functions can be used for intrusion detection and virus detection.
StoreH(F) for each file on a system and secure the hash values (e.g., on a CD-R that
is kept secure). One can later determine if a file has been modified by re
computingH(F). An intruder would need to change F without changing H(F).
One of the simplest hash functions is the bit-by-bit exclusive-OR (XOR) of every
block. This can be expressed as follows:
Thus, the probability that a data error will result in an unchanged hash value is 2n.
With more predictably formatted data, the function is less effective. For example,
in most normal text files, the high-order bit of each octet is always zero. So if a
128-bit hash value is used, instead of an effectiveness of 2128, the hash function
on this type of data has an effectiveness of 2112.
Figure 4.5. Two Simple Hash Functions
Figure 4.5 illustrates these two types of hash functions for 16-bit hash values.
A collision occurs if we have x ≠ y and H(x) = H(y). Because we are using hash
functions for data integrity, collisions are clearly undesirable
Brute-Force Attacks
A brute-force attack does not depend on the specific algorithm but depends only
on bit length. In the case of a hash function, a brute-force attack depends only on
the bit length of the hash value.
Cryptanalysis
A cryptanalysis, in contrast, is an attack based on weaknesses in a particular
cryptographic algorithm.
Figure 4. 6 – MD5 algorithm
MD 5
MD5 algorithm was developed by Professor Ronald L. Rivest in 1991. According to
RFC 1321, ―MD5 message-digest algorithm takes as input a message of arbitrary
length and produces as output a 128-bit "fingerprint" or "message digest" of the
input …The MD5 algorithm is intended for digital signature applications, where a
large file must be "compressed" in a secure manner before being encrypted with
a private (secret) key under a public-key cryptosystem such as RSA
Step 2. Appending Length. 64 bits are appended to the end of the padded
message to indicate the length of the original message in bytes. The rules of
appending length are: The length of the original message in bytes is converted to
its binary format of 64 bits. If overflow happens, only the low-order 64 bits are
used. Break the 64-bit length into 2 words (32 bits each). The low-order word is
appended first and followed by the high-order word.
Step 3. Initializing MD Buffer. MD5 algorithm requires a 128-bit buffer with a
specific initial value. The rules of initializing buffer are:
The buffer is divided into 4 words (32 bits each), named as A, B, C, and D.
SHA is based on the hash function MD4 and its design closely models MD4.
SHA-1 is also specified in RFC 3174, which essentially duplicates the material in
FIPS 180-1, but adds a C code implementation.
The algorithm takes as input a message with a maximum length of less than 2128
bits and produces as output a 512-bit message digest (Figure 4.7). The input is
processed in 1024-bit blocks. Below figure depicts the overall processing of a
message to produce a digest.
1 . Append padding bits. The message is padded so that its length is congruent to
896 modulo 1024 [length 896 (mod 1024)]. Padding is always added, even if the
message is already of the desired length. Thus, the number of padding bits is in the
range of 1 to 1024. The padding consists of a single 1-bit followed by the necessary
number of 0-bits.
1. Append length. A block of 128 bits is appended to the message. This block is
treated as an unsigned 128-bit integer (most significant byte first) and contains
the length of the original message (before the padding). The outcome of the first
two steps yields a message that is an integer multiple of 1024 bits in length. In
Figure 4.7, the expanded message is represented as the sequence of 1024-bit
blocks M1, M2,..., MN, so that the total length of the expanded message is N x
1024 bits.
2. Initialize hash buffer. A 512-bit buffer is used to hold intermediate and final
results of the hash function. The buffer can be represented as eight 64-bit
registers (a, b, c, d, e, f, g, h). These registers are initialized to the following 64-
bit integers (hexadecimal values):
a = 6A09E667F3BCC908 b = BB67AE8584CAA73B
c = 3C6EF372FE94F82B d = A54FF53A5F1D36F1
e = 510E527FADE682D1 f = 9B05688C2B3E6C1F
g = 1F83D9ABFB41BD6B h = 5BE0CDI9137E2179
Process message in 1024-bit (128-word) blocks. The heart of the algorithm is a
module that consists of 80 rounds; this module is labeled F in Figure 3.9. The logic is
illustrated in Figure 4.8. Each round takes as input the 512-bit buffer value
abcdefgh, and updates the contents of the buffer. At input to the first round, the
buffer has the value of the intermediate hash value, Hi-1. Each round t makes use of
a 64-bit value Wt derived from the current 1024-bit block being processed (Mi).
These values are derived using a message schedule. Each round also makes use of
an additive constant Kt, where 0 t 79 indicates one of the 80 rounds. These
words represent the first sixty-four bits of the fractional parts of the cube roots of
the first eighty prime numbers. The constants provide a "randomized" set of 64-bit
patterns, which should eliminate any regularities in the input data. The output of the
eightieth round is added to the input to the first round (Hi-1) to produce Hi. The
addition is done independently for each of the eight words in the buffer with each of
the corresponding words in Hi-1 using addition modulo 264.
Output. After all N 1024-bit blocks have been processed, the output from the Nth
stage is the 512-bit message digest.
H0 = IV
Hi = SUM64(Hi-1, abcdefghi)
MD = HN
where
N = the number of blocks in the message (including padding and length fields)
SUM64 = Addition modulo 264 performed separately on each word of the pair of
inputs.
It could be observed that six of the eight words are derived out of simple
permutation by means of rotation.
Figure 4.10 illustrates how the 64-bit word values Wt are derived from the 1024-
bit message. The first 16 values of Wt are taken directly from the 16 words of the
current block. The remaining values are defined as
ROTRn(x) = circular right shift of x by n bits, SHRn(x) = left shift of x by n bits with
padding by zeros on the right and + = addition modulo 264
HMAC
MAC derived from a cryptographic hash function. The motivations for this interest are
1. Cryptographic hash functions such as MD5 and SHA generally execute faster in
software than symmetric block ciphers such as DES.
• To allow for easy replaceability of the embedded hash function in case faster or
more secure hash functions are found or required.
HMAC Algorithm
Figure 4.11 illustrates the overall operation of HMAC. Define the following terms.
2. XOR (bitwise exclusive-OR) K+ with ipad to produce the b-bit block Si.
3.Append M to Si.
4. Apply H to the stream generated in step 3.
necessary, the final block is padded on the right with zeros to form a full 64-bit
block. Using the DES encryption algorithm and a secret key, a data authentication
code (DAC) is calculated.
The CMAC operation then proceeds 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:
For the two approved block sizes, the polynomials are and x64 + x4 + x3 + x + 1
and x128 + x7 + x2 + x + 1.
To generate K1 and K2, the block cipher is applied to the block that consists
entirely of 0 bits. The first sub key is derived from the resulting ciphertext by a
left shift of one bit and, conditionally, by XORing a constant that depends on the
block size. The second sub key is derived in the same manner from the first sub
key.
DIGITAL SIGNATURE STANDARD
The most important development from the work on public-key cryptography is the
digital signature. Message authentication protects two parties who exchange
messages from any third party. However, it does not protect the two parties
against each other either fraudulently creating, or denying creation, of a message.
A digital signature is analogous to the handwritten signature, and provides a set
of security capabilities that would be difficult to implement in any other way. It
must have the following properties:
• It must verify the author and the date and time of the signature
• It must to authenticate the contents at the time of the signature
• It must be verifiable by third parties, to resolve disputes
Thus, the digital signature function includes the authentication function.
Bob can sign a message using a digital signature generation algorithm. The inputs
to the algorithm are the message and Bob's private key. Any other user, say Alice,
can verify the signature using a verification algorithm, whose inputs are the
message, the signature, and Bob's public key.
The following lists the following types of attacks, in order of increasing severity. Here
A denotes the user whose signature is being attacked and C denotes the attacker.
Key-only attack: C only knows A's public key.
Known message attack: C is given access to a set of messages and
signatures.
Generic chosen message attack: C chooses a list of messages before
attempting to breaks A's signature scheme, independent of A's public key. C then
obtains from A valid signatures for the chosen messages. The attack is generic
because it does not depend on A's public key; the same attack is used against
everyone.
Directed chosen message attack: Similar to the generic attack, except that
the list of messages is chosen after C knows A's public key but before signatures
are seen.
Adaptive chosen message attack: C is allowed to use A as an "oracle." This
means the A may request signatures of messages that depend on previously
obtained message-signature pairs.
[GOLD88] then defines success as breaking a signature scheme as an outcome in
which C can do any of the following with a non-negligible probability:
Total break: C determines A's private key. • Universal forgery: C finds an
efficient signing algorithm that provides an equivalent way of constructing
signatures on arbitrary messages.
Selective forgery: C forges a signature for a particular message chosen by C.
Existential forgery: C forges a signature for at least one message. C has no
control over the message. Consequently this forgery may only be a minor
nuisance to A.
The DSS uses an algorithm that is designed to provide only the digital signature
function. Unlike RSA, it cannot be used for encryption or key exchange
.Nevertheless, it is a public-key technique. Figure below contrasts the DSS
approach for generating digital signatures to that used with RSA.
In the RSA approach, the message to be signed is input to a hash function that
produces a secure hash code of fixed length. This hash code is then encrypted
using the sender‘s private key to form the signature. Both the message and the
signature are then transmitted. The recipient takes the message and produces a
hash code. The recipient also decrypts the signature using the sender‘s public key.
If the calculated hash code matches the decrypted signature, the signature is
accepted as valid. Because only the sender knows the private key, only the sender
could have produced a valid signature.
The DSS approach also makes use of a hash function. The hash code is provided
as input to a signature function along with a random number generated for this
particular signature. The signature function also depends on the sender‘s private
key (PRa) and a set of parameters known to a group of communicating principals.
We can consider this set to constitute a global public key (PUG) The result is a
signature consisting of two components, labeled s and r.
At the receiving end, the hash code of the incoming message is generated. This
plus the signature is input to a verification function. The verification function also
depends on the global public key as well as the sender‘s public key (PUG) , which
is paired with the sender‘s private key. The output of the verification function is a
value that is equal to the signature component if the signature is valid. The
signature function is such that only the sender, with knowledge of the private key,
could have produced the valid signature.
Key Generation
Encryption
2. Chose random integer k with 1 <= k <= q-1 one-time key K = yAk mod q
3. Encrypt M as a pair of integers (C1,C2) where
C1 = ak mod q ; C2 = KM mod q
Decryption
as M = C2 K-1 mod q
For example, let us start with the prime field GF(19); that is, q = 19. It
has primitive roots {2, 3, 10, 13, 14, 15}, We choose a = 10.
Use field GF(19) q=19 and a=10
Alice computes her key:
computing:recover K = C1 mod q =
11 mod 19 = 7
xA 5
compute inverse K-1 = 7-1 = 11
Message authentication might not happen in real time; entity authentication does.
Message authentication simply authenticates one message; the process needs to
be repeated for each new message. Entity authentication authenticates the
claimant for the entire duration of a session
Verification Categories
Something Known – This is a secret known only by the claimant that can be
checked by the verifier. Examples are a password, a PIN, a secret key and a
private key.
Something possessed – This is something that can prove the claimant‘s
identity.Examples are a passport, a drivers license, a credit card and a smart
card.
PASSWORDS
The simplest and oldest method of entity authentication is the password-based
authentication, where the password is something that the claimant knows
Fixed Password
One-Time Password
Fixed Password
First approach : The system keeps a table ( a file) that is sorted by user
identification. To access the system resources ,the user sends the user
identification and password, in plaintext, to the system. The system uses the
identification to find the password in the table. If it matches, access is granted.
Third Approach: This approach is called salting the password. When the
password string is created, a random string, called the salt, is concatenated to the
password. The salted password is then hashed. The ID the salt and the hash are
then stored in the file. Now, when a user asks for access, the system extracts the
salt, concatenates it with the received password, makes a hash out of the result,
and compares it with the hash stored in the file.
The third approach schematic diagram is shown below.
Third Approach
In the third approach, bidirectional authentication is used. The first and second
approaches are for unidirectional authentication. Alice is authenticated to Bob but
not the other way around. If Alice also needs to be sure about Bob‘s identity, we
In the second approach, two public keys are used, one in each direction. Alice
sends her identity and nonce encrypted with Bob‘s public key. Bob responds with
his nonce encrypted with Alice‘s public key. Finally, Alice responds with Bob‘s
decrypted nonce.
The second approach using bidirectional, asymmetric-key is shown below.
First Approach:
In the first approach, Bob uses a plaintext challenge and Alice signs the response.
BIOMETRICS
Biometrics is the measurement of physiological or behavioral features that identify
a person (authentication by something inherent). Biometrics measures features
that cannot be guessed, stolen, or shared. Several components are needed for
biometrics, including capturing devices, processors, and storage devices..
BIOMETRIC TECHNIQUES
Biometric techniques are divided into two main categories : Physiological and
Behaviorial.
FINGERPRINT RECOGNITION
There are three levels on which Fingerprint Recognition carry out.
Level 1 : Identify the pattern of Fingerprint
Level 2 : Based on ridge characteristics i.e. ridge minutiae
Level 3 : Based on shape, size of ridges and pores
Declare Match
HAND GEOMETRY
Hand or fingers geometry is an automated measurement of many dimension of
hand and fingers
IRIS RECOGNITION
Iris scanning measures the iris pattern in the colored part of the eye.
RETINA RECOGNITION
Images back of the eye and compare blood vessels with existing date.
VOICE/SPEAKER RECOGNITION
It is a Behavioral Trait. Voice or speaker recognition uses vocal characteristics to
recognize individual. A telephone or microphone can act as a sensor.
SIGNATURE VERIFICATION
It is a Behavioral Trait. An automated method of measuring an individual
signature. This technology examine speed, direction, pressure of stylus while
writing, the time that the stylus is in and out of contact with the paper/tablet
KEYSTROKES DYNAMICS
It is a Behavioral Trait . Keystrokes dynamics is an automated method of
examining an individual‘s keystrokes on a ‗keyboard‘. This technology examine
such as speed, pressure, total time taken to type particular words and time
elapsed between hitting certain keys
ADVANTAGES OF BIOMETRICS
Effective technique to enhance security.
User friendly.
Does not use any password, PIN or secret code that are compromised.
It used physical and behavioral traits for identification and authentication that are
difficult to compromised.
DIS-ADVANTAGES OF BIOMETRICS
Retina recognition required closed physical contact of the scanning
device which may not be generally accepted by public.
Costly
Voice recognition requires large amount of computer storage, peoples voice can
change, background noise can interfere.
Kerberos Requirements
Security- A network eavesdropper should not be able to obtain the necessary
information to impersonate a user. More generally,Kerberos should be strong
enough that a potential opponent does not find it to be the weak link.
Reliability - : For all services that rely on Kerberos for access control, lack of
availability of the Kerberos service means lack of availability of the supported
services. Hence, Kerberos should be highly reliable and should employ a
distributed server architecture with one system able to back up another.
Transparency - Ideally, the user should not be aware that authentication is
taking place beyond the requirement to enter a password
Scalability - The system should be capable of supporting large numbers of client
and servers.This suggests a modular, distributed architecture.
Kerberos 4 Overview
a basic third-party authentication scheme
have an Authentication Server (AS)
users initially negotiate with AS to identify themselves
AS provides a non-corruptible authentication credential (ticket granting ticket
TGT)
have a Ticket Granting server (TGS)
users subsequently request access to other services from TGS on basis of
users TGT
A Simple Authentication Dialogue
(1) C -> AS : IDC || PC || IDV
C = client
AS = authentication server
IDC = identifier of user on C
PC = password of user on C
IDV = identifier of server V
An authentication server (AS) that knows the passwords of all users and stores
these in a centralized database. In addition, the AS shares a unique secret key
with each server
Message 2
(2) AS -> C : Ticket
Ticket = E K(V) [IDC || ADC || IDV]
K(V) = secret encryption key shared by AS and V
ADC = network address of C
Message 3
(3) C -> V: IDC || Ticket
Server V decrypts the ticket and checks various fields
ADC in the ticket binds the ticket to the network address of C
The user logs on to a workstation and requests access to server V. The client
module C in the user‘s workstation requests the user‘s password and then sends a
message to the AS that includes the user‘s ID, the server‘s ID, and the user‘s
password. The AS checks its database to see if the user has supplied the proper
password for this user ID and whether this user is permitted access to server V. If
both tests are passed, the AS accepts the user as authentic an must now convince
the server that this user is authentic.To do so, the AS creates a ticket that
contains the user‘s ID and network address and the server‘s ID. This ticket is
encrypted using the secret key shared by the AS and this server.This ticket is then
sent back to C. Because the ticket is encrypted, it cannot be altered by C or by an
opponent. With this ticket, C can now apply to V for service. C sends a message
to V containing C‘s ID and the ticket. V decrypts the ticket and verifies that the
user ID in the ticket is the same as the unencrypted user ID in the message. If
these two match, the server considers the user authenticated and grants the
requested service
Problems:
Each time a user needs to access a different service he/she needs to enter their
password
Read email several times
Print, mail, or file server
Assume that each ticket can be used only once (otherwise open to replay
attacks)
Password sent in the clear
Authentication Dialogue II
Once per user logon session
(1) C -> AS: IDC || IDTGS
(2)AS -> C: E K(C) [TicketTGS]
TicketTGS is equal to
where,
TGS = Ticket-granting server
IDTGS = Identifier of the TGS
TicketTGS = Ticket-granting ticket or TGT
TS1 = timestamp
Lifetime1 = lifetime for the TGT
K (C) = key derived from user‘s password
Once per type of service
(3) C -> TGS: IDC || IDV || TicketTGS
(4)TGS -> C : TicketV
TicketV is equal to
E K(V) [ IDC || ADC || IDV || TS2 || Lifetime2 ]
Where,
K(V): key shared between V and
TGS is called the service-granting ticket (SGT)
3. The client requests a service-granting ticket on behalf of the user. For this
purpose, the client transmits a message to the TGS containing the user‘s ID, the
ID of the desired service, and the ticket-granting ticket.
4.The TGS decrypts the incoming ticket using a key shared only by the AS and
the TGS (Ktgs) and verifies the success of the decryption by the presence of its ID.
It checks to make sure that the lifetime has not expired.Then it compares the
user ID and network address with the incoming information to authenticate the
user. If the user is permitted access to the server V, the TGS issues a ticket to
grant access to the requested service.
Finally, with a particular service-granting ticket, the client can gain access to
the corresponding service with step 5.
5. The client requests access to a service on behalf of the user. For this purpose, the
client transmits a message to the server containing the user‘s ID and the service-
granting ticket. The server authenticates by using the contents of th ticket.
This new scenario satisfies the two requirements of only one password query per
user session and protection of the user password.
KERBEROS REALMS AND MULTIPLE KERBERI
A full-service Kerberos environment consisting of a Kerberos server, a number of
clients, and a number of application servers requires the following:
1. The Kerberos server must have the user ID and hashed passwords of all
participating users in its database. All users are registered with the Kerberos
server.
2.The Kerberos server must share a secret key with each server. All servers are
registered with the Kerberos server.
for the desired server in the realm of the remote TGS. The details of the
The ticket presented to the remote server (Vrem:) indicates the realm in which
the user was originally authenticated. The server chooses whether to honor the
remote request.
Kerberos Version 5
Kerberos version 5 is specified in RFC 4120 and provides a number of
improvements over version 4 .
INVALID - This ticket is invalid and must be validated by the KDC before use.
PROXIABLE - Tells TGS that a new service-granting ticket with a different network
Address may be issued based on the presented ticket.
X.509 CERTIFICATES
X.509 defines a framework for the provision of authentication services by the
X.500 directory to its users. The directory may serve as a repository of public-key
certificates. X.509 is based on the use of public-key cryptography and digital
signatures.
Certificates
The heart of the X.509 scheme is the public-key certificate associated with each
user. These user certificates are assumed to be created by some trusted
certification authority (CA) and placed in the directory by the CA or by the user.
Figure below illustrates the generation of a public-key certificate.
Signature algorithm identifier: The algorithm used to sign the certificate together
with any associated parameters. Because this information is repeated in the
signature field at the end of the certificate, this field has little, if any, utility.
Issuer name: X.500 is the name of the CA that created and signed this
certificate.
Period of validity: Consists of two dates: the first and last on which the certificate
is valid.
Subject name: The name of the user to whom this certificate refers.That is, this
certificate certifies the public key of the subject who holds the corresponding
private key.
Subject‘s public-key information: The public key of the subject, plus an identifier
of the algorithm for which this key is to be used, together with any associated
parameters.
Issuer unique identifier: An optional-bit string field used to identify uniquely the
issuing CA in the event the X.500 name has been reused for different entities
Subject unique identifier: An optional-bit string field used to identify uniquelythe
subject in the event the X.500 name has been reused for different entities.
Extensions: A set of one or more extension fields. Extensions were added in
version 3 and are discussed later in this section.
Signature: Covers all of the other fields of the certificate; it contains the hash
code of the other fields encrypted with the CA‘s private key.This field includes the
signature algorithm identifier.
The standard uses the following notation to define a certificate:
where
= the certificate of user X issued by certification authority Y
= the signing of I by Y. It consists of I with an encrypted hash code
appended
V = version of the certificate
SN = serial number of the certificate
AI = identifier of the algorithm used to sign the certificate
CA = name of certificate authority
UCA = optional unique identifier of the CA
A = name of user A
The CA signs the certificate with its private key. If the corresponding public key is
known to a user, then that user can verify that a certificate signed by the CA
is valid.
Step 1 A obtains from the directory the certificate of X2 signed by X1. Because A
securely knows X1‘s public key,A can obtain X2‘s public key from its certificate and
verify it by means of X1‘s signature on the certificate.
Step 2 A then goes back to the directory and obtains the certificate of B signed by
X2. Because A now has a trusted copy of X2‘s public key,A can verify the signature
and securely obtain B‘s public key. A has used a chain of certificates to obtain B‘s
public key. In the notation of
In the same fashion, B can obtain A‘s public key with the reverse chain:
This scheme need not be limited to a chain of two certificates. An arbitrarily long
path of CAs can be followed to produce a chain. A chain with N elements would
be expressed as
In the above example, user A can acquire the following certificates from the
directory to establish a certification path to B.
REVOCATION OF CERTIFICATES
It may be desirable on occasion to revoke a certificate before it expires, for one of
the following reasons.
MAC = C(K,M)
C – MAC function
It is proportional to 2n
It is proportional to 2n/ 2
9. Define one way property of hash function.
The one way property of a hash function states that for any given hash code h, , it is
computationally infeasible to find y= x with H(y)=H(x).
H(x) is relatively easy to compute for any given x,making both hardware and
software implementations practical.
MAC involves the use of secret key to generate a small fixed size block of data,
known as cryptographic checksum or MAC that is appended to the message. This
technique assumes that two communication parties say A and B, share a common
secret key ‗k‘. When A has to send a message to B, it calculates the MAC as a
function of the message and the key.
C – MAC function
The one way property of a hash function states that for any given hash code h, , it
is computationally infeasible to find y= x with H(y)=H(x).
12. Difference between direct digital signature and arbitrated digital
signature.
The direct digital signature involves only the communicating parties (source,
destination). It is assumed that the destination knows the public key of the
source. A digital signature may be formed by encrypting the entire message with
the sender's private key or by encrypting a hash code of the message with the
sender's private key.
13. What is block size of MD5 and message digest size of SHA-1?
Message digest hash numbers represent specific files containing the protected
works.
Compression function mixes two fixed length inputs and produces a single fixed
length output of the same size as one of the inputs.
16. Mention any two message digest algorithms and its features.
1. MD5 algorithm
2. SHA algorithm
It takes a fixed length input and returns a shorter and fixed length output.
It can be formed by taking the hash value of the message and encrypting the
message with creator‘s private key.
23 Define Kerberos.
Kerberos is an authentication service developed as part of project Athena at MIT.
The problem that Kerberos address is, assume an open distributed environment in
which users at work stations wish to access services on servers distributed
throughout the network.
• The Kerberos server must have user ID and hashed password of all participating
users in its database.
• The Kerberos server must share a secret key with each server. Such an
environment is referred to as ―Realm‖.
27. What is the purpose of X.509 standard?
X.509 defines framework for authentication services by the X.500 directory to its
Explain Kerberos
NPTEL
Introduction to Cryptology
Foundations of Cryptography
COURSERA
Cryptography
Applied Cryptography
Symmetric Cryptography
UDEMY
Introduction to Cryptography