IPWorks Encrypt 2020 Delphi Edition

Questions / Feedback?

EncryptBlock Method

Encrypts data and returns the encrypted block.

function EncryptBlock(InputBuffer: TBytes; LastBlock: Boolean): TBytes;

Remarks

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

  • IV (required)
  • Key (required)

InputBuffer specifies the input data to encrypt.

LastBlock specifies whether the block is the last block. Required when UseAEAD is True. When LastBlock is True the component will calculate the AuthTag value. If UseAEAD is False the value of LastBlock is not used.

EncryptBlock 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;

byte[] tempEncryptedBlock;

//Encrypt any number of blocks of any size
tempEncryptedBlock = chacha.EncryptBlock(part1, false);
tempEncryptedBlock = chacha.EncryptBlock(part2, false);

//Pass true for the last block
tempEncryptedBlock = chacha.EncryptBlock(part3, true);

//Save AuthTag for use when decrypting
byte[] authTab = chacha.AuthTagB;

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