@@ -176,7 +176,7 @@ void RadioTask::rigTask()
176176 rigTaskStartReceive ();
177177
178178 byte *packetBuf = new byte[CfgRadioPacketBufLen];
179- byte *tmpBuf = new byte[CfgRadioPacketBufLen + CfgIvSize + sizeof (config_-> AudioPrivacyData_ ) ];
179+ byte *tmpBuf = new byte[CfgRadioPacketBufLen + CfgIvSize + CfgAuthTagSize ];
180180
181181 while (isRunning_) {
182182 uint32_t cmdBits = 0 ;
@@ -232,7 +232,7 @@ void RadioTask::rigTaskStartTransmit()
232232void RadioTask::rigTaskReceive (byte *packetBuf, byte *tmpBuf)
233233{
234234 int packetSize = radioModule_->getPacketLength ();
235- if (packetSize > CfgIvSize + CfgAuthDataSize && packetSize <= CfgRadioPacketBufLen) {
235+ if (packetSize > CfgIvSize + CfgAuthTagSize && packetSize <= CfgRadioPacketBufLen) {
236236 // receive packet
237237 int state = radioModule_->readData (packetBuf, packetSize);
238238 bool isValidPacket = true ;
@@ -307,31 +307,27 @@ void RadioTask::rigTaskTransmit(byte *packetBuf, byte *tmpBuf)
307307void RadioTask::encryptPacket (byte *inBuf, byte *outBuf, int inBufSize, int & outBufSize)
308308{
309309 int curOutBufSize = inBufSize;
310- // add local auth data into the cipher
311- cipher_->addAuthData (config_->AudioPrivacyData_ , CfgAuthDataSize);
312310 // generate iv and include it into payload head
313311 esp_fill_random (outBuf, CfgIvSize);
314312 cipher_->setIV (outBuf, CfgIvSize);
315313 // encrypt
316314 cipher_->encrypt (outBuf + CfgIvSize, inBuf, inBufSize);
317315 curOutBufSize += CfgIvSize;
318316 // generate auth tag and include it into payload tail
319- cipher_->computeTag (outBuf + curOutBufSize, CfgAuthDataSize );
320- curOutBufSize += CfgAuthDataSize ;
317+ cipher_->computeTag (outBuf + curOutBufSize, CfgAuthTagSize );
318+ curOutBufSize += CfgAuthTagSize ;
321319 outBufSize = curOutBufSize;
322320}
323321
324322bool RadioTask::decryptPacket (byte *inBuf, byte *outBuf, int inBufSize, int & outBufSize)
325323{
326- int curOutBufSize = inBufSize - (CfgIvSize + CfgAuthDataSize);
327- // add local auth data into the cipher
328- cipher_->addAuthData (config_->AudioPrivacyData_ , CfgAuthDataSize);
324+ int curOutBufSize = inBufSize - (CfgIvSize + CfgAuthTagSize);
329325 // set iv from the packet and decrypt
330326 cipher_->setIV (inBuf, CfgIvSize);
331327 cipher_->decrypt (outBuf, inBuf + CfgIvSize, curOutBufSize);
332328 outBufSize = curOutBufSize;
333329 // check tag validity from the received packet
334- return cipher_->checkTag (inBuf + CfgIvSize + curOutBufSize, CfgAuthDataSize );
330+ return cipher_->checkTag (inBuf + CfgIvSize + curOutBufSize, CfgAuthTagSize );
335331}
336332
337333} // LoraDv
0 commit comments