IPWorks Encrypt 2020 Kotlin Edition

Questions / Feedback?

Decrypt Method

Decrypts the data.

Syntax

public fun decrypt()

Remarks

Decrypt will decrypt the specified data. The following properties are applicable:

  • IV (required)
  • Key (required)

Input and Output Properties

The component will determine the source and destination of the input and output based on which properties are set.

The order in which the input properties are checked is as follows:

When a valid source is found the search stops. The order in which the output properties are checked is as follows:

When using streams you may need to additionally set CloseInputStreamAfterProcessing or CloseOutputStreamAfterProcessing.

Additional Notes

The Key property must be set to the 256 bit (32 byte) value originally used to encrypt the data. IV must be set to the original IV value used to encrypt the data.

If using a password, KeyPassword must be set to the same KeyPassword used when encrypting the data. This will automatically generate both Key and IV when Decrypt is called.

During decryption the Progress event will fire as data is decrypted.

Decrypt Example


Salsa20 salsa = new Salsa20();

//32 Bytes
salsa.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 };

//24 Bytes
salsa.IVB = new byte[] { 0x0D, 0xE4, 0x43, 0x40, 0x29, 0xAD, 0x70, 0x7D, 0x7B, 0x32, 0xB5, 0xC7, 0x0D, 0xE4, 0x43, 0x40, 0x29, 0xAD, 0x70, 0x7D, 0x7B, 0x32, 0xB5, 0xC7 };

salsa.InputMessageB = new byte[] { 0x06, 0xF4, 0xD9, 0xB4, 0x67, 0x31, 0x1C, 0x1E, 0x8E, 0xD6, 0xB5, 0x6B };
salsa.Decrypt();

Console.WriteLine(salsa.OutputMessage); //outputs "hello salsa!"

Copyright (c) 2021 /n software inc. - All rights reserved.
IPWorks Encrypt 2020 Kotlin Edition - Version 20.0 [Build 7941]