Hello, I was wondering if you can help with the code required of me to do this project. I've been
trying to do this on my own but i've been struggling to get the code working properly on my text
editor or even have an image appear. If you can help with this, that would awesome. I've also
included the docoding code in case you may need it. Thank you and I hope this works out.
Project 2: Matrix Operations and Steganography 1. Goals To use elementary matrix operations to
perform steganography and hide text inside the pixels of an image. 2. Introduction Recall that an
image in a computer memory can be stored as a matrix with each position in the matrix
representing a single pixel of the entire image, and the values of each position corresponding to
the combination of Red, Green, and Blue light that the single pixel will emit. Knowing that an
image is stored as a matrix with values ranging from 0 to 255 we can then apply our knowledge
about linear transformations to these matrices and hide text inside the image. 3. Tasks This
project will not include a walk-through like project 1 did. This project will build on the ideas and
methods from Project 1 , but will require you to devise your own code. Your task is: 1. Obtain a
picture of yourself (for example, the picture from your FSU card which can be obtained by
signing into my.fsu.edu, navigating to "myFSU identity management," and clicking "My
Profile") and convert it into a lossless image format (most likely a png). 2. Use Python3 to open
the picture and create a matrix M consisting of the RGB-saturation (or simply RBG if you prefer,
but not just grayscale) values of the pixels. 3. Create a string consisting of your name and the
answers to the questions in the next section. This string might look like: b"JaredMiller. Yes, this
is bijective because..." It is important to include the ' b ' in front and the quotation marks, as this
tells Python how to convert your text into a number in the next step. 4. Convert the string to a
number by encoding the bytes. To do this in Python3, use the following code (with your own
name and answers to the questions from later on): message =b" JaredMiller. Yes, this is bijective
because..." encoded =" for byte in message: encoded += format (byte, ' 08b ')
Project 1 2 Now encoded represents the number which you should hide in your picture. 5.
Modify your code from project 1 (or modify my decoding code below) to produce a program
which will hide the encoded message from step 4 in the following way: (1) Find the length of
your encoded message encoded (how many 0's and 1's there are) and call this . (2) Find how
many pixels are in your picture and call this p. (3) Let f be defined as the floor of p/, that is, f:=p
(4) Let frequency be defined as the smallest integer power of 2 which is greater than f (so if f is
195 , then frequency is 28=256 ). Note that 20=1, so a frequency of 1 is acceptable if you have a
long message. (5) Number the pixels starting at the top left, fr.
Hello, I was wondering if you can help with the code required of me .pdf
1. Hello, I was wondering if you can help with the code required of me to do this project. I've been
trying to do this on my own but i've been struggling to get the code working properly on my text
editor or even have an image appear. If you can help with this, that would awesome. I've also
included the docoding code in case you may need it. Thank you and I hope this works out.
Project 2: Matrix Operations and Steganography 1. Goals To use elementary matrix operations to
perform steganography and hide text inside the pixels of an image. 2. Introduction Recall that an
image in a computer memory can be stored as a matrix with each position in the matrix
representing a single pixel of the entire image, and the values of each position corresponding to
the combination of Red, Green, and Blue light that the single pixel will emit. Knowing that an
image is stored as a matrix with values ranging from 0 to 255 we can then apply our knowledge
about linear transformations to these matrices and hide text inside the image. 3. Tasks This
project will not include a walk-through like project 1 did. This project will build on the ideas and
methods from Project 1 , but will require you to devise your own code. Your task is: 1. Obtain a
picture of yourself (for example, the picture from your FSU card which can be obtained by
signing into my.fsu.edu, navigating to "myFSU identity management," and clicking "My
Profile") and convert it into a lossless image format (most likely a png). 2. Use Python3 to open
the picture and create a matrix M consisting of the RGB-saturation (or simply RBG if you prefer,
but not just grayscale) values of the pixels. 3. Create a string consisting of your name and the
answers to the questions in the next section. This string might look like: b"JaredMiller. Yes, this
is bijective because..." It is important to include the ' b ' in front and the quotation marks, as this
tells Python how to convert your text into a number in the next step. 4. Convert the string to a
number by encoding the bytes. To do this in Python3, use the following code (with your own
name and answers to the questions from later on): message =b" JaredMiller. Yes, this is bijective
because..." encoded =" for byte in message: encoded += format (byte, ' 08b ')
Project 1 2 Now encoded represents the number which you should hide in your picture. 5.
Modify your code from project 1 (or modify my decoding code below) to produce a program
which will hide the encoded message from step 4 in the following way: (1) Find the length of
your encoded message encoded (how many 0's and 1's there are) and call this . (2) Find how
many pixels are in your picture and call this p. (3) Let f be defined as the floor of p/, that is, f:=p
(4) Let frequency be defined as the smallest integer power of 2 which is greater than f (so if f is
195 , then frequency is 28=256 ). Note that 20=1, so a frequency of 1 is acceptable if you have a
long message. (5) Number the pixels starting at the top left, from left to right and then top to
bottom just as you read, with the top left pixel being pixel 0 . Let the number of each pixel with
this numbering be its position. That is, position:=rowwidth+column where the first row is row 0
2. and the first column is column 0 . (6) You will modify every pixel whose position is an integer
multiple of your frequency (including 0 ). The remaining steps only apply to pixels which are to
be modified. (7) For pixels that are to be modified, take the R, G, and B values of the pixel and
determine if their sum is even or odd. (8) Determine if the parity of the sum of R, G, and B
values equals the parity of the next bit of your encoded message (the next 0 or 1 ). If so, do not
modify that pixel. If not, then randomly select (or algorighmically, but do not always select the
same one) one of the RGB values and: (a) if it is even, add 1 to it (b) if it is odd subtract 1 from
it. This will make the parity of the sum of R,G, and B values equal the parity of the next bit of
your encoded message. (9) Update the pixels accordingly. (10) Save your picture and test it with
the code below, which I will use to decode.
Answer the following questions and include them in your message which will be hidden. Make
sure that your answers are not so long that the length of your encoded string exceeds the number
of pixels in your picture. The picture from myFSU is 99000 pixels, so you can store a hidden
message of 99000/8=12,375 characters long (approximately 2000 words). (1) Is the process of
steganography as we have done it an injective mapping between pictures of a given size?
Surjective? What limitations might we have for each? Explain. (2) Without knowing the length
of your message, how might I determine the frequency of the modified pixels? (3) As the RGB-
saturation values essentially encode pixels as vectors in (F255)4 and the matrix has mn pixels,
we know that this matrix represents an element in the vector space (F255)4mn. For a given
picture size, which hidden messages correspond to a mapping in which the image of the space of
all pictures is a vector subspace?
Project 1 5. The program I will use to decode I will use your modified picture with file name
'hidden.png' as the input for the following program in Python 3 . The output of this should be
your intended message from step 3 above, without the leading b or the quotation marks, and with
some nonsense added to the end (if your message doesn't exactly fill the matrix based on your
frequency, which is likely). image - 'hidden.png' # Yust be a png (or other lossless) frequency -
24+6 # May change exponent, to fit message length def unhide(inage, frequency): # Import
module that will bandle opening the inage from PIL import Image # Open the inage in - Inage
.open(image) pixelMap - in. load () # Get the individual pixels ing - Inage , new ( im. node,
in.size) pixelsNen - ing.load() # Empty encoded message (each letter as eight 0s or 1's) encoded
= 111 # Get the size of the image width - img. size [0] height - img. size [1] pixels -
vidth*height # Work over every row for j in range(height): # Work over the columis in that row
for i in range (width): # Get RGB and saturation values of pixel (i,j)a,b,c,dpixelMap[i,j] # If it
is in a position which is to be # used for hiding the message position - j*width+i if
3. position%frequency =0 : # Grab the added information # (only added to one of R,G, or B) info
=(a+b+c)%2 if info >1 : return "Your data was not compatible or 1+1 "your nessage length is
incorrect" # Add it to the encoded message encoded +- str (info) # Stop editing the picture in.
close() # Split the nessage up based on its sections of eight 0 's or 1's encodedArray - [encoded
[8i:8i+8] for i in range(len(encoded) //8)] # Blank decoded message that we will add to decoded
- II # Convert the binary (the 2 denotes base 2) into letters for letter in encodedarray: decoded +-
chr ( int ( letter, 2)) #print(encoded) return decoded unhide(image, frequency)