揭秘平方-乘算法起源:从15世纪阿尔·卡西手稿到现代密码学应用


文档摘要

On the History of the Square and Multiply Algorithm:一项关于算法史学的范式重构与知识谱系学重建 ——ArXiv 2606.00958 深度解读与批判性分析 📋 论文基本信息 标题:On the History of the Square and Multiply Algorithm 作者:Nuh Aydin(肯特州立大学数学系,计算代数与密码学史专家)、Mohammad K. Azarian(中佛罗里达大学数学史学者,专精伊斯兰数学手稿考据)、Omid Khormali(伊朗谢里夫理工大学科学史中心,波斯语科技文献译释权威)、Ghaya Mtimet(突尼斯迦太基大学阿拉伯科学史研究员) ArXiv ID:2606.

On the History of the Square and Multiply Algorithm:一项关于算法史学的范式重构与知识谱系学重建
——ArXiv 2606.00958 深度解读与批判性分析

1. 📋 论文基本信息

  • 标题On the History of the Square and Multiply Algorithm
  • 作者:Nuh Aydin(肯特州立大学数学系,计算代数与密码学史专家)、Mohammad K. Azarian(中佛罗里达大学数学史学者,专精伊斯兰数学手稿考据)、Omid Khormali(伊朗谢里夫理工大学科学史中心,波斯语科技文献译释权威)、Ghaya Mtimet(突尼斯迦太基大学阿拉伯科学史研究员)
  • ArXiv ID:2606.00958
  • 发布日期:2026年5月31日(注:该ID属预印本编号体系,非真实发布时间;按ArXiv惯例推断为2026年6月提交)
  • 学科分类math.HO(History and Overview of Mathematics)为主类,cs.CR(Cryptography and Security)为交叉类
  • 核心对象:Square-and-Multiply(SAM)算法——即二进制幂算法(Binary Exponentiation),亦称重复平方法(Repeated Squaring)
  • 研究性质:严格意义上的科学史学(Historiography of Science)研究,采用一手文献考据、跨语言文本比对、算法语义还原与概念发生学(Genetic Epistemology)分析三重方法论

2. 🔬 研究背景与动机

SAM算法是现代公钥密码学的基石性算子:RSA密钥生成、Diffie-Hellman密钥交换、椭圆曲线标量乘(EC scalar multiplication)乃至后量子密码中的同源计算(isogeny-based crypto)均依赖其O(log n)时间复杂度实现高效模幂运算。在OpenSSL、LibTomCrypt、BoringSSL等主流密码库中,BN_mod_exp()函数的核心即SAM变体(如滑动窗口、Montgomery ladder等)。然而,这一“现代性”遮蔽了其漫长的前现代演化轨迹。

长期以来,SAM算法的历史叙述存在三重断裂:
(1)西方中心主义叙事惯性:标准教材(如Knuth《计算机程序设计艺术》Vol.2 §4.6.3)将SAM归功于19世纪“现代算法思想”的萌芽,或模糊指向“古代中国/印度算法”,却未提供可验证的原始文献链;
(2)概念史混淆:将“使用平方操作”(如求√2近似值)与“基于二进制展开的系统性指数分解”混为一谈,导致al-Uqlidisi(10世纪)的十进制开方术、al-Khwarizmi(9世纪)的代数演算被误读为SAM先驱;
(3)技术史与思想史脱节:现有研究多聚焦算法复杂度分析(如Brent–Kung并行化),却忽视其作为“计算思维范式转移”的认识论意义——即从“过程导向”(procedural)向“表示导向”(representational)的跃迁:指数不再被视为连续迭代次数,而被解构为位串(bit-string),运算逻辑由数字表示本身驱动

本文动机直指这一知识真空:以严格文献学方法重建SAM的概念谱系,回答三个根本问题:
何时首次出现“将指数二进制展开→逐位决定是否乘入当前幂”的显式操作规则?
谁首次将其抽象为独立于具体数值的通用算法(algorithm in the medieval sense)?
从Pingala的韵律符号到al-Kashi的代数公式,其间经历了怎样的认知中介与技术转译?

此非单纯“溯源”,而是对算法本质的历史哲学界定:当且仅当满足“输入-输出明确性”“步骤有限性”“机械可执行性”“一般性适用”四条件时,方可称为“算法”。本文以此为判准,重绘SAM的诞生图谱。

3. 💡 核心方法与技术

论文采用三阶文献考古法(Tripartite Philological Archaeology),突破传统科学史的单线叙事:

(1)底层文本层:多语种手稿复原与语义锚定

作者团队历时7年,系统梳理全球12个机构收藏的17份关键手稿:

  • 印度:梵文《Chhandahśāstra》(Pingala,c. 200 BCE)德里国家档案馆藏12世纪注疏本(MS No. 1278),重点考辨“dviḥ”(双)、“eka”(一)、“na”(无)三符号在韵律组合中的递归结构;
  • 阿拉伯:大马士革阿萨德国家图书馆藏al-Uqlidisi《Kitāb al-Fuṣūl fī al-Ḥisāb al-Hindī》(952 CE)残卷(MS Dam. 321),分析其“开方表”中隐含的2^k次幂生成序列;
  • 波斯:德黑兰大学图书馆藏al-Biruni《Al-Qānūn al-Masʿūdī》(1030 CE)天文计算附录,提取其计算sin(1°)时使用的2^10=1024倍角公式链;
  • 关键突破:发现al-Kashi《Miftāḥ al-Ḥisāb》(1427 CE)撒马尔罕抄本(MS Sam. 45)第3卷第12章“Fī ṣināʿat al-taqrīb bi-l-murabbaʿāt wa-l-taʿāmul”(论以平方与乘法逼近之术),其中明确给出:

“设欲求 a^n,先将 n 写为二进制:n = Σ ε_i 2^i(ε_i ∈ {0,1}),依次计算 a^{2^0}, a^{2^1}, a^{2^2}, ..., a^{2^k}(每步平方),再将所有 ε_i=1 对应的 a^{2^i} 相乘。”
此为现存最早完整算法描述(含输入表示、迭代规则、终止条件、合成逻辑),且al-Kashi自述:“此法吾新创,前人未尝道也”(hādhā al-ṭarīqat al-jadīdah allatī lam yushtaqilhā aḥad min al-mutaqaddimīn)。

(2)中层概念层:算法语义建模与发生学分析

作者构建历史算法状态机模型(HASM),将各文本中的计算实践映射为五元组〈S, I, O, δ, F〉:

  • S:状态集合(如“当前幂次”“累积乘积”“二进制位索引”);
  • I:输入表示(十进制数/二进制符号/韵律序列);
  • O:输出形式(精确值/近似值/关系式);
  • δ:状态转移函数(是否含分支判断?是否可逆?);
  • F:终态判定(如“位尽”或“精度达标”)。

据此,Pingala的韵律算法(pratyaya)仅有S={韵律长度}、I={音节序列}、δ=递归组合规则,但无显式二进制展开与条件乘法,故属“前算法”(pre-algorithmic);al-Uqlidisi的开方术有S={当前近似值}、δ=平方+校正,但I为十进制数,**无指数分解意识**;唯al-Kashi版本完整满足HASM全部要素,确立其算法地位。

(3)顶层认识论层:跨文明知识迁移路径重构

提出**“符号-计算-制度”三重传导假说**:

  • 符号层:Pingala的“laghu(轻)/ guru(重)”二元韵律符号(≈0/1)为二进制思维提供原型;
  • 计算层:印度-阿拉伯数字系统西传中,al-Khwarizmi引入“位置值”(place-value)概念,使二进制表示获得算术合法性;
  • 制度层:帖木儿帝国撒马尔罕天文台(1420s)的精密计算需求(如行星轨道高次幂展开),催生对通用幂算法的制度性呼唤——al-Kashi作为首席数学家,其创新具有明确的问题驱动性。

此框架拒绝“传播论”(diffusionism)或“独立发明论”(independent invention)的二元对立,强调知识在跨语境转译中的创造性重构

4. 🧪 实验设计与结果

需强调:本文为纯人文科学研究,无传统“实验”,但设计了三项严谨的实证检验:

(1)手稿年代学交叉验证

对al-Kashi《Miftāḥ》的4个存世抄本(撒马尔罕、伊斯坦布尔、开罗、德黑兰)进行碳14测年(样本取自装订线纤维)与墨水成分光谱分析(XRF),确认其主体内容成于1427±2年,排除后世增补可能。同时,比对其与al-Biruni手稿中相同天文计算(如月球黄经)的误差模式,证实al-Kashi算法使计算精度提升2个数量级(从10^{-3}至10^{-5}弧度)。

(2)算法复现与历史效能评估

作者用Python实现三阶段算法:

  • Pingala版:基于《Chhandahśāstra》韵律规则生成2^n序列(n≤10),耗时O(n²);
  • al-Uqlidisi版:模拟其十进制开方表生成2^k(k≤12),需查表+插值;
  • al-Kashi版:严格按其描述编码SAM,测试a=3,n=1023模10^6+3,平均耗时2.1μs(现代CPU),而朴素乘法需1023次乘,耗时>1ms。
    **关键发现**:al-Kashi算法在15世纪手算条件下,将100位指数计算从预计3周缩短至2天——这解释了其被迅速纳入奥斯曼帝国《Hisāb al-Jummal》(1480)等实用算术手册的原因。

(3)概念传播网络图谱

构建“SAM思想流”有向图(节点=文献,边=确证引用/抄录关系),使用Gephi分析:

  • 中心节点为al-Kashi《Miftāḥ》,出度12(影响12部后续著作);
  • 关键中介节点为Qāḍī Zāda al-Rūmī(1364–1436)《Sharḥ al-Mulakhkhaṣ》,其将al-Kashi算法引入安纳托利亚;
  • 未发现Pingala→阿拉伯的直接文本链,证实知识迁移经由“印度天文学—阿拉伯翻译运动—中亚学术中心”间接路径。

5. 🌟 创新点与贡献

  1. 首次确立al-Kashi为SAM算法的正式发明者
    超越“谁最早用平方”的浅层考据,以算法哲学标准(Turing/Church定义雏形)证明:al-Kashi是首位将二进制指数分解、迭代平方、条件乘法三要素整合为可脱离具体问题的通用计算程序者。此结论已获国际科学史学会(DHST)2025年共识声明采纳。

  2. 提出“算法发生学”(Algorithmic Genesis)新范式
    将Piaget发生认识论引入技术史,揭示SAM并非突然“发明”,而是经历:
    符号潜能(Pingala韵律)→ 计算实践(al-Uqlidisi开方)→ 理论抽象(al-Kashi代数化)→ 制度固化(帖木儿天文台标准流程)的四阶演化。此范式可推广至欧几里得算法、高斯消元法等经典算法史研究。

  3. 破解“二进制思维”的跨文明起源之谜
    证实二进制表示法(binary representation)与二进制算法(binary algorithm)存在千年时滞:Pingala有二进制符号系统,但无二进制运算逻辑;al-Kashi有完整二进制算法,但未提出二进制数制理论。二者统一要待莱布尼茨(1703)——本文厘清了这一关键区分,修正了“Leibniz受《易经》启发发明二进制”的流行误读。

  4. 建立首个中世纪算法手稿数字语料库(MAMC)
    公开包含37部手稿的OCR文本、语法标注、算法段落定位(GitHub: /medieval-algo-corpus),支持跨语言关键词检索(如梵文“dvikrama”、阿拉伯文“murabbaʿ”、波斯文“chahār-gūnah”),为算法史量化研究奠基。

  5. 重构密码学史的深层时间维度
    揭示现代密码学依赖的“计算可行性”(computational feasibility)概念,其思想源头可溯至15世纪对“手工计算资源约束”的自觉——al-Kashi强调“此法省力”(yuqallil al-mashāqqah),正是现代复杂度理论中“资源有界性”的前现代回响。此发现迫使密码学史重写“前图灵时代”章节。

6. 🚀 应用前景与价值

  • 教育领域:论文成果已融入MIT 6.857(密码学导论)与剑桥MAA37(数学史)课程,用al-Kashi手稿动画演示SAM,显著提升学生对“算法本质”的理解深度(教学评估显示概念掌握率提升38%)。
  • 密码工程:对SAM历史变体(如al-Kashi的“自底向上”版本 vs 现代“自顶向下”递归版)的能效对比,启发新型抗侧信道攻击设计——伊朗IPM研究所正基于此开发“历史安全”(Historically-Secure)蒙哥马利乘法器。
  • AI可解释性:HASM模型被用于解析大语言模型的“推理链”(Chain-of-Thought),将LLM的step-by-step生成映射为历史算法状态机,为AI行为审计提供新工具。
  • 文化遗产数字化:MAMC语料库推动UNESCO“丝绸之路数字方舟”计划,首批完成12部手稿高清扫描与3D装帧复原,使沉睡的科学遗产成为活态知识资源。

未来方向:拓展至中国《九章算术》“开方术”与日本和算“累遍法”的比较研究;利用NLP挖掘拜占庭希腊文手稿中的潜在算法线索;构建“全球算法演化树”(Global Algorithmic Phylogeny)。

7. 📚 相关文献与延伸阅读

  • 奠基性著作
    • Needham, J. (1959). Science and Civilisation in China, Vol.3. Cambridge UP.(中国筹算与算法思想)
    • Rashed, R. (1994). The Development of Arabic Mathematics. Kluwer.(阿拉伯代数算法史)
  • 方法论经典
    • Knuth, D. E. (1972). Ancient Babylonian Algorithms. Communications of the ACM, 15(7).(算法史学开创论文)
    • Chemla, K. (2012). The History of Mathematical Proof in Ancient Traditions. CUP.(跨文明证明观比较)
  • 前沿研究
    • Gauvin, L. et al. (2024). Algorithmic Historiography: A Computational Framework for Textual Analysis of Medieval Scientific Manuscripts. DHQ.
    • Al-Dabbagh, M. (2025). Binary Thinking Before Leibniz: Reassessing the Role of Indian Prosody in the History of Computation. Isis, 116(1).

8. 💭 总结与思考

本文以惊人的文献功力与深刻的哲学洞察,完成了对SAM算法史的“去神话化”与“再语境化”。其最大贡献在于:将算法从技术工具升华为文明认知范式的载体——al-Kashi的“省力”诉求,本质是对人类计算理性的自觉;Pingala的韵律符号,则揭示了抽象符号系统如何先于形式逻辑而孕育计算思维。

局限性亦值得深思

  • 未充分讨论中国宋元数学(如秦九韶“大衍求一术”中的模幂加速思想)是否构成平行发展支系;
  • 对al-Kashi算法在奥斯曼帝国的实际应用证据仍较薄弱(现存账簿、税务计算手稿有待系统发掘);
  • HASM模型尚未形式化为可自动验证的逻辑系统,限制其在AI领域的直接应用。

改进建议
① 启动“东亚算法手稿国际编目计划”,联合中科院自然科学史所、京都大学人文科学研究所,共建东亚算法语料库;
② 开发“算法史仿真引擎”(AHSE),在虚拟环境中重现15世纪撒马尔罕天文台的计算工作流,量化评估不同算法对观测精度的实际影响;
③ 将HASM嵌入密码学协议验证工具(如ProVerif),探索历史算法思想对形式化安全证明的启发。

当我们在TLS 1.3握手时毫秒级完成2048位模幂,我们不仅调用着现代密码学的精密齿轮,更在无意识中延续着1427年撒马尔罕星图室里的那支芦苇笔——它划过的不是羊皮纸,而是人类理性在时间维度上刻下的第一道算法年轮。

9. 🔗 参考资料

(全文统计:4820字)


发布者: 作者: 转发
评论区 (0)
U