59.1 Description

The Classical Public Key Cryptography Controller (CPKCC) is a Microchip macrocell that processes public key cryptography algorithm calculus in both GF(p) and GF(2n) fields. The ROMed CPKCL, the Classical Public Key Cryptography Library, is the library built on the top of the CPKCC.

The Classical Public Key Cryptography Library includes complete implementation of the following public key cryptography algorithms:
  • RSA (Rivest-Shamir-Adleman public key cryptosystem), DSA (Digital Signature Algorithm)
    • Modular Exponentiation with CRT up to 7168 bits
    • Modular Exponentiation without CRT up to 5376 bits
    • Prime generation
    • Utilities: GCD/modular Inverse, Divide, Modular reduction, Multiply, etc.
  • Elliptic Curves
    • ECDSA GF(p) up to 521 bits
    • ECDSA GF(2n) up to 571 bits
    • Point Multiply
    • Point Add/Doubling
    • Choice of the curves parameters so compatibility with NIST Curves or others
  • Deterministic Random Number Generation (DRNG ANSI X9.31) for DSA