了解了前面说的ecc的概念之后,我们就知道group的意义了,实际上group定义了一条曲线,定义了a,b,还有order等等,在openssl的实现中,group中还有一个EC_METHOD结构体,这个结构体中有一系列的函数,顾名思义这些函数是用来操作曲线的,可以看到这个method没有engine的支持,这是为什么呢?因为ecc的创立者根本就不把ecc算法所应用的曲线作为算法的一部分来考虑,也就是说,这些曲线是公开的,一旦你确定了曲线的参数,那么接下来的对曲线的操作就是确定的,没有必要自定义实现,因此,EC_METHOD基本都是固定的,没有engine的支持,可以说group和ecc密钥的计算基本没有关系,它只是提供了一个所谓的“基础设施”,因为现代计算机并没有实现曲线域的计算法则,所以openssl就应该自己实现,这个实现就是group中的EC_METHOD。
但是我们国家总是喜欢搞zg特色,正如我们国家搞双证书体系一样,我们国家的双证书体系为的是方便官方取证,这在别的国家是不存在的,在别的国家,你的私钥是任何机构都无权查看的,可是...公正乎?哀哉!正是因为我们的ecc标准没有公布椭圆曲线参数,于是我们就不能使用openssl了,但是openssl实在太棒了,我无法舍弃它,于是就要想办法将openssl改造成支持国家密码局的ecc标准的框架。要做到这个,首先的想法就是让EC_METHO支持engine,由于国家不公布椭圆曲线标准,那么我们只好调用国家的接口来自己实现。怎么让EC_METHOD支持engine呢?很简单,首先将自己的engine注册进openssl,然后修改获取group的代码,如果需要处理的密钥的oid是我们国家的标准,那么就获取我们实现的engine,之后就用我们的engine的实现的方法来实现曲线操作。
实现了曲线操作,接下来的密钥操作就简单了,密钥操作都是在“曲线”上进行的,只要我们加载自己的engine,那么很容易就可以使得我们自己的engine得到使用,这个就不必多说了,详细情况请看关于engine的介绍。这个工作简单的原因在于ecdh或者ecdsa等本来就是支持engine的。为了实现国密的ecc算法,或者说将国密ecc整合进openssl,我们需要很多的工作要做,我们之所以值得做这些工作原因有二:第一,国家的标准我们必须实现;第二,openssl实在太棒了!
分享到:
相关推荐
FPGA是一种可以通过硬件描述语言编程的半导体器件,其硬件加速能力使得ECC算法在硬件上可以实现高速且低功耗的加密和解密功能。本研究深入分析了椭圆曲线的加解密理论,并采用了Verilog硬件描述语言和原理图输入法,...
7. **标准与协议**:在实际应用中,ECC通常遵循一些标准,如NIST(美国国家标准与技术研究院)的P-256、P-384等曲线,以及TLS(传输层安全)、SSH(安全外壳)等通信协议中对ECC的支持。 8. **测试与验证**:为了...
NIST(美国国家标准与技术研究院)推荐了一组椭圆曲线用于加密标准,如P-256、P-384和P-521等。这些曲线经过了广泛的分析,确保了它们的安全性,并在TLS、SSL、SSH等协议中广泛使用。 **五、软件实现** "原文:...
- **mbedtls** 和 **openssl**:这两个库提供了多种加密算法的支持,如Ed25519、AES、ECC、ECDH、ECDSA、哈希、HMAC、KDF和RSA等。 3. **os_dependency层** - **ipc/src** - **hks_client_service_ipc.c**:提供...
- 国家标准 - 行业标准 - 地方标准 - **标准代号的识别**: - ISO - GB - GB/T ### 三、密码学概论 #### 3.1 密码学基本概念 - **密码编制学(Cryptography)**: 研究密码编制的科学。 - **密码分析学...
例如,NIST(美国国家标准和技术研究所)发布了一系列ECC标准,如NIST P-256、P-384等,这些曲线经过了广泛的分析,被认为在当前计算能力下是安全的。 总之,椭圆曲线密码算法(ECC)是现代密码学的重要组成部分,...
SM2是由中国商用密码应用技术系统工程研究中心提出的一种基于椭圆曲线密码学(ECC)的公钥加密算法,符合国家商用密码标准GB/T 33207-2016。它集成了加密、解密、数字签名和密钥交换等功能,适用于安全通信、身份...
NIST(美国国家标准与技术研究院)自2016年起启动了后量子密码标准项目,旨在寻找能够抵抗量子计算攻击的新一代密码算法。 标题提到的"**NIST后量子算法标准**",是指NIST在经过多轮评估和测试后,即将确定的一组新...
为了保障WLAN的安全性,国际标准化组织制定了IEEE 802.11i标准,中国也制定了自己的国家标准WAPI。这些标准不仅包括用户的身份认证、访问控制等方面的规定,还特别强调了数据加密技术的重要性。 #### 二、AES算法在...
- **安全性标准**:如FIPS(联邦信息处理标准)和NIST(美国国家标准与技术研究所)发布的标准。 4. **加密算法的应用**: - **网络通信**:HTTPS、TLS/SSL协议中使用加密确保通信安全。 - **数据存储**:对敏感...
- 在某些国家和地区,使用特定加密算法可能受到法规限制,源码分发需遵守相关规定。 10. **未来趋势** - 随着量子计算的发展,如Post-Quantum Cryptography(后量子密码学)正在研究抵御量子计算机攻击的新算法。...
SM2算法,作为中国国家标准GM/T 0002-2012定义的一种公钥密码算法,广泛应用于数字签名、密钥交换和加密等方面。本项目以Miracl大数运算库为基础,实现了SM2算法的C语言版本,这对于理解SM2算法的内部工作原理以及在...
- Skipjack:由美国国家安全局设计,用于Clipper芯片的加密算法。 2. 非对称密钥算法: - RSA:一种广泛使用的非对称加密算法,基于大数分解难题。它使用一对密钥:公钥和私钥。 - ElGamal:基于离散对数问题的...
1. **DES(Data Encryption Standard)**:DES是一种对称加密算法,由IBM在1970年代开发并被美国国家标准局采纳为标准。它使用56位密钥对64位的数据块进行加密,虽然现在已被认为不够安全,但它的设计思想对后续的...
- 国家标准与技术研究院 (NIST) 正在进行后量子密码算法的标准化工作。 - 预期这些算法将在未来取代易受量子计算威胁的经典密码算法。 #### 量子安全协议 - **量子安全协议**: - 包括量子密钥分发、量子签名和...
印度国家版本为SAP ECC 6.0的标准软件提供了定制化的解决方案,考虑到印度市场的特殊需求,如税收制度、会计准则等,帮助企业更顺利地在当地开展业务。 #### Condition-based Tax Calculation 基于条件的税收计算使...
7. **SM4**:SM4是中国国家标准的一种分组密码算法,主要用于无线局域网通信。"一种新型的基于FPGA的SMS4密码算法电路设计.PDF"可能详细介绍了SM4的FPGA实现技术。 8. **椭圆曲线密码算法**:椭圆曲线密码学(ECC)以...
AES是目前广泛使用的对称加密算法之一,是美国国家标准技术研究所(NIST)公布的下一代加密标准。AES支持128位、192位和256位的密钥长度,是基于替换-置换网络的对称密钥加密算法。AES的特点是算法简洁、效率高,且...
GeMSS(Generalized Multiple-Signature Scheme)是一种被提议作为后量子密码标准的签名算法,它在NIST(美国国家标准与技术研究所)的第三轮评估中备受关注。 标题中的“第三轮后量子密码算法 GeMSS”指的是NIST的...