{# canonical_base is the OWNING tenant's origin: all 16 Peasy domains serve the same catalogue, so a page rendered by a non-owner points its canonical at the owner instead of competing with it. Falls back to this site for static/self-owned pages. #}
🍋
Menu
Security

RSA

RSA (Rivest-Shamir-Adleman)

Algoritma enkripsi asimetris yang banyak digunakan berdasarkan kesulitan matematis memfaktorkan bilangan prima besar, memungkinkan pertukaran kunci yang aman, tanda tangan digital, dan komunikasi terenkripsi tanpa berbagi kunci rahasia.

Detail Teknis

RSA menghasilkan pasangan kunci: kunci publik (n, e) untuk enkripsi dan kunci privat (n, d) untuk dekripsi, di mana n adalah produk dari dua bilangan prima besar. Enkripsi menghitung c = m^e mod n, dan dekripsi menghitung m = c^d mod n. Ukuran kunci 2.048 bit adalah rekomendasi minimum saat ini; 4.096 bit memberikan margin keamanan lebih besar. RSA lebih lambat dari algoritma simetris, sehingga dalam praktiknya RSA mengenkripsi kunci sesi AES acak daripada data massal (enkripsi hybrid). RSA-OAEP (Optimal Asymmetric Encryption Padding) mencegah serangan chosen-ciphertext. RSA-PSS adalah skema tanda tangan yang direkomendasikan.

Contoh

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

Alat Terkait

Istilah Terkait