界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

implementing-rsa-key-pair-management

implementing-rsa-key-pair-management

【效率与协作】RSA(Rivest-Shamir-Adleman)是应用最广泛的非对称密码算法,用于数字签名、密钥交换和加密。本技能涵盖遵循 NIST SP 800-57 密钥管理指南生成、存储、轮换和管理 RSA 密钥对,包括密钥序列化格式(PEM、DER、PKCS#8)、密码保护和密钥强度验证。

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: implementing-rsa-key-pair-management description: RSA(Rivest-Shamir-Adleman)是应用最广泛的非对称密码算法,用于数字签名、密钥交换和加密。本技能涵盖遵循 NIST SP 800-57 密钥管理指南生成、存储、轮换和管理 RSA 密钥对,包括密钥序列化格式(PEM、DER、PKCS#8)、密码保护和密钥强度验证。 domain: cybersecurity subdomain: cryptography tags: [cryptography, rsa, key-management, pki, asymmetric-encryption] version: "1.0" author: mahipal license: Apache-2.0

实现 RSA 密钥对管理

概述

RSA(Rivest-Shamir-Adleman)是应用最广泛的非对称(asymmetric)密码算法,用于数字签名、密钥交换和加密。本技能涵盖遵循 NIST SP 800-57 密钥管理指南生成、存储、轮换和管理 RSA 密钥对,包括密钥序列化格式(PEM、DER、PKCS#8)、密码保护和密钥强度验证。

目标

  • 生成适当密钥大小(2048、3072、4096 位)的 RSA 密钥对
  • 使用 PKCS#8 以 PEM 和 DER 格式序列化密钥
  • 使用强密码加密保护私钥
  • 实现带版本控制的密钥轮换
  • 提取公钥组件和指纹
  • 验证密钥强度并检测弱密钥
  • 使用 RSA-PSS 签名和验证数据

核心概念

RSA 密钥大小与安全强度

密钥大小(位)安全强度(位)推荐使用至
20481122030 年
30721282030 年以后
4096~1402030 年以后

RSA 填充方案

方案使用场景标准
OAEP加密PKCS#1 v2.2(RFC 8017)
PSS签名PKCS#1 v2.2(RFC 8017)
PKCS#1 v1.5仅遗留系统新系统已弃用

密钥存储格式

  • PEM:带头部的 Base64 编码,人类可读
  • DER:二进制 ASN.1 编码,紧凑
  • PKCS#8:私钥封装标准
  • PKCS#12/PFX:密钥 + 证书捆绑,密码保护

安全注意事项

  • 新部署最少使用 3072 位密钥(NIST 推荐)
  • 始终使用 AES-256-CBC 密码加密保护私钥
  • 使用 RSA-PSS 签名(不要使用 PKCS#1 v1.5)
  • 使用 RSA-OAEP 加密(不要使用 PKCS#1 v1.5)
  • 以限制性文件权限(0600)存储私钥
  • 至少每年实施一次密钥轮换

验证标准

  • 密钥生成产生有效的 RSA 密钥对
  • 可以从私钥中提取公钥
  • 私钥受密码保护
  • RSA-PSS 签名验证成功
  • 篡改后的签名验证失败
  • 密钥指纹计算正确
  • 密钥轮换保留对旧密钥的访问以供验证
我的收藏