summary refs log tree commit diff
diff options
context:
space:
mode:
authorTim Whittington <bc@whittington.net.nz>2013-10-19 21:22:38 +1300
committerTim Whittington <bc@whittington.net.nz>2013-10-19 21:22:38 +1300
commite0f740ffbb612544f63049ae3cc12a876014d6cc (patch)
treed90b5b27eb79749120aca7833c8998123c9f406f
parentMake ChaCha and Salsa20 engines CLSCompliant. (diff)
downloadBouncyCastle.NET-ed25519-e0f740ffbb612544f63049ae3cc12a876014d6cc.tar.xz
Use xmldoc for documentation of Salsa20/XSalsa20/ChaCha
-rw-r--r--crypto/src/crypto/engines/ChaChaEngine.cs33
-rw-r--r--crypto/src/crypto/engines/Salsa20Engine.cs28
-rw-r--r--crypto/src/crypto/engines/XSalsa20Engine.cs21
3 files changed, 37 insertions, 45 deletions
diff --git a/crypto/src/crypto/engines/ChaChaEngine.cs b/crypto/src/crypto/engines/ChaChaEngine.cs
index 2aeb30d86..f4a7b8fe1 100644
--- a/crypto/src/crypto/engines/ChaChaEngine.cs
+++ b/crypto/src/crypto/engines/ChaChaEngine.cs
@@ -3,24 +3,24 @@ using Org.BouncyCastle.Crypto.Utilities;
 
 namespace Org.BouncyCastle.Crypto.Engines
 {
-	/**
-	 * Implementation of Daniel J. Bernstein's ChaCha stream cipher.
-	 */
+	/// <summary>
+	/// Implementation of Daniel J. Bernstein's ChaCha stream cipher.
+	/// </summary>
 	public class ChaChaEngine
 		: Salsa20Engine
 	{
 
-		/**
-     	* Creates a 20 rounds ChaCha engine.
-     	*/
+		/// <summary>
+		/// Creates a 20 rounds ChaCha engine.
+		/// </summary>
 		public ChaChaEngine()
 		{
 		}
 
-		/**
-		 * Creates a ChaCha engine with a specific number of rounds.
-		 * @param rounds the number of rounds (must be an even number).
-		 */
+		/// <summary>
+		/// Creates a ChaCha engine with a specific number of rounds.
+		/// </summary>
+		/// <param name="rounds">the number of rounds (must be an even number).</param>
 		public ChaChaEngine(int rounds)
 			: base(rounds)
 		{
@@ -93,13 +93,12 @@ namespace Org.BouncyCastle.Crypto.Engines
 			Pack.UInt32_To_LE(x, output, 0);
 		}
 
-		/**
-	     * ChacCha function
-	     *
-	     * @param   input   input data
-	     *
-	     * @return  keystream
-	     */
+		/// <summary>
+		/// ChacCha function.
+		/// </summary>
+		/// <param name="rounds">The number of ChaCha rounds to execute</param>
+		/// <param name="input">The input words.</param>
+		/// <param name="x">The ChaCha state to modify.</param>
 		internal static void ChachaCore(int rounds, uint[] input, uint[] x)
 		{
 			if (input.Length != 16) {
diff --git a/crypto/src/crypto/engines/Salsa20Engine.cs b/crypto/src/crypto/engines/Salsa20Engine.cs
index aff6320b1..81884d603 100644
--- a/crypto/src/crypto/engines/Salsa20Engine.cs
+++ b/crypto/src/crypto/engines/Salsa20Engine.cs
@@ -7,9 +7,9 @@ using Org.BouncyCastle.Utilities;
 
 namespace Org.BouncyCastle.Crypto.Engines
 {
-	/**
-	 * Implementation of Daniel J. Bernstein's Salsa20 stream cipher, Snuffle 2005
-	 */
+	/// <summary>
+	/// Implementation of Daniel J. Bernstein's Salsa20 stream cipher, Snuffle 2005
+	/// </summary>
 	public class Salsa20Engine
 		: IStreamCipher
 	{
@@ -39,18 +39,18 @@ namespace Org.BouncyCastle.Crypto.Engines
 		 */
 		private uint cW0, cW1, cW2;
 
-		/**
-		 * Creates a 20 round Salsa20 engine.
-		 */
+		/// <summary>
+		/// Creates a 20 round Salsa20 engine.
+		/// </summary>
 		public Salsa20Engine()
 			: this(DEFAULT_ROUNDS)
 		{
 		}
 
-		/**
-		 * Creates a Salsa20 engine with a specific number of rounds.
-		 * @param rounds the number of rounds (must be an even number).
-		 */
+		/// <summary>
+		/// Creates a Salsa20 engine with a specific number of rounds.
+		/// </summary>
+		/// <param name="rounds">the number of rounds (must be an even number).</param>
 		public Salsa20Engine(int rounds)
 		{
 			if (rounds <= 0 || (rounds & 1) != 0)
@@ -61,14 +61,6 @@ namespace Org.BouncyCastle.Crypto.Engines
 			this.rounds = rounds;
 		}
 
-		/**
-		 * initialise a Salsa20 cipher.
-		 *
-		 * @param forEncryption whether or not we are for encryption.
-		 * @param params the parameters required to set up the cipher.
-		 * @exception ArgumentException if the params argument is
-		 * inappropriate.
-		 */
 		public void Init(
 			bool				forEncryption, 
 			ICipherParameters	parameters)
diff --git a/crypto/src/crypto/engines/XSalsa20Engine.cs b/crypto/src/crypto/engines/XSalsa20Engine.cs
index 6d61c32cd..fc6630905 100644
--- a/crypto/src/crypto/engines/XSalsa20Engine.cs
+++ b/crypto/src/crypto/engines/XSalsa20Engine.cs
@@ -4,11 +4,12 @@ using Org.BouncyCastle.Crypto.Utilities;
 
 namespace Org.BouncyCastle.Crypto.Engines
 {
-	/**
-	 * Implementation of Daniel J. Bernstein's XSalsa20 stream cipher - Salsa20 with an extended nonce.
-	 * <p>
-	 * XSalsa20 requires a 256 bit key, and a 192 bit nonce.
-	 */
+	/// <summary>
+	/// Implementation of Daniel J. Bernstein's XSalsa20 stream cipher - Salsa20 with an extended nonce.
+	/// </summary>
+	/// <remarks>
+	/// XSalsa20 requires a 256 bit key, and a 192 bit nonce.
+	/// </remarks>
 	public class XSalsa20Engine 
 		: Salsa20Engine
 	{
@@ -23,11 +24,11 @@ namespace Org.BouncyCastle.Crypto.Engines
 			get { return 24; }
 		}
 
-		/**
-		 * XSalsa20 key generation: process 256 bit input key and 128 bits of the input nonce
-		 * using a core Salsa20 function without input addition to produce 256 bit working key
-		 * and use that with the remaining 64 bits of nonce to initialize a standard Salsa20 engine state.
-		 */
+		/// <summary>
+		/// XSalsa20 key generation: process 256 bit input key and 128 bits of the input nonce
+		/// using a core Salsa20 function without input addition to produce 256 bit working key
+		/// and use that with the remaining 64 bits of nonce to initialize a standard Salsa20 engine state.
+		/// </summary>
 		protected override void SetKey(byte[] keyBytes, byte[] ivBytes)
 		{
 			if (keyBytes.Length != 32)