🍋
Menu
Security

RSA

RSA (Rivest-Shamir-Adleman)

Ein weit verbreiteter asymmetrischer Verschlüsselungsalgorithmus, der auf der mathematischen Schwierigkeit basiert, grosse Primzahlen zu faktorisieren. Er ermöglicht sicheren Schlüsselaustausch, digitale Signaturen und verschlüsselte Kommunikation, ohne einen geheimen Schlüssel teilen zu müssen.

Technisches Detail

RSA erzeugt ein Schlüsselpaar: einen öffentlichen Schlüssel (n, e) zur Verschlüsselung und einen privaten Schlüssel (n, d) zur Entschlüsselung, wobei n das Produkt zweier grosser Primzahlen ist. Die Verschlüsselung berechnet c = m^e mod n, und die Entschlüsselung berechnet m = c^d mod n. Schlüssellängen von 2.048 Bit sind die aktuelle Mindestempfehlung; 4.096 Bit bieten einen grösseren Sicherheitsspielraum. RSA ist langsamer als symmetrische Algorithmen, daher verschlüsselt es in der Praxis einen zufälligen AES-Sitzungsschlüssel anstatt der Massendaten (hybride Verschlüsselung). RSA-OAEP (Optimal Asymmetric Encryption Padding) verhindert Chosen-Ciphertext-Angriffe. RSA-PSS ist das empfohlene Signaturverfahren.

Beispiel

```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')
);
```

Verwandte Tools

Verwandte Begriffe