comparison dcrypt/crypto/params/ParametersWithIV.d @ 0:0e08791a1418

Initial import.
author Thomas Dixon <reikon@reikon.us>
date Sun, 10 Aug 2008 14:20:17 -0400
parents
children 71aae178f89a
comparison
equal deleted inserted replaced
-1:000000000000 0:0e08791a1418
1 /**
2 * This file is part of the dcrypt project.
3 *
4 * Copyright: Copyright (C) dcrypt contributors 2008. All rights reserved.
5 * License: MIT
6 * Authors: Thomas Dixon
7 */
8
9 module dcrypt.crypto.params.ParametersWithIV;
10
11 public import dcrypt.crypto.params.CipherParameters;
12
13 /** Wrap cipher parameters and IV. */
14 class ParametersWithIV : CipherParameters {
15 private ubyte[] m_iv;
16 private CipherParameters m_params;
17
18 /**
19 * Params:
20 * params = Parameters to wrap.
21 * iv = IV to be held.
22 */
23 this(CipherParameters params=null, ubyte[] iv_=null) {
24 if (params)
25 m_params = params;
26 ubyte[] iv = cast(ubyte[]) iv_;
27 if (iv)
28 m_iv = iv;
29 }
30
31 /** Returns: The IV. */
32 ubyte[] iv() {
33 return m_iv;
34 }
35
36 /**
37 * Set the IV held by this object.
38 *
39 * Params:
40 * newIV = The new IV for this parameter object.
41 * Returns: The new IV.
42 */
43 ubyte[] iv(void[] newIV_) {
44 ubyte[] newIV = cast(ubyte[]) newIV_;
45 return m_iv = newIV;
46 }
47
48 /** Returns: The parameters for this object. */
49 CipherParameters parameters() {
50 return m_params;
51 }
52
53 /**
54 * Set the parameters held by this object.
55 *
56 * Params:
57 * newParams = The new parameters to be held.
58 * Returns: The new parameters.
59 */
60 CipherParameters parameters(CipherParameters newParams) {
61 return m_params = newParams;
62 }
63 }