Program that can steganograph a picture (BMP)?

  • Thread starter Thread starter hadi amiri 4
  • Start date Start date
  • Tags Tags
    Picture Program
Click For Summary

Discussion Overview

The discussion revolves around the creation of a program to implement steganography in BMP images, with participants seeking guidance on algorithms, techniques, and programming challenges related to this task.

Discussion Character

  • Exploratory
  • Technical explanation
  • Homework-related
  • Debate/contested

Main Points Raised

  • Some participants express a need for a program that can perform steganography on BMP images, indicating a lack of clear direction on how to start.
  • Others suggest that Wikipedia provides general ideas and examples of steganography methods, though some feel it lacks specific starting points.
  • A participant mentions a technique called "spatial" steganography, seeking clarification on its meaning and application.
  • Discussion includes the Least Significant Bit (LSB) method as a suitable approach, with some participants questioning the availability of a complete algorithm for its implementation.
  • Concerns are raised about the complexity of implementing LSB in C for BMP images, with requests for more detailed guidance.
  • Participants discuss the internal structure of BMP files and how programming languages like C handle these files, emphasizing the importance of understanding the BMP format.
  • There is a mention of indexed color in 8-bit images and how it relates to palettes, with references to BMP format specifications for further understanding.

Areas of Agreement / Disagreement

Participants generally agree on the need for more specific guidance and clarity regarding the implementation of steganography techniques, particularly the LSB method. However, there is no consensus on the best starting point or approach, and multiple views on the adequacy of resources like Wikipedia are present.

Contextual Notes

Participants express uncertainty about the complexity of coding in C for BMP images and the interpretation of BMP file structures, indicating a reliance on external resources for understanding these concepts.

hadi amiri 4
Messages
98
Reaction score
1
can anyone write a program that can steganograph a picture (BMP)?
or any seggestion?
 
Technology news on Phys.org


Many people can.

Question is so vague it is hard to guess what you are really looking for.
 


i am taking a c course in university and the in the third section of class professor announced the project of the term every body got shocked .
i have 3 about 30 days to find the algorithm and general solution but i don't know how to start?
can you help me?
 


Plenty of ideas just after reading wikipedia article, just be creative.
 


wikipedia is very general it doesn't give a starting point
 


hadi amiri 4 said:
wikipedia is very general it doesn't give a starting point
Yes it does. It tells you what a stenograph is (a coded image), and gives you multiple examples. There's bit replacement, ciphering, explicit letters, etc. The digital stenograph paragraph is basically a list of ways to do your project.
 


my teacher advised me a way which name's was "spatial" anybody knows what it is?:rolleyes:
 


hadi amiri 4 said:
i am taking a c course in university and the in the third section of class professor announced the project of the term every body got shocked .
I sometimes worry that not having a CS degree I'm not going to get more work as a programmer - then something cheers me up.
 


mgb_phys said:
I sometimes worry that not having a CS degree I'm not going to get more work as a programmer - then something cheers me up.

I thought this thread had something to do with dinosaurs at first. Either way, good stuff.

learn something new everyday
 
  • #10


hadi amiri 4 said:
my teacher advised me a way which name's was "spatial" anybody knows what it is?
Spatial just means space, and from what clicking three links tells me, the technique involves hiding the secret in a certain region (space) in the picture the spatial domain. Just do a little bit of googling. It pulls up useful things like a http://debii.curtin.edu.au/~vidy/publications/INC_2004_Disguising%20Text%20Cryptography%20using%20Image%20Cryptography.ppt. .

Images 101:
Digital images are composed of two main parts: the meta data, and the binary image data. The binary image data is mapped to colors/images based on the file formats and the specifications(rules) that go with that format. You can hide stuff in the meta data, the raw data, or you can tack stuff on (hide it in the file in such a way that it's not visible to the eye or on a cursory look at the file.) Your professor is telling you to mess with the actual image, which is the binary raw data.
 
Last edited by a moderator:
  • #11


after doing some searching i realized that the LSB method is very suitable for my project the problem is that i coulden't find any complete algorithm for this.
i was wondering does anybody knows the complete algorithm of LSB method?
 
  • #12


Do you know what LSB is? There is no need for any special alogorithm, it can be coded in no time.
 
  • #13


hadi amiri 4 said:
i was wondering does anybody knows the complete algorithm of LSB method?
As borek said, the LSB method is in the name. LSB stands for least significant bit. You should be able to manipulate the LSB on your own, but google also pulls up some stuff.

A LSB steganography detection algorithm<-just cite them.
 
  • #14


LSB method has a simple explanation but when we want to implement it to a BMP image with C it doesen't become as easy as you said i don't know how to start and how should i start coding i have no starting point and that's terrible!
can anyone give more help please?:blushing:
 
  • #15


Look for the internal structure of the BMP file in MSDN, find out where the data lies and how it is organized. It is a pretty simple format, especially for RGB bitmaps.
 
  • #16


Borek said:
Look for the internal structure of the BMP file in MSDN, find out where the data lies and how it is organized. It is a pretty simple format, especially for RGB bitmaps.

how languages treat the bmp files?
do they treat diffrently?
i mean how a language like c treat a bmp file?
 
  • #17


hadi amiri 4 said:
how languages treat the bmp files?
do they treat diffrently?
i mean how a language like c treat a bmp file?

That's entirely dependent on you. A BMP file is just byte-sized data like any other file. (If you don't tell an application to interpret it as bitmap data, it will happily try to read it as if it were sound or text or whatever. A byte set as 64 (01000000) can appear as a dark red, a G note or an '@' character.) Your program will read in the data byte by byte; it is up to you to understand what the bytes mean by understanding the internal format of a .BMP file.
 
  • #18


hadi amiri 4 said:
i am taking a c course in university

hadi amiri 4 said:
how languages treat the bmp files?
do they treat diffrently?
i mean how a language like c treat a bmp file?

faint.gif
 
Last edited by a moderator:
  • #19


DaveC426913 said:
it is up to you to understand what the bytes mean by understanding the internal format of a .BMP file.
Which is where Borek's suggestion of combing MSDN came in. He was suggesting that you look up the internal file format so that you can figure out how to process the file. As your programming skills come off as somewhat weak, I suggest you use a C/C++ library for bitmap manipulation.

MSDN Bitmap Class
 
  • #20


thanks for you'r suggestions i will come back soon with:wink: new questions.
 
  • #21


a 24 bit pticture uses 3 bytes for a pixel like this(11111111,11111111,11111111) but a 8 bit picture uses a byte for showing a pixel like this (11111111) the question is that in 24 bit pics first 8 bits are (?) for blue and next 8 bits for green and finally for red.

how the RGB is for 8bit pixels?
 
  • #22


hadi amiri 4 said:
a 24 bit pticture uses 3 bytes for a pixel like this(11111111,11111111,11111111) but a 8 bit picture uses a byte for showing a pixel like this (11111111) the question is that in 24 bit pics first 8 bits are (?) for blue and next 8 bits for green and finally for red.

how the RGB is for 8bit pixels?

Pictures that are 256 colours use what is called a palette. A palette will map each colour to a unique colour (ie 24-bit). There is theory in reducing 24-bit colour to 8 bit colour but that's for another thread.
 
  • #23


This is so called indexed color, number you see is an index to palette which is somewhere at the beginning of the file.

Which is precisely described in the BMP format specification which you were asked to read. Reading hurts?
 

Similar threads

  • · Replies 15 ·
Replies
15
Views
2K
Replies
9
Views
4K
Replies
38
Views
4K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 22 ·
Replies
22
Views
2K
  • · Replies 14 ·
Replies
14
Views
2K
Replies
37
Views
6K