最简单的递归算法c语言举例,递归算法经典实例c语言
liboqs是用于量子安全加密算法的开源c库。
第一部分是liboqs提供的内容概述。
量子安全密钥封装机制(KEM)和数字签名算法的开源实现集合
这些算法的通用应用程序接口测试工具和基准程序100 .QS荔波是由道格拉斯斯特比拉和wjdkh Mosca领导的
开放量子安全(OQS)
项目的一部分,旨在开发量子安全密码学并将其集成到应用应用程序中,以促进在现实环境中的部署和测试。特别是,OQS通过心脏出血和OpenSSH将liboqs原型集成到坦克激光瞄准镜(坦克激光瞄准器的缩写)和嘘中。有关奥地利的详细信息,请参见
https://openquantumsafe.org/
openquantumsafe.org/papers/sac-s特莫斯3359号
openquantumsafe.org/papers/nistpqc-cropaqste19.pdf街3359号
二是当前状态2.1支持的算法
密钥封装机制
自行车:BIKE1-L1、BIKE1-L3、BIKE1-L5、BIKE2-L1、BIKE2-L3、BIKE2-L5、BIKE3-L1、BIKE3-L3、bike3- l5 () FrodoKEM-640-SHAKE、FrodoKEM-976-AES、Frodo kem Frodo kem-1344-SHAKE kyber:ky ber 512、Kyber768、ky ber 1024新霍普-1024-加拿大真33666
二锂:二锂2、二锂3、二锂4MQ DSS : MQ DSS-31-48、MQ DSS-31-64野餐3360野餐-L1-fs,皮肯尼姆野餐2-L1-FS,野餐2-L3-FS,野餐2- l5-fsq特斯拉3360 QS QE SLA-iii-speed (NIST回合一版本)SPH incs-哈拉基德SPH incs-哈拉卡-SPH SPH公司128楼-哈拉卡-128秒-简单,斯芬克斯-哈拉卡-192华氏度-健壮,SPH incs-哈拉卡-192华氏度-辛奇SPH incs-哈拉卡-1992年SPH incs-哈拉卡-256华氏度-健壮,斯芬克斯-哈拉卡-256华氏度-简单,斯芬克斯-哈拉卡-256s-健壮SPH incs-哈拉卡-256s-简单斯芬克斯
phin cs-shake 256-128 f-健壮,斯芬克斯-shake 256-128 f-简单,狮身人面像-shake 256-128s-健壮,斯芬克斯-shake 256-192 f-健壮,斯芬克斯-shake 256-192 f-简单,斯芬克斯-shake 256-192s-健壮,斯芬克斯-shake 256-192s-简单,斯芬克斯-shake 256-192s-简单局限性与安全性随着研究的进展,受支持的算法可能会看到其安全性的快速变化,甚至可能证明对经典计算机和量子计算机都不安全。
liboqs并不打算"选拔优胜者":算法支持由美国国家标准技术研究所(美国国家标准与技术研究所)后量子密码术标准化项目提供。我们强烈建议应用程序和协议在部署后量子加密时依赖于其努力的结果。
我们认识到一些参与者可能希望在美国国家标准技术研究所(美国国家标准与技术研究所)标准化项目结束之前部署量子安全密码学。我们强烈建议您尝试使用所谓的混合密码术,其中将量子安全的公共密钥算法与传统的公共密钥算法(例如南非共和国(南非共和国)或椭圆曲线)一起使用,以使该解决方案的安全性至少比现有的传统安全性低加密。
三,快速开始3.1Linux/MacOS 1,安装依赖项:
在人的本质上:
sudo apt安装autoconf automake libtool gcc libssl-dev python 3-pytest unzip xsltproc doxygen graphviz在苹果上,使用您选择的软件包管理器(我们选择了自制):
啤酒安装autoconf automake libtool OpenSSL wget doxygen graphvizpip 3安装pytest 2,获取来源:
饭桶克隆-乙主https://github.com/open-quantum-safe/liboqs.git光盘库并建立:
autore conf-I ./configure make clean make-j可以传递各种选项来配置以禁用算法,使用不同的实现,指定要使用的心脏出血库或交叉编译。有关/configure - help详细信息,请参见。
(如果在苹果上遇到类似的错误无法执行“libtoolize”:在没有这样的文件或目录.请尝试使用运行LIBTOOLIZE=glibtoolize autore conf-I。)
3.主要结果是liboqs.a,一个静态库。(您可以将它放在。libs目录。)各种程序测试也构建在该目录下:
Test_kem:密钥封装机制的简单测试工具test_sig:密钥签名方案的简单测试工具kat_kem:通过使用与NIST提交要求相同的过程为密钥封装机制生成已知答案测试(kat)值的程序,通过使用以下方法检查提交的kat值的Tests/test_kat.pykat_sig:通过使用与NIST提交要求相同的过程为签名方案生成已知答案测试(kat)值的程序,以及通过使用以下方法检查提交的KAT值的tests/test_kat.pyspeed_kem看吧。//speed_kem - help用户指令speed_sig:签名机制的基准测试程序;请参考。//speed_sig - help指令example_kem:最小的可运行示例,展示了KEM API的用法。example_sig:最小的可运行示例显示了signature API的用法。test_aes,test_sha3:加密子组件的简单测试工具的测试(包括所有A-range test_*和kat_*以上程序)可以运行Python 3。
创建文档,然后在Web浏览器中打开docs/doxygen/html/index.html。
3.2Windows可以使用VisualStudio文件夹中的Visual Studio解决方案来生成二进制文件。项目的winconfig.h文件中定义了支持的方案。
3.3关于在OpenBSD和ARM上构建的其他说明可以在Wiki中找到。
3.4License liboqs根据MIT许可证授权;详见LICENSE.txt。
Liboqs包含一些第三方库或模块,有不同的许可证;在这种情况下,的相应子文件夹包含适用的许可证。尤其是:
src/crypto/aes/aes_c.c:公共域src/crypto/sha2/sha2_c.c:公共域src/crypto/sha3/fips202.c: CC0(公共域)src/crypto/sha3/keccak4x: CC0(公共域),except brg _ endian . hsrc/kem/bike/x86 _ 64:Apache License v 2.0 src/kem/ky ber/pq clean _ *:公共域src/kem/newhope
转载于:https://www.cnblogs.com/xdyixia/p/11577363.html