如何构建一个国际象棋引擎并失败

2024-11-19

本文作者分享了构建国际象棋引擎的经历和教训。作者尝试通过模仿Stockfish引擎的NNUE网络,创建一个简化的评估函数,用遗传算法训练模型。但由于模型过于简化,缺乏上下文信息,导致评估结果不佳。作者最终认识到,Stockfish的NNUE网络通过考虑每个棋子相对于国王位置的关系,提供了必要的上下文信息,而简化模型无法做到这一点。作者还介绍了调试引擎、置换表、静态搜索和搜索扩展等技术,并讨论了时间管理和提前退出的问题。

阅读更多

逆向工程我的文凭验证二维码

2024-07-04

本文讲述了作者如何逆向工程分析自己文凭上的二维码验证系统。作者发现该系统使用RSA加密算法,并详细分析了其加密和解密过程,但由于系统采用了一些不安全的做法,例如使用PKCS#1 v1.5填充,作者尝试利用Bleichenbacher填充攻击来伪造文凭,但最终失败。

阅读更多
未分类 RSA加密