广工物联网信息安全实验报告 - 图文(5)

2019-03-22 18:54

/*发送数据函数 */ void rfSendData(void) { uint8 PlainText[]={'G','D','U','T', '2', '5'}; //明文,请将'2', '5'更改为各个小组的组号 uint16 CipherText[sizeof PlainText]; //密文 uint8 pTxData[128]; //存放发送数据 RSA_KEY Key=CreateRSAKey(25); //请将25更改为各个小组的组号 RSA_Encrypt( Key.Pu, PlainText, CipherText, sizeof PlainText ); //产生密文 pTxData[0]=25; //请将25更改为各个小组的组号 pTxData[1]=sizeof PlainText memcpy(pTxData+2, CipherText, sizeof CipherText); while(TRUE){ basicRfSendPacket(RECV_ADDR, pTxData, (sizeof CipherText)+2); //发送数据 halMcuWaitMs(1000); } } 注意,上面代码有三个地方需要改为各实验小组的组号。

6)修改接收数据函数rfRecvData()。接收节点不断接收各个发送节点发送的信息,先判断数据的第一个字节是不是本站点,如果是再进行解密。通过串口显示结果。

/* 接收数据函数 */ void rfRecvData(void) { uint8 pRxData[128]; //用来存放接收到的数据 int i,rlen; basicRfReceiveOn(); //打开接收器 uint8 PlainText[64]; while (TRUE) { while(!basicRfPacketIsReady()); //等待直到数据准备好 rlen = basicRfReceive(pRxData, sizeof pRxData, NULL); //接收数据 if(rlen > 0 && pRxData[0]==25) { //接收到数据且为发送给本站点的。请修改本小组的组号 for(i=0;i

7)编写一个RSA解密函数RSA_Decrypt ( )。其中省略号部分自己填充完成。

21

/* RSA解密函数 */ void RSA_Decrypt( RSA_PRIVATEKEY PrKey, uint16 *CipherText, uint8 *PlainText, int Len ) { int i=0, j=0; uint16 temInt = 0; for( i=0; i

if(rlen > 0 && pRxData[0]==25) { //接收到数据,且为发送给本站点的 RSA_Decrypt(Key.Pr, pRxData+2, PlainText, pRxData[1]); for(i=0;i

实验的结果注意观察下列情况,并对比(截图保存)。

1) 发送节点发送密文,接收节点接收后显示密文,对应步骤6。

2)发送节点发送密文,接收节点接收后解密并显示明文,对应步骤8。

22

六、实验总结

经过本次实验,我掌握了消息RSA密钥生成和加密算法的原理,学会了自己编写一个RSA解密函数,并通过调用这个函数来对接收到的密文进行解密,更加深刻地理解了非对称加密算法的运用。

23


广工物联网信息安全实验报告 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:天佑煤矿“三个一”活动实施方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: