**CrypTool** **Exercise**

**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

Questions:

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