Merge branch 'master' into add_aad_and_tag_fields
authorMazet Laurent <laurent.mazet@thalesgroup.com>
Fri, 9 May 2025 08:34:37 +0000 (10:34 +0200)
committerMazet Laurent <laurent.mazet@thalesgroup.com>
Fri, 9 May 2025 08:34:37 +0000 (10:34 +0200)
1  2 
pdu_clear_data.c
pdu_clear_data.h
pdu_encrypted_data.c
pdu_encrypted_data.h
simulator/script-black.eth
simulator/script-red.eth
simulator/script-secu.eth
test/script-cross_crypto.eth

index 80669b94993e32b0f8517020e0a37fcf4d96bf68,fbfd820bd2139e6e1d7c3004597ee9362ea16dc8..bfcff507350756de7dc3e41c98eb40b50c2b2361
@@@ -24,8 -24,8 +24,9 @@@ int parse_clear_data (char *line, CLEAR
      PARSE_INT ("CHANNELID", out->channel_id)
      PARSE_INT ("BYPASSLEN", out->bypass_len)
      PARSE_ARRAY ("BYPASS", out->bypass, 1)
 +    PARSE_TAB ("AAD", out->aad)
      PARSE_ARRAY ("DATA", out->data)
+     PARSE_INT ("DATALEN", out->data_len) /* for checking */
      END_PARSE ()
  }
  
@@@ -68,8 -65,8 +69,9 @@@ int check_clear_data (CLEAR_DATA_t *fir
      CHECK_INT ("CHANNELID", first->channel_id, second->channel_id)
      CHECK_INT ("BYPASSLEN", first->bypass_len, second->bypass_len)
      CHECK_ARRAY ("BYPASS", first->bypass, second->bypass)
 +    CHECK_TAB ("AAD", first->aad, second->aad)
      CHECK_ARRAY ("DATA", first->data, second->data)
+     CHECK_INT ("DATALEN", first->data_len, second->data_len)
      END_CHECK ()
  }
  
Simple merge
index c89d2637ec63650a797e8cc6b79c91b48bd45517,b7652320e3833dfc5544b5a91a668d71240a01ea..12356a41cebed51360286993d7cd1c12697c707a
@@@ -22,11 -22,11 +22,12 @@@ int parse_encrypted_data (char *line, E
  {
      BEGIN_PARSE (line)
      PARSE_INT ("CHANNELID", out->channel_id)
 -    PARSE_TAB ("IV", out->iv)
      PARSE_INT ("BYPASSLEN", out->bypass_len)
      PARSE_ARRAY ("BYPASS", out->bypass, 1)
 +    PARSE_TAB ("AAD", out->aad)
 +    PARSE_TAB ("IV", out->iv)
      PARSE_ARRAY ("DATA", out->data)
+     PARSE_INT ("DATALEN", out->data_len) /* for checking */
      END_PARSE ()
  }
  
@@@ -70,11 -67,11 +71,12 @@@ int check_encrypted_data (ENCRYPTED_DAT
  {
      BEGIN_CHECK (fields)
      CHECK_INT ("CHANNELID", first->channel_id, second->channel_id)
 -    CHECK_TAB ("IV", first->iv, second->iv)
      CHECK_INT ("BYPASSLEN", first->bypass_len, second->bypass_len)
      CHECK_ARRAY ("BYPASS", first->bypass, second->bypass)
 +    CHECK_TAB ("AAD", first->aad, second->aad)
 +    CHECK_TAB ("IV", first->iv, second->iv)
      CHECK_ARRAY ("DATA", first->data, second->data)
+     CHECK_INT ("DATALEN", first->data_len, second->data_len)
      END_CHECK ()
  }
  
Simple merge
index 0000000000000000000000000000000000000000,8d370b7d95758eaa4341b54ee10a5f47f2ca4605..a1ab4d52ec2f4f2b3d661c636fe370d247639fa0
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,17 +1,16 @@@
 -#R:CROSS_CRYPTO ENCRYPTED_CROSS_ASYNC CHANNELID=0 BYPASSLEN=0 AAD=00:00:00 IV=@iv.txt DATA=@encryptred.txt
 -R:CROSS_CRYPTO ENCRYPTED_CROSS_ASYNC CHANNELID=0 BYPASSLEN=0 IV=@iv.txt DATA=@encrypted.txt
+ # Black test script
+ # key provisioning
+ # radio configuration
+ R:BYPASS BYPASSED_CROSS_ASYNC DATA="Radio\ Configuration"
+ # send data
++R:CROSS_CRYPTO ENCRYPTED_CROSS_ASYNC CHANNELID=0 BYPASSLEN=0 AAD=00:00:00 IV=@iv.txt DATA=@encrypted.txt
+ # wait
+ SLEEP 1000
+ # receive data
+ T:CROSS_CRYPTO DECRYPT_CROSS_ASYNC CHANNELID=0 IV=@iv.txt DATA=@encrypted.txt
index 0000000000000000000000000000000000000000,d9e23bfce6d80a47463902cf8a6f2bd3de4512bd..45572169592c63b4f7d2287df046458c04cc1cd1
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,20 +1,20 @@@
 -R:CROSS_CRYPTO DECRYPTED_CROSS_ASYNC CHANNELID=0 BYPASSLEN=0 DATA=@decrypted.txt
+ # Red test script
+ # key provisioning
+ T:PROVISIONING LOAD_KEY_REQ KEYID=0 KEY=@key.txt
+ R:PROVISIONING LOAD_KEY_RESP STATUS=0
+ # radio configuration
+ T:BYPASS BYPASS_CROSS_ASYNC DATA="Radio\ Configuration"
+ T:CONTROL STATUS_REQ
+ R:CONTROL STATUS_RESP STATUS=4
+ # send data
+ T:CROSS_CRYPTO ENCRYPT_CROSS_ASYNC CHANNELID=0 DATA=@plaintext.txt
+ # wait
+ SLEEP 1000
+ # receive data
++R:CROSS_CRYPTO DECRYPTED_CROSS_ASYNC CHANNELID=0 BYPASSLEN=0 AAD=00:00:00:00 DATA=@decrypted.txt
index 0000000000000000000000000000000000000000,bfd6ef0318ae2c19c86706a6875fb721182ed65b..e57d73ce7ff6497f81fbf503cddf4c18c8fffd09
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,25 +1,23 @@@
 -#R:CROSS_CRYPTO_RED ENCRYPT_CROSS_ASYNC CHANNELID=0 BYPASSLEN=0 AAD=00:00:00:00 DATA=@plaintext.txt
 -R:CROSS_CRYPTO_RED ENCRYPT_CROSS_ASYNC CHANNELID=0 BYPASSLEN=0 DATA=@plaintext.txt
+ # Secu test script
+ # key provisioning
+ R:PROVISIONING LOAD_KEY_REQ KEYID=0 KEY=@key.txt
+ T:PROVISIONING LOAD_KEY_RESP STATUS=0
+ # radio configuration
+ R:BYPASS_RED BYPASS_CROSS_ASYNC DATA="Radio\ Configuration"
+ T:BYPASS_BLACK BYPASSED_CROSS_ASYNC DATA="Radio\ Configuration"
+ R:CONTROL STATUS_REQ
+ T:CONTROL STATUS_RESP STATUS=4
+ # send data
 -#R:CROSS_CRYPTO_BLACK DECRYPT_CROSS_ASYNC CHANNELID=0 BYPASSLEN=0 ADD=00:00:00:00 IV=@iv.txt DATA=@encrypted.txt
 -R:CROSS_CRYPTO_BLACK DECRYPT_CROSS_ASYNC CHANNELID=0 BYPASSLEN=0 IV=@iv.txt DATA=@encrypted.txt
++R:CROSS_CRYPTO_RED ENCRYPT_CROSS_ASYNC CHANNELID=0 BYPASSLEN=0 AAD=00:00:00:00 DATA=@plaintext.txt
+ T:CROSS_CRYPTO_BLACK ENCRYPTED_CROSS_ASYNC CHANNELID=0 IV=@iv.txt DATA=@encrypted.txt
+ # wait
+ #SLEEP 1000
+ # receive data
++R:CROSS_CRYPTO_BLACK DECRYPT_CROSS_ASYNC CHANNELID=0 BYPASSLEN=0 AAD=00:00:00:00 IV=@iv.txt DATA=@encrypted.txt
+ T:CROSS_CRYPTO_RED DECRYPTED_CROSS_ASYNC CHANNELID=0 DATA=@decrypted.txt
index 0000000000000000000000000000000000000000,dd7ce18aed8305d171056a46a6ca1696f8276069..1cd78c69eb73b4fef69427b65b1e00ce6c4d4806
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,13 +1,13 @@@
 -T:CROSS_CRYPTO ENCRYPT_CROSS_ASYNC CHANNELID=2 BYPASSLEN=4 BYPASS=11:22:33:44 DATA=@test/script-local_crypto.eth
 -R:CROSS_CRYPTO ENCRYPT_CROSS_ASYNC CHANNELID=2 BYPASSLEN=4 BYPASS=11:22:33:44
+ # Cross crypto test script
 -T:CROSS_CRYPTO ENCRYPTED_CROSS_ASYNC CHANNELID=9 BYPASSLEN=1 BYPASS=55 DATA=@test/script-local_crypto.eth
 -R:CROSS_CRYPTO ENCRYPTED_CROSS_ASYNC BYPASSLEN=1 BYPASS=55
++T:CROSS_CRYPTO ENCRYPT_CROSS_ASYNC CHANNELID=2 BYPASSLEN=4 BYPASS=11:22:33:44 AAD=01:02:03:04 DATA=@script-local_crypto.eth
++R:CROSS_CRYPTO ENCRYPT_CROSS_ASYNC CHANNELID=2 BYPASSLEN=4 BYPASS=11:22:33:44 AAD=01:02:03:04
++T:CROSS_CRYPTO ENCRYPTED_CROSS_ASYNC CHANNELID=9 BYPASSLEN=1 BYPASS=55 DATA=@script-local_crypto.eth
++R:CROSS_CRYPTO ENCRYPTED_CROSS_ASYNC BYPASSLEN=1 BYPASS=55 DATA=@script-local_crypto.eth
+ T:CROSS_CRYPTO DECRYPT_CROSS_ASYNC CHANNELID=5 BYPASSLEN=0 DATA=@test/script-local_crypto.eth
+ R:CROSS_CRYPTO DECRYPT_CROSS_ASYNC DATA=@test/script-local_crypto.eth
+ T:CROSS_CRYPTO DECRYPTED_CROSS_ASYNC CHANNELID=0 BYPASSLEN=4 BYPASS=11:22:33:44 DATA=@test/script-cross_crypto.eth
+ R:CROSS_CRYPTO DECRYPTED_CROSS_ASYNC DATA=@test/script-cross_crypto.eth CHANNELID=0