当前位置: 首页 > news >正文

低功耗4G模组的小秘密:RSA算法示例驾到,通通闪开...

在实际应用中,低功耗4G模组的RSA算法示例具有重要的价值,所以今天我们学习合宙低功耗4G模组Air780EP_LuatOS_rsa示例:

1.简介

RSA算法的安全性基于:将两个大质数相乘很容易,但是想要将其乘积分解成原始的质数因子却非常困难。

  • 关联文档和使用工具:

  • LuatOS 固件获取

  • rsa-demo

  • Luatools下载调试工具

  • 开发板Core_Air780EP使用说明

2.材料准备

2.1 Air780EP开发板一套

图片

3.程序介绍

API说明

RSA加密

rsa.encrypt(key, data)

参数

传入值类型解释

string

公钥数据,仅支持PEM格式

string

待加密数据, 不能超过公钥位数的一半, 例如 2048bit的公钥, 只能加密128字节的数据

返回值

返回值类型解释

string

加密成功后的数据,若失败会返回nil

RSA解密

rsa.decrypt(key, data, pwd)

参数

传入值类型解释

string

私钥数据,仅支持PEM格式

string

待解密数据

string

私钥的密码,可选

返回值

返回值类型解释

string

解密成功后的数据,若失败会返回nil

计算sha1值

crypto.sha1(str)

参数

传入值类型解释

string

需要计算的字符串

返回值

返回值类型解释

string

计算得出的sha1值的hex字符串

RSA签名

rsa.sign(key, md, hash, pwd)

参数

传入值类型解释

string

私钥数据,仅支持PEM格式

int

签名模式, 例如 rsa.MD_SHA1 , rsa.MD_SHA256

string

hash数据, 如果是HEX字符串,记得fromHex转二进制数据

string

私钥密码, 可选

返回值

返回值类型解释

string

成功返回sig数据, 否则返回nil

RSA验签

rsa.verify(key, md, hash, sig)

参数

传入值类型解释

string

公钥数据,仅支持PEM格式

int

签名模式, 例如 rsa.MD_SHA1 , rsa.MD_SHA256

string

hash数据, 如果是HEX字符串,记得fromHex转二进制数据

string

sig数据, 如果是HEX字符串,记得fromHex转二进制数据

返回值

返回值类型解释

bool

有效返回true,否则为false,出错返回nil

4.程序demo讲解
4.1 rsa加密

读取文件public.pem中的公钥然后加密数据。

图片

4.2 rsa解密

读取privkey.pem文件中的私钥,然后采用rsa解密数据

图片

4.3 计算字符串的sha1值
 

图片

4.4 签名

读取privkey.pem中的私钥数据(仅支持PEM格式),采用rsa.MD_SHA1模式签名

图片

4.5 验签

读取public.pem文件中的公钥数据,采用rsa.MD_SHA1模式验签

图片

5.效果展示
5.1 下载固件和脚本

图片

5.2 效果展示

图片

以上分享完毕,发现小秘密了吗?


http://www.mrgr.cn/news/55775.html

相关文章:

  • AI 自学 Lesson2 - 回归(Regression)
  • 利用 PyTorch 进行深度学习训练过程中模型的 .eval() 和 .train() 属性介绍
  • MySQL | Explain的是使用详解
  • 限制游客在wordpress某分类下阅读文章的数量
  • smbms(2)
  • 深度解析机器学习的四大核心功能:分类、回归、聚类与降维
  • 一分钟运行DBT入门示例项目(Jaffle Shop)
  • 新的类Rufus应用可带来简单的Windows 11 24H2安装旁路
  • 【07】z检验
  • Redis在实践的关键点
  • autMan框架对接飞书机器人
  • Golang | Leetcode Golang题解之第500题键盘行
  • Flutter Container容器组件实战案例
  • 精选录屏软件下载工具:记录精彩每一刻
  • 基于leaflet-polygon.fillPattern的面状对象图片填充实现
  • SQL CHECK 约束:确保数据完整性的关键
  • 【星闪技术】WS63E模块实时显示当前环境温湿度
  • ARL 灯塔 | CentOS7 — ARL 灯塔搭建流程(Docker)
  • AI学习指南深度学习篇-对比学习(Contrastive Learning)简介
  • 用malloc申请空间的开辟和free空间的释放
  • 计算机网络基本命令
  • 《深度学习》 了解YOLO基本知识
  • Java全栈经典面试题剖析2】JavaSE面向对象1
  • 复盘秋招22场面试(四)形势重新评估与后续措施
  • 【论文学习与撰写】,论文word文档中出现乱码的情况,文档中显示的乱码,都是英文字母之类的,但打印预览是正常的
  • ARL 灯塔 | ARL 灯塔 — 指纹添加