项目简介
本项目专注于在Arduino平台实现ECDSA(椭圆曲线数字签名算法),以RELIC库为基础进行开发,并对其做了适配Arduino平台的必要修改,使开发者能在Arduino上便捷地运用ECDSA开展数字签名与验证工作。
项目的主要特性和功能
- 拥有ECDSA核心功能函数,可实现密钥对生成、签名以及签名验证操作。
- 实现多种数学运算,如大数运算、椭圆曲线运算等,为ECDSA算法提供底层支持。
- 支持在Arduino平台进行编程与调试,方便开发者开展项目开发。
- 提供使用Eclipse编译和上传Arduino程序的指南,简化开发流程。
- 提供编译库所需的CMake配置,可根据不同需求灵活定制。
安装使用步骤
前提条件
用户已下载本项目的源码文件,且已安装Arduino IDE、Eclipse IDE以及用于编译C/C++项目的CMake。
具体步骤
- 配置CMake:根据提供的CMakeLists.txt文件,结合自身系统情况修改其中的路径,以适配Arduino平台。
- 引入库到项目:将编译好的库文件导入自己的Eclipse项目,按照http://playground.arduino.cc/Code/Eclipse 中“Setup your project”部分介绍的方法配置链接器以使用静态库。同时,需将相关头文件导入项目。
- 修改代码:若项目为C++程序,使用
extern "C"
包含#include < relic.h >
;若使用汇编指令(-DARITH=avr-asm-163
),需将/relic-0.3.1/src/low/avr-asm-163
下所有.s
文件中的.arch atmega128
改为.arch atmega2560
;若使用汇编数学库,需按伪代码修改调试信息输出方式。 - 使用库函数:参考
relic_cp_ecdsa.c
和test_cp.c
文件中的示例,调用cp_ecdsa_gen
、cp_ecdsa_sign
和cp_ecdsa_ver
函数实现ECDSA相关功能。
注意事项
- 本项目主要面向Linux用户,其他系统使用时可能需要额外配置。
- 需具备一定的Arduino编程和ECDSA知识。
- 引用项目成果时,请适当引用并感谢原库作者。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】