/**
 * IPad
 * 
 * An interface for padding mechanisms to implement.
 * Copyright (c) 2007 Henri Torgemane
 * 
 * See LICENSE.txt for full license information.
 */
package com.hurlant.crypto.symmetric
{
    import flash.utils.ByteArray;
    
    /**
     * Tiny interface that represents a padding mechanism.
     */
    public interface IPad
    {
        /**
         * Add padding to the array
         */
        function pad(a:ByteArray):void;
        /**
         * Remove padding from the array.
         * @throws Error if the padding is invalid.
         */
        function unpad(a:ByteArray):void;
        /**
         * Set the blockSize to work on
         */
        function setBlockSize(bs:uint):void;
    }
}