1 2005-04-18 Sebastien Pouliot <sebastien@ximian.com>
3 * Null.cs: New "null" symmetric encryption for debugging. This class
4 isn't (and shouldn't be) built by default.
5 * SymmetricTransform.cs: Fixed a division by zero if someone changes
6 the feedback value to 0.
7 * SHA224Managed.cs: Fixed warning about unused private constant.
9 2005-03-30 Sebastien Pouliot <sebastien@ximian.com>
11 * SymmetricTransform.cs: Fixed a padding bug affecting that can occurs
12 when no padding is used.
14 2005-03-07 Sebastien Pouliot <sebastien@ximian.com>
16 * MD2Managed.cs: Removed memory allocation from the transform method.
17 * MD4Managed.cs: Moved memoty allocation to constructor (from init).
18 * SHA224Managed.cs: Fixed bug #73404 which gaves bad results when the
19 digested data is longer than 2^32 bits.
21 2005-01-11 Sebastien Pouliot <sebastien@ximian.com>
23 * SymmetricTransform.cs: Added support for ANSI X9.23 padding and
24 ISO 10126 padding modes (applies to all symmetric block ciphers).
26 2004-12-22 Sebastien Pouliot <sebastien@ximian.com>
28 * KeyPairPersistence.cs: Commented imperative asserts until it is
29 supported by the runtime.
31 2004-12-06 Sebastien Pouliot <sebastien@ximian.com>
33 * RSAManaged.cs: Implement key blinding for RSA decryption with, or
36 2004-11-23 Sebastien Pouliot <sebastien@ximian.com>
38 * PKCS1.cs: Fix PKCS#1 v1.5 decryption when the ciphertext isn't
39 exactly the same of the public key (which happens sometimes on Fx 1.1
40 probably because it doesn't do the last I2OSP operation to left pad
41 the resulting big integer with zeros).
43 2004-11-10 Sebastien Pouliot <sebastien@ximian.com>
45 * RC4.cs: Fixed RC4 for compatibility with .NET 2.0. The algorithm is
46 OK but the check for IV, unused for stream ciphers, has changed.
48 2004-10-28 Sebastien Pouliot <sebastien@ximian.com>
50 * KeyPairPersistence.cs: Added localization for exceptions messages.
51 Also added more details (type and path) when an exception is thrown.
53 2004-09-29 Sebastien Pouliot <sebastien@ximian.com>
55 * RSAManaged.cs: In synch with corlib. KeySize is now always a
56 multiple of 8 bits. Fix #66929.
58 2004-09-17 Sebastien Pouliot <sebastien@ximian.com>
60 * CryptoConvert.cs: In synch with corlib version. Fixed all level 4
62 * KeyPairPersistence.cs: In synch with corlib version. Fixed all level
63 4 compilation warnings.
64 * PKCS1.cs: In synch with corlib version. Fixed all level 4
66 * SHA224Managed.cs: Fixed all level 4 compilation warnings.
68 2004-09-17 Sebastien Pouliot <sebastien@ximian.com>
70 * SHA224.cs: New. Abstract class for all SHA224 implementations.
71 * SHA224Managed.cs: New. Managed implementation of SHA224 (a SHA256
72 derivate) as specified in RFC3874 and FIPS 180-2 Change Notice.
74 2004-06-23 Sebastien Pouliot <sebastien@ximian.com>
76 * SymmetricTransform.cs: Reduce by one the number of block when
77 decrypting. This operation was in CryptoStream before but is only
78 required for decryption (which CryptoStream can't know).
81 2004-05-27 Sebastien Pouliot <sebastien@ximian.com>
83 * ARC4Managed.cs: Added missing exception handling in TransformBlock
84 and TransformFinalBlock.
85 * SymmetricTransform.cs: Fixed possible integer overflow. Added
86 missing exception handling in TransformBlock and TransformFinalBlock.
88 2004-05-10 Sebastien Pouliot <sebastien@ximian.com>
90 * PKCS8.cs: Fixed negative Version check.
91 * MD2Managed.cs: Added readonly to static array constants.
92 * MD4Managed.cs: Removed unrequired memory allocation in MD4Transform.
94 2004-05-01 Sebastien Pouliot <sebastien@ximian.com>
96 * CryptoConvert.cs: Added support for truncated, but still valid, RSA
97 private key blob. Fix #57941 (couldn't sign with nunit key).
98 * RSAManaged.cs: Normalized the size of D when not present. This
99 allows us to output a compatible base64 representation of 1024bits 0.
101 2004-04-28 Sebastien Pouliot <sebastien@ximian.com>
103 * SymmetricTransform.cs: Fixed bug when offset > 0 in destination
106 2004-04-22 Sebastien Pouliot <sebastien@ximian.com>
108 * CryptoConvert.cs: FxCop-ized. Sealed class. Use Buffer.BlockCopy.
109 * CryptoTools.cs: FxCop-ized. Sealed KeyBuilder class. Delay creation
110 of RNG object. Use Buffer.BlockCopy.
111 * DiffieHellman.cs: FxCop-ized. Removed public constructor.
112 * DiffieHellmanManaged.cs: FxCop-ized. Actualized with changes from
114 * KeyPairPersistance.cs: FxCop-ized. Updated version for management
116 * MD2Managed.cs: Use Buffer.BlockCopy instead of Array.Copy.
117 * PKCS1.cs: FxCop-ized. Sealed class. Use Buffer.BlockCopy instead of
118 Array.Copy. Also includes endian patches from Bernie Solomon.
119 * PKCS8.cs: FxCop-ized. Sealed class.
120 * RSAManaged.cs: FxCop-ized. Actualized with changes from BigInteger.
121 * SymmetricTransform.cs: Use Buffer.BlockCopy instead of Array.Copy.
123 2004-04-20 Sebastien Pouliot <sebastien@ximian.com>
125 * CryptoConvert.cs: Synched with corlib version to get endian fixes
128 2004-03-23 Sebastien Pouliot <sebastien@ximian.com>
130 * CryptoConvert.cs: Added exception for null and bad parameters.
131 * RSAManaged.cs: CryptographicException thrown when trying to export
132 the private key when only the public key is present (CRT aware).
134 2004-03-22 Sebastien Pouliot <sebastien@ximian.com>
136 * CryptoConvert.cs: Added new methods to convert [From|To]Hex. Added
137 new version of FromCapiPublicKeyBlob with an integer offset.
139 2004-03-10 Sebastien Pouliot <sebastien@ximian.com>
141 * PKCS8.cs: Added EncodeRSA, EncodeDSA and completed GetBytes() so it
142 is now possible to encode PKCS8 files (this is required to encode
145 2004-02-15 Sebastien Pouliot <sebastien@ximian.com>
147 * ARC4Managed.cs: Removed all % 256 (modulo) because typecasting to
148 byte already ensure the result would be correct (as suggested by
149 Technoboy). Now use KeyBuilder to create new keys.
151 2004-02-13 Sebastien Pouliot <sebastien@ximian.com>
153 * DHKeyGeneration.cs: New. Enumuration of possible key generation for
154 Diffie-Hellman. Contributed by Pieter Philippaerts (mentalis.org).
155 * DHParameters.cs: New. Structure to hold the different elements of a
156 Diffie-Hellman key. Contributed by Pieter Philippaerts (mentalis.org).
157 * DiffieHellman.cs: New. Astract class as base for all Diffie-Hellman
158 implementations. Contributed by Pieter Philippaerts (mentalis.org).
159 * DiffieHellmanManaged.cs: New. Managed implementation of the Diffie-
160 Hellman key agreement algorithm. Contributed by Pieter Philippaerts.
162 2004-02-09 Sebastien Pouliot <sebastien@ximian.com>
164 * PKCS1.cs: New. Copied from corlib. Required for RSAManaged.
165 * RSAManaged.cs: New. Copied from corlib. Required for TLS - some
166 parts (MD5SHA1) cannot work with the default RSACryptoServiceProvider.
168 2004-02-06 Sebastien Pouliot <sebastien@ximian.com>
170 * CryptoTools.cs: New. Copied from corlib to offer the sames services
171 to symmetric algorithms in Mono.Security assembly.
172 * KeyPairPersistance.cs: Provides a similar to CryptoAPI persistence
173 mechanism for keypairs (based on CspParameters).
174 * SymmetricTransform.cs: New. Copied from corlib to offer the sames
175 services to symmetric algorithms in Mono.Security assembly.
177 2004-01-12 Sebastien Pouliot <spouliot@videotron.ca>
179 * CryptoConvert.cs: RSA doesn't start with a Q - at least that what
180 a strongname told me. Sorry Ron :(
182 2003-11-27 Sebastien Pouliot <spouliot@videotron.ca>
184 * MD4.cs: New. Asbtract class for all MD4 implementations. WARNING:
185 The MD4 algorithm is BROKEN (collisions) and SHOULDN'T be used in
186 NEW designs. However some higher level algorithms (like NTLM) requires
187 MD4 (and may even be secure using it). YOU'RE WARNED!
188 * MD4Managed.cs: New. Managed implementation of MD4 (RFC1320).
189 * PKCS8.cs: New. Added Private-Key Information Syntax Standard as a
190 building block for PKCS12.
192 2003-10-30 Sebastien Pouliot <spouliot@videotron.ca>
194 * CryptoConvert.cs: Fixed strongname generation for small exponents
195 (like 17). Part of the fixed for bug #50341.
197 2003-06-19 Nick Drochak <ndrochak@gol.com>
199 * CryptoConvert.cs: Work around for mcs? bug 45127.
201 2003-03-07 Sebastien Pouliot <spouliot@videotron.ca>
203 * ARC4Managed.cs: New. Implementation of the Alleged RC4(tm)
204 stream cipher in managed code (required for SSL/TLS).
205 * CryptoConvert.cs: New. Helper class to help convert between
206 Windows crypto structures and .NET crypto classes (required
208 * MD2.cs: New. Abstract class for all MD2 hash implementations.
209 * MD2Managed.cs: New. Managed implementation of the MD2 hash
210 algorithm (required for old, but still valid, X.509 certificates).
211 * RC4.cs: New. Abstract class for all RC4 stream cipher