# Class TSynaBlockCipher

Description | Hierarchy | Fields | Methods | Properties

## Unit

synacrypt

## Declaration

`type TSynaBlockCipher = class(TObject)`

## Description

Implementation of common routines block ciphers (dafault size is 64-bits)

Do not use this class directly, use descendants only!

## Hierarchy

- TObject
- TSynaBlockCipher

## Overview

### Methods

| `procedure SetIV(const Value: AnsiString); virtual;`
| `function GetIV: AnsiString; virtual;`
| `procedure Reset; virtual;`
| `function EncryptECB(const InData: AnsiString): AnsiString; virtual;`
| `function DecryptECB(const InData: AnsiString): AnsiString; virtual;`
| `function EncryptCBC(const Indata: AnsiString): AnsiString; virtual;`
| `function DecryptCBC(const Indata: AnsiString): AnsiString; virtual;`
| `function EncryptCFB8bit(const Indata: AnsiString): AnsiString; virtual;`
| `function DecryptCFB8bit(const Indata: AnsiString): AnsiString; virtual;`
| `function EncryptCFBblock(const Indata: AnsiString): AnsiString; virtual;`
| `function DecryptCFBblock(const Indata: AnsiString): AnsiString; virtual;`
| `function EncryptOFB(const Indata: AnsiString): AnsiString; virtual;`
| `function DecryptOFB(const Indata: AnsiString): AnsiString; virtual;`
| `function EncryptCTR(const Indata: AnsiString): AnsiString; virtual;`
| `function DecryptCTR(const Indata: AnsiString): AnsiString; virtual;`
| `constructor Create(Key: AnsiString);`

## Description

### Methods

| `procedure SetIV(const Value: AnsiString); virtual;`

Sets the IV to Value and performs a reset

| `function GetIV: AnsiString; virtual;`

Returns the current chaining information, not the actual IV

| `procedure Reset; virtual;`

Reset any stored chaining information

| `function EncryptECB(const InData: AnsiString): AnsiString; virtual;`

Encrypt a 64-bit block of data using the ECB method of encryption

| `function DecryptECB(const InData: AnsiString): AnsiString; virtual;`

Decrypt a 64-bit block of data using the ECB method of decryption

| `function EncryptCBC(const Indata: AnsiString): AnsiString; virtual;`

Encrypt data using the CBC method of encryption

| `function DecryptCBC(const Indata: AnsiString): AnsiString; virtual;`

Decrypt data using the CBC method of decryption

| `function EncryptCFB8bit(const Indata: AnsiString): AnsiString; virtual;`

Encrypt data using the CFB (8 bit) method of encryption

| `function DecryptCFB8bit(const Indata: AnsiString): AnsiString; virtual;`

Decrypt data using the CFB (8 bit) method of decryption

| `function EncryptCFBblock(const Indata: AnsiString): AnsiString; virtual;`

Encrypt data using the CFB (block) method of encryption

| `function DecryptCFBblock(const Indata: AnsiString): AnsiString; virtual;`

Decrypt data using the CFB (block) method of decryption

| `function EncryptOFB(const Indata: AnsiString): AnsiString; virtual;`

Encrypt data using the OFB method of encryption

| `function DecryptOFB(const Indata: AnsiString): AnsiString; virtual;`

Decrypt data using the OFB method of decryption

| `function EncryptCTR(const Indata: AnsiString): AnsiString; virtual;`

Encrypt data using the CTR method of encryption

| `function DecryptCTR(const Indata: AnsiString): AnsiString; virtual;`

Decrypt data using the CTR method of decryption

| `constructor Create(Key: AnsiString);`

Create a encryptor/decryptor instance and initialize it by the Key.

Generated by PasDoc 0.9.0 on 2012-04-23 21:38:52