关闭

信息安全:ECC(椭圆曲线密码学)验签性能测试

发表于:2024-1-24 09:56

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:茉莉雨    来源:网络

  提到ECC(Elliptic Curve Cryptography,椭圆曲线密码学),自然就联想到非对称加密算法。随着车辆信息安全的要求越来越高,安全等级更高的密码学算法也越来越广泛的被使用,其中,ECC就是一个代表。本文,聊一聊ECC相关话题,主要内容如下:
  1 ECC与ECDSA关系
  ECC在椭圆曲线上选取两点,通过点和点之间的计算,实现加????密、数字签名和密钥???交换等功能,它是一种公钥加密技术。??相比于RSA等公钥密码技术,ECC的主要优势:相同安全级别工况下,可以使用更短的密钥,eg:256 Bit的ECC密钥提供的安全等级近似3072 Bit的RSA密钥安全等级。
  而ECDSA(Elliptic Curve Digital Signature Algorithm)是一种使用椭圆曲线密码学作为基础数学结构的数字签名算法。ECDSA主要用来验证信息的完整性和有效性,由对应私钥的签名方生成。
  2 ECC公钥、私钥
  ECC包含一对密钥:公钥、私钥。公钥主要用于加密或验签,而私钥主要用于解密或生成签名。汽车嵌入式中,往往关注验签操作。
  (一)密钥生成原理
  ECC密钥生成过程:
  首先,选择一条椭圆曲线,然后选择一个已知曲线上的基点G。其中,曲线有多种,eg:SECP256K1、SECP192R1、SECP256R1......
  之后,选择一个随机私钥(随机整数);
  最后,通过基点G乘以私钥,生成公钥。即:公钥 = 私钥 * G。
  (二)密钥存储格式
  ECC的公钥和私钥可以采用多种格式存储,比如:PEM格式、DER格式、PKCS#12格式等等。
  (三)数字签名及验证
  通常,信任中心通过私钥对明文的哈希值(eg:sha256计算的哈希值)进行签名(Signature),生成数字签名信息;
  软件程序使用对应的公钥来验证签名(Verify),以此确保消息的完整性和真实性(唯一性)。
  签名和验证流程,如下所示:
  3 ECC验签一次性能测试
  基于TC3xx,对ECC(硬件)进行验签性能测试,一次验签大概85ms(性能取决于各家的实现情况),统计如下所示:
  相比于RSA验签,ECC验签速度慢一些,参考数据如下(1):
  如上数据统计仅供参考,对于车载MCU级别芯片,速度应该还达不到上述性能。工程中,很多时候会约束控制器的启动时间,所以,在选择验签算法(eg:非对称加密算法)时,需要根据项目和使用芯片平台等因素,综合衡量。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号