低功耗4G模组:RSA算法示例

news/2024/10/20 16:51:17

今天我们学习合宙低功耗4G模组Air780EP_LuatOS_rsa示例,文末【阅读原文】获取最新资料。

一、简介

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

  • 关联文档和使用工具:

  • LuatOS 固件获取

  • rsa-demo

  • Luatools下载调试工具

  • 开发板Core_Air780EP使用说明

二、材料准备

2.1 Air780EP开发板一套

 

三、程序介绍

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

四、程序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.1 下载固件和脚本

图片

5.2 效果展示

图片

今天就分享到这里了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/73865.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

怎么修改公司网站

修改公司网站通常涉及多个步骤,包括设计、开发、测试和部署。以下是一个详细的流程,帮助你顺利完成网站的修改工作: 1. 确定需求明确目标:确定你需要修改的内容,比如更新文本、添加新功能、改进设计等。 收集反馈:从内部员工和外部用户那里收集反馈,了解他们对现有网站的…

数据采集与融合技术实践--作业二

数据采集与融合技术作业二 📌1.相关信息及链接名称 信息及链接学号姓名 102202108 王露洁本次作业要求链接 https://edu.cnblogs.com/campus/fzu/2024DataCollectionandFusiontechnology/homework/13285作业①所在码云链接 https://gitee.com/wanglujieeee/crawl_project/tre…

欧拉路径学习笔记

简介 定义:欧拉回路:通过图中每条边恰好一次的回路 欧拉通路:通过图中每条边恰好一次的通路 欧拉图:具有欧拉回路的图 半欧拉图:具有欧拉通路但不具有欧拉回路的图摘自: oi-wiki。 定义说白了就是小学的一笔画问题,这里直接给出三道例题。P7771 【模板】欧拉路径,CF508D…

网站连接数据库怎么办

连接网站到数据库通常涉及以下几个步骤:选择数据库类型:常见的数据库类型有 MySQL、PostgreSQL、SQLite、MongoDB 等。 根据项目需求选择合适的数据库。安装数据库驱动:根据所选的数据库类型和开发环境,安装相应的数据库驱动。 例如,对于 Python 和 MySQL,可以使用 mysql…

td导航zlibrary镜像入口及国内可访问地址

TD导航是一个综合性的网址导航网站,它致力于为用户提供便捷、高效的上网体验。在这个平台上,用户可以轻松找到各类热门网站和实用工具,无论是新闻资讯、社交娱乐、购物消费,还是学习教育、工作办公等领域,TD导航都提供了丰富的资源链接。 TD导航的界面设计简洁明了,分类清…

20222422 2024-2025-1 《网络与系统攻防技术》实验二实验报告

一.实验内容 (1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定) PS:cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程 (2)使用socat获取主机操作Shell, 任务计划启动 (3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或soc…

2024-2025-1(20241321)《计算机基础与程序设计》第四周学习总结

这个作业属于哪个课程 <班级的链接>(2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标 <了解并学习AI功能,回顾一周课程心得>作业正文 ... 本博客链接https://www.cnblo…