dynamodb_encryption_sdk.internal.crypto.authentication

Functions to handle calculating and verifying signatures of encrypted items.

Warning

No guarantee is provided on the modules and APIs within this namespace staying consistent. Directly reference at your own risk.

Functions

sign_item(encrypted_item, signing_key, ...)

Generate the signature DynamoDB atttribute.

verify_item_signature(signature_attribute, ...)

Verify the item signature.

dynamodb_encryption_sdk.internal.crypto.authentication.sign_item(encrypted_item: Dict[str, Dict[str, Any]], signing_key: dynamodb_encryption_sdk.delegated_keys.DelegatedKey, crypto_config: dynamodb_encryption_sdk.encrypted.CryptoConfig) Dict[str, ByteString][source]

Generate the signature DynamoDB atttribute.

Parameters
  • encrypted_item (dict) – Encrypted DynamoDB item

  • signing_key (DelegatedKey) – DelegatedKey to use to calculate the signature

  • crypto_config (CryptoConfig) – Cryptographic configuration

Returns

Item signature DynamoDB attribute value

Return type

dict

dynamodb_encryption_sdk.internal.crypto.authentication.verify_item_signature(signature_attribute: Dict[str, ByteString], encrypted_item: Dict[str, Dict[str, Any]], verification_key: dynamodb_encryption_sdk.delegated_keys.DelegatedKey, crypto_config: dynamodb_encryption_sdk.encrypted.CryptoConfig) None[source]

Verify the item signature.

Parameters
  • signature_attribute (dict) – Item signature DynamoDB attribute value

  • encrypted_item (dict) – Encrypted DynamoDB item

  • verification_key (DelegatedKey) – DelegatedKey to use to calculate the signature

  • crypto_config (CryptoConfig) – Cryptographic configuration