Hadrien Croubois f45e9158b7 Reorder cryptography folder (#5711) преди 4 месеца
..
signers f45e9158b7 Reorder cryptography folder (#5711) преди 4 месеца
ECDSA.sol 0034c30224 Merge release-v5.1 branch (#5266) преди 11 месеца
EIP712.sol aaf955de56 Migrate to inheritdoc (#5636) преди 5 месеца
ERC7739Utils.sol a3a9e8cc3b Add ERC7739 and ERC7739Utils (#5664) преди 5 месеца
Hashes.sol d183d9b07a Merge release-v5.3 branch (#5632) преди 6 месеца
MerkleProof.sol 0034c30224 Merge release-v5.1 branch (#5266) преди 11 месеца
MessageHashUtils.sol d183d9b07a Merge release-v5.3 branch (#5632) преди 6 месеца
P256.sol d183d9b07a Merge release-v5.3 branch (#5632) преди 6 месеца
README.adoc f45e9158b7 Reorder cryptography folder (#5711) преди 4 месеца
RSA.sol 0034c30224 Merge release-v5.1 branch (#5266) преди 11 месеца
SignatureChecker.sol 48bd2864c6 Updated `SignatureChecker` NatSpec to better reflect EIP-7702 behavior (#5670) преди 4 месеца

README.adoc

= Cryptography

[.readme-notice]
NOTE: This document is better viewed at https://docs.openzeppelin.com/contracts/api/utils/cryptography

A collection of contracts and libraries that implement various signature validation schemes and cryptographic primitives. These utilities enable secure authentication, multisignature operations, and advanced cryptographic operations in smart contracts.

* {ECDSA}, {MessageHashUtils}: Libraries for interacting with ECDSA signatures.
* {P256}: Library for verifying and recovering public keys from secp256r1 signatures.
* {RSA}: Library with RSA PKCS#1 v1.5 signature verification utilities.
* {SignatureChecker}: A library helper to support regular ECDSA from EOAs as well as ERC-1271 signatures for smart contracts.
* {Hashes}: Commonly used hash functions.
* {MerkleProof}: Functions for verifying https://en.wikipedia.org/wiki/Merkle_tree[Merkle Tree] proofs.
* {EIP712}: Contract with functions to allow processing signed typed structure data according to https://eips.ethereum.org/EIPS/eip-712[EIP-712].
* {ERC7739Utils}: Utilities library that implements a defensive rehashing mechanism to prevent replayability of smart contract signatures based on ERC-7739.
* {AbstractSigner}: Abstract contract for internal signature validation in smart contracts.
* {ERC7739}: An abstract contract to validate signatures following the rehashing scheme from {ERC7739Utils}.
* {SignerECDSA}, {SignerP256}, {SignerRSA}: Implementations of an {AbstractSigner} with specific signature validation algorithms.
* {SignerERC7702}: Implementation of {AbstractSigner} that validates signatures using the contract's own address as the signer, useful for delegated accounts following EIP-7702.

== Utils

{{ECDSA}}

{{MessageHashUtils}}

{{P256}}

{{RSA}}

{{SignatureChecker}}

{{Hashes}}

{{MerkleProof}}

{{EIP712}}

{{ERC7739Utils}}

== Abstract Signers

{{AbstractSigner}}

{{ERC7739}}

{{SignerECDSA}}

{{SignerP256}}

{{SignerRSA}}

{{SignerERC7702}}