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

阅读全文 »

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

阅读全文 »

密文填充攻击 (Padding Oracle Attack) 可能是现代密码学史上的最有名也最成功的攻击方法。攻击者利用密文的填充验证反馈信息,实现密文破解。这里简单回顾密文填充攻击的发展历史,然后深入剖析AES-CBC工作模式下的攻击原理,最后给出了Python的编程实现示例。

阅读全文 »

一个偶然的机会,接触到一道picoCTF的RSA挑战题Sum-O-Primes。这道题不难,了解RSA的基本算法就能做出来。另外,如果熟悉RSA算法演变的历史,还能找到第二种巧妙的快速解法。

阅读全文 »

2021年3月,互联网工程任务组(IETF)发布分类为当前最佳实践的RFC 8996,正式宣布弃用TLS 1.0和 TLS 1.1协议。如果你的应用程序和网站服务还在使用这些协议,请马上停止并立即更新到TLS 1.2或TLS 1.3协议版本,以消除可能存在的安全隐患。

阅读全文 »

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

阅读全文 »