RSA
RSA(Rivest-Shamir-Adleman)
大きな素数の因数分解が数学的に困難であることに基づく、広く使用されている公開鍵暗号アルゴリズムです。秘密鍵を共有することなく、安全な鍵交換、デジタル署名、暗号化通信を実現します。
技術的詳細
RSAは鍵ペアを生成します:暗号化用の公開鍵(n, e)と復号用の秘密鍵(n, d)で、nは2つの大きな素数の積です。暗号化はc = m^e mod nを計算し、復号はm = c^d mod nを計算します。2,048ビットの鍵長が現在の最低推奨値で、4,096ビットはより大きなセキュリティマージンを提供します。RSAは共通鍵アルゴリズムより低速なため、実際にはランダムなAESセッション鍵を暗号化する形で使用されます(ハイブリッド暗号化)。RSA-OAEP(最適非対称暗号化パディング)は選択暗号文攻撃を防止します。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')
);
```
関連ツール
P
Password Generator
P
Password Strength Checker
H
Hash Generator
H
HMAC Generator
A
AES Encrypt / Decrypt
R
Random String Generator
C
CSP Header Generator
T
Text Redactor
C
CORS Header Generator
S
SRI Hash Generator
B
Base64 Encoder / Decoder
J
JWT Decoder
U
UUID Generator
T
TOTP Configurator
S
SSL Certificate Decoder