view dcrypt/crypto/StreamCipherWrapper.d @ 6:5cb17e09d685

Minor edits to the unittests of hash functions and ciphers. Added AES and test vectors.
author Thomas Dixon <reikon@reikon.us>
date Sat, 16 Aug 2008 22:43:22 -0400
parents 3de3a2de13a0
children
line wrap: on
line source

/**
 * This file is part of the dcrypt project.
 *
 * Copyright: Copyright (C) dcrypt contributors 2008. All rights reserved.
 * License:   MIT
 * Authors:   Thomas Dixon
 */

module dcrypt.crypto.StreamCipherWrapper;

import dcrypt.crypto.SymmetricCipher;
import dcrypt.crypto.StreamCipher;
public import dcrypt.crypto.params.CipherParameters;

/** High-level API for stream ciphers. */
class StreamCipherWrapper : SymmetricCipher {
    private StreamCipher cipher;
    
    this(StreamCipher sc) {
        cipher = sc;
    }
    
    void init(bool encrypt, CipherParameters params) {
        cipher.init(encrypt, params);
    }

    uint update(void[] input_, uint inOff, 
                    uint len, void[] output_, uint outOff) {
        cipher.processBytes(input_, inOff, len, output_, outOff);
        return len;
    }
    
    uint finish(void[] output_, uint outOff) {
        return 0;
    }
    
    void reset() {
        cipher.reset();
    }
    
    char[] name() {
        return cipher.name;
    }
}