Lines Matching full:implementation
46 * Only "named curves" are supported. Each EC implementation supports
56 * An EC implementation is incarnated by a `br_ec_impl` instance, that
62 * by this implementation.
268 * \brief Type for an EC implementation.
275 * is supported. E.g. an implementation supporting both NIST P-256
418 * \brief EC implementation "i31".
420 * This implementation internally uses generic code for modular integers,
427 * \brief EC implementation "i15".
429 * This implementation internally uses generic code for modular integers,
436 * \brief EC implementation "m15" for P-256.
438 * This implementation uses specialised code for curve secp256r1 (also
446 * \brief EC implementation "m31" for P-256.
448 * This implementation uses specialised code for curve secp256r1 (also
455 * \brief EC implementation "m62" (specialised code) for P-256.
457 * This implementation uses custom code relying on multiplication of
458 * integers up to 64 bits, with a 128-bit result. This implementation is
461 * to that implementation.
466 * \brief Get the "m62" implementation of P-256, if available.
468 * \return the implementation, or 0.
473 * \brief EC implementation "m64" (specialised code) for P-256.
475 * This implementation uses custom code relying on multiplication of
476 * integers up to 64 bits, with a 128-bit result. This implementation is
479 * to that implementation.
484 * \brief Get the "m64" implementation of P-256, if available.
486 * \return the implementation, or 0.
491 * \brief EC implementation "i15" (generic code) for Curve25519.
493 * This implementation uses the generic code for modular integers (with
505 * \brief EC implementation "i31" (generic code) for Curve25519.
507 * This implementation uses the generic code for modular integers (with
519 * \brief EC implementation "m15" (specialised code) for Curve25519.
521 * This implementation uses custom code relying on multiplication of
533 * \brief EC implementation "m31" (specialised code) for Curve25519.
535 * This implementation uses custom code relying on multiplication of
547 * \brief EC implementation "m62" (specialised code) for Curve25519.
549 * This implementation uses custom code relying on multiplication of
550 * integers up to 62 bits, with a 124-bit result. This implementation is
553 * to that implementation. Due to the specificities of the curve
564 * \brief Get the "m62" implementation of Curve25519, if available.
566 * \return the implementation, or 0.
571 * \brief EC implementation "m64" (specialised code) for Curve25519.
573 * This implementation uses custom code relying on multiplication of
574 * integers up to 64 bits, with a 128-bit result. This implementation is
577 * to that implementation. Due to the specificities of the curve
588 * \brief Get the "m64" implementation of Curve25519, if available.
590 * \return the implementation, or 0.
595 * \brief Aggregate EC implementation "m15".
597 * This implementation is a wrapper for:
606 * \brief Aggregate EC implementation "m31".
608 * This implementation is a wrapper for:
617 * \brief Get the "default" EC implementation for the current system.
619 * This returns a pointer to the preferred implementation on the
622 * \return the default EC implementation.
658 * A pointer to the EC implementation is provided. The hash value is
665 * not supported by the provided EC implementation.
668 * implementation; maximum length is predictable from the implemented
677 * \param impl EC implementation to use.
691 * A pointer to the EC implementation is provided. The hashed value,
696 * implementation.
700 * provided EC implementation.
702 * \param impl EC implementation to use.
715 * \brief ECDSA signature generator, "i31" implementation, "asn1" format.
719 * \param impl EC implementation to use.
731 * \brief ECDSA signature generator, "i31" implementation, "raw" format.
735 * \param impl EC implementation to use.
747 * \brief ECDSA signature verifier, "i31" implementation, "asn1" format.
751 * \param impl EC implementation to use.
764 * \brief ECDSA signature verifier, "i31" implementation, "raw" format.
768 * \param impl EC implementation to use.
781 * \brief ECDSA signature generator, "i15" implementation, "asn1" format.
785 * \param impl EC implementation to use.
797 * \brief ECDSA signature generator, "i15" implementation, "raw" format.
801 * \param impl EC implementation to use.
813 * \brief ECDSA signature verifier, "i15" implementation, "asn1" format.
817 * \param impl EC implementation to use.
830 * \brief ECDSA signature verifier, "i15" implementation, "raw" format.
834 * \param impl EC implementation to use.
847 * \brief Get "default" ECDSA implementation (signer, asn1 format).
849 * This returns the preferred implementation of ECDSA signature generation
852 * \return the default implementation.
857 * \brief Get "default" ECDSA implementation (signer, raw format).
859 * This returns the preferred implementation of ECDSA signature generation
862 * \return the default implementation.
867 * \brief Get "default" ECDSA implementation (verifier, asn1 format).
869 * This returns the preferred implementation of ECDSA signature verification
872 * \return the default implementation.
877 * \brief Get "default" ECDSA implementation (verifier, raw format).
879 * This returns the preferred implementation of ECDSA signature verification
882 * \return the default implementation.
906 * implementation (`impl`), then this function returns zero.
922 * \param impl the elliptic curve implementation.
935 * This function uses the provided elliptic curve implementation (`impl`)
949 * implementation, then this function returns zero.
954 * \param impl the elliptic curve implementation.