awslabs / awslabs/aws-encryption-sdk-specification

Determine how/where/if the Raw RSA Keyring checks that public/private keys match

Open
#167 0 comments 0 reactions 0 assignees View on GitHub
Doc impact
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.