public abstract class OpenStegoPlugin
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected OpenStegoConfig |
config
Configuration data to be used while embedding / extracting data
|
static java.lang.String |
PURPOSE_DATA_HIDING
Constant for the purpose of the plugin - Data Hiding
|
static java.lang.String |
PURPOSE_WATERMARKING
Constant for the purpose of the plugin - Watermarking
|
Constructor and Description |
---|
OpenStegoPlugin() |
Modifier and Type | Method and Description |
---|---|
abstract boolean |
canHandle(byte[] stegoData)
Method to find out whether given stego data can be handled by this plugin or not
|
double |
checkMark(byte[] stegoData,
java.lang.String stegoFileName,
byte[] origSigData)
Method to check the correlation for the given image and the original signature
|
OpenStegoConfig |
createConfig()
Method to create default configuration data (specific to this plugin)
|
OpenStegoConfig |
createConfig(CmdLineOptions options)
Method to create configuration data (specific to this plugin) based on the command-line options
|
OpenStegoConfig |
createConfig(java.util.Map propMap)
Method to create configuration data (specific to this plugin) based on the property map
|
abstract byte[] |
embedData(byte[] msg,
java.lang.String msgFileName,
byte[] cover,
java.lang.String coverFileName,
java.lang.String stegoFileName)
Method to embed the message into the cover data
|
abstract byte[] |
extractData(byte[] stegoData,
java.lang.String stegoFileName,
byte[] origSigData)
Method to extract the message from the stego data
|
abstract java.lang.String |
extractMsgFileName(byte[] stegoData,
java.lang.String stegoFileName)
Method to extract the message file name from the stego data
|
abstract byte[] |
generateSignature()
Method to generate the signature data.
|
OpenStegoConfig |
getConfig()
Get method for config
|
abstract java.lang.Class |
getConfigClass()
Method to get the configuration class specific to this plugin
|
abstract java.lang.String |
getDescription()
Gives a short description of the plugin
|
abstract byte[] |
getDiff(byte[] stegoData,
java.lang.String stegoFileName,
byte[] coverData,
java.lang.String coverFileName,
java.lang.String diffFileName)
Method to get difference between original cover file and the stegged file
|
abstract PluginEmbedOptionsUI |
getEmbedOptionsUI(OpenStegoUI stegoUI)
Method to get the UI object for "Embed" action specific to this plugin.
|
abstract java.lang.String |
getName()
Gives the name of the plugin
|
abstract java.util.List |
getPurposes()
Gives the purpose(s) of the plugin
|
java.lang.String |
getPurposesLabel()
Gives the display label for purpose(s) of the plugin
|
abstract java.util.List |
getReadableFileExtensions()
Method to get the list of supported file extensions for reading
|
abstract java.lang.String |
getUsage()
Method to get the usage details of the plugin
|
abstract double |
getWatermarkCorrelation(byte[] origSigData,
byte[] watermarkData)
Method to check the correlation between original signature and the extracted watermark
|
abstract java.util.List |
getWritableFileExtensions()
Method to get the list of supported file extensions for writing
|
abstract void |
populateStdCmdLineOptions(CmdLineOptions options)
Method to populate the standard command-line options used by this plugin
|
public static final java.lang.String PURPOSE_DATA_HIDING
public static final java.lang.String PURPOSE_WATERMARKING
protected OpenStegoConfig config
public abstract java.lang.String getName()
public abstract java.util.List getPurposes()
public abstract java.lang.String getDescription()
public final java.lang.String getPurposesLabel()
public abstract byte[] embedData(byte[] msg, java.lang.String msgFileName, byte[] cover, java.lang.String coverFileName, java.lang.String stegoFileName) throws OpenStegoException
msg
- Message to be embeddedmsgFileName
- Name of the message file. If this value is provided, then the filename should be embedded in
the cover datacover
- Cover data into which message needs to be embeddedcoverFileName
- Name of the cover filestegoFileName
- Name of the output stego fileOpenStegoException
public abstract java.lang.String extractMsgFileName(byte[] stegoData, java.lang.String stegoFileName) throws OpenStegoException
stegoData
- Stego data containing the messagestegoFileName
- Name of the stego fileOpenStegoException
public abstract byte[] extractData(byte[] stegoData, java.lang.String stegoFileName, byte[] origSigData) throws OpenStegoException
stegoData
- Stego data containing the messagestegoFileName
- Name of the stego fileorigSigData
- Optional signature data file for watermarkOpenStegoException
public abstract byte[] generateSignature() throws OpenStegoException
OpenStegoException
public final double checkMark(byte[] stegoData, java.lang.String stegoFileName, byte[] origSigData) throws OpenStegoException
stegoData
- Stego data containing the watermarkstegoFileName
- Name of the stego fileorigSigData
- Original signature dataOpenStegoException
public abstract double getWatermarkCorrelation(byte[] origSigData, byte[] watermarkData) throws OpenStegoException
origSigData
- Original signature datawatermarkData
- Extracted watermark dataOpenStegoException
public abstract byte[] getDiff(byte[] stegoData, java.lang.String stegoFileName, byte[] coverData, java.lang.String coverFileName, java.lang.String diffFileName) throws OpenStegoException
stegoData
- Stego data containing the embedded datastegoFileName
- Name of the stego filecoverData
- Original cover datacoverFileName
- Name of the cover filediffFileName
- Name of the output difference fileOpenStegoException
public abstract boolean canHandle(byte[] stegoData)
stegoData
- Stego data containing the messagepublic abstract java.util.List getReadableFileExtensions() throws OpenStegoException
OpenStegoException
public abstract java.util.List getWritableFileExtensions() throws OpenStegoException
OpenStegoException
public abstract void populateStdCmdLineOptions(CmdLineOptions options) throws OpenStegoException
options
- Existing command-line options. Plugin-specific options will get added to this listOpenStegoException
public abstract java.lang.String getUsage() throws OpenStegoException
OpenStegoException
public abstract PluginEmbedOptionsUI getEmbedOptionsUI(OpenStegoUI stegoUI) throws OpenStegoException
stegoUI
- Reference to the parent OpenStegoUI objectOpenStegoException
public abstract java.lang.Class getConfigClass()
public final OpenStegoConfig createConfig() throws OpenStegoException
OpenStegoException
public final OpenStegoConfig createConfig(java.util.Map propMap) throws OpenStegoException
propMap
- Property mapOpenStegoException
public final OpenStegoConfig createConfig(CmdLineOptions options) throws OpenStegoException
options
- Command-line optionsOpenStegoException
public final OpenStegoConfig getConfig()
Copyright © 2007-2009 Samir Vaidya. All Rights Reserved.