44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using Org.BouncyCastle.Crypto;
 | |
| using Org.BouncyCastle.Security;
 | |
| 
 | |
| 
 | |
| namespace Org.BouncyCastle.Crypto.Paddings
 | |
| {
 | |
|     /**
 | |
|      * Block cipher padders are expected to conform to this interface
 | |
|      */
 | |
|     public interface IBlockCipherPadding
 | |
|     {
 | |
|         /**
 | |
|          * Initialise the padder.
 | |
|          *
 | |
|          * @param param parameters, if any required.
 | |
|          */
 | |
|         void Init(SecureRandom random);
 | |
|             //throws ArgumentException;
 | |
| 
 | |
|         /**
 | |
|          * Return the name of the algorithm the cipher implements.
 | |
|          *
 | |
|          * @return the name of the algorithm the cipher implements.
 | |
|          */
 | |
|         string PaddingName { get; }
 | |
| 
 | |
| 		/**
 | |
|          * add the pad bytes to the passed in block, returning the
 | |
|          * number of bytes added.
 | |
|          */
 | |
|         int AddPadding(byte[] input, int inOff);
 | |
| 
 | |
|         /**
 | |
|          * return the number of pad bytes present in the block.
 | |
|          * @exception InvalidCipherTextException if the padding is badly formed
 | |
|          * or invalid.
 | |
|          */
 | |
|         int PadCount(byte[] input);
 | |
|         //throws InvalidCipherTextException;
 | |
|     }
 | |
| 
 | |
| }
 |