awslabs / awslabs/aws-encryption-sdk-specification
Determine how/where/if the Raw RSA Keyring checks that public/private keys match
- Dominant language
- JavaScript
- Stars
- 37
- Forks
- 27
- PR merge metrics
- No merged PRs in 30d
Description
Follows issue #91
_Definitions:_ "match", "matching pair" describe an interoperable RSA public key, and RSA private key (i.e. a ciphertext encrypted by the public key can be decrypted by the private key).
_Background:_ The Raw RSA Keyring accepts a public key and/or a private key. When both keys are provided, it makes sense to ensure they match, and fail if they don't. However, checking if two keys match is a non-trivial operation (depending on language).
Several approaches have been proposed:
- If public values are defined in the private key, check that they match the public key.
- Add an optional input to the Raw RSA Keyring, which indicates it should check for a match by attempting to encrypt/decrypt a plaintext.
- Create a separate API to allow customers to check for a match themselves (by attempting to encrypt/decrypt a plaintext).
Contributor guide
Research direction
Start by reading issue #91 and the Raw RSA Keyring behavior described here. Compare the proposed public-value check, optional encrypt/decrypt check, and separate customer API; the work is done when the specification records a decided approach and its matching behavior.
Written by the indexing model from the issue text.
Assessment
- Domain
- cryptography, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100