openssl下开发sm4-gcm-ciphers
一.EVP接口
Openssl EVP(high-level cryptographic functions[1])提供了丰富的密码学中的各种函数。Openssl中实现了各种对称算法、摘要算法以及签名/验签算法。EVP函数将这些具体的算法进行了封装。
EVP主要封装了如下功能函数:
1)实现了base64编解码BIO;
2)实现了加解密BIO;
3)实现了摘要BIO;
4)实现了reliable BIO;
5)封装了摘要算法;
6)封装了对称加解密算法;
7)封装了非对称密钥的加密(公钥)、解密(私钥)、签名与验证以及辅助函数;
7)基于口令的加密(PBE);
8)对称密钥处理;
9)数字信封:数字信封用对方的公钥加密对称密钥,数据则用此对称密钥加密。发送给对方时,同时发送对称密钥密文和数据密文。接收方首先用自己的私钥解密密钥密文,得到对称密钥,然后用它解密数据。
10)其他辅助函数。
本次开发将基于该接口实现相关接口
二.对外接口
三.内部实现方案
四.重要的结构
定义一个EVP_CIPHER结构体
后续代码属于机密,不对外公开,有需要的可以+我VX
openssl下开发sm4-gcm-ciphers相关推荐
- php的yii2框架下开发环境xampp,vim,xdebug,DBGp的搭建
2019独角兽企业重金招聘Python工程师标准>>> 引言 Yii1.1的搭建过程见这里.下面做少许改动,加入composer部分,使之用于Yii2. 选择Linux桌面环境Dee ...
- linux与windows下开发,Linux 与 Windows下开发感受
Linux 和 Windows环境下开发各有优点.以下Linux 下使用感受是在Ubuntu11.04,别的发行版还没试过. 至于各自的缺点,都可以通过各种方法,得到或多或少地解决.至于要花费多大的精 ...
- Java在eclipse下开发的常用快捷键集锦
2019独角兽企业重金招聘Python工程师标准>>> Java在eclipse下开发的常用快捷键集锦 ctrl+shift+o 说明:删除无用的代码引用 使用场景:当前文件中的引用 ...
- GTK在Windows下开发和运行的一些设置问题
下面讲的Windows下开发,是以Visual Studio 2012为例,其他版本的Visual Studio应该与之类似. 下面的方法对于gtk2和gtk3都一样.现在好像gtk不能下载all i ...
- Android Linux下开发环境搭建
开发环境--这个没有要求你一定得在什么系统下开发,你对哪个环境熟悉就用哪个. 如果习惯Windows的话,那在Windows下开发:如果对Linux比较熟,那你就用Linux. 不过,话说回来,Lin ...
- weblogic下开发web项目时修改java文件不用重启的绿色方法,不用修改weblogic的配置文件、不用jar...
2019独角兽企业重金招聘Python工程师标准>>> weblogic下开发web项目时修改java文件不用重启的绿色方法,不用修改weblogic的配置文件.不用jar ...
- .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤
.NetCore 下开发独立的(RPL)含有界面的组件包 (一)准备工作 .NetCore 下开发独立的(RPL)含有界面的组件包 (二)扩展中间件及服 务 .NetCore 下开发独立的(RPL)含 ...
- Windows 下开发PHP扩展资源
1.Windows 下开发PHP扩展 http://www.shinrun.com/htmls/100101-37.html 2.windows下开发PHP扩展dll(无需Cygwin) http:/ ...
- 在VSCode Remote环境下开发Teams Bot
我使用VS Code开发已经有蛮长一段时间了,时间长了,越来越喜欢VS Code,虽然有些时候会没有传统的VS方便,比如开发Azure Function时你需要编写一下launch.json,而且你需 ...
最新文章
- 从未在一起更让人遗憾_我们从未在一起和我们最终没在一起,哪一个更让人难过?...
- CoolPad backdoor CoolReaper
- 文巾解题 198. 打家劫舍
- 广联达2018模板算量步骤_工程人必须掌握:这9份软件算量教程+24份算量计算表,无偿分享...
- 原相机水印怎么改字_抖音/自媒体做影视二次剪辑,如何下载高清无水印视频?...
- 排错之网络映射缓存凭证记录导致备份计划任务失败
- oracle脂肪分析仪,CEM推出油脂快速分析新技术
- 函的红头文件格式制作_Excel实现批量制作年会邀请函,这个方法,你一定不能错过...
- Fill-倒水问题(Uva-10603-隐式图路径寻找问题)
- WebService可以远程调试调用
- 【codevs1220】数字三角形
- javascript之生成一个指定范围内的随机数
- 玻璃质感_现代质感的顶层公寓,玻璃扶手让楼梯整个变透明!
- Python 数独求解
- python——函数(定义函数、传递实参、返回值、传递列表、传递任意数量的实参、将函数存储在模块中、函数编写指南)
- c语言程序中u8是什么意思,c – __u8和uint8_t之间的区别
- Word2019建立自己的模板
- 将png转为webp_如何将Google的WEBP图像另存为JPEG或PNG
- 【Unity】新手初学Animation实现人物移动
- Neuron segmentation using 3D wavelet integratedencoder–decoder network
热门文章
- C语言文件读写(3)-二进制文件读写操作
- h5实现网页内容跟随窗口大小移动_HTML5使用四种方法实现移动页面自适应手机屏幕的方法总结...
- Java中的nextInt()和next()与nextLine()区别详解
- 【Idea无法打开】Idea.bat可以正常打开,双击快捷方式无法打开解决办法
- of python检索文献 science web_硕博士都在学的Python神技,有大神带!
- charset参数 sqluldr2_sqluldr2 学习心得
- 用于python环境下的数据操作_数据分析(一):环境搭建,以及初步操作文件
- python连通域标记_pythonamp;#8212;二值图像连通域标记 - 易采站长站
- oracle启动报参数不正确,【oracle】模拟故障 - 参数修改导致无法启动oracle
- java 面试题 简书_java面试题