Time spent: 4 hours spent in total
The following required functionality is completed:
1. Symmetric Encrypt/Decrypt
- Required: Repair the symmetric encrypt and decrypt code
2. Encrypted Message 1
- Required: Decrypt the government message
- Required: Encrypt a response and include in this README
3. Generate Public-Private Keys
- Required: Repair the key generator code
- Required: Generate keys for "johnsteed" and add him to the Agent Directory
4. Asymmetric Encrypt/Decrypt
- Required: Repair the asymmetric encrypt and decrypt code
5. Create/Verify Signature
- Required: Repair the create and verify signature code
6. Encrypted Message 2
- Required: Decrypt the message
- Required: Verify the message
- Required: Include a response message in this README
7. Agent Messages
- Required: Repair the dropbox code
- Required: Repair the messages area
- Required: Display encrypted messages for all agents
- Required: Messages indicate whether the message signature is valid
- Required: Your messages are automatically decrypted
8. Identify the Double Agent
- Required: Decrypt as many email messages as possible
- Required: Identify the double agent: Natasha___
The following objectives are optional:
-
Bonus Objective 1.
- Track down the bugs in the code and fix them.
-
Bonus Objective 2.
- Write a report of your discoveries (longer than 300 characters).
- Compose a secure email for sending over an insecure network.
- Include the email with your encrypted report in this README.
-
Bonus Objective 3.
- Add a "Create/Verify Checksum" section to the Encryption Tools area.
-
Advanced Objective 1.
- Add support for other symmetric algorithms.
Here's a walkthrough of implemented user stories:
GIF created with LiceCap.
Story 2: I heard about your current situation. Do you know who hacked APEX? -- The Chairman
Story 6:
From: agent99 To: sydneybristow Subject: Encrypted and Signed MessageBody: KSSe9mDzESVpY+oc6SdtZwZBi/K04ufzVfEQNC/fjy3sSRBNyWF248itxV9TKvk6yK4gjrVNS5DAce0cS5iymTmG5VVqbVideRrHU6KVGi3C8Y3aOHh8K87VU3dLkv+11lG0LF75hWGwvi8OjzvnGBKkFVNQMlipYgPthYSD0ixJMF7mN7g5S9+nTb7cxw6Orc83t8FimXlrQwoSq/SD4iKgT36eV/st2z81BcOJ3xoqrJd2RAknomgSQFeh1d/XiYL587PFnWa5vONcBJMHjLGdUtHt6KSdR9xjL4HRp0nIa3efkpoOk1IR79L8RF93eMhdyQD6pz2unEjke7opdQ== Signature: npSRc8JBwx3IuOkNwO1SIjP0UQ9dUs/54bLMMSG8fjCLTSmgV2+Bja2heVZSKUStx3iGs8UnWPhPPAPuFJ1brHQIfmZL6mOM28yO+dVr7tI2Ezb5Zo+necBxNkYLY2iV8ozTtmmEhd4VGiWtP9uZfBHErO2MlHhYnsAxWVQNNId9QE+fE4WlMpFsFvhpuTRXPzsdTK4q2hZdrMuWok/QkqcX0fma5SmSqv5YibfQpHDV9AuppobIczG6N8Qu8Ld1T1MtZyj3qyZjVoL5yjqpWUmkZuHolAT/4ACgNdZDIaBfTRtO7o66zgu4GCcHR9m/bOExK+HC+E4+mqDvGIO+JQ==
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.