WARNING: This library is EXPERIMENTAL. DO NOT use it on production. Do not use unless you know what you are doing. Also, this library alone DOES NOT provide security to ROS messages exchanges.
This is the official repository of rossec.
rossec is a library developed to provide cryptography on messages exchanges using ROS.
rossec encapsulates implementations of Advanced Encryption Standard (AES), a well-known and NIST approved block cipher specified in FIPS 197.
For confidentiality purposes, rossec provides the use of Chiper Block Chaining (CBC). For both confidentiality and authenticity, rossec operates the cipher in Galios Counter Mode (GCM).
Licensed under GNU GPLv2. Check LICENSE for more info.
- Build & Install Crypto++
- Clone this repo on your catkin_workspace:
git clone https://github.com/frda/rossec.git
- Make:
catkin_make install
- Use it :)
- Include the library into your C++ project
- Use and construct proper algorithm given your security requisites
- Define and set shared secret key
- Warning: please make sure key is safely protected
- Encrypt and decrypt messages
Make sure you have roscore up and running.
- In one tab, run:
rosrun rossec_tests rossec_pub_AESCBC
- In another one, run:
rosrun rossec_tests rossec_listen_AESCBC
For more information and other examples, please see rossec_tests folder.
Please, feel free to create a pull request and submit your changes :)