littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于C语言的有限域大数运算库

项目简介

本项目是一个专注于处理有限域上高效大数运算的库,主要服务于SIDH(基于超奇异椭圆曲线同态性的密钥交换协议)的实现。适用于嵌入式系统或高性能计算环境,在密码学领域的椭圆曲线加密和同态加密等场景发挥重要作用。该项目源于Hwajeong Seo的学术研究成果,发表于《IACR Transactions on Cryptographic Hardware and Embedded Systems》。项目旨在提高有限域上大数运算效率,特别是蒙哥马利表示法下的乘法、平方和求逆运算。库在ARM架构上进行了优化,提供汇编语言和C语言实现版本,包含处理一般有限域大数运算和特定算法及有限域(GF(p^2))运算的文件,还配备一系列辅助函数用于处理基本算术和多精度算术运算。

项目的主要特性和功能

  1. 具备处理有限域大数运算的函数,涵盖加法、减法、乘法、平方和求逆等,运用蒙哥马利表示法提升计算效率。
  2. 支持有限域GF(p^2)上的大数运算,对超奇异椭圆曲线上的同态密钥交换协议(如SIDH)意义重大。
  3. 提供平台特定的优化实现,支持Windows和Linux等操作系统,借助汇编语言增强性能。可通过GENERIC_IMPLEMENTATION标志选择通用或特定平台优化实现,通用实现不依赖特定平台。

安装使用步骤

假设已下载本项目的源码文件: 1. 若需要特定平台的优化实现,依据操作系统(Windows或Linux)进行相应配置,例如设置平台特定的编译选项。 2. 根据实际需求,利用GENERIC_IMPLEMENTATION标志选择通用实现或特定平台优化实现。 3. 编译项目源码,保证所有依赖项都已正确安装。 4. 在代码中引入该库,调用提供的API接口进行有限域大数运算。实际开发中若涉及与其他系统集成,可能需要进行额外配置和调整以满足特定需求。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】