信息安全课程设计:eddsa 算法
一、项目要求
- 使用 C++ 语言开发;
- 可以实现公私钥生成、签名、认证;
- 只需要手动输入明文,代码会自动生成公私钥、签名、认证;
- 记录公私钥生成、签名、认证的时间;
- 在 VS 上运行,使用 miracl 库。
二、算法原理参考
- 一文读懂ECDSA算法如何保护数据
- Edwards-Curve Digital Signature Algorithm (EdDSA)
- WHAT’S AN EDDSA?
- ECDSA、EdDSA 和 Ed25519 的区别
- EdDSA and Ed25519
三、效果展示
四、使用方法
注:该算法使用了 MIRACL 的核心库(MIRACL-core)
1. 简单使用版
- 解压文件夹
- 运行 testecc.exe 即可
2. vs 配置方法
-
以 VS 2019 为例,首先创建一个新项目,放在你能找到的位置:
-
把解压的文件全都复制进去:
-
添加源文件:
-
添加头文件:
-
由于 MIRACL 核心库 core.a 不能直接使用,因此需要配置外部工具:
其中内容为:g++
D:\Software\mingw64\bin\g++.exe
(注:找到你自己电脑下的该文件目录才行,如果找不到自行百度安装 mingw64)-o2 $(ItemFileName).cpp core.a -o $(ItemFileName)
$(SolutionDir)
配置成功后会在工具栏出现 g++ 工具:
-
打开 testecc.cpp 文件,运行 g++:
-
如果输出为空,且 testecc.cpp 文件的时间发生变化则表示编译成功:
-
由于VS不能直接打开文件,因此需在文件夹内打开 testecc.exe 文件查看:
-
如果需要修改源文件,请先保存文件后再用 g++ 工具编译,即每次修改代码后都需要:
- 保存文件
- g++ 工具编译
- 运行文件夹中的 testecc.exe