https://github.com/evanhei/passkey
A Windows desktop app for password-derived and generated keys.
https://github.com/evanhei/passkey
csharp cybersecurity desktop-app dotnet keyderivation windows
Last synced: about 2 months ago
JSON representation
A Windows desktop app for password-derived and generated keys.
- Host: GitHub
- URL: https://github.com/evanhei/passkey
- Owner: EvanHei
- License: mit
- Created: 2024-10-27T22:15:28.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-17T17:43:16.000Z (about 1 year ago)
- Last Synced: 2025-05-17T18:31:00.715Z (about 1 year ago)
- Topics: csharp, cybersecurity, desktop-app, dotnet, keyderivation, windows
- Language: C#
- Homepage:
- Size: 201 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Passkey
A Windows desktop app for computing cryptographic keys.
## Table of Contents
1. [Getting Started](#getting-started)
2. [Guide](#guide)
3. [Technologies](#technologies)
## Getting Started
Run from executable
1. Download [Passkey-v1.0.0-x64.exe](https://github.com/EvanHei/Passkey/releases/download/v1.0.0/Passkey-v1.0.0-x64.exe) or [Passkey-v1.0.0-x86.exe](https://github.com/EvanHei/Passkey/releases/download/v1.0.0/Passkey-v1.0.0-x86.exe) depending on your architecture.
| File | SHA-256 |
| ---------------------- | ------------------------------------------------------------------ |
| Passkey-v1.0.0-x64.exe | `5d858333145b586a57ea9f476197fea4649801c9705224003ec863f7791cc547` |
| Passkey-v1.0.0-x86.exe | `cf159d6205d35d58bcfb6b2b71014c72fef08e27fe19048d50acbae7bdf85621` |
2. Double-click the executable, click "More info", and then click "Run anyway". This prompt will disappear the next time it's run.


Run from source code
1. Download the .NET SDK from Microsoft's website here or verify installation by running the following command:
```bash
dotnet --version
```
2. Navigate to Passkey/WinFormsUI/ and launch with the following command:
```bash
dotnet run
```
## Guide
### Deriver Panel
The Deriver panel allows a key of variable length to be derived from a password using the PBKDF2 algorithm.
- **👁**: reveals the password.
- **Key Length (in bytes)**: the desired length of the key in bytes.
- **Slider**: adjusts the key length.
- **Iterations**: sets the number of iterations in the derivation.
- **Algorithm Dropdown**: sets the hashing algorithm.
- **Salt**: adds a randomly generated salt to the password before derivation.
- **🔄**: generates a new random salt and recomputes the key.
- **📋**: copies a value to the clipboard.
- **❔**: opens the README on GitHub.

### Generator Panel
The Generator panel allows creation of a symmetric or asymmetric key pair using the RSA or ECDSA algorithms.
#### Symmetric Panel
- **Key Length (in bytes)**: the desired length of the key in bytes.
- **Slider**: adjusts the key length.
- **🔄**: recomputes a new key.
- **📋**: copies a value to the clipboard.

#### Asymmetric Panel
- **Save**: saves the public and private keys to PEM files.

## Technologies
- **OS**: Windows
- **IDE**: Visual Studio
- **Language**: C#
- **Framework**: .NET
- **UI**: Windows Forms
- **Version Control**: Git / GitHub
- **Algorithms**: PBKDF2, RSA, ECDSA, SHA1, SHA256, SHA384, SHA512
- **Unit Tests**: xUnit