🍋
Menu
Security

RSA

RSA (Rivest–Shamir–Adleman)

Um algoritmo de criptografia assimétrica que usa um par de chaves matematicamente relacionadas — uma chave pública para criptografar e uma chave privada para descriptografar — permitindo comunicação segura sem troca prévia de segredos.

Detalhe técnico

RSA baseia sua segurança na dificuldade de fatorar o produto de dois grandes números primos. A geração de chaves produz n = p × q (dois primos), com o expoente público e (tipicamente 65537) e o expoente privado d (inverso modular de e mod φ(n)). A criptografia calcula c = m^e mod n; a descriptografia calcula m = c^d mod n. Os tamanhos de chave RSA variam de 2048 a 4096 bits. A criptografia RSA direta é lenta e limitada em tamanho, então na prática é usada para troca de chaves (criptografando uma chave simétrica) ou assinaturas digitais (criptografando um hash), não para dados em massa.

Exemplo

```javascript
// AES-256-GCM encryption (Web Crypto API)
const key = await crypto.subtle.generateKey(
  { name: 'AES-GCM', length: 256 }, true, ['encrypt', 'decrypt']
);
const iv = crypto.getRandomValues(new Uint8Array(12));
const ciphertext = await crypto.subtle.encrypt(
  { name: 'AES-GCM', iv },
  key,
  new TextEncoder().encode('secret message')
);
```

Ferramentas relacionadas

Termos relacionados