LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Digital Steganography: How to Build a VI for Academic Purposes

Hi,

 

I teach at a High School, and as part of the course the kids are interested in encryption. We discussed digital steganography and I wanted to be able to do a labview lesson where we discuss and write a VI. What I would like to do is have two VI's. One that writes data into a picture and in the process can change change color hues (if needed) and a second VI that compares two pictures to pull the differences out to reveal the hidden information. For my purposes it doesn't matter if the hidden information is binary or ASCII.

 

Our school has two versions of LabView. We have the education edition and we have the version used with the infinity project. (Both should have full functionality.) If there is any difference in the directions, education edition directions are preferred.

 

Sorry, but I have no idea how to begin this or what to do. I'm still new to and learning LabView as we go. I searched steganography and the other topics were not helpful. I would really appreciate any and all help.

 

Thanks.

0 Kudos
Message 1 of 14
(4,533 Views)

While this is hardly military grade encryption I think you could illustrate your point with code like this.

 

Encode stage:

 

Simple Steganography Encode.png

 

Decode stage:

 

Simple Steganography Decode.png

 

This approach relies on the image being big enough to hold all the text.  You could be more efficient if you use every color value (I only used blue to keep the diagram looking clean).  The code isn't terribly robust (no error checking, doesn't check to see if there is space to encode the full message, etc) and I haven't tested it short of confirming that I could get a simple message back but it should help you on your way.

 

Good luck -- sounds like a fun class.  I wish I got to do stuff like this when I was in high school.

 

~Simon


Message 2 of 14
(4,518 Views)

Thanks for the VI. I don't know the names of several of the blocks. Is there any chance you could send me the VI or repost with all the Block's names?

0 Kudos
Message 3 of 14
(4,472 Views)

It is a snippet (look it up in the Help) which means you can drag it to a block diagram. It's in version 2010. You should determine the 'numeric' version of LabVIEW that you have.

 

Most of the functions do have the names except for the 'Byte Array to String', 'String to Byte Array', 'Array Size', and 'Index Array' functions. Such basics as the 'Unbundle by Name' and 'Add' is something you should know.

0 Kudos
Message 4 of 14
(4,460 Views)

I use LabView 2009 education edition. I tried searching to see if there is anyway for me to get this to work, but I couldn't find it. Is there any chance someone would be kind enough to create 2009 versions of the snippets?

0 Kudos
Message 5 of 14
(4,451 Views)

What problems are you having recreating it youself, now that you know all of the names? Have you tried to use the search button on the function palette?

0 Kudos
Message 6 of 14
(4,440 Views)

I downloaded 2010 so I could use the snippet on my own. I run into an error at the block labeled "write png file". I'm not sure what I'm doing wrong. I get the error 6, generic file i/o error; which the forum said should be caused by trying to write to a full disk. The disk isn't full, so I'm sure I'm not selecting the directory/file correctly.

0 Kudos
Message 7 of 14
(4,436 Views)

Do you have rights to the directory you are trying to write the file to?

0 Kudos
Message 8 of 14
(4,427 Views)

I was trying to save the file to the desktop. The computer I'm using, I'm the "administrator". I am picking a location and then ending the directory with a "name.png" that I want a file to be created and named, not an existing file, correct?

0 Kudos
Message 9 of 14
(4,424 Views)

I even pulled out a flash drive and tried to write to that. It had the same error.

0 Kudos
Message 10 of 14
(4,413 Views)