RSA算法在单片机上的一种应用

该博客探讨了如何将RSA加密算法应用于单片机的驱动程序中,详细介绍了在单片机矩阵键盘和显示屏模块下进行输入输出操作的方法。内容包括RSA算法的驱动函数实现和整体方案的主函数代码。
摘要由CSDN通过智能技术生成

本博客主要介绍将RSA加密算法应用到单片机编码之中的一种方法。借助单片机矩阵键盘和显示屏模块进行输入和输出操作。因本方案已经应用到省创项目中,再次只重点介绍RSA算法的应用在驱动程序中的编码以及主函数编码。

1.rsa算法在单片机驱动中的函数

uchar Set_Key(uchar e)
{
   
	uchar d;
    // 公钥   n=221	 p=13 q=17
    uchar t=192;
    //随机选择1到t之间的一个数且e与t互质 e=23
    if(e<1||e>t)
    {
   
        return 0; //e取的不对,设置密码失败
    }
    d=1;
    while((e*d)%t!=1)   d++;//求模反元素d ,d为私钥 d=167
	RSA_e=e;
    RSA_d=d;
	return 1;
}

uchar candp(uchar a,uchar b,uchar c)//加密解密 
{
    
    uint r=1;
    b=b+1;
    while(b!=1)
    {
   
        r=r*a;
        r=r%c;
        b--;
    }
    return r;
}

void RSA_Encode(char *str)
{
   
	uchar i=0;
	for(i=0;i<17;i++)
	{
   
		rsa_pw[i]=0;
	}
	i=0;
	while(*str)
	{
   
		rsa_pw[i++]=ENCODE(*str++);
	}
}
void RSA_Decode(uchar *str)
{
   
	uchar i=0;
	for(i=0;i<17;i++)
	{
   
		rsa_decode[i]=' ';
	}
	rsa_decode[14]=0;
	rsa_decode[15]=0;
	rsa_decode[16]=0;
	i=0;
	while(*str)
	{
   
		rsa_decode[i++]=DECODE(*str++);
	}
}

2.整体方案主函数代码

#include "mydriver.h"

uchar password[17]="";	   //键盘输入的未加密密码
uchar rsa_pw
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值