jwalsh / jwalsh/hy-algorithms

Implement cryptographic algorithms

Open
#32 0 comments 0 reactions 0 assignees View on GitHub
difficulty:medium math
Dominant language
Hy
Stars
2
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Create implementations for basic cryptographic algorithms:

## Symmetric encryption:
- Caesar cipher
- Vigenère cipher
- One-time pad
- Substitution cipher
- Transposition cipher
- Rail fence cipher

## Hashing algorithms:
- Simple hash functions
- Rolling hash
- Merkle–Damgård construction

## Cryptographic primitives:
- Pseudo-random number generators
- Key derivation functions
- Message authentication codes

## Requirements:
- Include detailed mathematical explanations
- Provide security analysis
- Create comprehensive test cases
- Document practical applications

**Note:** These implementations are for educational purposes only. They demonstrate the principles behind cryptographic algorithms but should not be used for actual security-sensitive applications.

This collection will provide insight into the mathematical foundations of cryptography through simple, understandable implementations.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.