🍋
Menu
Security

RSA

RSA (Rivest-Shamir-Adleman)

อัลกอริทึมการเข้ารหัสแบบอสมมาตรที่ใช้กันอย่างแพร่หลาย อิงจากความยากทางคณิตศาสตร์ในการแยกตัวประกอบจำนวนเฉพาะขนาดใหญ่ ช่วยให้สามารถแลกเปลี่ยนคีย์อย่างปลอดภัย ลายเซ็นดิจิทัล และการสื่อสารแบบเข้ารหัสโดยไม่ต้องแชร์คีย์ลับ

รายละเอียดทางเทคนิค

RSA สร้างคู่คีย์: กุญแจสาธารณะ (n, e) สำหรับเข้ารหัสและกุญแจส่วนตัว (n, d) สำหรับถอดรหัส โดย n คือผลคูณของจำนวนเฉพาะขนาดใหญ่สองจำนวน การเข้ารหัสคำนวณ c = m^e mod n และการถอดรหัสคำนวณ m = c^d mod n ขนาดคีย์ 2,048 บิตเป็นค่าแนะนำขั้นต่ำในปัจจุบัน 4,096 บิตให้ส่วนต่างความปลอดภัยที่มากขึ้น RSA ช้ากว่าอัลกอริทึมแบบสมมาตร จึงมักเข้ารหัสคีย์เซสชัน AES แบบสุ่มแทนข้อมูลจำนวนมาก (การเข้ารหัสแบบไฮบริด) RSA-OAEP (Optimal Asymmetric Encryption Padding) ป้องกันการโจมตีแบบ chosen-ciphertext RSA-PSS เป็นรูปแบบลายเซ็นที่แนะนำ

ตัวอย่าง

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

เครื่องมือที่เกี่ยวข้อง

คำศัพท์ที่เกี่ยวข้อง