美文网首页
rsa算法与在嵌入式设备中的移植

rsa算法与在嵌入式设备中的移植

作者: wit_yuan | 来源:发表于2019-10-07 08:58 被阅读0次

1.算法简介

rsa是一种非对称加密算法(公钥私钥是不同的)。

首先有几个约定俗称的名称:公钥指数e、私钥指数d和模值n.

算法描述:
(1)选择一对不同的、足够大的素数p,q。
(2)计算n=p*q
(3)计算f(n)=(p-1)*(q-1),同时对p,q严加保密,不让任何人知道。
(4)找一个与f(n)互质的数e,且1<e<f(n)。
(5)计算d,使得d*e≡1\ mod\ f(n)。这个公式也可以表达为d ≡e^{-1}\ mod\ f(n)
这里要解释一下,≡是数论中表示同余的符号。公式中,≡符号的左边必须和符号右边同余,也就是两边模运算结果相同。显而易见,不管f(n)取什么值,符号右边1 mod f(n)的结果都等于1;符号的左边d与e的乘积做模运算后的结果也必须等于1。这就需要计算出d的值,让这个同余等式能够成立。
(6)公钥KU=(e,n),私钥KR=(d,n)。
(7)加密时,先将明文变换成0至n-1的一个整数M。若明文较长,可先分割成适当的组,然后再进行交换。设密文为C,则加密过程为:c≡M^e (mod\ n)
(8)解密过程为:M≡C^d (mod\ n)

2.算法案例

A将明文"key"传送给B,需要设计公钥(e,n)与私钥(d,n).

假设:

1.p=3,q=11,则n=p*q=33
2.f(n)=2*10=20
3.取e=3,则e与f(n)互质
4.可以设计出d=7
5.可以设计出公钥KU=(e,n)=(3,33)与私钥KR=(d,n)=(7,33)

3.实践

其实初始参考:stm32加密库 ,发现在我的单片机上编译不通过,也就使用不了rsa了。如果单靠移植的话,那需要找到更加稳定的代码,找openssl发现不好移植,也就不了了之了。

4.资源

尽管在单片机上没有把rsa做上去,但还是要列一下找到的资源。

1.rsa在线加解密工具

相关文章

  • rsa算法与在嵌入式设备中的移植

    1.算法简介 rsa是一种非对称加密算法(公钥私钥是不同的)。 首先有几个约定俗称的名称:公钥指数e、私钥指数d和...

  • RSA加密算法详解

    什么是RSA算法? RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA是197...

  • 密码学第二次实验报告:RSA算法

    实验题目 RSA算法 实验目的 了解公钥算法基本原理和RSA算法的原理。了解RSA算法在数据加密和数字签名中的应用...

  • iOS逆向与安全1.0 :RSA加密

    摘自百度百科-RSA: RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业 中RSA被...

  • RSA加密算法(java版)

    算法简介 RSA加密算法是一种非对称加密算法,在公开密钥加密和电子商业中RSA被广泛使用。 算法实现 1、RSAU...

  • RSA从原理到ctf解题(原理篇)

    简介: RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA是1977年由罗纳德...

  • 局1_RSA算法和SM2算法

    RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯...

  • RSA 密钥的生成

    简介 RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·...

  • angularjs和vue实现RAS加密

    一. 什么是RSA?RSA算法是现今使用最广泛的公钥密码算法,也是号称地球上最安全的加密算法。在了解RSA算法之前...

  • 如何切换opencv2 3

    背景: 最近,在Nvidia的GPU嵌入式开发板Jetson TX1(简称TX1)上移植深度学习目标检测算法YOL...

网友评论

      本文标题:rsa算法与在嵌入式设备中的移植

      本文链接:https://www.haomeiwen.com/subject/evgppctx.html