primitives.md - Open-CP/OCP GitHub Wiki

OCP supports a wide range of cryptographic primitives, including permutations and block ciphers. For each primitive, implementations in both Python and C are provided, with support for both unrolled=True and unrolled=False modes, as summarized in the table below. All implementations are verified against test vectors to ensure correctness. The testing framework is located in OCP/TEST/test_implementation.py, where users can validate existing implementations or integrate new primitives for testing.

No. Cipher Python Implementation C Implementation
1 SPECK (Permutation, Block_Cipher)
2 SIMON (Permutation, Block_Cipher)
3 AES (Permutation, Block_Cipher)
4 SKINNY (Permutation, Block_Cipher)
5 GIFT (Permutation, Block_Cipher)
6 PRESENT (Permutation, Block_Cipher)
7 ASCON_Permutation
8 ROCCA_AD_Permutation
9 SipHash