IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:公钥加密

共 3 篇相关文章

IT 累计浏览 2,672

RSA 算法是如何诞生的

这篇讲的是RSA算法背后那段堪比励志小说的诞生史。作者从三个性格迥异的发明者说起:痴迷新技术的Rivest、学啥都快的Shamir,以及起初只想当“泼冷水”评委的Adleman。 故事的核心冲突在于,他们为Diffie提出的公钥密码概念寻找可行的单向函数。从1976年底开始,Rivest和Shamir构想,Adleman负责破解,这个循环竟重复了42次。每一次方案被Adleman击破,都是一次挫折,但也排除了一条错误路径。 直到1977年逾越节派对后,Rivest在深夜获得关键灵感,一气呵成完成了最终方案,这次Adleman终于无法破解。更有趣的细节是,论文署名按字母顺序排列,若非Adleman的坚持,这个后来改变互联网安全的技术或许就叫“ARS”了。 文章还揭示了历史的另一个面貌:早在1973年,英国数学家Clifford Cocks在半小时内就得出了几乎相同的算法,却因政府保密协议,其成果被尘封了二十多年。这让RSA的荣耀与一段无名英雄的遗憾交织在一起,也让算法的诞生故事更显厚重。

IT 累计浏览 3,597

SSH免密码认证进阶使用

这篇文章深入探讨了SSH免密码认证的进阶技巧,超越了基本的密钥生成与配置。作者从实际运维中遇到的多服务器、多密钥管理痛点出发,详细演示了如何利用ssh-agent高效管理不同服务器的私钥,并通过Agent Forwarding安全地跳转跳板机,避免将密钥暴露到中间节点。 文中特别对比了不同加密算法(如Ed25519与RSA)在安全性与性能上的差异,建议了具体的选型策略。对于需要频繁切换身份的场景,文章讲解了基于Host指令为不同服务配置独立密钥对的实用方法。最后,作者结合一个自动化部署脚本的实例,展示了如何将这些进阶配置融入CI/CD流程,显著提升了运维工作的安全与效率。

IT 累计浏览 5,955

RSA 公钥格式转换之PHP实现

这篇讲的是.NET与OpenSSL在RSA公钥格式上的“语言不通”问题。在.NET环境中,RSA公钥常以``和``这样的XML格式呈现,而OpenSSL进行加解密操作时,使用的是标准的PEM编码格式。文章的核心内容,就是提供了一套纯PHP的解决方案,将前者转换为后者。 作者的实现思路非常清晰:手动构造符合ASN.1标准的二进制数据结构,再将其Base64编码并包裹为PEM格式。具体代码中定义了关键的ASN.1类型常量(如INTEGER、SEQUENCE),并提供了两个核心静态方法:`getPublicKeyFromModExp`用于将模数和指数组合转换,`getPublicKeyFromX509`则处理完整的证书字符串。 整个实现的巧妙之处在于,它不依赖外部命令行工具,完全在PHP层面完成了底层的格式拼接与编码工作,这对于需要在PHP环境中对接.NET系统生成的密钥的场景非常实用。文章通过具体的代码片段和格式示例,清晰地展示了转换前后的差异与实现逻辑。