首页
/ SIDH v3.5.1:高效的后量子密码学库

SIDH v3.5.1:高效的后量子密码学库

2024-09-19 15:27:23作者:秋阔奎Evelyn

项目介绍

SIDH v3.5.1 是一个用C语言编写的高效超奇异同源加密库。该库包含了临时Diffie-Hellman密钥交换方案“SIDH”和CCA安全的密钥封装机制“SIKE”。尽管SIDH和SIKE协议在后续的攻击中被证明是不安全的,因此不应在生产环境中使用,但该库仍然具有历史价值,并且其中的一些功能可能在其他加密应用中具有可重用性。

项目技术分析

SIDH库的核心技术基于超奇异同源加密,这是一种被认为能够抵御量子计算机攻击的加密技术。该库支持多种安全级别的密钥封装机制和密钥交换方案,包括:

  • SIKEp434:匹配AES128的后量子安全级别(级别1)。
  • SIKEp503:匹配SHA3-256的后量子安全级别(级别2)。
  • SIKEp610:匹配AES192的后量子安全级别(级别3)。
  • SIKEp751:匹配AES256的后量子安全级别(级别5)。

此外,该库还提供了压缩版本的密钥封装机制和密钥交换方案,这些压缩版本在计算时间增加的情况下,显著减少了公钥的大小。

项目及技术应用场景

尽管SIDH和SIKE协议已被证明不安全,但该库仍然适用于以下场景:

  1. 历史研究:对于密码学研究人员来说,该库提供了宝贵的历史数据和实现细节,有助于理解超奇异同源加密的发展历程。
  2. 教育用途:作为教学工具,帮助学生和开发者理解后量子密码学的基本原理和实现方法。
  3. 其他加密应用:库中的一些实现细节和优化技术可能在其他加密应用中具有参考价值。

项目特点

  • 多平台支持:支持Windows、Linux和Mac OS X等多种操作系统,涵盖x64、x86、ARM和s390x等多种处理器架构。
  • 高性能优化:提供了针对x64和ARMv8平台的优化实现,包括使用汇编语言的高性能实现。
  • 安全性保障:所有涉及秘密密钥的操作均采用常数时间实现,有效防止时序和缓存时序攻击。
  • 灵活的编译选项:用户可以根据目标平台选择不同的优化级别和编译选项,以获得最佳的性能和兼容性。
  • 丰富的测试和基准测试:包含已知答案测试(KAT)和多种测试代码,确保库的正确性和性能。

总结

尽管SIDH和SIKE协议已被证明不安全,但SIDH v3.5.1库仍然是一个值得关注的开源项目。它不仅提供了丰富的历史数据和实现细节,还展示了高性能优化和多平台支持的技术能力。对于密码学研究人员、教育工作者和其他开发者来说,该库都是一个宝贵的资源。

热门项目推荐
相关项目推荐

项目优选

收起
Python-100-DaysPython-100-Days
Python - 100天从新手到大师
Python
263
51
国产编程语言蓝皮书国产编程语言蓝皮书
《国产编程语言蓝皮书》-编委会工作区
62
16
open-eBackupopen-eBackup
open-eBackup是一款开源备份软件,采用集群高扩展架构,通过应用备份通用框架、并行备份等技术,为主流数据库、虚拟化、文件系统、大数据等应用提供E2E的数据备份、恢复等能力,帮助用户实现关键数据高效保护。
HTML
85
63
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
53
44
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
195
45
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
268
69
xxl-jobxxl-job
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
Java
8
0
RuoYi-VueRuoYi-Vue
🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
Java
171
41
RuoYi-Cloud-Vue3RuoYi-Cloud-Vue3
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
38
24
qwerty-learnerqwerty-learner
为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers
TSX
332
27