网络附接存储(NAS)通过计算机网络提供对异构网络用户的文件级数据访问。随着硬盘价格的持续下降,NAS设备已经走入大众家庭。领先中小企业及家用NAS市场的品牌产商如群晖科技(Synology),其产品价格从低端$300到高端$700不等。但如果你是树莓派玩家,只需要最低价一半左右的成本,就可以搭建很不错的家用NAS及流媒体播放服务。

阅读全文 »

RSA加密算法是现代公钥密码学的核心技术之一,在互联网中应用广泛。作为公钥密码学的经典算法,教科书RSA的编程实现可以帮助我们迅速掌握其数学机理和设计思想,并积累重要的密码技术软件实现经验。这里详述Python3.8编程环境下教科书RSA的实现示例。

阅读全文 »

IPv6支持多个地址,地址分配更加灵活方便。与 IPv4 仅仅依赖 DHCP 协议的地址分配方法不同,IPv6 加入了原生的无状态地址自动配置 (Sateless Address Autoconfiguration,简写 SLAAC) 协议。SLAAC 既可以单独工作为主机提供 IPv6 地址,又能与 DHCPv6 协同运作产生新的分配方案。这里对 IPv6 动态地址分配机制做一个全面分析。

阅读全文 »

这是RSA攻防战的第二篇。本文首先补充说明特定情况下的两种大数分解方法,介绍它们的算法精要和适用场景,并给出Python参考实现。接下来深入解析典型的低私钥指数攻击算法——维纳攻击,详细讲解其数学基础、攻击原理及流程,也提供了完整的Python程序。文中还引用了近年最新研究的维纳攻击成立时私钥指数新上限,还使用测试用例验证了这一上限的正确性。

阅读全文 »

TLS(传输层安全)是一种用于保护网络通信的加密协议,TLS 1.3 是 TLS 协议的最新版本。TLS 1.3 的引入旨在提供比以前版本更强大的安全性、隐私保护和性能。这里对比其所取代的 1.2 版本,对 TLS 1.3 做一个简单的介绍。并且,针对基于 OpenSSL 的网络应用,给出了使用和实现 TLS 1.3 的示例。

阅读全文 »

正如“算法分析之父”高德纳所言:尽管二分查找的基本思想相对简单,但细节可能出乎意料地棘手。在实际面试中,有非常多的程序员无法写出正确无误的二分查找程序。

阅读全文 »