Étape 8: Cryptage démo
Le fichier msp430_demo.zip contient tout le nécessaire pour générer et exécuter cette démo. Il utilise la bibliothèque de nrf24 même que le Galileo et a de légères modifications, donc il s’appuiera sur le MSP430. Le code AES-128 pour le MSP430 vient Texas Instruments (AES_128.zip).
Le code ici interroge simplement l’état du port 2 pour tout changement de NIP chaque 20ms. Si un changement est vu, l’état actuel du port est chiffré à AES-128 et ensuite envoyés via le module nRF24L01. Puisqu’il n’y a pas de boutons physiques (fils de métal juste toucher) il n’est pas nécessaire de debounce les entrées de port.
Il est à noter que cette démo n’implémente pas de cryptage sécurisé ou authentifié, ni si il n’a été jamais prévu pour. Le but était d’illustrer un scénario où il serait commode pour l’esquisse de Galileo passer des données à un processus différent. Au lieu de devoir dépenser temps ré-écriture ou vous cherchez une librairie Arduino appropriée pour le déchiffrement, vous pouvez simplement utiliser le module PyCrypto (ce qui est assez vaste). Exécution de la démo
Avec le MSP430 et Galileo mis sous tension, lancez le script shm_python comme indiqué ci-dessus. Lorsque vous la terre l’un des six port 2 broches sur le MSP430 qui devra figurer un message disant quel code pin a été enfoncée. L’encodage actuel de shm_python.py est spécifique à la façon dont les fils ont été aménagés sur ma maquette. Le code MSP430 prend en charge la mise à la terre de plusieurs codes PIN - valeurs supplémentaires juste besoin d’être ajouté au dictionnaire clé en shm_decrypt.py.
Pour détruire les objets de la CIB, téléchargez python_interface.zip et exécutez tui.py (nécessite pySerial) de l’ordinateur que vous avez utilisé pour programmer le Galileo. Lancement de tui.py s’ouvre un port COM (COM 5 par défaut) à 115200 bauds. Il s’agit d’un simple script pour envoyer et recevoir des données série compatibles avec le protocole codé dans galileo_ipc.ino. Lecture du Registre 1 appellera myBuffer.close() au sein de l’esquisse. C'est-à-dire
SER r 1Il s’agit pour la plupart un WIP moi mais je l’ai inclus par souci d’exhaustivité. Vous pouvez également supprimer le protocole serial dans galileo_ipc.ino et utiliser une autre méthode que vous préférez.