aboutsummaryrefslogtreecommitdiffstats
path: root/docs/hazmat/primitives/asymmetric/ec.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/hazmat/primitives/asymmetric/ec.rst')
-rw-r--r--docs/hazmat/primitives/asymmetric/ec.rst71
1 files changed, 36 insertions, 35 deletions
diff --git a/docs/hazmat/primitives/asymmetric/ec.rst b/docs/hazmat/primitives/asymmetric/ec.rst
index 89d00c8d..0e19bb2e 100644
--- a/docs/hazmat/primitives/asymmetric/ec.rst
+++ b/docs/hazmat/primitives/asymmetric/ec.rst
@@ -13,7 +13,7 @@ Elliptic curve cryptography
Generate a new private key on ``curve`` for use with ``backend``.
:param backend: A
- :class:`~cryptography.hazmat.primtives.interfaces.EllipticCurve`
+ :class:`~cryptography.hazmat.primitives.interfaces.EllipticCurve`
provider.
:param backend: A
@@ -21,10 +21,38 @@ Elliptic curve cryptography
provider.
:returns: A new instance of a
- :class:`~cryptography.hazmat.primtivies.interfaces.EllipticCurvePrivateKey`
+ :class:`~cryptography.hazmat.primitives.interfaces.EllipticCurvePrivateKey`
provider.
+Elliptic Curve Signature Algorithms
+-----------------------------------
+
+.. class:: ECDSA(algorithm)
+
+ .. versionadded:: 0.5
+
+ The ECDSA signature algorithm first standardized in NIST publication
+ `FIPS 186-3`_, and later in `FIPS 186-4`_.
+
+ :param algorithm: An instance of a
+ :class:`~cryptography.hazmat.primitives.interfaces.HashAlgorithm`
+ provider.
+
+ .. doctest::
+
+ >>> from cryptography.hazmat.backends import default_backend
+ >>> from cryptography.hazmat.primitives import hashes
+ >>> from cryptography.hazmat.primitives.asymmetric import ec
+ >>> private_key = ec.generate_private_key(
+ ... ec.SECP384R1(), default_backend()
+ ... )
+ >>> signer = private_key.signer(ec.ECDSA(hashes.SHA256()))
+ >>> signer.update(b"this is some data I'd like")
+ >>> signer.update(b" to sign")
+ >>> signature = signer.finalize()
+
+
.. class:: EllipticCurvePrivateNumbers(private_value, public_numbers)
.. versionadded:: 0.5
@@ -33,7 +61,7 @@ Elliptic curve cryptography
.. attribute:: public_numbers
- :type: :class:`~cryptography.hazmat.primitives.ec.EllipticCurvePublicNumbers`
+ :type: :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers`
The :class:`EllipticCurvePublicNumbers` which makes up the EC public
key associated with this EC private key.
@@ -54,7 +82,7 @@ Elliptic curve cryptography
provider.
:returns: A new instance of a
- :class:`~cryptography.hazmat.primtivies.interfaces.EllipticCurvePrivateKey`
+ :class:`~cryptography.hazmat.primitives.interfaces.EllipticCurvePrivateKey`
provider.
@@ -92,37 +120,9 @@ Elliptic curve cryptography
provider.
:returns: A new instance of a
- :class:`~cryptography.hazmat.primtivies.interfaces.EllipticCurvePublicKey`
+ :class:`~cryptography.hazmat.primitives.interfaces.EllipticCurvePublicKey`
provider.
-
-Elliptic Curve Signature Algorithms
------------------------------------
-
-.. class:: ECDSA(algorithm)
-
- .. versionadded:: 0.5
-
- The ECDSA signature algorithm first standardized in NIST publication
- `FIPS 186-3`_, and later in `FIPS 186-4`_.
-
- :param algorithm: An instance of a
- :class:`~cryptography.hazmat.primitives.interfaces.HashAlgorithm`
- provider.
-
- .. doctest::
-
- >>> from cryptography.hazmat.backends import default_backend
- >>> from cryptography.hazmat.primitives import hashes
- >>> from cryptography.hazmat.primitives.asymmetric import ec
- >>> private_key = ec.generate_private_key(
- ... ec.SECP384R1(), default_backend()
- ... )
- >>> signer = private_key.signer(ec.ECDSA(hashes.SHA256()))
- >>> signer.update(b"this is some data I'd like")
- >>> signer.update(b" to sign")
- >>> signature = signer.finalize()
-
Elliptic Curves
---------------
@@ -142,8 +142,9 @@ Prime fields also `minimize the number of security concerns for elliptic-curve
cryptography`_. However there is `some concern`_ that both the prime field and
binary field ("B") NIST curves may have been weakened during their generation.
-Currently `cryptograhy` only supports NIST curves, none of which are considered
-"safe" by the `SafeCurves`_ project run by Daniel J. Bernstein and Tanja Lange.
+Currently `cryptography` only supports NIST curves, none of which are
+considered "safe" by the `SafeCurves`_ project run by Daniel J. Bernstein and
+Tanja Lange.
All named curves are providers of
:class:`~cryptography.hazmat.primtives.interfaces.EllipticCurve`.