AES — PyCryptodome 3.210b0 documentation (2024)

AES (Advanced Encryption Standard) is a symmetric block cipher standardizedby NIST . It has a fixed data block size of 16 bytes.Its keys can be 128, 192, or 256 bits long.

AES is very fast and secure, and it is the de facto standard for symmetricencryption.

As an example, encryption can be done as follows:

>>> from Crypto.Cipher import AES>>>>>> key = b'Sixteen byte key'>>> cipher = AES.new(key, AES.MODE_EAX)>>>>>> nonce = cipher.nonce>>> ciphertext, tag = cipher.encrypt_and_digest(data)

The recipient can obtain the original message using the same keyand the incoming triple (nonce, ciphertext, tag):

>>> from Crypto.Cipher import AES>>>>>> key = b'Sixteen byte key'>>> cipher = AES.new(key, AES.MODE_EAX, nonce=nonce)>>> plaintext = cipher.decrypt(ciphertext)>>> try:>>>  cipher.verify(tag)>>>  print("The message is authentic:", plaintext)>>> except ValueError:>>>  print("Key incorrect or message corrupted")

Constants for the modes of operation supported with AES (mode parameter):

Crypto.Cipher.AES.MODE_ECB = 1

Electronic Code Book (ECB mode)

Crypto.Cipher.AES.MODE_CBC = 2

Cipher-Block Chaining (CBC mode)

Crypto.Cipher.AES.MODE_CFB = 3

Cipher Feedback (CFB mode)

Crypto.Cipher.AES.MODE_OFB = 5

Output Feedback (OFB mode)

Crypto.Cipher.AES.MODE_CTR = 6

Counter mode (CTR mode)

Crypto.Cipher.AES.MODE_OPENPGP = 7

OpenPGP mode (OpenPGP mode)

Crypto.Cipher.AES.MODE_CCM = 8

Counter with CBC-MAC (CCM mode)

Crypto.Cipher.AES.MODE_EAX = 9

EAX mode

Crypto.Cipher.AES.MODE_SIV = 10

Synthetic Initialization Vector (SIV mode)

Crypto.Cipher.AES.MODE_GCM = 11

Galois Counter Mode (GCM mode)

Crypto.Cipher.AES.MODE_OCB = 12

Offset Code Book (OCB mode)

Crypto.Cipher.AES.new(key, mode, *args, **kwargs)

Create a new AES cipher.

Parameters:
  • key (bytes/bytearray/memoryview) –

    The secret key to use in the symmetric cipher.

    It must be 16 (AES-128), 24 (AES-192) or 32 (AES-256) bytes long.

    For MODE_SIV only, it doubles to 32, 48, or 64 bytes.

  • mode (a MODE_* constant) – The chaining mode to use for encryption or decryption.If in doubt, use MODE_EAX.

Keyword Arguments:
  • iv (bytes/bytearray/memoryview) –

    (Only applicable for MODE_CBC, MODE_CFB, MODE_OFB,and MODE_OPENPGP modes).

    The initialization vector to use for encryption or decryption.

    For MODE_CBC, MODE_CFB, and MODE_OFB it must be 16 bytes long.

    For MODE_OPENPGP mode only,it must be 16 bytes long for encryptionand 18 bytes for decryption (in the latter case, it isactually the encrypted IV which was prefixed to the ciphertext).

    If not provided, a random byte string is generated (you must thenread its value with the iv attribute).

  • nonce (bytes/bytearray/memoryview) –

    (Only applicable for MODE_CCM, MODE_EAX, MODE_GCM,MODE_SIV, MODE_OCB, and MODE_CTR).

    A value that must never be reused for any other encryption donewith this key (except possibly for MODE_SIV, see below).

    For MODE_EAX, MODE_GCM and MODE_SIV there are norestrictions on its length (recommended: 16 bytes).

    For MODE_CCM, its length must be in the range [7..13].Bear in mind that with CCM there is a trade-off between noncelength and maximum message size. Recommendation: 11 bytes.

    For MODE_OCB, its length must be in the range [1..15](recommended: 15).

    For MODE_CTR, its length must be in the range [0..15](recommended: 8).

    For MODE_SIV, the nonce is optional, if it is not specified,then no nonce is being used, which renders the encryptiondeterministic.

    If not provided, for modes other than MODE_SIV, a randombyte string of the recommended length is used (you must thenread its value with the nonce attribute).

  • segment_size (integer) – (Only MODE_CFB).The number of bits the plaintext and ciphertextare segmented in. It must be a multiple of 8.If not specified, it will be assumed to be 8.

  • mac_len (integer) –

    (Only MODE_EAX, MODE_GCM, MODE_OCB, MODE_CCM)Length of the authentication tag, in bytes.

    It must be even and in the range [4..16].The recommended value (and the default, if not specified) is 16.

  • msg_len (integer) – (Only MODE_CCM). Length of the message to (de)cipher.If not specified, encrypt must be called with the entire message.Similarly, decrypt can only be called once.

  • assoc_len (integer) – (Only MODE_CCM). Length of the associated data.If not specified, all associated data is buffered internally,which may represent a problem for very large messages.

  • initial_value (integer or bytes/bytearray/memoryview) – (Only MODE_CTR).The initial value for the counter. If not present, the cipher willstart counting from 0. The value is incremented by one for each block.The counter number is encoded in big endian mode.

  • counter (object) – (Only MODE_CTR).Instance of Crypto.Util.Counter, which allows full customizationof the counter block. This parameter is incompatible to both nonceand initial_value.

  • use_aesni – (boolean):Use Intel AES-NI hardware extensions (default: use if available).

Returns:

an AES object, of the applicable mode.

AES — PyCryptodome 3.210b0 documentation (2024)
Top Articles
How many millionaires are in the world: Global wealth report
Nail fungus: Who gets and causes
Craigslist Mpls Mn Apartments
Kraziithegreat
Fallout 4 Pipboy Upgrades
William Spencer Funeral Home Portland Indiana
Crusader Kings 3 Workshop
Knaben Pirate Download
18443168434
2016 Hyundai Sonata Price, Value, Depreciation & Reviews | Kelley Blue Book
Pwc Transparency Report
Darksteel Plate Deepwoken
"Une héroïne" : les funérailles de Rebecca Cheptegei, athlète olympique immolée par son compagnon | TF1 INFO
Spergo Net Worth 2022
Invert Clipping Mask Illustrator
Nevermore: What Doesn't Kill
Sizewise Stat Login
Accident On The 210 Freeway Today
Scout Shop Massapequa
Juicy Deal D-Art
Poe Str Stacking
Between Friends Comic Strip Today
Regina Perrow
Kirk Franklin Mother Debra Jones Age
Wat is een hickmann?
27 Modern Dining Room Ideas You'll Want to Try ASAP
Tinyzonehd
Taylored Services Hardeeville Sc
Redbox Walmart Near Me
1-800-308-1977
Montrose Colorado Sheriff's Department
Watchseries To New Domain
Craigs List Jonesboro Ar
Msnl Seeds
Ktbs Payroll Login
Craigslist Florida Trucks
Craigslist Freeport Illinois
Shoecarnival Com Careers
Charli D'amelio Bj
Jaefeetz
6576771660
Tlc Africa Deaths 2021
Access to Delta Websites for Retirees
Rick And Morty Soap2Day
Bama Rush Is Back! Here Are the 15 Most Outrageous Sorority Houses on the Row
Elvis Costello announces King Of America & Other Realms
Strawberry Lake Nd Cabins For Sale
Sj Craigs
Chitterlings (Chitlins)
Ubg98.Github.io Unblocked
Haunted Mansion Showtimes Near The Grand 14 - Ambassador
Latest Posts
Article information

Author: Frankie Dare

Last Updated:

Views: 5772

Rating: 4.2 / 5 (53 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Frankie Dare

Birthday: 2000-01-27

Address: Suite 313 45115 Caridad Freeway, Port Barabaraville, MS 66713

Phone: +3769542039359

Job: Sales Manager

Hobby: Baton twirling, Stand-up comedy, Leather crafting, Rugby, tabletop games, Jigsaw puzzles, Air sports

Introduction: My name is Frankie Dare, I am a funny, beautiful, proud, fair, pleasant, cheerful, enthusiastic person who loves writing and wants to share my knowledge and understanding with you.