Giter Club home page Giter Club logo

grouphstegafy's People

Contributors

jrc2 avatar

Watchers

 avatar

grouphstegafy's Issues

Add Wiki

Provide a short summary of the project and a link to the assignment description.

extracting an embedded text message

When extracting an embedded text message, you will also need to determine how many bits per color channel were used to embed the message so it can be extracted. Additional, the following requirements must be met:

  • Extract the message until the following characters are encountered: #.-.-.-#, which means the end of the message has been reached.
  • The extracted message should be displayed within the GUI. The #.-.-.-# characters should not be displayed.

Store header information

When embedding the message, it also needs to embed that it contains a secret message, the type of message that is being embedded (text or image), the number of bits per color channel (BPCC) that were used, and whether encryption was used and the type of encryption that was used. Therefore, when extracting the message the program will automatically be able to determine what type of message was hidden, the encryption technique, if applicable, and extract the message accordingly.

This “header” information should be stored as follows in the first and second pixel:

  • First pixel:
    • RGB value of (212, 212, 212) means the image has a secret message and the GUI should automatically extract and display the secret message.
  • Second pixel
    • LSB of red
      • 0: no encryption
      • 1: encryption
    • Green color value will indicate the number of BPCC from 1 to 8. Default will be 1 BPCC.
    • LSB of green
      • 0: image
      • 1: text

add encrypted image display to gui

When encrypt is checked after secret image is loaded, the gui should display both the encrypted and unencrypted versions. Also show both when loading a modified image in

create bitmap image from extracted image

When extracting an embedded image message, use the LSB of each image pixel to create a new bitmap image. Additional, the following requirements must be met:

  • Extract a pixel value for the entire image file. If the monochrome bitmap was smaller than the original image file then there may be a lot of noise in the outer bounds of the new image, as exemplified in Figure 6, but the message will still be extracted.
  • The extracted image should be displayed within the GUI and also allow the user to save the resulting extracted message image file. You may write it out as a PNG file, 24-bit BMP file, or a monochrome BMP file. The choice is yours. If you write it out as a PNG or 24-bit bitmap file, a black pixel is created with the following RGB value, (0, 0, 0), which as the integer value of 0, while a white is (255, 255, 255), which has the integer value of 16,777,215.

monochrome bitmap encryption

Encrypt the monochrome bitmap by swapping the opposite quadrants of the monochrome image

  • The image should be divided into quadrants based by halving the image both height and width wise. The swapping of quadrants for the image message will be based on the size of the source image
  • The user should be able to see an unencrypted and encrypted version of the message.

extract header info

Get header info from modified image to be able to determine how to read the embedded data

other extracting message notes

  • You may assume that the image file to extract the message from will be a 24-bit BMP or PNG file. You will know that the image contains a secret message to extract by the first pixel having the RGB value of (212, 212, 212).
  • If when extracting the image, it is determined that encryption was used (see next section), then decrypt the message upon extraction.
  • Display both the encrypted and decrypted message

hide image

If the message to hide is an image, the program must meet the following requirements:

  • a. You may assume that the message image is a monochrome BMP file.
  • b. When embedding the monochrome image within the image file only modify the least significant bit of the RGB color value for each pixel in the source image file. This means that the only bit for each pixel that will be manipulated is the very last bit of the color value, which is the LSB of the blue color channel.
  • c. If the height, width, or both dimensions of the message image exceeds the corresponding dimension of the source image, then output a message indicating that the message file exceeds the dimensions of the source image and do not embed the image.
  • d. The message file needs to be loaded and displayed within the GUI.

bpcc box does not work

When trying to embed text message, I get invalid bpcc error with all values, including 1 through 8.

John final code check

check naming, error list, task list, clean code, documentation, make sure no comments are in code

Reid final code check

check naming, error list, task list, clean code, documentation, make sure no comments are in code

encryption gui

The GUI must provide a mechanism to indicate whether encryption should be applied when embedding the message and the type of encryption to use.

hide text file

Notes:

  • You may assume that all the text in the file is legal text.
  • The text file may have more than one line of text.

Requirements:

  • user should be able to view the contents of the text file within the GUI
  • You must encode all alphabetic characters in the file, but you will exclude all non-alphabetic characters, e.g., white space and punctuation characters.
  • When embedding the text file within the image file it will use the specified number of BPCC for each color channel. The user needs to be able to specify the number of least significant bits to use for each color channel within the app. This value will be from 1-8. Default value is 1.
  • If the number of pixels required to embed the text file exceeds the total number of pixels in the image file, then output a message indicating that the message will not fit in the image file and indicate the number of bits needed per color channel to store the text message in the image.
  • To indicate the end of the text file (message) when embedding the text, the embedded text should be terminated with the following character sequence: #.-.-.-#
    • i. The end of message text will not be in the text file.

text message encryption

A Vigenère cipher will be used. The user must be able to specify the keyword for the Vigenère cipher

  • You will need to write out the keyword at the beginning of the message followed by #KEY# This will indicate what the keyword is and where it stops and the message will begin write after
    the second #.
  • Do not encrypt keyword, the end of keyword and end of message characters: #KEY# and #.-.-.-#
  • The user should be able to see an unencrypted and encrypted version of the message.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.