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