DESEngine class

DES, ported from Bouncy Castle's DESEngine (table-driven, SP boxes).

Everything stays inside 32 bits: every left shift is masked with 0xFFFFFFFF, so the result is the same on the VM (64-bit ints) and when compiled to JavaScript (32-bit bitwise operations). The previous engine permuted bit by bit on 64-bit ints and gave wrong output in the browser.

Implemented types

Constructors

DESEngine()

Properties

algorithmName → String
no setteroverride
blockSize → int
The block size of the cipher.
no setteroverride
hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

init(bool forEncryption, CipherParameters params) → void
Initialise the cipher for processing.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
processBlock(Uint8List inp, int inpOff, Uint8List out, int outOff) → int
Process a block of data.
override
reset() → void
Reset the cipher.
override
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

generateWorkingKey(bool encrypting, Uint8List key) → List<int>
The 32 round-key words of Bouncy Castle's generateWorkingKey.
processBlockWithKey(Uint8List inp, int inpOff, Uint8List out, int outOff, List<int> wKey) → void
Bouncy Castle's desFunc.