Symmetric Key Cryptography Exercise
Please visit www.cryptool.org and download CrypTool 1.
Try Caesar. Encrypt a sample text, and then and decrypt the encrypted text to obtain the original sample. Answer the following questions:
1) Describe the Caesar algorithm in one paragraph.
2) What was the key of the Caesar algorithm you used in your encryption exercise? Which key have you used for the decryption?
For a modern symmetric cryptographic algorithm, key length is the most important factor in ensuring the data’s confidentiality. Key length is the number of bits in a key used by an algorithm. For example, AES (Advanced Encryption Standard) algorithm, key length can be 128, 192, or 256 bits. “256-bit key is 2128 times stronger than a 128-bit key (not two times). Proof: the number of possible keys in a 256-bit key is 2256. For a 128-bit key, it is 2128. When you divide 2256 by 2128, it is 2128 (not 2). Fifty supercomputers that could check a Quintillion(1018) AES keys per second (if such a device could ever be made) would, in theory, require about 3×1051 years to exhaust the 256-bit keyspace.”[footnoteRef:1] This example shows how key length is crucial for security. Caesar cipher is not a modern algorithm, and the keys in Caesar are not represented in binary notation. “5” or “E” is a sample key that can be used in Caesar cipher; you shift the letters in a given text by 5 to the right if you decide to use that key. To answer the question-3, think about the number of all possible keys that can be used by Caesar cipher and answer this question: “Which power of 2 is close to the number of all possible keys? Same question with different wording: What is “x” in this equation: 2x= number of all possible keys in Caesar cipher? The “x” will help you answering question-3 accurately. [1: https://en.wikipedia.org/wiki/Brute-force_attack]
3) Can the key length of Caesar cipher be an integer value? Validate your answer. (Hint: Please note that you have to consider key space (all possible keys) of the Caesar cipher to answer this question. Key length is the number of total bits used to represent all keys in the key space in binary notation.
Public Key Cryptography Exercise
Briefing: Purpose of public key cryptography
Public key cryptography can be used for two main purposes.
1) Message encryption and decryption (Step-3, Step-4, Step-5, Step-6)
2) Message signing and verification (Step-7, Step-8, Step-9, Step-10, Step-11, Step-12)
Part-1: Message Creation
Step-1: Open a new blank window
Step-2: Write a short message
Part-2: Message Encryption & Decryption
Briefing: Explanation of message encryption and decryption
It is always better to use the following scenario with two users to understand the public key cryptography. If you want to ensure the confidentiality of the message in this scenario, you need the encrypt your message before sending to Bob. For this, you use Bob’s public key to encrypt the message. Only the matching private key can decrypt that message (in our case, it is Bob’s private key.) Note that, public keys can be freely shared with other users because they are only used for encryption; not decryption.
Note that, how Step-4 and Step-6 correspond to the encryption and decryption steps in this figure.
Step-3: Choose RSA Encryption
Step-4: Choose the recipient and click the Encrypt button
Step-5: Choose the RSA Decryption
Step-6: Choose the recipient, enter the PIN code (1234) and click the Decrypt button
Part-3: Message Signing & Verification
Briefing: Explanation of message signing and verification
The second purpose of public key cryptography was message signing and verification. We can use the following scenario for this. You use your private key to sign the message. Note that, unlike public keys, private keys are strictly protected and kept confidential by several means. After you sign the message by using your private key, the content of the message will be still readable. Because message signing does not ensure confidentiality, rather, it ensures integrity. If somebody changes the document during transport, verification will fail because of the integrity loss.
Note that, in Cryptool exercise, there is only one person who is Bob. Therefore, the actual scenario compatible with CrypTool is as follows.
Note that, how Step-8 and Step-10 correspond to the signing and verification steps in this figure.
Step-7: Click the Sign Document
Step-8: Choose the user, enter the PIN code (1234), and click the Sign button
Step-9: Click the Verify Signature
Step-10: Choose the user, and click Verify signature button
Step-11: Change the message and add a character
Step-12: Try to verify the message, paste the message here
1) In commercial products and productions environment, public keys are not used for bulk encryption. What has been done instead of using public keys for bulk encryption?
2) Where are public keys stored?
3) Why is PIN entered for Step-6 and Step-8?
4) Where are private keys usually stored? Feel free to provide as many options as you can