在最新的IPP 2018中,intel 将ippcp加密库从IPP 库中分离了出来,可以单独安装使用。对各个平台有很不错的兼容性,同时也对SGX提供了支持

一. 安装ippcrypto

1.https://software.intel.com/en-us/get-ipp-cryptography-libraries intel的ippcp下载页面,如果没有intel开发者账号,则需要注册账号

2.下载ippcp

3.解压 l_ippcp_2018.1.163.tgz

进入下载目录 tar zxvf l_ippcp_2018.1.163.tgz

4.安装

进入解压出的文件夹  ./install_GUI.sh

5.配置环境变量(optional)

编辑用户环境变量 ~/.bashrc (/etc/profile 对应su)添加

export IPPCRYPTOROOT=/opt/intel/compilers_and_libraries_2018.1.163/linux/ippcp
export LD_LIBRARY_PATH=$IPPCRYPTOROOT/lib/intel64_lin:D_LIBRARY_PATH

保存后

source ~/.bashrc

二.使用

AES_GCM 加解密

1.写一个简单的 ippcptest.cpp

#include "ippcp.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int AES_GCM_ContextSize=0;
int main(int argc, char* argv[])
{IppStatus istate;unsigned char pkey[16]={1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8};//16||32||64unsigned char pIV[16]={1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8};int keyLen=16;Ipp8u* pKey=pkey;ippsAES_GCMGetSize(&AES_GCM_ContextSize);//encryptionIppsAES_GCMState* gcm_context=(IppsAES_GCMState*)malloc(AES_GCM_ContextSize);istate=ippsAES_GCMInit(pKey,keyLen,gcm_context,AES_GCM_ContextSize);char a[12]="hello world";unsigned char b[12];ippsAES_GCMProcessIV(pIV,16,gcm_context);ippsAES_GCMStart(pIV,16,NULL,0,gcm_context);istate=ippsAES_GCMEncrypt((unsigned char*)a,b,12,gcm_context);for(int i=0;i<12;i++){printf("%02x ",b[i]);}printf("\n");
//decryptionunsigned char c[12];IppsAES_GCMState* gcm_context2=(IppsAES_GCMState*)malloc(AES_GCM_ContextSize);istate=ippsAES_GCMInit(pKey,keyLen,gcm_context2,AES_GCM_ContextSize);ippsAES_GCMProcessIV(pIV,16,gcm_context2);ippsAES_GCMStart(pIV,16,NULL,0,gcm_context2);istate=ippsAES_GCMDecrypt(b,c,12,gcm_context2);for(int i=0;i<12;i++){printf("%c",c[i]);}printf("\n");return 0;
}

2.写一个makefile

Include_Path := /opt/intel/compilers_and_libraries_2018.1.163/linux/ippcp/include
Link_Path := /opt/intel/compilers_and_libraries_2018.1.163/linux/ippcp/lib/intel64_lin
Link_Flag := -L$(Link_Path) -lippcp -static
app:gcc -c ippcptest.cpp -I$(Include_Path)gcc -o app ippcptest.o $(Link_Flag)clean:rm app ippcptest.o

3.make

./app

显示密文和明文,就OK

linux下intel IPP 加密库安装及快速上手相关推荐

  1. linux编译ipp多线程,Linux 下 Intel IPP 模块编译

    1. 平台搭建 平台 CentOs 6.3 2. IPP 下载 3. IPP 编译 不同版本的IPP 版本编译操作差异比较大,最好的办法就是查询下载版本的IPP模块中的document. 3.1  设 ...

  2. linux编译ipp多线程,Linux下Intel IPP编程环境的配置

    最开始使用了最新的7.0版本的IPP,编程引用时,总是提示一大堆undefined reference to 'XX'之类的错误,在网上找了好多资料,大部分是6.0以及之前的,我的环境是ubuntu ...

  3. linux下intel 82579LM 网卡驱动安装

    本人是在ubuntu13.10上安装成功的. 1. 首先下载驱动:https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID ...

  4. Linux下Intel集成显卡驱动安装

    在http://intellinuxgraphics.org/中下载最新的驱动包 xf86-video-intel 2.15.0 Debian的源中有安装包xserver-xorg-video-int ...

  5. 历史经验之Linux下PF_RING的编译和安装过程

    历史经验之Linux下PF_RING的编译和安装过程 1)确认是否安装PF_RING 2)从下载网址下载最新版本的PF_RING: 编译和安装PF_RING 1)编译pf_ring内核文件 2)编译p ...

  6. Linux下通过源码编译安装程序

    本文简单的记录了下,在Linux下如何通过源码安装程序,以及相关的知识. 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的 ...

  7. LINUX下tar.gz包的安装方法

    LINUX下tar.gz包的安装方法 在tar.gz的东西不多了---- ======================================== 大多以tar.gz 和tar.bz2打包软件 ...

  8. Linux下的磁盘加密方法

    Linux下的磁盘加密方法 转载时请注明出处和作者联系方式 作者联系方式:李先静 <xianjimli at hotmail dot com> 随着智能手机的计算能力和存储能力的提高,手机 ...

  9. 在Linux下,SVN服务器的安装

    最近想在VPS上搭建一个SVN服务,方便在外面使用时存放代码. 上次介绍过在Windows上搭建SVN服务器,这次来谈谈在Linux上搭建吧,系统是CentOS. 网上有不少教程,可是没有一篇完整的, ...

  10. Linux下minicom超级终端的安装及使用

    本文引用自bezstellar<Linux下minicom超级终端的安装及使用> 文档整理作者:陈博强 2010-06-23 Minicom目录: <一>Minicom的简介 ...

最新文章

  1. KOA2路由koa-router实现类似express router的文件结构设计---KOA入门学习
  2. 汇编语言笔记10-CALL和RET指令
  3. error C2660: 'MessageBoxA' : function does not take 4 parameters
  4. 英语作文 计算机新技术对生活的影响,急求一篇电脑对于未来生活影响的英语作文,50分 200词左右...
  5. 【NLP】简单学习一下NLP中的transformer的pytorch代码
  6. mysql 链接慢_mysql连接非常慢的觖决办法及其它常见问题解决办法
  7. python 正整数 连续多个数之和_vijos - P1302连续自然数和 (公式推导 + python)
  8. 丰田pcs可以关闭吗_丰田新款卡罗拉变化这么大 让老车主陷入沉思
  9. php获取apk中文应用名,php提取apk包信息 - 搜知道网 - 搜知道社区,C, iOS,Android,golang 等的知识....
  10. (6)Node.js 全局对象
  11. 第五周项目3-用多文件组织多个类的程序
  12. ionic入门教程第五课-举例子说明异步回调$q及$q在项目中的用法
  13. n!的分解 soj 2666
  14. 开源Web安全测试工具调研
  15. 使用电信光猫+华为路由器实现内网穿透,外网访问内网 之 光猫超级管理员密码获取并设置桥接模式
  16. MyBatisPlus极速入门
  17. 聚乙烯醇(PVA)/壳聚糖(CTS)/氧化石墨烯(GO)水凝胶吸附和解吸实验(供应PNIPA/膨润土复合/聚乙烯醇/魔芋胶复合/HAP纳米纤维/GelMA复合丝素蛋白(SF)复合水凝胶等)
  18. 一元享移动怎么样_中国移动终于认怂?29元享100G流量还不限速,网友:后悔携号转网了...
  19. 为什么分布电容会缩短信号的传输距离
  20. python基础教学习题_python基础|数据类型练习题

热门文章

  1. 一步真实解决RuntimeError: result type Float can‘t be cast to the desired output type long int
  2. datav(datav)
  3. onap桂林版部署教程
  4. dlna android电视,DLNA怎么用?DLNA连接智能电视和电脑的方法分享
  5. 创新、协调、绿色、开放、共享”五大发展理念整体上是一个彼此之间有联系、成结构的体系,是统一的,而从个体上来说,他们之间是相互促进、相互依赖、相互作用、相互对立的,这恰恰体现出辩证法物质世界的普遍联系和
  6. BUUCTF Cipher writeup
  7. 国内外Java学习论坛汇总
  8. TryHackMe - Thompson靶场
  9. seo单页html模板,竞价单页模板设计思路
  10. 关键路径法举例和分析