Grade Level: 11 (9-12)
Time Required: 1 hour
Lesson Dependency: None
Subject Areas: Computer Science
SummarySteganography is the science and art of hiding messages in plain sight so only the sender and intended recipient know the existence of a message. Steganography can be characterized as security through obscurity. Through this lesson, students experience a portion of the engineering design process as they research steganography and steganographic methods; identify problems, criteria and constraints; brainstorm possible solutions; and generate ideas. These are the critical first steps in the engineering design process, often overlooked by students who want to get to the "doing" phases—designing, building and testing. In computer science, a thorough design phase makes program implementation much easier and more effective. Students obtain practice with a portion of the design process that may be less exciting, but is just as important as the other steps in the process.
Along with its associated activity, the lesson is designed to provide students with practice in implementing the engineering design process. Students identify a problem, develop solutions, select and implement a possible solution, test the solution and redesign as needed to meet requirements. The process is driven by the concept of steganography, which may be new to students and potentially intriguing. For a centuries, individuals and governments have delivered messages to interested parties secretly using steganography. More recently, terrorists use steganography to hide messages from law enforcement. Software engineers, both those who hide messages and those who attempt to detect messages, use the design process to identify methods for hiding information and detecting the very subtle document and image changes that indicate the presence of hidden messages. These software engineers are on the front lines in detecting illegal behavior that is planned and communicated via steganography.
After this lesson, students should be able to:
- Research and explain steganography.
- Compare and contrast several different methods of steganography.
- Describe positive and negative uses of steganography.
Each TeachEngineering lesson or activity is correlated to one or more K-12 science,
technology, engineering or math (STEM) educational standards.
All 100,000+ K-12 STEM standards covered in TeachEngineering are collected, maintained and packaged by the Achievement Standards Network (ASN),
a project of D2L (www.achievementstandards.org).
In the ASN, standards are hierarchically structured: first by source; e.g., by state; within source by type; e.g., science or mathematics;
within type by subtype, then by grade, etc.
Each TeachEngineering lesson or activity is correlated to one or more K-12 science, technology, engineering or math (STEM) educational standards.
All 100,000+ K-12 STEM standards covered in TeachEngineering are collected, maintained and packaged by the Achievement Standards Network (ASN), a project of D2L (www.achievementstandards.org).
In the ASN, standards are hierarchically structured: first by source; e.g., by state; within source by type; e.g., science or mathematics; within type by subtype, then by grade, etc.
Making decisions about the use of technology involves weighing the trade-offs between the positive and negative effects.
(Grades 9 - 12)
Do you agree with this alignment? Thanks for your feedback!
Ethical considerations are important in the development, selection, and use of technologies.
(Grades 9 - 12)
Do you agree with this alignment? Thanks for your feedback!
Worksheets and AttachmentsVisit [ ] to print or download.
More Curriculum Like This
Students apply the design process to the problem of hiding a message in a digital image using steganographic methods, a PictureEdit Java class, and API (provided as an attachment). They identify the problems and limitations associated with this task, brainstorm solutions, select a solution, and impl...
Students learn about nondestructive testing, the use of the finite element method (systems of equations) and real-world impacts, and then conduct mini-activities to apply Maxwell’s equations, generate currents, create magnetic fields and solve a system of equations. They see the value of NDE and FEM...
Students explore using a GPS device and basic GIS skills. They gain an understanding of the concepts of latitude and longitude, the geocaching phenomenon, and how location and direction features work while sending and receiving data to a GIS such as Google Earth.
Students learn the basics of acid/base chemistry in a fun, interactive way by studying instances of acid/base chemistry found in popular films such as Harry Potter and the Prisoner of Azkaban and National Treasure. Students learn what acids, bases and indicators are and how they can be used, includi...
The teacher should have a working knowledge of the engineering design process. Learn more at https://www.teachengineering.org/engrdesignprocess.php.
In this lesson, you will be introduced to the concept of steganography, which is the art and science of hiding information in plain sight. This is one of the coolest topics that you may have never heard of which may have large impacts on your life. Steganography is used by countries and their governments, as well as terrorists. Software engineers use steganography to hide information in messages. They also try to detect information hidden by using steganography; this can be thought of as cyber law enforcement. Regardless, software engineers must be able to detect very subtle changes in documents and images in order to detect hidden messages. These software engineers are the front lines in detecting illegal behavior and protecting our country.
The first known use of steganography was in ancient Greece where messages were carved in wax tablets that were then covered with more wax. When the tablet was delivered, the top layer of wax was carefully removed revealing the message beneath. Steganography was used in wars, by the Underground Railroad for example, and more recently by terrorists to convey hidden messages in plain sight. You will learn about steganography and steganographic methods through research, questioning and practical experience.
You'll begin by researching steganography on the Internet to learn what it is and where it was (and is) used. As you read, focus on the history of steganography and the benefits and harm that steganography has for society. As you research, take careful notes to identify the challenges associated with steganography, such as problems with implementation, problems caused by steganography, and problems solved by steganography. You should also record what criteria and constraints make a message steganographic in nature. This research has been intentionally left ambiguous so that you can explore additional aspects related to the topic of steganography that interest you. After you research steganography, we will have a class discussion to help you frame what you learned.
(After students have completed their initial investigations, lead a class discussion about how steganography might be used in society and whether those applications are positive or negative. See the Assessment section for recommended questions/answers.)
Now that we have had a chance to discuss the results of your initial investigation, continue to research steganography and the techniques used to encrypt data in an image or other type of digital file. Once you have read about three or four techniques, you should begin to form an opinion on the effectiveness of each method. Additionally, given your knowledge about math and programming, judge how difficult it would be to implement each one of these techniques. Include the following methods in your research:
- least significant bit modification
- chaffing and winnowing
- bit-plane complexity segmentation steganography
- transform domain methods
- Fourier series (for music)
As before, keep careful notes about what you learn so you have what you need later to justify your opinions using the design process. Following the lesson, students can conduct the associated activity An Implementation of Steganography by applying the steps of the engineering design process to the problem of hiding a message in an image using steganographic methods.
Lesson Background and Concepts for Teachers
Steganography is a method for concealing information within seemingly innocent media. The true craft comes from sending the information in a manner so that only the sender and the intended recipient realize its existence. Steganography may be as simple as altering the language of a message. It can also involve using a "container," such as a jpg image, to carry a "cargo" of data, such as a text file. However the message is concealed, the art is in hiding the data in plain sight so as to hide its true intention. With steganography, seemingly unaltered images, video files, sound files and even blank disc space can all inconspicuously carry extra data. Software engineers are on the front lines in detecting steganographic methods employed by modern terrorists to hide details of their plans. Due to the prolific multimedia content on the Internet that is easily shared using social media, terrorists are able use this information to convey their plans. Modern software engineers or cyber terrorism specialists scan Internet traffic in the attempt to detect these hidden messages.
History of Steganography
The first recorded use of steganography dates back to the early Greeks and the ruler, Demaratus. As king of Sparta, Demaratus ruled from 515 to 491 BC. At this time, it was common to write on waxed tablets. To communicate a warning of an impending attack on Greece by the Persian ruler Xerxes, Demaratus scraped the wax off of a wooden tablet, inscribed a message, and then covered the tablet in wax once again. In this way, the tablets carried secret information to the intended recipient without arousing suspicion. Other times of conflict are rich with examples of steganography. The Underground Railroad used quilt patterns to direct slaves on their journey northward, cryptographic writing was used numerous times in both World Wars I and II, and it is suspected the 9/11 terrorists communicated through messages hidden in jpg images. Even gang graffiti can covertly pass information.
To employ a digital steganographic technique, begin with a "carrier" to conceal the data. The carrier could be an image, text or audio file. Insert the "cargo" into the carrier. The cargo is often encrypted to allow for an even greater degree of security. The finished file is in the same format as the carrier.
Example Steganography Techniques
Color-to-Letter Conversion: Every color on a computer is represented as a mixture of red, green and blue colors. Since everything is digital, at its rawest level, these colors are simply binary 0s and 1s. Similarly to colors, every letter on the keyboard or in a message has a binary representation based on the ASCII standard. For example, the letter "A" is the number 65 on the ASCII conversion chart. One easy way to hide information in an image is to simply change an entire color to the number from a single letter. For example, say you wanted to hide the message "Hello World" in an image. We could find the ASCII value of each of those letters and change the red value of every 13th pixel to match that data. This method leaves visual artifacts of the modification.
Least Significant Bit: This method is much more difficult to detect, but also more difficult to implement. In the least significant bit (LSB) method, we change the rightmost bit of each color to match our data. For example in the pixel color (red = 178, green = 216, blue = 222) if we switch to the binary values we get: (1011001 0 , 1101100 0 , 1101111 0 ). Since the letter "H" is ASCII 72, which is 01001000 in binary, we can begin hiding the data from this "H" across the red, green and blue of many pixels in the rightmost bit by making this change: 1011001 0 , 1101100 1 , 1101111 0 . The next pixel would have the right three bits values changed to 0 , 1 , 0 with the remaining values of H's ASCII in the next pixel's rightmost bits. This process can be continued to hide an entire message.
The use of the binary system, binary numbers and the ASCII system is often used in steganography. Refer to the Additional Multimedia Support section for further information on the topic of stenography.
- An Implementation of Steganography - Students apply the steps of the engineering design process to the problem of hiding a message in an image using steganographic methods, a PictureEdit Java class, and API They identify the problems and limitations associated with this task, brainstorm solutions, select a solution, and implement it. Once their messages are hidden, classmates attempt to decipher their messages. Based on testing phase outcome, students refine and improve their solutions.
(Closing assignment) Our class discussion and your steganography research should give you enough information to decide how effective a particular method of steganography is and how difficult it would be to implement. Before we begin our activity, I would like each of you to make a determination of which of steganography techniques would be the easiest to detect, and hence the least secure. Justify this determination using the notes you took while researching. It should include the problems identified with each method, the strengths and weaknesses of each method, and the criteria and constraints with each method. For the upcoming activity, you should also select a steganographic method to implement with details about implementation and reasons for selecting that method.
steganography: A method for concealing information within seemingly innocent media.
Observations: While students are engaged in the lesson, make observations and consider the following questions to assess their progress:
- Do students understand how steganography can be used to send secret messages?
- Can students explain whether steganography is a secure way to send information?
Discussion Questions: During the class discussion, ask the following questions to assess how much useful information students are finding during their research:
- Where might we hide information online? (Answer: Images, videos, sound files.)
- What kind of information could we hide? (Answer: Content you want to secretly convey, perhaps military plans, terrorist activities, proprietary or patent information, etc.)
- What is steganography? (Answer: Hiding information in plain sight.)
- How has steganography been used in the past? (Answer: Military applications and the Underground Railroad.)
- How can it benefit society? (Answer: Information can be conveyed to help protect people, a cause or society.)
- How can it harm our society? (Answer: Information can be conveyed to target people or society; for example, terrorists use steganography.)
- What is a problem with implementing steganography? (Answer: The method must be undetectable under normal circumstances.)
- What digital format or file type could be used to hide information? (Answer: Text, images, video and audio [sound] files.)
- How can hidden information go undetected? (Answer: Because of the sheer volume of data on the web, it is impractical to check every image for hidden data.)
- How could we begin to look for other people's hidden data? (Answer: We need to see how hidden data affects the original file. We want to look for those changes.)
Writing: Have students complete the Lesson Assessment, which asks the following three essay questions about steganography. For example answers, refer to the Lesson Assessment Answers. Review students' answers to gauge their comprehension of the subject matter before conducting the associated activity.
- What is the basic premise of steganography and how is it used in modern society?
- In what ways is steganography a secure means of sending information and how does it fail as a secure communication method?
- What are the societal implications of modern steganography? Is it a good thing?
Additional Multimedia Support
The websites below provide further information on the topic of stenography:
Copyright© 2013 by Regents of the University of Colorado; original © 2013 Board of Regents, University of Nebraska
Supporting ProgramIMPART RET Program, College of Information Science & Technology, University of Nebraska-Omaha
The contents of this digital library curriculum were developed as a part of the RET in Engineering and Computer Science Site on Infusing Mobile Platform Applied Research into Teaching (IMPART) Program at the University of Nebraska-Omaha under National Science Foundation RET grant number CNS 1201136. However, these contents do not necessarily represent the policies of the National Science Foundation, and you should not assume endorsement by the federal government.
Last modified: June 13, 2019