COURSE CODE: EIE 524
PROGRAMME: ICE
ASSIGNMENT ON PUBLIC KEY CRYPTOGRAPHY AND RSA
REVIEW QUESTIONS
9.1 Plaintext: This is the readable message or data that is fed into the
algorithm as input. Encryption algorithm: The encryption algorithm
performs various transformations on the plaintext.
Public and private keys: This is a pair of keys that have been selected so
that if one is used for encryption, the other is used for decryption. The exact
transformations performed by the encryption algorithm depend on the public
or private key that is provided as input.
Ciphertext: This is the scrambled message produced as output. It depends
on the plaintext and the key. For a given message, two different keys will
produce two different ciphertexts.
Decryption algorithm: This algorithm accepts the ciphertext and the
matching key and produces the original plaintext.
9.2 A user's private key is kept private and known only to the user. The
user's public key is made available to others to use. The private key can be
used to encrypt a signature that can be verified by anyone with the public
key. Or the public key can be used to encrypt information that can only be
decrypted by the possessor of the private key.
9.3 Encryption/decryption: The sender encrypts a message with the
recipient's public key.
Digital signature: The sender "signs" a message with its private key.
Signing is achieved by a cryptographic algorithm applied to the message or
to a small block of data that is a function of the message.
Key exchange: Two sides cooperate to exchange a session key. Several
different approaches are possible, involving the private key(s) of one or both
parties.
9.4 1. It is computationally easy for a party B to generate a pair (public key
PUb, private key PRb).
, 2. It is computationally easy for a sender A, knowing the public key and the
message to be encrypted, M, to generate the corresponding ciphertext:
C = E(PUb, M)
3. It is computationally easy for the receiver B to decrypt the resulting
ciphertext using the private key to recover the original message:
M = D(PRb, C) = D(PRb, E(PUb, M))
4. It is computationally infeasible for an opponent, knowing the public key,
PUb, to determine the private key, PRb.
5. It is computationally infeasible for an opponent, knowing the public key,
PUb, and a ciphertext, C, to recover the original message, M.
9.5 A one-way function is one that maps a domain into a range such that
every function value has a unique inverse, with the condition that the
calculation of the function is easy whereas the calculation of the inverse is
infeasible:
9.6 A trap-door one-way function is easy to calculate in one direction and
infeasible to calculate in the other direction unless certain additional
information is known. With the additional information the inverse can be
calculated in polynomial time.
9.7 1. Pick an odd integer n at random (e.g., using a pseudorandom number
generator).
2. Pick an integer a < n at random.
3. Perform the probabilistic primality test, such as Miller-Rabin. If n fails the
test, reject the value n and go to step 1.
4. If n has passed a sufficient number of tests, accept n; otherwise, go to
step 2.
PROBLEM QUESTIONS
9.2 a. n = 33; (n) = 20; d = 3; C = 26.
b. n = 55; (n) = 40; d = 27; C = 14.
c. n = 77; (n) = 60; d = 53; C = 57.
d. n = 143; (n) = 120; d = 11; C = 106.
e. n = 527; (n) = 480; d = 343; C = 128.
For decryption, we have;
128343 mod 527 = 128256 12864 12816 1284 1282 1281 mod 527
PROGRAMME: ICE
ASSIGNMENT ON PUBLIC KEY CRYPTOGRAPHY AND RSA
REVIEW QUESTIONS
9.1 Plaintext: This is the readable message or data that is fed into the
algorithm as input. Encryption algorithm: The encryption algorithm
performs various transformations on the plaintext.
Public and private keys: This is a pair of keys that have been selected so
that if one is used for encryption, the other is used for decryption. The exact
transformations performed by the encryption algorithm depend on the public
or private key that is provided as input.
Ciphertext: This is the scrambled message produced as output. It depends
on the plaintext and the key. For a given message, two different keys will
produce two different ciphertexts.
Decryption algorithm: This algorithm accepts the ciphertext and the
matching key and produces the original plaintext.
9.2 A user's private key is kept private and known only to the user. The
user's public key is made available to others to use. The private key can be
used to encrypt a signature that can be verified by anyone with the public
key. Or the public key can be used to encrypt information that can only be
decrypted by the possessor of the private key.
9.3 Encryption/decryption: The sender encrypts a message with the
recipient's public key.
Digital signature: The sender "signs" a message with its private key.
Signing is achieved by a cryptographic algorithm applied to the message or
to a small block of data that is a function of the message.
Key exchange: Two sides cooperate to exchange a session key. Several
different approaches are possible, involving the private key(s) of one or both
parties.
9.4 1. It is computationally easy for a party B to generate a pair (public key
PUb, private key PRb).
, 2. It is computationally easy for a sender A, knowing the public key and the
message to be encrypted, M, to generate the corresponding ciphertext:
C = E(PUb, M)
3. It is computationally easy for the receiver B to decrypt the resulting
ciphertext using the private key to recover the original message:
M = D(PRb, C) = D(PRb, E(PUb, M))
4. It is computationally infeasible for an opponent, knowing the public key,
PUb, to determine the private key, PRb.
5. It is computationally infeasible for an opponent, knowing the public key,
PUb, and a ciphertext, C, to recover the original message, M.
9.5 A one-way function is one that maps a domain into a range such that
every function value has a unique inverse, with the condition that the
calculation of the function is easy whereas the calculation of the inverse is
infeasible:
9.6 A trap-door one-way function is easy to calculate in one direction and
infeasible to calculate in the other direction unless certain additional
information is known. With the additional information the inverse can be
calculated in polynomial time.
9.7 1. Pick an odd integer n at random (e.g., using a pseudorandom number
generator).
2. Pick an integer a < n at random.
3. Perform the probabilistic primality test, such as Miller-Rabin. If n fails the
test, reject the value n and go to step 1.
4. If n has passed a sufficient number of tests, accept n; otherwise, go to
step 2.
PROBLEM QUESTIONS
9.2 a. n = 33; (n) = 20; d = 3; C = 26.
b. n = 55; (n) = 40; d = 27; C = 14.
c. n = 77; (n) = 60; d = 53; C = 57.
d. n = 143; (n) = 120; d = 11; C = 106.
e. n = 527; (n) = 480; d = 343; C = 128.
For decryption, we have;
128343 mod 527 = 128256 12864 12816 1284 1282 1281 mod 527