/Diffie-Hellman-Key-Swift-Playground

WWDC 2023 Swift Student Challenge Submission

Primary LanguageSwift

Diffie-Hellman-Key-Swift-Playground

This is the submission that got me selected for Apple's WWDC 2023 Swift Student Challenge.

This README file will provide an overview of my project, the Diffie-Hellman Key Exchange Crash Course app, and guide users on how to use and contribute to it effectively.

Overview

The Diffie-Hellman Key Exchange Crash Course is a Swift-based iOS app built with SwiftUI. Its primary goal is to educate users about the Diffie-Hellman Key Exchange algorithm, a fundamental concept in modern cryptography. The app offers a comprehensive crash course that covers the basics of the algorithm, allows users to input their values for encryption calculations, and concludes with a quiz to test their knowledge.

Features

The app incorporates the following key features:

  1. Crash Course: The crash course section provides a detailed explanation of the Diffie-Hellman Key Exchange algorithm, including its history, underlying principles, and step-by-step implementation.
1
  1. Interactive Input: Users can input their own values to calculate the various components required for encryption using the Diffie-Hellman Key Exchange algorithm. This interactive feature helps users understand how the algorithm works in practice.
2
  1. Encryption Calculation: The app performs real-time calculations based on user input, enabling them to visualize the encryption process and comprehend the intermediate steps involved.
3 4
  1. Quiz: At the end of the crash course, users can test their knowledge with an interactive quiz. The quiz challenges users to recall the information learned during the crash course and provides immediate feedback on their performance.
5

Getting Started

To use the Diffie-Hellman Key Exchange Crash Course app, follow these steps:

Requirements: Ensure you have a compatible iOS device running iOS 14.0 or later.

Installation: Download the app from the App Store or clone the GitHub repository to your local machine.

Build and Run: Open the project in Xcode and build/run the app on a simulator or a physical device. Ensure you have a valid provisioning profile or use a free provisioning profile for testing purposes.

Explore the Crash Course: Launch the app and navigate to the crash course section. Read through the material and engage with the interactive examples to grasp the concepts effectively.

Try the Encryption Calculation: Move to the encryption calculation section, input your own values, and observe how the algorithm calculates the encryption parameters in real-time.

Test Your Knowledge: Once you feel confident, proceed to the quiz section and answer the questions to assess your understanding of the Diffie-Hellman Key Exchange algorithm.

Contributing

Contributions to the Diffie-Hellman Key Exchange Crash Course app are welcome. If you'd like to contribute, please follow these steps:

Fork the repository and clone it to your local machine.

Create a new branch for your feature or bug fix.

Make the necessary changes and ensure that the app runs correctly.

Write tests to validate the changes if applicable.

Commit your changes and push them to your forked repository.

Open a pull request to the main repository, describing your changes and their purpose in detail.

Wait for the maintainers to review your pull request. Address any feedback and make changes if necessary.

Feedback and Support

If you encounter any issues, have suggestions, or would like to provide feedback about the Diffie-Hellman Key Exchange Crash Course app, please feel free to reach out to us. You can contact the developer via email or create an issue on the GitHub repository.