Skip to content

Commit 0c5f98c

Browse files
author
Mélanie Marques
committed
feat(key_manager): add asymmetric concepts
1 parent ba72e6e commit 0c5f98c

File tree

2 files changed

+43
-9
lines changed

2 files changed

+43
-9
lines changed

pages/key-manager/concepts.mdx

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ The public key is used for encryption and can be shared openly, while the privat
1818

1919
Asymmetric encryption is particularly well-suited for secure communication and authentication, such as encrypting emails or verifying digital signatures. However, it is slower than symmetric encryption. Algorithms like RSA and ECC are common examples of asymmetric encryption.
2020

21+
As of now, Key Manager currently supports the following asymmetric encryption algorithms:
22+
23+
- RSA-OAEP-2048-SHA256: RSA encryption with 2048-bit key and OAEP padding using SHA-256.
24+
- RSA-OAEP-3072-SHA256: RSA encryption with 3072-bit key and OAEP padding using SHA-256.
25+
- RSA-OAEP-4096-SHA256: RSA encryption with 4096-bit key and OAEP padding using SHA-256.
26+
2127
## Ciphertext
2228

2329
Ciphertext refers to data that has been encrypted using a cryptographic algorithm and a key.
@@ -36,6 +42,8 @@ Key Manager supports the three following cryptographic operations:
3642
- [Encryption](#encryption)
3743
- [Decryption](#decryption)
3844
- [Data encryption key](#data-encryption-key-dek) generation
45+
- [Signature](#signature)
46+
- [Signature Verification](#signature-verification)
3947

4048
These operations are designed to protect data from unauthorized access, ensure its integrity, and verify the identities of users or systems.
4149

@@ -57,7 +65,7 @@ The only way to decrypt an encrypted payload is by using the `Decrypt` [endpoint
5765

5866
A cryptographic operation used to encrypt data using the latest version of the Key Manager key. The [encryption algorithm](#encryption-algorithm) used is the one defined when setting the [key usage](#key-usage).
5967

60-
Only keys with a usage set to `symmetric_encryption` are supported by this method. The input data is arbitrary, but this endpoint should only be used to encrypt **data encryption keys**, not actual [payloads](#payload).
68+
The input data is arbitrary, but this endpoint should only be used to encrypt **data encryption keys**, not actual [payloads](#payload).
6169

6270
[Find out how to encrypt and decrypt payloads using The Scaleway Tink provider](/key-manager/api-cli/manage-keys-with-tink)
6371

@@ -67,21 +75,17 @@ An encryption algorithm is the specific procedure used to perform encryption and
6775

6876
It defines the exact steps to transform plaintext into ciphertext and vice versa using a key.
6977

70-
As of now, Key Manager supports the following encryption algorithm:
71-
72-
- AES (Advanced Encryption Standard): A widely used symmetric encryption algorithm.
73-
7478
## Encryption method
7579

7680
An encryption method is a broader approach used to convert readable data ([plaintext](#plaintext)) into an unreadable format ([ciphertext](#ciphertext)) which may involve one or more [encryption algorithms](#encryption-algorithm).
7781

7882
There are three types of encryption methods:
7983

8084
- [Symmetric encryption](#symmetric-encryption)
81-
- [Asymmetric encrytpion](#asymmetric-encryption)
85+
- [Asymmetric encryption](#asymmetric-encryption)
8286
- Hybrid encryption: An encryption method that combines both symmetric and asymmetric methods
8387

84-
Key Manager only supports symmetric encryption.
88+
Key Manager supports symmetric and asymmetric encryption.
8589

8690
## Encryption scheme
8791

@@ -119,7 +123,7 @@ After rotating your Key Manager keys, all cryptographic operations will use the
119123
## Key usage
120124

121125
The key usage specifies the **algorithm** used to create subsequent key versions, and the **scope of cryptographic operations** supported by your key encryption key.
122-
You must define a key usage upon key creation. As of now, Key Manager **only supports symmetric encryption**.
126+
You must define a key usage upon key creation. Key Manager supports symmetric encryption, asymmetric encryption and asymmetric signing.
123127

124128
## Key version
125129

@@ -145,6 +149,29 @@ A region refers to the **geographical location** in which your key will be creat
145149

146150
A root encryption key (REK) is another type of key that has the single purpose of encrypting and decrypting KEKs in order to store them in hard storage. Scaleway's Key Manager has one REK per region, which is securely stored in our facilities.
147151

152+
## Signature
153+
154+
Signature is a cryptographic technique used to ensure the authenticity and integrity of data. In this process, a digest (hash) of the message is created and then signed using a private key. This signature can later be verified by anyone with access to the corresponding public key.
155+
156+
Signatures are widely used in scenarios like document signing, secure communication, and identity verification. They offer assurance that the data originated from a trusted source and has not been tampered with.
157+
158+
As for now, Key Manager supports the following asymmetric signing algorithms:
159+
160+
- EC-P256-SHA256: ECDSA signing with the P-256 curve and SHA-256.
161+
- EC-P384-SHA256: ECDSA signing with the P-384 curve and SHA-384.
162+
- RSA-PSS-2048-SHA256: RSA-PSS signing with 2048-bit key and SHA-256.
163+
- RSA-PSS-3072-SHA256: RSA-PSS signing with 3072-bit key and SHA-256.
164+
- RSA-PSS-4096-SHA256: RSA-PSS signing with 4096-bit key and SHA-256.
165+
- RSA-PKCS1-2048-SHA256: RSA PKCS#1 v1.5 signing with 2048-bit key and SHA-256.
166+
- RSA-PKCS1-3072-SHA256: RSA PKCS#1 v1.5 signing with 3072-bit key and SHA-256.
167+
- RSA-PKCS1-4096-SHA256: RSA PKCS#1 v1.5 signing with 4096-bit key and SHA-256.
168+
169+
## Signature verification
170+
171+
Signature verification is the process of confirming the authenticity and integrity of a digital signature.
172+
It involves using the public key corresponding to the private key that was used to create the signature to verify that the data has not been altered and that it comes from the claimed sender.
173+
This process is crucial for ensuring secure and reliable communication.
174+
148175
## Symmetric encryption
149176

150177
Symmetric encryption is a fundamental type of cryptographic method where the same key is used to both encrypt and decrypt data. This means that the sender and receiver must have access to the same secret key, which they use to secure their communication.

pages/key-manager/faq.mdx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,18 @@ Key Manager supports the three following cryptographic operations:
2929
- [Encryption](/key-manager/concepts/#encryption)
3030
- [Decryption](/key-manager/concepts/#decryption)
3131
- [Data encryption key](/key-manager/concepts/#data-encryption-key-dek) generation
32+
- [Signature](/key-manager/concepts/#signature)
33+
- [Signature Verification](/key-manager/concepts/#signature-verification)
34+
3235

3336
## Which algorithms and key usage does Key Manager support?
3437

3538
<Macro id="encryption" />
3639

37-
Keys with a [key usage](/key-manager/concepts/#key-usage) set to `symmetric_encryption` are **used to encrypt and decrypt data**.
40+
Key Manager supports multiple [key usages](/key-manager/concepts/#key-usage) to suit different cryptographic operations:
41+
42+
- Keys with a key usage set to `symmetric_encryption` are used to encrypt and decrypt data using symmetric algorithms.
43+
- Keys with an `asymmetric_encryption` usage are used for encrypting and decrypting data with asymmetric algorithms, typically involving a public-private key pair.
44+
- Keys with a `asymmetric_signing` usage are used for generating and verifying digital signatures, ensuring data authenticity and integrity.
3845

3946
Refer to our [dedicated documentation](/key-manager/reference-content/understanding-key-manager/) to find out more about Key Manager.

0 commit comments

Comments
 (0)