Changeset 13223 in project


Ignore:
Timestamp:
02/09/09 13:39:42 (11 years ago)
Author:
Alaric Snell-Pym
Message:

Changes applied for alaric (86.147.109.90) through svnwiki:

V1.1: CBC* mode

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wiki/crypto-tools

    r13202 r13223  
    117117Given a blob of arbitrary size and an initialisation vector represented as a blob of BLOCKSIZE bytes, returns an encrypted/decrypted blob as appropriate.
    118118
     119<procedure>(make-cbc*-encryptor ENCRYPTOR BLOCKSIZE) => PROCESSOR</procedure>
     120
     121Given a block encryption function that accepts and returns blobs of BLOCKSIZE bytes, returns a CBC processor using the supplied encryptor that will encrypt arbitrary blobs, making them larger with padding in the process, and including an encrypted copy of the IV in the cyphertext.
     122
     123Although knowing the IV is not an advantage in itself to an attacker - after all, every encrypted block in the output is the IV for the rest of the encryption - we encrypt the IV as a precautionary measure; the process of generating an IV may reveal the state of entropy sources at the encoder, the current time, etc, which may be of interest to an attacker.
     124
     125The result of encryption will be one block larger than normal CBC encryption, due to the embedded IV.
     126
     127<procedure>(make-cbc*-decryptor ENCRYPTOR BLOCKSIZE) => PROCESSOR-WITHOUT-IV</procedure>
     128
     129Given a block decryption function that accepts and returns blobs of BLOCKSIZE bytes, returns a CBC processor using the supplied decryptor that will decrypt arbitrary blobs, stripping off padding.
     130
     131<procedure>(PROCESSOR-WITHOUT-IV BLOB) => BLOB</procedure>
     132
     133Given a blob returned by a make-cbc*-encryptor processor, returns a decrypted blob.
     134
    119135== Authors
    120136
     
    161177== Version History
    162178
     179* 1.1: CBC* mode
    163180* 1.0: Initial release
Note: See TracChangeset for help on using the changeset viewer.