IPWorks Encrypt 2020 Python Edition

Questions / Feedback?

decrypt_block Method

Decrypts a block and returns the decrypted data.

Syntax

def decrypt_block(input_buffer: bytes, last_block: bool) -> bytes: ...

Remarks

on_decrypt_block will decrypt the input data and return the decrypted block. The decrypted block will always be the same length as the encrypted data. The following properties are applicable:

  • iv (required)
  • key (required)

InputBuffer specifies the input data to decrypt.

LastBlock specifies whether the block is the last block. Required when use_aead is True. When LastBlock is True the class will validate the auth_tag value. If use_aead is False the value of LastBlock is not used.

DecryptBlock Example


Chacha chacha = new Chacha();
chacha.KeyB = new byte[] { 0xBB, 0x76, 0x17, 0xC9, 0x05, 0x73, 0x4A, 0x8D, 0x59, 0x9D, 0x7B, 0x0D, 0x86, 0x2A, 0x03, 0x82, 0x50, 0x6A, 0x70, 0xFB, 0xA8, 0x56, 0x47, 0x1B, 0x1E, 0x68, 0x0B, 0x2B, 0x34, 0x18, 0x0F, 0xE2 };
chacha.IVB = new byte[] { 0x0D, 0xE4, 0x43, 0x40, 0x29, 0xAD, 0x70, 0x7D, 0x7B, 0x32, 0xB5, 0xC7 };
chacha.UseAEAD = true;
cahcha.AuthTagB = authTag; //Value calculated during encryption.

byte[] tempDecryptedBlock;

//Decrypt any number of blocks of any size
tempDecryptedBlock = chacha.DecryptBlock(part1, false);
tempDecryptedBlock = chacha.DecryptBlock(part2, false);

//Pass true for the last block
tempDecryptedBlock = chacha.DecryptBlock(part3, true);

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks Encrypt 2020 Python Edition - Version 20.0 [Build 8155]