|
Sharkysoft home | |||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Class Summary | |
DesCbcCoder | Base class for Cipher Block Chaining (CBC) coders. |
DesCbcDecoder | DES decryption in Cipher Block Chaining (CBC) mode. |
DesCbcEncoder | DES encryption in Cipher Block Chaining (CBC) mode. |
DesCfbDecoder | DES decryption in Cipher FeedBack (CFB) mode. |
DesCfbEncoder | DES encryption in Cipher FeedBack (CFB) mode. |
DesEcbCoder | Encrypts/decrypts using DES in ECB mode. |
DesEcbDecoder | Decrypts using DES-ECB. |
DesEcbEncoder | Encrypts using DES-ECB. |
DesEngine | Optimized DES implementation. |
DesFbCoder | Base class for Cipher/Output FeedBack (C/OFB) coders. |
DesKey | DES key. |
DesOfbCoder | Encrypts data using DES in cipher feedback (CFB) mode. |
TripleDesEngine | Optimized 3DES implementation. |
TripleDesKey | DES key. |
DES data encryption utilities.
This package contains an optimized implementation of DES (the Data Encryption Standard described in FIPS PUB 46), including several alternative DES operating modes.
bit ordering
In FIPS PUB 46, the offical government publication on DES, 64-bit blocks are used to represent plain text, cipher text, and keys. However, the government publication describes the algorithm using a bit ordering that is clumsy for software implementation. In that publication, the left-most bit is labeled as bit 1, while the right-most bit is labeled as bit 64.
In this implementation, however, the left-most bit is labeled as bit 63 and is regarded as the "most significant bit," while the right-most bit is labeled bit 0 and is regarded as the "least significant bit." This translation is easy to comprehend when long
s are used to represent the blocks. However, because this implementation also allows blocks to be represented using byte
s, short
s, and int
s, strict ordering of the elements must be observed. Hence, all arrays of these types are regarded as big-
For clarity, the mapping between the bit ordering described in FIPS PUB 46 and this implementation is illustrated below for all of the array types supported:
JCE note
When bytes are used, the bit mapping used in DesEngine
is the same as the JCE's DES implementation. The only difference is that DesEngine is faster. :-)
|
Sharkysoft home | |||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |