--- /dev/null
+#!/bin/env python3
+
+#import os
+from cryptography.hazmat.primitives.ciphers.aead import AESGCM
+
+# Read file
+with open('key.txt', 'rb') as infile:
+ key = infile.read()
+with open('iv.txt', 'rb') as infile:
+ nonce = infile.read()
+with open('encrypted.txt', 'rb') as infile:
+ data = infile.read()
+
+# Encryption
+aad = None
+aesgcm = AESGCM(key)
+plaintxt = aesgcm.decrypt(nonce, data, aad)
+
+# Writing
+
+with open('decrypted.txt', 'wb+') as outfile:
+ outfile.write(plaintxt)
--- /dev/null
+#!/bin/env python3
+
+import os
+from cryptography.hazmat.primitives.ciphers.aead import AESGCM
+
+# Read file
+with open('key.txt', 'rb') as infile:
+ key = infile.read()
+with open('plaintext.txt', 'rb') as infile:
+ data = infile.read()
+
+# Encryption
+aad = None
+aesgcm = AESGCM(key)
+nonce = os.urandom(12);
+ciphertxt = aesgcm.encrypt(nonce, data, aad)
+
+# Writing
+with open('encrypted.txt', 'wb+') as outfile:
+ outfile.write(ciphertxt)
+with open('iv.txt', 'wb+') as outfile:
+ outfile.write(nonce)
--- /dev/null
+This is a very smart pass phrase
\ No newline at end of file
--- /dev/null
+# -*- Makefile -*-
+
+PYTHON = python3
+SHELL = bash
+
+compare: decrypted.txt plaintext.txt
+ cmp $+ && echo -e "\033[1;32mOK\033[0;0m" || echo -e "\033[1;31mKO\033[0;0m"
+
+encrypted.txt iv.txt: encrypt.py key.txt plaintext.txt
+ $(PYTHON) $<
+
+decrypted.txt: decrypt.py key.txt iv.txt encrypted.txt
+ $(PYTHON) $<
+
+clean:
+ rm encrypted.txt iv.txt decrypted.txt
--- /dev/null
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque maximus euismod condimentum. Duis tempus elit sit amet justo molestie sodales. Quisque malesuada sodales tortor. Nunc a ornare justo. Vestibulum eu bibendum erat, at rutrum justo. Quisque pretium luctus pellentesque. Maecenas lectus nibh, dignissim sit amet justo non, sagittis auctor orci.
+
+Integer fringilla ipsum in sodales auctor. Phasellus magna quam, aliquet vitae nisl sit amet, gravida venenatis diam. Quisque at metus ornare, consectetur enim in, luctus neque. Quisque dignissim diam sit amet massa eleifend euismod. Phasellus nulla sem, feugiat ut bibendum nec, bibendum non odio. In pharetra, nibh vitae porta pharetra, dolor nunc fermentum neque, et lacinia tellus metus a ligula. Quisque aliquet ac leo a fringilla. Nunc porttitor vehicula ullamcorper. Ut vehicula lectus convallis neque mollis, et malesuada libero porta.
--- /dev/null
+# 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=@encryptred.txt
+R:CROSS_CRYPTO ENCRYPTED_CROSS_ASYNC CHANNELID=0 BYPASSLEN=0 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
+
--- /dev/null
+# 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 DATA=@decrypted.txt
+
--- /dev/null
+# 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_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
+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 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
+T:CROSS_CRYPTO_RED DECRYPTED_CROSS_ASYNC CHANNELID=0 DATA=@decrypted.txt
+
--- /dev/null
+#!/bin/sh
+
+[ "$SIMULATOR" ] || SIMULATOR=./morep_simulator.exe
+
+ETH_RADIORED=enp0s4://52:54:00:12:34:57
+ETH_SECRED=enp0s4://52:54:00:12:34:59
+ETH_SECBLACK=enp0s4://52:54:00:12:34:59
+ETH_RADIOBLACK=enp0s4://52:54:00:12:34:57
+
+case "$1" in
+red)
+ $SIMULATOR -l script-red.log \
+ -s BYPASS -t $ETH_SECRED/080D -r $ETH_RADIORED/080D \
+ -s CONTROL -t $ETH_SECRED/080E -r $ETH_RADIORED/080E \
+ -s CROSS_CRYPTO -t $ETH_SECRED/0809 -r $ETH_RADIORED/0809 \
+ -s PROVISIONING -t $ETH_SECRED/080B -r $ETH_RADIORED/080B \
+ script-red.eth -v 3 -V 3
+ ;;
+secu)
+ $SIMULATOR -l script-secu.log \
+ -s BYPASS_BLACK -t $ETH_RADIOBLACK/081D -r $ETH_SECBLACK/081D \
+ -s BYPASS_RED -t $ETH_RADIORED/080D -r $ETH_SECRED/080D \
+ -s CONTROL -t $ETH_RADIORED/080E -r $ETH_SECRED/080E \
+ -s CROSS_CRYPTO_BLACK -t $ETH_RADIOBLACK/0819 -r $ETH_SECBLACK/0819 \
+ -s CROSS_CRYPTO_RED -t $ETH_RADIORED/0809 -r $ETH_SECRED/0809 \
+ -s PROVISIONING -t $ETH_RADIORED/080B -r $ETH_SECRED/080B \
+ script-secu.eth -v 3 -V 3
+ ;;
+black)
+ $SIMULATOR -l script-black.log \
+ -s BYPASS -t $ETH_SECBLACK/081D -r $ETH_RADIOBLACK/081D \
+ -s CROSS_CRYPTO -t $ETH_SECBLACK/0819 -r $ETH_RADIOBLACK/0819 \
+ script-black.eth -v 3 -V 3
+ ;;
+*)
+ echo "usage: $(basename $0) [red|secu|black]"
+esac
+
+# vim: set ts=4 sw=4 si et: