Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Notable Standards #80

Open
AKushWarrior opened this issue Feb 2, 2021 · 0 comments
Open

Implement Notable Standards #80

AKushWarrior opened this issue Feb 2, 2021 · 0 comments

Comments

@AKushWarrior
Copy link
Contributor

AKushWarrior commented Feb 2, 2021

Seeing as this is a general purpose cryptography library that could feasibly be used on desktop, mobile, and web architectures, we should make an effort to implement widely-used standards from various sources. Some such sources and standards (all currently unimplemented in pointycastle) are listed below. Note that I've tried to whittle down the standards to those with considerable common usage; for example, some NIST standards are outdated and have little market share.

NIST

MACs: KMAC
Deterministic Random Bit Generators: Hash_DRBG and HMAC_DRBG
Authenticated Block Cipher Modes: CCM
Authenticated Block Cipher Modes (Proposals): EAX, GCM-SIV, OCB

Password Hashing Competition (2015, in connection with NIST)

Key Derivation Function: Argon2

eSTREAM Contest (2012, by ECRYPT, the EU's cryptography board)

Stream Ciphers: HC-128, Rabbit

This issue will be updated with more standards as I come across them.

EDIT: I've hyperlinked implementations from BouncyCastle where applicable.
EDIT 2: I'm going to strike through algorithms as I implement them (and their tests pass). CCM has been fully implemented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant