Cryptographic API for Embedded Applications

Felipe Michels Fontoura, C. Maziero, M. A. Wehrmeister
{"title":"Cryptographic API for Embedded Applications","authors":"Felipe Michels Fontoura, C. Maziero, M. A. Wehrmeister","doi":"10.1109/SBESC.2016.034","DOIUrl":null,"url":null,"abstract":"This paper presents GEmSysC, an unified cryptographic API for embedded systems. Software layers implementing this API can be built over existing libraries, allowing embedded software to access cryptographic functions in a consistent way that does not depend on the underlying library. The API complies to good practices for API design and good practices for embedded software development and took its inspiration from other cryptographic libraries and standards. The main inspiration for creating GEmSysC was the CMSIS-RTOS standard, which defines an unified API for embedded software in a implementation-independent way, but targets operating systems instead of cryptographic functions. GEmSysC is made of a generic core and attachable modules, one for each cryptographic algorithm. Until now, three modules were been fully specified: AES, RSA, and SHA-256. As a proof of concept, two implementations of GEmSysC were made. One of them was built over wolfSSL, which is an open source library for embedded systems. The other was built over OpenSSL, which is open source and a de facto standard. Unlike wolfSSL, OpenSSL does not specifically target embedded systems. This paper displays test results showing GEmSysC to be simpler than other libraries in some aspects. These results have shown that both implementations incur in little overhead in computation time compared to the cryptographic libraries themselves. The overhead of the implementation has been measured for each cryptographic algorithm and is between around 0% and 0.17% for the implementation over wolfSSL and between 0.03% and 1.40% for the one over OpenSSL. This document also presents the memory costs for each implementation.","PeriodicalId":336703,"journal":{"name":"2016 VI Brazilian Symposium on Computing Systems Engineering (SBESC)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 VI Brazilian Symposium on Computing Systems Engineering (SBESC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SBESC.2016.034","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

This paper presents GEmSysC, an unified cryptographic API for embedded systems. Software layers implementing this API can be built over existing libraries, allowing embedded software to access cryptographic functions in a consistent way that does not depend on the underlying library. The API complies to good practices for API design and good practices for embedded software development and took its inspiration from other cryptographic libraries and standards. The main inspiration for creating GEmSysC was the CMSIS-RTOS standard, which defines an unified API for embedded software in a implementation-independent way, but targets operating systems instead of cryptographic functions. GEmSysC is made of a generic core and attachable modules, one for each cryptographic algorithm. Until now, three modules were been fully specified: AES, RSA, and SHA-256. As a proof of concept, two implementations of GEmSysC were made. One of them was built over wolfSSL, which is an open source library for embedded systems. The other was built over OpenSSL, which is open source and a de facto standard. Unlike wolfSSL, OpenSSL does not specifically target embedded systems. This paper displays test results showing GEmSysC to be simpler than other libraries in some aspects. These results have shown that both implementations incur in little overhead in computation time compared to the cryptographic libraries themselves. The overhead of the implementation has been measured for each cryptographic algorithm and is between around 0% and 0.17% for the implementation over wolfSSL and between 0.03% and 1.40% for the one over OpenSSL. This document also presents the memory costs for each implementation.
嵌入式应用的加密API
本文提出了一种用于嵌入式系统的统一加密API GEmSysC。实现此API的软件层可以在现有库上构建,从而允许嵌入式软件以不依赖于底层库的一致方式访问加密功能。该API遵循API设计的良好实践和嵌入式软件开发的良好实践,并从其他加密库和标准中获得灵感。创建GEmSysC的主要灵感来自CMSIS-RTOS标准,该标准以独立于实现的方式为嵌入式软件定义了统一的API,但针对的是操作系统而不是加密功能。GEmSysC由通用核心和附加模块组成,每个模块对应一个加密算法。到目前为止,已经完全指定了三个模块:AES、RSA和SHA-256。作为概念验证,我们制作了GEmSysC的两个实现。其中一个是基于wolfSSL构建的,这是一个用于嵌入式系统的开源库。另一个是基于OpenSSL构建的,OpenSSL是开源的,也是事实上的标准。与wolfSSL不同,OpenSSL并不专门针对嵌入式系统。本文给出了测试结果,表明GEmSysC在某些方面比其他库更简单。这些结果表明,与加密库本身相比,这两种实现在计算时间上的开销都很小。对每种加密算法的实现开销进行了测量,在wolfSSL上实现的开销在0%到0.17%之间,在OpenSSL上实现的开销在0.03%到1.40%之间。本文档还介绍了每种实现的内存成本。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信