Class CryptographyActor

    • Field Detail

      • algorithm

        public StringParameter algorithm
        Specify the algorithm to be used to process data. The algorithm is specified as a string. The algorithms are limited to those implemented by providers using the Java JCE which are found on the Java virtual machine. The initial default is the first value returned by java.security.Security.getAlgorithms();
      • input

        public TypedIOPort input
        The input port. The type of this port is unsigned byte array. Data is read in on this port, processed by the _process() method during fire() and passed to the output port.
      • keySize

        public Parameter keySize
        Specify the size of the key to be created. The key size is an integer value representing the number of bits in the key. The initial default depends on the algorithm that is selected, not all algorithms use keySize. In addition, only certain keySizes may work with certain algorithms, see the documentation for the algorithm you are using.

        DSA is the most common algorithm that uses keySize, the Sun documentation says: "The length, in bits, of the modulus p. This must range from 512 to 1024, and must be a multiple of 64. The default keysize is 1024." Refer to http://download.oracle.com/javase/6/docs/technotes/guides/security/StandardNames.html#spectemp for a list of possible key sizes for certain algorithms. The initial default is 1024.

      • output

        public TypedIOPort output
        The output port. The type of this port is unsigned byte array. This port sends out the processed data received from the input port.
      • provider

        public StringParameter provider
        Specify a provider for the given algorithm. The default value is "SystemDefault" which allows the system to choose the provider based on the JCE architecture.
      • _algorithm

        protected java.lang.String _algorithm
        The name of the algorithm to be used.
      • _keySize

        protected int _keySize
        The key size to be used when processing information.
      • _provider

        protected java.lang.String _provider
        The provider to be used for a provider specific implementation.
    • Constructor Detail

      • CryptographyActor

        public CryptographyActor​(CompositeEntity container,
                                 java.lang.String name)
                          throws NameDuplicationException,
                                 IllegalActionException
        Construct an actor with the given container and name. The Java virtual machine is queried for algorithm and provider choices and these choices are added to the appropriate parameters.
        Parameters:
        container - The container.
        name - The name of this actor.
        Throws:
        IllegalActionException - If the actor cannot be contained by the proposed container.
        NameDuplicationException - If the container already has an actor with this name.
    • Method Detail

      • _process

        protected abstract byte[] _process​(byte[] dataBytes)
                                    throws IllegalActionException
        Process the input data based on parameter specifications. Subclasses should process the data using one of the signature or cipher classes provided in the JCA or JCE.
        Parameters:
        dataBytes - The data to be processed.
        Returns:
        The processed data.
        Throws:
        IllegalActionException - Not thrown in this base class