PSACrypto Arduino Library
PSACrypto is an Arduino library that implements the cryptography functionality of the Platform Security Architecture (PSA) API. It provides a standardized and easy-to-use interface for cryptographic operations on Arduino boards, ensuring secure communication, data integrity, and confidentiality.
PSACrypto is designed specifically for building Decentralized Infrastructure Networks (DePIN) projects.
To find more examples of DePIN projects, you can visit DePIN Scan
Features
- Secure Key Generation: Generate secure cryptographic keys for various algorithms.
- Hash Functions: Compute hash values using cryptographic hash functions.
- Symmetric Encryption: Encrypt and decrypt data using symmetric encryption algorithms.
- Asymmetric Encryption: Perform public key encryption and decryption operations.
- Random Number Generation: Generate random numbers for secure cryptographic operations.
Installation
Arduino IDE
To install the PSACrypto library using the Arduino IDE, follow these steps:
- Open the Arduino IDE.
- Go to Sketch > Include Library > Manage Libraries.
- The Library Manager window will open, showing a list of available libraries.
- In the search bar, type "PSACrypto" and press Enter.
- Locate the "PSACrypto" library in the search results.
- Click on the library entry to open its details.
- Click the "Install" button to install the library.
- Wait for the installation process to complete.
- After installation, close the Library Manager window.
- The PSACrypto library is now installed and ready to be used.
Manual Installation
To install the PSACrypto library manually, follow these steps:
- Download the PSACrypto library from the GitHub repository.
- Extract the downloaded ZIP file.
- Rename the extracted folder to "PSACrypto".
- Move the "PSACrypto" folder to your Arduino libraries directory. The default locations are:
- Windows:
Documents\Arduino\libraries
- Mac:
Documents/Arduino/libraries
- Linux:
Arduino/libraries
- Restart the Arduino IDE.
- The PSACrypto library should now be available under Sketch > Include Library menu.
- You can now include the library in your Arduino sketches and use its features.
PlatformIO
To install the PSACrypto library using PlatformIO, follow these steps:
- Create a new PlatformIO project or open an existing one.
- Open the
platformio.ini
file located in the root of your project.
- Add the following line to the
[env:<your_board>]
section:
lib_deps =
PSACrypto
Replace with the target board/platform for your project (e.g., esp32, arduino_due, etc.).
- Save the platformio.ini file.
- PlatformIO will automatically install the PSACrypto library and its dependencies when you build/upload your project.
Usage
Arduino IDE
- Open the Arduino IDE.
- Go to File > Examples > PSACrypto to access the example sketches.
- Select an example sketch to open it.
- Modify the sketch as needed to fit your requirements.
- Upload the sketch to your Arduino board.
- Open the Serial Monitor to view the output.
PlatformIO
- Open your PlatformIO project.
- Navigate to the src folder.
- Create a new .cpp file or open an existing one.
- Include the PSACrypto library by adding the following line at the top of your file:
# include <PSACrypto.h>
For detailed information on using the PSACrypto library, including usage examples and API reference, please refer to the Documentation.
Compatible Hardware
The PSACrypto library has been tested and is compatible with the following hardware:
- ESP32
- Arduino Nano 33 IoT
Please note that the library may also work with other Arduino-compatible boards, but it has specifically been tested and verified with the above-mentioned hardware.
It's recommended to check the official documentation of your specific board or consult the manufacturer's specifications to ensure compatibility with the PSACrypto library.
Contributing
Contributions are welcome! Please follow the guidelines in CONTRIBUTING.md to contribute to this project.
License
This library is licensed under Apache License 2.0. See the LICENSE file for more information.
Credits