• (5 Pages)
  • +
  • « First
  • 2
  • 3
  • 4
  • 5

Steganography Rate Topic: ***** 9 Votes

#46 princelyroyan  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 2
  • Joined: 16-August 11

Posted 16 August 2011 - 09:08 AM

View Poststego, on 05 May 2011 - 12:54 PM, said:

Hi
When I Apply the program and worked to hide the image of extension jpeg transfir after saving to image of the extension Bng What is the reason for the change extension the image in this program??????
///////////////////////////////////////////////////////////


What is the algorithm used in this Steganography method???


Was This Post Helpful? 0
  • +
  • -

#47 princelyroyan  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 2
  • Joined: 16-August 11

Posted 16 August 2011 - 06:55 PM

Can any one say what algorithm is used in this steganography?>???? Please!!


Was This Post Helpful? 0
  • +
  • -

#48 mayurk  Icon User is offline

  • New D.I.C Head

Reputation: -1
  • View blog
  • Posts: 2
  • Joined: 13-September 11

Posted 13 September 2011 - 08:06 AM

There are many algorithms available for implementing the Image Staganography like LSB, F5 etc...
Which algorithm you have implemented here?

This post has been edited by macosxnerd101: 13 September 2011 - 08:30 AM
Reason for edit:: Removed huge quote

Was This Post Helpful? 0
  • +
  • -

#49 William_Wilson  Icon User is offline

  • lost in compilation
  • member icon

Reputation: 204
  • View blog
  • Posts: 4,807
  • Joined: 23-December 05

Posted 12 January 2012 - 05:43 PM

It has been a long time since I have posted to this thread, I am not going to quote each question, but I will answer as many as I can remember and add further information for other media types.

1) Algorithm style used:
The algorithm is LSB (Least Significant Bit). That was said in the first few comments on page 1.

2) How many pixels are modified:
Directly the pixels themselves are not modified, instead the byte stream is altered. Indirectly as the bytes for RGB would be stored consecutively a pixel is changed by at most +/- 1 for each R,G,B value. Thus the overall colour change (n) is 0 <= n <= 3. Since each LS bit either changes or stays the same.

3) Implementing LSB Steganography on a .wav file:
This process is fairly straightforward and similar to Image embedding. The header for a wav file is quite a bit larger than that of an image, but the information on it's size or how to find it is readily available if searched for.

4) Implementing LSB Steganography on a .mp3 file:
MP3 audio is framed and is not a simple process. That which makes this audio form excellent for streaming makes embedding data far more difficult. Calculating frame lengths, header offsets are the beginning. Creating a structure of how to retrieve the divided data can cause a more troubling problem. Due to a computer crash I have lost this implementation, but I am nearly though a new implementation.
*Note ID3 tags can occur at the beginning or at the end of the file. Be careful not to overwrite this data or the information contained will be altered.

5) Implementing LSB Steganography on video formats:
I honestly do not have any experience attempting this. Once I am finished recreating the MP3 solution, the avi or mpeg format is likely my next attempt. I will post again on the subject should I make any headway.

6) Embedding Files into Files:
On the surface this is not any more difficult that simply embedding text. The problem breaks down to aligning 1 stream of bytes into another. The 2 caveats which are most likely to cause a problem are:
1) The number of bytes to embed will likely be far greater and the recipient of the data must be at least 8X larger.
2) Retrieving the data is not the complicated part. Saving the extracted data under the correct output stream is.
*For example, you cannot open an image in a text editor, copy the data and paste it into new text file, save it with the correct extension and have a copy of the image. It just doesn't work like that.
2.1) My suggestion to save a lot of headache and a solution I have implemented (btw, this can also help with 1)) is to implement Java's compression ability for .zip files. This way the data being embedded and the file to be output are always of a predictable type. Compress the file before embedding and output the .zip file allowing the compression technology to handle the file type retrieval.

7) Embedding data into Text:
This cannot be done. Changing the LSB of text would change the characters and would be noticeable to anyone.

8) Why is the output always .png:
I chose to use the PNG format for all outputs as it is a loss-less and compressed format. To anyone who has taken the time to understand and research media IO in Java, it should not be troublesome to implement other outputs.
Was This Post Helpful? 2
  • +
  • -

#50 salimk7  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 8
  • Joined: 21-January 12

Posted 23 January 2012 - 11:36 PM

I tried the code for the steganography but I am having these errors:
Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem: 
	The operator << is undefined for the argument type(s) byte[], int

	at Steganography.decode_text(Steganography.java:266)
	at Steganography.decode(Steganography.java:63)
	at Steganography_Controller$DecodeButton.actionPerformed(Steganography_Controller.java:250)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$000(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

This post has been edited by Atli: 23 January 2012 - 11:56 PM
Reason for edit:: Removed the duplicate trace logs. We only need to see it once, not 30 times!

Was This Post Helpful? 0
  • +
  • -

#51 salimk7  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 8
  • Joined: 21-January 12

Posted 28 March 2012 - 08:31 AM

View PostWilliam_Wilson, on 12 May 2007 - 02:24 PM, said:

No problem, i've always enjoyed all forms of encryption and cryptography, but i don't always have time to pursue it. I will admit the idea of modifying the least significant bit is not really my idea, it has been used in many programs over the years, and it is the most logical choice if you understand the importance of each bit.


*I also wanted to take the opportunity to properly describe how the GUI works, as it is simple and not explained anywhere, lol.
Menu Options:

Encode: type or paste the text to encode into the textarea, and press "Encode Now!", this will prompt you with a jfilechooser, which is to pick your image to encode, then you are prompted for an output file name (this does not include the extension, as it will always be .png). If the image is encoded correctly, the end result image will be saved, and then displayed in the decode view.

Decode: will prompt to choose an image, .jpg are available, but it will not work, so select a .png. Once open, select "Decode Now!" and if the image has a hidden message it will be displayed in the textarea of encode view.


I have also been adding some encryption abilities to the text, before it is encoded, both encryptions thus far are bit shifting operations. If there is a demand for it, i can post .jar files of any newer versions i create.



I tried the decode now but it is only showing me entry text panel showing there is message but I can't read the message and please how can I do steganography in a video.
Was This Post Helpful? 0
  • +
  • -

#52 nagapramod  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 02-April 12

Posted 02 April 2012 - 06:06 AM

Really helps a lot
Was This Post Helpful? 0
  • +
  • -

#53 Ramikaiber  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 16-May 12

Posted 16 May 2012 - 04:43 AM

please i need a help

i am wirting a project about video steganography and

i need to write a function to read an avi video file and accessing the video frames

i.e. something like this prototype :

png_image read_video (avi_video);

thanx a lot ^_^
Was This Post Helpful? 0
  • +
  • -

#54 salimk7  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 8
  • Joined: 21-January 12

Posted 16 May 2012 - 05:26 AM

View PostRamikaiber, on 16 May 2012 - 04:43 AM, said:

please i need a help

i am wirting a project about video steganography and

i need to write a function to read an avi video file and accessing the video frames

i.e. something like this prototype :

png_image read_video (avi_video);

thanx a lot ^_^


I am also doing something like that but I could not find how to read the video file, I only used buffered reader for images.
Was This Post Helpful? 0
  • +
  • -

#55 Anoop_java  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 2
  • Joined: 17-June 12

Posted 17 June 2012 - 03:57 AM

Im getting an error on file Steganography.java
Error is on line, result[b] = (byte)((result <<1) | (image[offset] & 1));
Kindly provide me a solution....
Was This Post Helpful? 0
  • +
  • -

#56 tejanagarwal12  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 22-June 12

Posted 22 June 2012 - 02:28 AM

I added all the 3 files in a netbeans project but i am not getting any output.
Please tell me how to compile the program.
Was This Post Helpful? 0
  • +
  • -

#57 Anubhab  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 17
  • Joined: 01-March 11

Posted 04 August 2012 - 04:32 AM

This is a nice tutorial. Thanks.
Was This Post Helpful? 0
  • +
  • -

#58 niet3sche  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 3
  • Joined: 22-October 12

Posted 22 October 2012 - 07:46 PM

View PostWilliam_Wilson, on 11 May 2007 - 06:19 PM, said:

Steganography

*snip*

Topic dead before it was posted.

LSB-based steganography has issues and, prior to 2005, was protected primarily through obscurity. In the absence of a difference image (an image made by subtracting bit-plane members of the resulting image from a known "clean" image), and with good cover-image selection, it was very difficult to figure out which image may yield fruit if attacked via steganalytic methods.

In May 2005, however, work was released that used an ANN and machine learning to identify images as good candidates for containing hidden data.

Between Andreas Westfeld, Jessica Friedrich, et al., the field has progressed so far beyond LSB-based insertions that operating in the bit-plane is what Schneier would refer to as security to thwart your kid sister.

As I cannot edit my prior post, I will point out here that I posted this to caution others that this method should not be considered a secure OR obscure way to conceal information.

As I cannot edit my prior post, I will point out here that I posted this to caution others that this method should not be considered a secure OR obscure way to conceal information.
Was This Post Helpful? 0
  • +
  • -

#59 niet3sche  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 3
  • Joined: 22-October 12

Posted 22 October 2012 - 07:53 PM

View PostWilliam_Wilson, on 12 January 2012 - 05:43 PM, said:

7) Embedding data into Text:
This cannot be done. Changing the LSB of text would change the characters and would be noticeable to anyone.

Untrue.

I would encourage you to look into the world of print-codes and the like, if you're really interested in this. Embedding information there is possible, in an analogous fasion to how higher-order DWT/DCT embedding takes place in a JPEG file. That is, print-codes are to the resulting text what the functions behind a JPEG image are to its bit-plane (and you can hide data in either super-space).

Even more simply, I know of one example where data was moved out on printed documents--they used a line-spacing-shift to signify a 1, no shift for a 0. Of course, this means that each bit requries 8 corresponding lines of text, but it was done.
Was This Post Helpful? 0
  • +
  • -

#60 niet3sche  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 3
  • Joined: 22-October 12

Posted 23 October 2012 - 05:56 AM

(Correction: each byte of data--assuming an English-language character set--requires 8 lines of text.)
Was This Post Helpful? 0
  • +
  • -

  • (5 Pages)
  • +
  • « First
  • 2
  • 3
  • 4
  • 5