Upcoming SlideShare
×

C3 s

429 views
393 views

Published on

Published in: Education, Technology
1 Like
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total views
429
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
24
0
Likes
1
Embeds 0
No embeds

No notes for slide

C3 s

1. 1. CS 591 C3S C ryptography & S teganography S ecure S ystem By: Osama Khaleel
2. 2. Quick Intro. <ul><li>Nowadays, information is rapidly available through the Internet. Companies have the ability to communicate with a worldwide audience through the World Wide Web. </li></ul><ul><li>So Information hiding techniques are received increasing attention due to : </li></ul><ul><li>the availability of multimedia and digital form objects. </li></ul><ul><li>and the need to present solutions to criminal copying and copyright problems. </li></ul>
3. 3. Motivation: <ul><li>As we know, cryptography and steganography have been known for many years. We can encrypt data, but it will be exposed while transferring. On the other hand, we can hide data into a common object, but if someone extracts it, he/she can get the information easily. Therefore, my idea is to apply both of them, so in case one gets the embedded stuff, s/he will face an encrypted data. </li></ul>
4. 4. Project Idea <ul><li>To combine two security techniques 1. Cryptography </li></ul><ul><li>(For Encryption & Decryption) 2. Steganography (For Data hiding in a multimedia object) </li></ul>
5. 5. Why to do so? <ul><li>Hiding data is better than moving it shown and encrypted. </li></ul><ul><li>To hide data in a popular object that will not attract any attention. </li></ul><ul><li>In case the data is extracted, it will be encrypted. </li></ul>
6. 6. Cryptography: T he science of using mathematics to encrypt and decrypt data. It enables you to send sensitive information across insecure networks (such as the Internet). <ul><li>A dvanced E ncryption S tandard. (AES) </li></ul><ul><li>Benefits: </li></ul><ul><li>1. Very Secure. </li></ul><ul><li>2. Reasonable Cost. </li></ul><ul><li>3. Main Characteristics: </li></ul><ul><li>I. Flexibility. </li></ul><ul><li>II. Simplicity. </li></ul>
7. 7. Algorithm Steps: <ul><li>Sub-Bytes. </li></ul><ul><li>Shift rows. </li></ul><ul><li>Mix columns. </li></ul><ul><li>Add round key. </li></ul>
8. 8. Steganography: Hiding a secret message within a larger object in such a way that others can not discern the presence of the hidden message. <ul><li>In this project, I use a PNG image as a cover object. </li></ul><ul><li>Why “Image”? </li></ul><ul><li>It can contain enough information to hide, while not appearing to be modified. </li></ul><ul><li>It is common enough to not attract any attention. </li></ul>
9. 9. The used Steganographic Techniques: <ul><li>The Least Significant Bit (LSB): modifying the rightmost bit in each byte by replacing it with a bit from the secret message. </li></ul><ul><li>Why “LSB”? </li></ul><ul><li>Designed for images that have 3 or 4 bytes per pixel. </li></ul><ul><li>When changing 4 bits in a 4-byte pixel, the change is about 1 / billion. </li></ul>
10. 10. The improvements on simple LSB: <ul><li>I have added an option that allows the user to insert data into the two “least significant bits”. </li></ul><ul><li>It is a little bit less secure, because there will be more modification. On the other hand, we can double the secret message size. [it’s up to the user] </li></ul>
11. 12. The improvements on simple LSB: <ul><li>2) Randomization of inserting the secret message bits into the image. </li></ul><ul><li>Developed a function that generates a random offset from the set {2,4,6}, then spreads the message bits according to that offset. e.g. Suppose that the offset is “4”, then the program will insert the first bit in byte 1, the second bit in byte 5, the third in byte 9 and so on. After reaching certain end, loop back starting from byte 2 then 6, 10,… and so on… </li></ul><ul><li>This will add a huge security level. </li></ul>
12. 13. The improvements on simple LSB: <ul><li>3) Adding SHA-1 hash for the secret message. </li></ul><ul><li>The program calculates an sha-hash for the secret message in the hiding stage, and checks this value when retrieving the hidden message. Therefore, it can detect any attempt to modify the message content. </li></ul><ul><li>This will also add a security plus a confidentiality levels. </li></ul>
13. 14. Now, if you are asking about how the recipient will know what the used variables are; (the random offset, the LSB method, the SHA-hash, the message length, …) : ??? <ul><li>The program creates a header for these variables, and reserves the first 70 bytes for that header to insert it after encrypting it. Then it inserts the encrypted message starting from byte 71. </li></ul><ul><li>On the recipient side, the program reads the first 70 bytes, decrypts them, and gets the variables values to use them to extract the hidden message. </li></ul>
14. 15. Program Sequence <ul><li>Select a PNG image. </li></ul><ul><li>Enter a message and a cipher key </li></ul><ul><li>Encrypting message. </li></ul><ul><li>Hiding it in the selected image. </li></ul><ul><li>Select a PNG image (Stego object). </li></ul><ul><li>Enter the cipher key. </li></ul><ul><li>Extracting encrypted data from the image. </li></ul><ul><li>Decrypting and showing the message. </li></ul>Hiding Revealing
15. 16. ?