SPSDK IPED - PRINCE Cipher Backend
High-performance C++ PRINCE cipher backend for SPSDK's IPED (Inline PRINCE Encryption/Decryption) module.
Installation
Prerequisites
A C++ compiler is required to build the native PRINCE cipher library:
- Linux/macOS: GCC or Clang (install via your package manager)
- Windows: MS Build Tools (instructions)
Install from source
pip install -e path/to/spsdk_plugins/iped
Install from Bitbucket
pip install git+ssh://git@bitbucket.sw.nxp.com/spsdk/spsdk_plugins.git#subdirectory=iped
Usage with SPSDK
When this package is installed, SPSDK's IPED module automatically detects the C++ backend and uses it for ~100-150x faster PRINCE cipher operations compared to the built-in pure-Python fallback.
No additional configuration is needed — just install the package alongside SPSDK.
Standalone usage
from spsdk_iped import IPED
# CTR mode encryption
cipher = IPED(key=0x01, address=0x80003000, iv=0x79EAFAB3A72412A1)
encrypted = cipher.encrypt(plaintext_bytes)
# Decryption
cipher2 = IPED(key=0x01, address=0x80003000, iv=0x79EAFAB3A72412A1)
decrypted = cipher2.decrypt(encrypted)
Performance
The C++ backend provides approximately 100-150x speedup over the pure-Python implementation:
| Backend | Throughput |
|---|---|
| Python (built-in) | ~0.03 MB/s |
| C++ (this package) | ~5 MB/s |
License
BSD-3-Clause
Metadata
Release files for spsdk-iped 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| spsdk_iped-0.1.1.tar.gz | 21.3 kB | Details |
Release files / spsdk_iped-0.1.1.tar.gz
| Download URL | spsdk_iped-0.1.1.tar.gz |
|---|---|
| Size | 21.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
245829951d5f31ae7a105a944f2c9fc4d02eaed442d5e191b1efdbbf1e34afcc
|
|
BLAKE2b-256 checksum How to use checksums |
5ccdf8d64844a8c25fe9d25a5f220633c2969f39ccea889d67eea9d9a5d1d0d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.
Transparency log