RSA公私密钥对生成器

使用Web Crypto API在浏览器本地生成PKCS#8(私钥)与SPKI(公钥)PEM密钥。

RSA公私密钥对生成器

使用Web Crypto API在浏览器本地生成PKCS#8(私钥)与SPKI(公钥)PEM密钥。

工作原理

1
Set Criteria & Options
Select length, format, or generation parameters for your output.
2
Generate Instantly
Generate secure, random, or custom data entirely in your browser.
3
Copy or Export
Copy the generated output to your clipboard or download the file.
深度技术指南与知识库

RSA 密钥对生成器:2048/4096 位公钥私钥 PEM 证书生成

RSA 非对称加密密钥对生成工具为系统运维人员、安全审计师及后端接口开发者提供基于工业级标准的密钥生成服务。工具调用浏览器底层的 window.crypto.subtle 硬件密码学加速接口,可安全生成 2048 位或 4096 位的 RSA-OAEP / RSA-PSS 密钥对,并自动封装为符合 PKCS#8(私钥)与 SPKI(公钥)标准的规范 PEM 文本格式。

DevOps 工程师正在为新的微服务集群配置基于 SSH 与 API 签名的身份凭据。在控制面板中选择密钥长度:2048 位、算法体系:RSA-OAEP,点击生成密钥对。浏览器在 80 毫秒内完成大素数筛选与模幂运算,并在两个独立文本框中整洁呈现带有 -----BEGIN PUBLIC KEY----- 与 -----BEGIN PRIVATE KEY----- 标准页眉页脚的 Base64 编码证书,支持一键单独复制或直接下载为 .pem 格式文件。

所有大数生成、模反元素推算与素数判定完全在本地客户端的高安全性 CSPRNG 熵池中执行,绝不经过任何外部网络中转,从物理根源上避免了私钥外泄的灾难。

计算公式与底层原理推导

RSA 数学模型: 模数 n = p × q ; 欧拉函数 φ(n) = (p-1)(q-1) ; 公钥指数 e 满足 gcd(e, φ(n)) = 1 ; 私钥指数 d 满足 (e × d) ≡ 1 (mod φ(n))

利用 Web Crypto API 提取系统高熵真随机数生成两个隐秘大素数 p 和 q;运算生成标准公共指数 65537(0x10001),构建 DER 二进制结构后转码为标准换行的 PEM 文本。

最佳实践与工程实战指南

  • 生产级业务系统强制选择至少 2048 位的密钥长度:现代密码学已证实 1024 位的 RSA 存在被超算集群因数分解的实际威胁;常规业务应使用 2048 位,超高安全金融级业务建议使用 4096 位。
  • 私钥(Private Key)必须严格保密且严禁明文入库:公钥用于公开分发与加密数据,私钥用于解密与签名;私钥一旦暴露,整个非对称加密体系的信任根基将瞬间彻底瓦解。
  • 公共指数 e 统一保持推荐值 65537(0x10001):65537 是经过数学证明兼具运算性能与防范低指数攻击(Low Exponent Attack)的最佳平衡常数,切忌随意更改。
  • 在服务器持久保存时务必配置文件权限为 600:将生成的私钥部署到 Linux 服务器的 ~/.ssh/id_rsa 时,必须通过 chmod 600 限制访问权限,否则 SSH 客户端将拒绝加载。

常见问题解答 (FAQ)

为什么 4096 位的密钥生成时间比 2048 位明显更长?
因为 4096 位密钥需要在更大的数值空间中搜索并验证两个极大的随机素数,底层的拉宾-米勒(Miller-Rabin)素性测试与大数乘除法的数学计算量呈现超线性增长。
生成的 PEM 格式公钥可以直接用于 SSH 免密登录配置吗?
本工具生成的是跨平台通用的 SPKI / PKCS#8 标准 PEM 格式。若要在 OpenSSH 中使用,只需使用 Linux 原生的 ssh-keygen -i -m PKCS8 命令将其微调转换为 OpenSSH 单行公钥格式即可。
PKCS#1 与 PKCS#8 格式有什么区别?
PKCS#1 是仅针对 RSA 专用的早期历史格式(头标为 BEGIN RSA PRIVATE KEY);PKCS#8 是现代统一的标准语法规范(头标为 BEGIN PRIVATE KEY),具备更好的跨算法兼容性与扩展性。
在网页里点击生成私钥,真的不会被你们的后台悄悄记录吗?
绝对零记录。所有计算完全依托您本地电脑的 CPU 通过 W3C 标准 Web Crypto API 原生完成,不发出一字节网络请求,您可以随时按 F12 打开网络面板监督断网运行。