ChangeLog 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450
  1. 2003-01-05 Sebastien Pouliot <[email protected]>
  2. * CryptoAPITransform.cs: Removed all TODO. This class will not be
  3. used by Mono. MS uses it with <algo>CryptoServiceProvider classes
  4. to provide a common ICryptoTransform access to CryptoAPI.
  5. 2003-01-03 Sebastien Pouliot <[email protected]>
  6. * RC2CryptoServiceProvider.cs: Now about 2 time faster by inlining
  7. methods and changing to UInt16 (instead of UInt32).
  8. 2003-01-02 Sebastien Pouliot <[email protected]>
  9. * RijndaelManaged.cs: Now 7 (encrypt) to 10 (decrypt) times faster
  10. by removing allocation inside intensively called methods, using pre-
  11. calculated tables instead of Mult_GF methods and inlining most methods.
  12. 2002-12-31 Sebastien Pouliot <[email protected]>
  13. * AsymmetricAlgorithm.cs: Removed ValidKeySize (method only present
  14. in SymmetricAlgorithm).
  15. * DSA.cs: Change ZeroizePrivateKey from protected to internal.
  16. * DSACryptoServiceProvider.cs: Added some case where we need to check
  17. for keypairGenerated.
  18. * RSA.cs: Change ZeroizePrivateKey from protected to internal.
  19. * RSACryptoServiceProvider.cs: Key were never generated with the default
  20. (no parameter) constructor. Now checks for keypairGenerated in methods.
  21. * SignatureDescription.cs: Added CreateDeformatter in RSAPKCS1SHA1-
  22. SignatureDescription to please corcompare (it just call it's ancestor).
  23. 2002-12-30 Sebastien Pouliot <[email protected]>
  24. * CryptoStream.cs: Implemented core. Not sure about many details -
  25. but it run the samples now (#30256).
  26. * CryptoStreamMode.cs: Added [Serializable] to enum declaration.
  27. * SymmetricAlgorithm.cs: Made some changes required for CryptoStream
  28. and to match more closely MS implementation. Also added little
  29. optimizations in TransformBlock.
  30. 2002-12-27 Sebastien Pouliot <[email protected]>
  31. * CryptoTools.cs: New. Shared classes for cryptography. Now
  32. includes a KeyBuilder to generate symmetric keys and IV.
  33. * DES.cs: Modified Key validation.
  34. * DESCryptoServiceProvider.cs: Implemented Key and IV using
  35. KeyBuilder.
  36. * RC2CryptoServiceProvider.cs: Implemented Key and IV using
  37. KeyBuilder (and removed TODO).
  38. * RijndaelManaged.cs: Implemented Key and IV using KeyBuilder
  39. (and removed TODO).
  40. * SHA384Managed.cs: Changed code to remove compiler warning.
  41. * SHA512Managed.cs: Changed code to remove compiler warning.
  42. * SymmetricAlgorithm.cs: Removed TODO on IV.
  43. * TripleDESCryptoServiceProvider.cs: Implemented Key and IV
  44. using KeyBuilder (and removed TODO).
  45. 2002-11-20 Sebastien Pouliot <[email protected]>
  46. * AsymmetricSignatureDeformatter.cs: Added exception handling in
  47. VerifySignature (moved from RSAPKCS1SignatureDeformatter).
  48. * AsymmetricSignatureFormatter.cs: Added exception handling in
  49. CreateSignature (moved from RSAPKCS1SignatureFormatter).
  50. * CryptoAPITransform.cs: Removed "= false" assignation from a private
  51. member (because this created an unwanted "ghost" constructor) and
  52. modified Dispose declaration.
  53. * HashAlgorithm.cs: Removed destructor. Disposing unmanaged
  54. ressources is the responsability of each class (not an abstract class).
  55. * RSAPKCS1SignatureDeformatter.cs: Removed a VerifySignature method
  56. which was present in the base class AsymmetricSignatureDeformatter.
  57. * RSAPKCS1SignatureFormatter.cs: Removed a CreateSignature method
  58. which was present in the base class AsymmetricSignatureFormatter.
  59. * SHA1Managed.cs: Removed sealed from class declaration. Removed
  60. destructor and Dispose method as class is fully managed.
  61. * ToBase64Transform.cs: Added virtual to property CanReuseTransform.
  62. 2002-11-17 Sebastien Pouliot <[email protected]>
  63. * CryptoConfig.cs: Added full classes name for MapNameToOID.
  64. * PKCS1.cs: New. Internal class for the various primitives defined
  65. in PKCS#1 v.2.1.
  66. * PKCS1MaskGenerationFunction.cs: Modified to use PKCS1.cs.
  67. * RSA.cs: Added internal class RSAHandler (which implements IHandler
  68. interface for MiniParser) to import RSA keypairs from XML strings.
  69. * RSACryptoServiceProvider.cs: Crypto implemented using BigInteger.
  70. Key generation is VERY LONG.
  71. * RSAOAEPKeyExchangeDeformatter.cs: Completed using PKCS1. Not sure
  72. of the results as this is not available in all versions of Windows.
  73. * RSAOAEPKeyExchangeFormatter.cs: Completed using PKCS1. Not sure
  74. of the results as this is not available in all versions of Windows.
  75. * RSAPKCS1KeyExchangeDeformatter.cs: Completed using PKCS1.
  76. * RSAPKCS1KeyExchangeFormatter.cs: Completed using PKCS1.
  77. * RSAPKCS1SignatureDeformatter.cs: Completed using PKCS1.
  78. * RSAPKCS1SignatureFormatter.cs: Completed using PKCS1.
  79. 2002-11-17 Sebastien Pouliot <[email protected]>
  80. * MiniParser.cs: Added explicit cast in order to compile with mcs.
  81. 2002-11-16 Sebastien Pouliot <[email protected]>
  82. * AsymmetricAlgorithm.cs: Added internal class AsymmetricParameters
  83. (which implements the IReader interface for MiniParser). Corrected
  84. Dispose declaration.
  85. * BigInteger.cs: New. Internal class for handling BIG integers for
  86. asymmetric crypto (both RSA and DSA). Thanks to Chew Keong TAN !
  87. * CryptoConfig.cs: Added XMLDSIG URLs in CreateFromName.
  88. Will dynamically load System.Security.dll, when required,
  89. to return instance of those classes. Also CryptoConfig can now
  90. create any object (e.g. System.IO.MemoryStream) !
  91. * DSA.cs: Added internal class DSAHandler (which implements IHandler
  92. interface for MiniParser) to import DSA keypairs from XML strings.
  93. * DSACryptoServiceProvider.cs: Crypto fully implemented using
  94. BigInteger. Key generation (group) is VERY long.
  95. * MiniParser.cs: New. Minimal XML parser by Sergey Chaban. Used to
  96. import keypairs in XML strings.
  97. * SignatureDescription.cs: Removed local CreateFromName (to use
  98. CryptoConfig - which actually can create anything). Added internal
  99. classes DSASignatureDescription and RSAPKCS1SHA1SignatureDescription.
  100. 2002-11-15 Sebastien Pouliot <[email protected]>
  101. * CryptographicUnexpectedOperationException.cs: Forgot it last time!
  102. * FromBase64Transform.cs: Added missing virtual to CanReuseTransform.
  103. Changed Dispose().
  104. * HashAlgorithm.cs: Changed Dispose().
  105. * MD5CryptoServiceProvider.cs: Added destructor and Dipose(bool).
  106. * PasswordDeriveBytes.cs: Changed some declaration from
  107. protected to private.
  108. * RC2.cs: Added valid keysize check in EffectiveKeySize.
  109. * RC2CryptoServiceProvider.cs: Overriden EffectiveKeySize to match
  110. corlib declarations.
  111. * RSAOAEPKeyExchangeDeformatter.cs: Changed some declaration from
  112. protected to private.
  113. * RSAOAEPKeyExchangeFormatter.cs: Changed some declaration from
  114. protected to private.
  115. * RSAPKCS1KeyExchangeDeformatter.cs: Changed some declaration from
  116. protected to private.
  117. * RSAPKCS1KeyExchangeFormatter.cs: Changed some declaration from
  118. protected to private.
  119. * RSAPKCS1SignatureDeformatter.cs: Changed some declaration from
  120. protected to private.
  121. * RSAPKCS1SignatureFormatter.cs: Changed some declaration from
  122. protected to private.
  123. * SHA1CryptoServiceProvider.cs: Moved SHA1 code to SHA1Internal.
  124. SHA1CryptoServiceProvider now use SHA1Internal. Added Dispose and
  125. destructor.
  126. * SHA1Managed.cs: New. Use SHA1Internal. Same as
  127. SHA1CryptoServiceProvider but is required for binary compatibility.
  128. * SHA256Managed.cs: Changed some declaration from protected to private.
  129. * SHA384Managed.cs: Changed some declaration from protected to private.
  130. * SHA512Managed.cs: Changed some declaration from protected to private.
  131. * SymmetricAlgorithm.cs: Added Clear(), changed Dispose() and added
  132. virtual to Dispose(bool).
  133. * ToBase64Transform.cs: Added missing virtual to CanReuseTransform.
  134. Changed Dispose().
  135. * TripleDESCryptoServiceProvider.cs: Added missing sealed to class
  136. declaration.
  137. 2002-11-03 Sebastien Pouliot <[email protected]>
  138. * CryptoAPITransform.cs: Added missing CanReuseTransform property,
  139. Clear method, destructor and IDisposable support.
  140. * CryptographicException.cs: Added missing protected constructor.
  141. * CryptographicUnexpectedOperationException.cs: Added missing
  142. protected constructor.
  143. * ICryptoTransform.cs: Added missing CanReuseTransform property.
  144. * FromBase64Transform.cs: Added missing CanReuseTransform property,
  145. Clear method, destructor and IDisposable support.
  146. * SymmetricAlgorithm.cs: Implement IDisposable.
  147. * ToBase64Transform.cs: Added missing CanReuseTransform property,
  148. Clear method, destructor and IDisposable support.
  149. 2002-11-02 Sebastien Pouliot <[email protected]>
  150. * SignatureDescription.cs: Updated class to match unit test results
  151. * X509Certificate.cs: REMOVED! Wrong namespace. An almost complete
  152. implementation is now in System.Security.Cryptography.X509Certificates
  153. 2002-11-01 Sebastien Pouliot <[email protected]>
  154. * bouncycastle.txt: Bouncy Castle JCE License.
  155. * SHA384Managed.cs: Hash implementation based on BouncyCastle JCE.
  156. * SHA512Managed.cs: Hash implementation based on BouncyCastle JCE.
  157. 2002-10-30 Sebastien Pouliot <[email protected]>
  158. * DSASignatureDeformatter.cs: Fully implemented - however it
  159. requires a functionnal DSA implementation to work.
  160. * DSASignatureFormatter.cs: Fully implemented - however it
  161. requires a functionnal DSA implementation to work.
  162. 2002-10-25 Sebastien Pouliot <[email protected]>
  163. * PasswordDeriveBytes.cs: New. PKCS#5 key derivation (PBKDF1) works up to
  164. HashSize length (but MS support longer keys)
  165. 2002-10-24 Sebastien Pouliot <[email protected]>
  166. * RSACryptoServiceProvider.cs: New. Implemented most logic expect crypto
  167. * RSAOAEPKeyExchangeDeformatter.cs: New. Stub.
  168. * RSAOAEPKeyExchangeFormatter.cs: New. Stub.
  169. * RSAPKCS1KeyExchangeDeformatter.cs: New. Stub.
  170. * RSAPKCS1KeyExchangeFormatter.cs: New. 98% implemented but still
  171. require RSA.DecryptValue (not supported in MS .NET Framework)
  172. * RSAPKCS1SignatureDeformatter.cs: New. Stub.
  173. * RSAPKCS1SignatureFormatter.cs: New. Stub.
  174. 2002-10-23 Sebastien Pouliot <[email protected]>
  175. * SymmetricAlgorithm.cs: Fixed CFB mode (do encryption while decrypting!)
  176. * TripleDESCryptoServiceProvider.cs: Ajusted for CFB.
  177. 2002-10-22 Sebastien Pouliot <[email protected]>
  178. * RjindaelManaged.cs: Fixed decryption for 192 and 256 bit block size
  179. 2002-10-21 Gonzalo Paniagua Javier <[email protected]>
  180. * RC2CryptoServiceProvider.cs: fixed end of lines (changed from \r
  181. to \n).
  182. 2002-10-20 Sebastien Pouliot <[email protected]>
  183. * SymmetricAlgorithm.cs: Added better Dispose support
  184. * DES.cs: Now only contains the abstract DES class.
  185. * DESCryptoServiceProvider.cs: Added the DESTransform class (inherited
  186. from SymmetricTransform) based the old DESCore and DESTransformBase code
  187. * RC2.cs: Fixed EffectiveKeySize == 0
  188. * RC2CryptoServiceProvider.cs: Added the RC2Transform class (inherited
  189. from SymmetricTransform) based on the old RC2lImpl code. Unrolled some loops.
  190. * RjindaelManaged.cs: Few more optimizations while looking for decrypting bug
  191. * TripleDESCryptoServiceProvider.cs: New. Implement TripleDESTransform from
  192. DESTransform (non-optimal but working :-).
  193. 2002-10-19 Sebastien Pouliot <[email protected]>
  194. * SymmetricAlgorithm.cs: Added new class SymmetricTransform to avoid
  195. duplicating CipherMode (currently ECB, CBC) and PaddingMode functionalities
  196. in every crytographic algorithm implementation.
  197. * RijndaelManaged.cs: Added the RjindaelTransform class (inherited
  198. from SymmetricTransform) based the old RijndaelImpl / RijndaelController
  199. code. Fixed encryption for block size 192, 256, there is still a problem
  200. decrypting block size 192, 256. Unrolled some loops + littl'optimizations
  201. * PKCS1MaskGenerationMethod.cs: Removed Array.Reverse in I2OSP to be
  202. compatible with MS implementation (however we are now failing the PKCS#1
  203. test vector) + added some more checks (null, overflow, ...)
  204. * AsymmetricAlgorithm.cs: Commented XMLDocument stuff to end the cyclic
  205. dependency (corlib->System.Xml->corlib)
  206. * RSA.cs: Commented FromXmlString stuff to end the cyclic dependency
  207. * DSA.cs: Commented FromXmlString stuff to end the cyclic dependency
  208. * RC2.cs: Create using CryptoConfig
  209. * TripleDES.cs: Marked class public. Added LegalKeySizes and LegalBlockSizes
  210. 2002-10-14 Sebastien Pouliot <[email protected]>
  211. * MD5.cs: Create using CryptoConfig, set HashSizeValue, removed TODO.
  212. * Rijndael.cs: Create using CryptoConfig. Removed TODO.
  213. * RSAParameters.cs: Modulus must be serialized. Removed TODO.
  214. * SHA256.cs: Create using CryptoConfig, set HashSizeValue, removed TODO.
  215. * SHA384.cs: Create using CryptoConfig, set HashSizeValue, removed TODO.
  216. * SHA512.cs: Create using CryptoConfig, set HashSizeValue, removed TODO.
  217. * FromBase64Transform.cs: Removed ToString()
  218. * ToBase64Transform.cs: Removed ToString()
  219. * SymmetricAlgorithm.cs: Create using CryptoConfig, set default Mode and
  220. Padding, added Clear, Dispose
  221. * TripleDES.cs: New. Abstract class.
  222. * MaskGenerationMethod.cs: New. Abstract class.
  223. * PKCS1MaskGenerationMethod.cs: New. Implement PKCS#1 MGF (currently not
  224. compatible with MS implementation - but not sure the bug is mine!).
  225. 2002-10-13 Sebastien Pouliot <[email protected]>
  226. * HashAlgorithm.cs: Added Dispose() to HashAlgorithm because it
  227. inherits ICryptoTransform
  228. * KeyedHashAlgorithm.cs: New implementation
  229. * HMACSHA1.cs: New (include a generic HMACAlgorithm as internal class)
  230. * MACTripleDES.cs: New (missing core implementation on generic MACAlgorithm)
  231. * CryptoStream.cs: Added limited functionalities to support HMACSHA1
  232. 2002-10-12 Sebastien Pouliot <[email protected]>
  233. * DSA.cs: changed constructor to public from internal (like MS)
  234. * HashAlgorithm.cs: Completed ComputeHash methods
  235. * SHA1.cs: Added HashSizeValue = 160
  236. 2002-10-12 Sebastien Pouliot <[email protected]>
  237. * ICryptoTransform.cs: Now inherits from IDisposable
  238. * RC2CryptoServiceProvider.cs: Added Dispose() to RC2Impl because it inherits ICryptoTransform
  239. * CryptoAPITransform.cs: Added Dispose() to CryptoAPITransform... ICryptoTransform
  240. * RijndaelManaged.cs: Added Dispose() to RijndaelController...ICryptoTransform
  241. * FromBase64Transform.cs: Added Dispose() to FromBase64Transform...ICryptoTransform
  242. * ToBase64Transform.cs: Added Dispose() to ToBase64Transform...ICryptoTransform
  243. * DESCryptoServiceProvider.cs: Added Dispose() to DESTransformBase...ICryptoTransform
  244. 2002-10-11 Duncan Mak <[email protected]>
  245. * DESCryptoServiceProvider.cs: Removed unnecessary Dispose ().
  246. 2002-10-11 Sebastien Pouliot <[email protected]>
  247. * DES.cs: Create() using CryptoConfig, fix #30256
  248. * DESCryptoServiceProvider.cs: fix #30256
  249. * RandomNumberGenerator.cs: uncomment in Create(rng) for CryptoConfig
  250. 2002-10-10 Sebastien Pouliot <[email protected]>
  251. * AsymmetricAlgorithm.cs: Inherit from IDisposable, common support from XML import
  252. * DSA.cs: FromXmlString() keypair import, Create() using CryptoConfig
  253. * RSA.cs: FromXmlString() keypair import, Create() using CryptoConfig
  254. * DSACryptoServiceProvider.cs: Added Dispose()
  255. 2002-10-09 Sebastien Pouliot <[email protected]>
  256. * CryptoConfig.cs: New implementation
  257. 2002-10-05 Andrew Birkett <[email protected]>
  258. * RC2CryptoServiceProvider.cs: New implementation
  259. * RC2.cs: New implementation
  260. 2002-09-22 Andrew Birkett <[email protected]>
  261. * RijndaelManaged.cs: Added faster case for multiplication by 2 in GF(8)
  262. 2002-09-22 Andrew Birkett <[email protected]>
  263. * RijndaelManaged.cs: BlockSize now reports size in bytes.
  264. * ICryptoTransform.cs: Updated comments - BlockSizes are in bytes, unlike elsewhere.
  265. 2002-09-19 Andrew Birkett <[email protected]>
  266. * Rijndael.cs: Create() now gives you a RijndaelManaged object
  267. * RijndaelManaged.cs: Added dummy GenerateKey until we have a proper RNG.
  268. * SymmetricAlgorithm.cs: Updated comments
  269. 2002-09-15 Andrew Birkett <[email protected]>
  270. * RijndaelManaged.cs: Added support for CBC-mode, PKCS7/Zero padding.
  271. * SymmetricAlgorithm.cs: IV size must match block size, not key size.
  272. Key property now sets KeySizeValue correctly in bits.
  273. 2002-09-11 Andrew Birkett <[email protected]>
  274. * RijndaelManaged.cs: Implemented ECB-mode Rijndael cipher.
  275. * Rijndael.cs: Set valid key/block sizes.
  276. * SymmetricAlgorithm.cs: Remove throw from ctr so we can instantiate
  277. derived classes. Fixes to key sizes so they are measured in bits.
  278. * KeySizes.cs: Updated comments to emphasize that sizes are in bits.
  279. 2002-06-29 Martin Baulig <[email protected]>
  280. * AsymmetricAlgorithm.cs: Removed a duplicate semicolon to make it compile.
  281. 2002-05-19 Martin Baulig <[email protected]>
  282. * FromBase64Transform.cs (TransformFinalBlock): The return value of
  283. `DoTransform' tells us the number of bytes actually written - if it's
  284. smaller than `res', copy it to a smaller array.
  285. 2002-02-21 Mark Crichton <[email protected]>
  286. * RNGCryptoServiceProvider.cs: New file.
  287. * RandomNumberGenerator.cs: Constructor is now marked public.
  288. 2002-02-13 Dan Lewis <[email protected]>
  289. * DSACryptoServiceProvider.cs, SHA384Managed.cs, SHA512Managed.cs,
  290. Rijndael.cs, RSA.cs, RSAParameters.cs : New files (stubs)
  291. Mon Feb 11 13:26:17 CET 2002 Paolo Molaro <[email protected]>
  292. * X509Certificates: dummy class.
  293. 2002-01-10 Duco Fijma <[email protected]>
  294. * Create (trivial) implementation of RandomNumberGenerator
  295. 2002-01-05 Ravi Pratap <[email protected]>
  296. * CryptoAPITransform.cs, DESCryptoProvider.cs : MonoTODO attribute
  297. decoration.
  298. * HashAlgorithm.cs, MD5.cs, SHA1.cs, SHA256.cs, SHA384.cs : Ditto.
  299. * SHA512.cs, SymmetricAlgorithm.cs, ToBase64Transform.cs,
  300. AsymmetricAlgorithm.cs, CryptoStream.cs, DSA.cs, DSASignatureDeformatter.cs,
  301. DSASignatureFormatter.cs, SignatureDescription.cs : Ditto.
  302. Wed Nov 14 17:04:30 CET 2001 Paolo Molaro <[email protected]>
  303. * MD5CryptoServiceProvider.cs, SHA1CryptoServiceProvider.cs,
  304. SHA256Managed.cs: CLSCompliant updates.
  305. 2001-10-11 Thomas Neidhart <[email protected]>
  306. * CryptoAPITransform.cs: Initial version
  307. * CryptoStream.cs: Initial version
  308. * CspParameter.cs: Initial version
  309. * CspProviderFlags.cs: Initial version
  310. * DSA.cs: Initial version
  311. * DSAParameters.cs: Initial version
  312. * DSASignatureDeformatter.cs: Initial version
  313. * DSASignatureFormatter.cs: Initial version
  314. * DeriveBytes.cs: Initial version
  315. 2001-10-06 Thomas Neidhart <[email protected]>
  316. * AsymmetricAlgorithm.cs: Inital version
  317. * AsymmetricKeyExchangeDeformatter.cs: Initial version
  318. * AsymmetricKeyExchangeFormatter.cs: Initial version
  319. * AsymmetricSignatureDeformatter.cs: Initial version
  320. * AsymmetricSignatureFormatter.cs: Initial version
  321. * PaddingMode.cs: Added PaddingMode.None
  322. * SignatureDescription.cs: Initial version
  323. * CryptographicException.cs: Initial version
  324. * CryptographicUnknownOperationException.cs: Initial version
  325. * SymmetricAlgorithm.cs: Implemented CreateDecryptor, CreateEncryptor
  326. and Create() methods.
  327. 2001-08-20 Sergey Chaban <[email protected]>
  328. * DES.cs encryption core is about 30% faster than previous version.
  329. * DESCryptoServiceProvider.cs added PKCS-5 padding.
  330. 2001-08-09 Sergey Chaban <[email protected]>
  331. * ToBase64Transform.cs: Base64Table now supports both encoding
  332. and decoding tables. As a result Table was renamed to EncodeTable
  333. and DecodeTable was added.
  334. * FromBase64Transform.cs: Initial check-in.
  335. * DES.cs: Initial check-in.
  336. * DESCryptoServiceProvider.cs: Initial check-in.
  337. 2001-08-01 Matthew S. Ford <[email protected]>
  338. * CipherMode.cs: Initial version.
  339. * CryptoStreamMode.cs: Initial version.
  340. * HashAlgorithm.cs: Initial version.
  341. * ICryptoTransform.cs: Initial version.
  342. * KeySizes.cs: Initial version.
  343. * MD5.cs: Initial version.
  344. * MD5CryptoServiceProvider.cs: Initial version.
  345. * PaddingMode.cs: Initial version.
  346. * SHA1.cs: Initial version.
  347. * SHA1CryptoServiceProvider.cs: Initial version.
  348. * SHA256.cs: Initial version.
  349. * SHA256Managed.cs: Initial version.
  350. * SHA384.cs: Initial version.
  351. * SHA512.cs: Initial version.