public abstract class OpenStegoPlugin
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
OpenStegoPlugin.Purpose
Enumeration of plugin purposes
|
Modifier and Type | Field and Description |
---|---|
protected OpenStegoConfig |
config
Configuration data to be used while embedding / extracting data
|
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<java.lang.String,java.lang.String> 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<? extends OpenStegoConfig> |
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 double |
getHighWatermarkLevel()
Method to get correlation value which above which it can be considered that watermark strength is high
|
abstract double |
getLowWatermarkLevel()
Method to get correlation value which below which it can be considered that watermark strength is low
|
abstract java.lang.String |
getName()
Gives the name of the plugin
|
abstract java.util.List<OpenStegoPlugin.Purpose> |
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<java.lang.String> |
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<java.lang.String> |
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
|
protected OpenStegoConfig config
public abstract java.lang.String getName()
public abstract java.util.List<OpenStegoPlugin.Purpose> 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 double getHighWatermarkLevel() throws OpenStegoException
OpenStegoException
public abstract double getLowWatermarkLevel() throws OpenStegoException
OpenStegoException
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<java.lang.String> getReadableFileExtensions() throws OpenStegoException
OpenStegoException
public abstract java.util.List<java.lang.String> 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<? extends OpenStegoConfig> getConfigClass()
public final OpenStegoConfig createConfig() throws OpenStegoException
OpenStegoException
public final OpenStegoConfig createConfig(java.util.Map<java.lang.String,java.lang.String> propMap) throws OpenStegoException
propMap
- Property mapOpenStegoException
public final OpenStegoConfig createConfig(CmdLineOptions options) throws OpenStegoException
options
- Command-line optionsOpenStegoException
public final OpenStegoConfig getConfig()
Copyright © 2007-2020 Samir Vaidya. All Rights Reserved.