椭圆曲线加密系统之OpenSSL嵌入式

针对嵌入式系统中信息安全的特点,选择椭圆曲线公钥加密体制ECC(EnipticCurvesCryptosystem)作为加解密系统体制,应用开源安全软件开发包OpenSSL作为密码库开发了加密和解密系统。

一、椭圆曲线加密体制

椭圆曲线加密体制ECC是基于椭圆曲线离散对数问题(ECDLP)的一种公钥加密体制,我们采用大素数有限域GF(p)上的方程y2=x3+ax+6(modp),这里p是大素数,a和b为两个小于p的非负整数,它们满足:4a3+27b2(modp)≠0。椭圆曲线离散对数问题ECDLP定义如下:给定素数p和椭圆曲线E,对Q=kP,可以证明由k和P计算Q比较容易,而由Q和P计算尾则比较困难。由于椭圆曲线密码体制ECC所具有的特点,ECC可以用较小的开销(软硬件规模、存储要求、带宽)实现较高的安全性,是一种能够提供高比特强度的公钥加密体制。

二、OpenSSL简介

三、椭圆曲线加密体制及其实现

椭圆曲线加密体制的两种常用算法是EC-ELGamal与Men-ezes-Vanstone。其中,EC-ELGamal算法是基于椭圆曲线的ELGamal型加密体制,其基本思想是将椭圆曲线的点加和点乘运算类比为有限素域上的运算,加密实施中要求将明文编码为椭圆曲线上的点。Menezes-Vanstone算法利用屏蔽明文的方法避开了明文嵌入的问题。本系统利用OpenSSL-1.0.0提供的椭圆曲线进行密码系统的设计与实现。下面对两种椭圆曲线加密体制的算法进行介绍并附上用C语言设计的程序主要实现代码。

1、EC—ELGamal加密算法及其实现

(1)EC-ELGamal算法加解密及通信的过程

EC-ELGamal算法:

①选定椭圆曲线Ep(a,b),并取椭圆曲线上点G作为基点。

②用户B选择一个私有密钥k,并生成公开密钥K=kG。

③用户B将Ep(a,b)和点K,G传给用户A。

④用户A接到信息后,将待传输的明文编码到Ep(a,b)上一点M1,并产生一个随机整数r。本程序设计中随意选择G作为待加密的信息M1为例,也可以选择椭圆曲线上的其他点。

⑤用户A计算密文C1=G+rK;C2=rG。

⑥用户A将密文CI、C2传给用户B。

⑦用户B接到信息后计算M2=C1-kC2,M2即为解密的数据。

(2)OpenSSL实现EC-ELGamal算法主要代码

//加密操作,对点M1(此处以G为例)加密,C2=rG,C1=G+rK,

//其中K为B的公钥。

//OpenSSL里的函数功能:EC_POINT_mul是点乘,EC—POINT_

//add是点加。

EC_POINT_mul(group,C2,NULL,G,r,ctx);

EC_POINT_mul(group,B,NULL,K,r,ctx);

EC_POINT_add(group,C1,G,B,ctx);

//解密操作,对得到的(C1,C2)解密得到M2=Cl-kC2

EC_POINT_mul(group,R,NULL,C2,k,ctx);

EC_POINT_invert(group,R,ctx);

EC_POINT_add(group,M2,Cl,R,ctx);

M2即为经过解密得到的椭圆曲线上的点,与被加密的明文点M1进行比较,证明解密所得的点的坐标与被加密的数据点的坐标完全相同。此处实际应用中要涉及到用各种编码算法将明文编码到椭圆曲线上的明文点M1,最后再对解密所得的数据M2解码得到原明文。

2、Menezes-Vanstone密码算法及其实现

(1)Menezes-Vanstone算法加密解密及通信的过程

Menezes-Vanstone算法:

③用户A将明文M变换成为有限域Zp中的二元组M=(m1,m2)。

④用户A产生随机数r并计算:

RO=rG

(c1,c2)=rK

R1=clml(modp)

R2=c2m2(modp)

⑤用户A将(RO,R1,R2)作为密文发送给用户B。

⑥用户B接收到密文后计算:

(dl,d2)=kR。

(mll,m22)=(Rldl_1(modp),R2d2_1(modp))即为解密所得数据,与原加密数据(ml,m2)相同。

(2)OpenSSL实现Menezes-Vanstone算法主要代码

//加密操作,对(ml,m2)在有限域zp内赋随意值如下

BN.hex2bn(&ml,”3A2794482D6410697C85FA4643BAIDAEA76FFAE6EC26A2C8");

BN_hex2bn(&m2,"AF7DF34CDA2DF2ACC65C31BE95A3888FC5DCC704461308EC");

//取参数p,a,b,其中p后面要用到

EC_GROUP_get_curve_GFp(group,p,a,b,ctx);

//r为取的随机数,计算RO=rQ

EC_POINT_mul(group,RO,NULL,Q,r,cLx);

//计算C=(cl,c2)=rK

EC_POIN'r_mul(group,C,NULL,K,r,ctx);

EC_POINT_get_affine_coordinates_GFp(group,C,cl,c2,ctx);

//计算Rl=clml(modp),R2=c2m2(modp)

BN_mod_mul(R1,cl,ml,p,ctx);

BN_mod_mul(R2,c2,m2,p,ctx);

//解密操作,首先计算D=(dl,d2)=kRO,BN_mod_mul函数是

//进行模乘运算

EC_POINT_mul(group,D,NULL,RO,k,ctx);

EC—POINT—get一affine-coordinates_GFp(group,D,dl,d2,ctx);

//分别取dl与d2对p的模逆此处分别记为dll与d22

BN_mod_inverse(dll,dl,p,ctx);

BN_mod_inverse(d22,d2,p,ctx);

//解密(rull,m22)=(Rldl-1(modp),R2d2-1(modp))

BN_mod_mul(mll,R1,dll,p,ctx);

BN_mod_mul(m22,R2,d22,p,ctx);

此处(mll,m22)经数据转换输出十六进制数据为:

mll:3A2794482D6410697C85FA4643BAIDAEA76FFAE6EC26A2C8

m22:AF7DF34CDA2DF2ACC65C31BE95A3888FC5DCC704461308EC

结果证明(mll,m22)与(m1,m2)相同,加密解密成功。

四、安全密码系统结构及分析

本系统基于arm9开发板搭建arm-linux系统,用OpenSSL软件包开发了完整的加解密程序,验证OpenSSL在arm-linux平台上实现的可行性及易用性和安全性。实验结果在主机的Linux操作系统中的rmmcom串口终端中显示。现对该安全加密系统的系统结构、搭建步骤、实验分析进行介绍。

1、安全密码系统结构

本嵌入式平台安全密码系统的结构如图1所示。

图l中各部分的功能简介如下:

(1)嵌入式硬件平台是安全加密系统的硬件基础,本系统采用ann9核心开发板,并可根据功能需求进行扩展。

(2)嵌入式操作系统是安全加密系统的系统平台,本系统采用了标准的Linux操作系统。

(4)安全系统应用层提供基于安全加密的应用服务。

2、软硬件平台介绍

本系统平台采用以arm9为核心并移植Linux操作系统的嵌入式开发平台,基本的软硬件参数如下:

(1)CPU处理器

SamsungS3C2440A,主频400MHz,最高频率达到533MHz。

(2)SDRAM内存

64MSDRAM,32位数据总线。

(3)FLASH存储器

64MNandFlash存储器;2MNorFlash存储器。

(4)接口和资源

1个10M以太网RJ-45接口(采用DM9000网卡芯片);3个串行通信接口;1个USBHost接口;1个USBSlaveB接口。

(5)移植Linux版本2.6.31

3、实验步骤

(1)主机搭建arm-linux-gcc交叉编译环境,用于对软件库及应用程序进行交叉编译。

(2)向ann9开发板上移植经过裁剪的Linux操作系统,构成基本的arm-linux软硬件开发平台。

(3)下载OpenSSL-I.0.0并用交叉编译器arm-linux-gcc交叉编译并生成静态函数库,并向开发平台移植静态函数库。

(4)将两种加密系统的完整代码分别用arm-linux-gcc交叉编泽,将生成的可执行程序移植到arm-linux平台上运行。

4、实验分析

通过对椭圆曲线的两种算法的程序进行测试分析表明:

(1)两种椭圆曲线密码体制的程序都能准确进行加密解密,程序运行正常。同时,两种密码体制的安全性都是基于椭圆曲线离散对数问题(ECDLP)。

小知识之OpenSSL

OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

欢迎访问夏冰加密软件技术博客,您的数据安全知识库和加密技术资讯平台。我们致力于提供最新的加密技术动态、深入的行业资讯以及实用的软件使用技巧,帮助您在数字时代中保护好每一比特的数据。

THE END
1.系统和平台的区别,你能分清吗?别叫人贻笑大方系统平台在B端项目中,系统和平台是两个不同的概念,它们之间存在一些区别。下面是它们的区别解释: 系统(System): 系统是指为满足特定需求而设计和构建的一组相互关联的软件模块和功能。系统通常是针对特定的业务或功能领域,为企业的某个具体需求而开发的解决方案。例如,企业可以有一个客户关系管理系统(CRM),用于管理与客户相https://blog.csdn.net/2401_82943878/article/details/140260738
2.软件系统平台HiMarkingHiMarking公司针对生产型企业开发的管理产品生产、流通、销售等环节的信息化平台系统。系统运作从生产线对产品贴标或赋码开始,对各级包装单元建立逻辑关联关系,用采集识别设备完成逐级经销商出入库登记发货,直到在市场流通中查询追溯每件产品物流信息。 系统特性 https://www.himarking.com/products/system
3.登录系统平台中文 | English | Spanish | Fran?ais | italiano | ? | Roman? | Português | Arabia账号登录记住密码 版权所有 ? 2018-2025 www.cciot.top 沪ICP备11012862号-3http://www.cciot.top/
4.无人机指挥调度平台通过JDY Air飞行软件控制无人机的飞行和姿态,无人机获取画面实时回传到无人系统平台端,指挥人员通过实时回传画面了解现场情况,进行综合研判,进一步部署任务,JDY Air飞行软件、单兵实战地面端软件实时接收无人系统平台端派发任务并执行,非无人机作业人员可通过单兵实战地面端软件或在微信小程序端实时查看现场画面。 http://jdyair.com/product/platform.html
5.广西大学教务处培训地点:直播平台网址:huiyi.enetedu.com/ai2024培训时间:2024年12月10日-2025年1月4日无纸化智能阅卷系统使用培训 主讲人:谢红梅 机械工程学院副教授 培训地点:第六教学楼负一楼六一阶教室 培训时间:1.2024年11月29日(星期五)15:00-16:30,2.2024年12月6日(星期五)15:00-16:30一体https://jwc.gxu.edu.cn/
6.河南基础教育服务平台八年级地理生物考试报名仅报名地理学科,系统已关闭怎么办2023-04-17 郑州中招信息采集错过时间可以补录吗?2023-04-05 请问中招考试报名登记表中,有一项姓名拼音,这项输入的姓名的小写拼音,有影响吗?2023-04-01 密码找回2023-03-12 如何查询2016年中考成绩?2023-02-12 http://www.hagaozhong.com/
7.仓库管理系统海外仓系统WMS4PNT四方网络提供仓库管理系统、海外仓系统WMS、物流管理系统、关务系统、国际货代系统等跨境电商系统个性化定制服务;是跨境贸易与物流领域领先的IT及运营整合服务提供商。欢迎咨询,免费试用。https://www.4pnt.com/products/CMS/case/jc.html
8.安全生产可视化综合信息平台安全监管系统软件视频联网共享接入系统能够接入支持视频标准流媒体协议和联网国标协议的系统平台并支持通过开放式接口集成开发对接业务平台。通过对重大危险源、重要企业等场所现场视频信息的采集,保证网络信息安全的前提下,经由安全生产视频专网传输到各级安监部门应急指挥大厅,直观地反映现场的相关情况和数据信息,实现安监局对企业的重大危险源https://www.bjltsj.com/anquanjianguanxitongruanjian/2324.html
9.机器人和它们背后的智慧生态体系机器人设计Predix是GE推出的针对工业领域的基础性系统平台,这是一个开放的平台,在工业制造、能源、医疗等各个领域都有应用。单纯从医疗领域来看,上海的仁济医院在2013年就开始与GE医疗合作,使用资产云管家“@Asset” 观察每一台设备的运行负荷,避免单台机器长时间超负荷工作造成停机,另外可以减少病患等待的时间。 陈和强表示,https://aiqicha.baidu.com/qifuknowledge/detail?id=10140105890
10.安防平台服务“智慧时代”公共安全综合性电力监控系统平台的建立可以有效的实现目前无人值守变电站的 交通 监控平台在交通视频联 在省域范围内通过统一的视频联网监控平台,更可以将视频资源联网监 医疗 视频监控管理平台在医 网络化医院视频监控平台正是这一趋势的典型代表。除了能够实现传统 http://www.21csp.com.cn/zhanti/pingtai2013/
11.第三方支付平台系统第三方支付系统第三方支付系统开发雨果跨境为跨境从业者提供最新第三方支付平台系统相关信息,每天更新第三方支付平台系统相关的文章、视频、问答等内容,雨果跨境作为品牌出海产业互联网平台,为跨境企业精选第三方支付平台系统相关服务,助力中国品牌快速拓展海外市场。https://m.cifnews.com/key/uyfsc
12.补单平台系统软件其中有一个隐蔽环节常常被人提起,那就是淘宝补单,根据构建补单系统平台软件,能够协助电商平台调节自身平台资源配置,促进很多中小店铺适当的提高店铺等级和销量的手段。补单系统平台软件搭建开发设计的较大发展趋势是符合商家对补手的下单流程要求,更安全更有效的提升店铺等级和销量,成为半熟练bai工人、妇女以及其他群du体https://product.11467.com/info/14981810.htm
13.udesk客服系统沃丰科技全渠道客服整合,业务数据共享协同,优化售后运维系统,智能自动化助力 查看详情 中铁鲁班 日均电话受理服务量达到1000通,日均在线客服受理量达到400个。 查看详情 中国铁建 AI赋能系统对接,人员与平台交互体验提升,实现数据可视化。 查看详情 中央政府采购网 https://www.udesk.cn/
14.会议管理系统产品简介:可自定义审核流程、是否需要订房等全流程掌控。依托自有集成开发平台基础上,为您提供简捷实用、高效灵活、质优价廉的会议发布和会议管理系统平台,节约您的会议管理成本,提高您的会议管理效率。 立即咨询 产品优势 一、行业背景 基于《中国数字会务趋势报告》数据分析,2020年中国年度会议总量达到1000万场,总参会https://www.yqsite.com/product/952110206.html
15.课程这一节主要介绍《中文核心期刊要目总览》等常用的选刊工具和中国学术期刊论文投稿平台等投稿分析系统平台的功能。 ●11.3稿件的评审与修改 这一节主要介绍投稿后我们在等待审稿的过程中会面临的一些问题或情况,并介绍在不同的情况下采取相应的策略,增加稿件的录用机会。 ●11.4选刊投稿注意事项 这一节主要介绍写作投稿https://higher.smartedu.cn/course/62354d099906eace048ea71b
16.不是随随便便一个系统都能叫平台企业以盈利为目的,可以屁股决定脑袋,将平台的概念作为宣传卖点大肆渲染。而信息化水平远远落后于社会信息化的政府部门则应更理性一些,别动不动就要建设一个平台。你可以通过软件公司开发一个系统,但无法开发一个平台。不是随随便便一个系统都能成为平台。https://www.jianshu.com/p/8d96645da926
17.为什么汽车企业需要建立独立的BOM系统?并且PDM/PLM系统模块快速迭代,尤其是DMU相关功能的快速发展,系统平台的版本也随之频繁地更新换代。而BOM的业务模式和系统功能相对成熟稳定,将产生大量的运维和升级成本。因此,PDM/PLM与BOM的异平台管理的模式后期只需要考虑商品化PDM/PLM系统以及与BOM系统的接口事项,减少了后期运维、升级成本。https://www.dongchedi.com/article/7127819707750842884