832000057-Saravanan S
832000057-Saravanan S
832000057-Saravanan S
secret key, if b is prime number then we can get the inverse key by using
Multiplicative Inverse Law. That is a × b = 1(mod n) [where a and b are the
multiplicative inverse of each other and n is the prime number
Message Confidentiality: Message confidentiality preserves the privacy of
message between senders and receiver. Only the authorized receiver to know
the meaning of the message. But except the receivers other recognized it
meaningless message.
Message Integrity: Sender first broken the message into several tokens and
send these tokens in random order. But receiver accepts these random tokens
and arranges these tokens as sender’s original message. The message integrity
defines that without loss of any tokens, receiver rearranges the tokens as sender
send original message. Actually message integrity defines the secure
communication between sender and receiver.
Message Authentication: Message authentications define that sender’s identity
that he or she is the appropriate sender who sends the secure message. The
receiver identifies the appropriate senders using message authentication process.
ABSTRACT:
Security plays a vital role in our communication system through internet.
For this reasons, we protect data from unauthorized users using appropriate
encryptions algorithm. Using encryption we convert plain text to cipher text
using our proposed secret key and similarly using inverse key we can decrypt
the original text. In this algorithm, we read a string, then extract each of the
single characters from the string and convert these characters to ASCII
equivalent value. Apply proposed secret key, along with ASCII value and
appropriate encryption algorithm we encrypt the text. Similarly, using the
inverse key along with appropriate decryption algorithm we can decrypt the
original text.
SYSTEM STUDY
FEASIBILITY STUDY
ECONOMICAL FEASIBILITY
TECHNICAL FEASIBILITY
SOCIAL FEASIBILITY
ECONOMICAL FEASIBILITY
This study is carried out to check the economic impact that the system will
have on the organization. The amount of fund that the company can pour into
the research and development of the system is limited. The expenditures must
be justified. Thus the developed system as well within the budget and this
was achieved because most of the technologies used are freely available.
Only the customized products had to be purchased.
TECHNICAL FEASIBILITY
This study is carried out to check the technical feasibility, that is, the
technical requirements of the system. Any system developed must not have a
high demand on the available technical resources. This will lead to high
demands on the available technical resources. This will lead to high demands
being placed on the client. The developed system must have a modest
requirement, as only minimal or null changes are required for implementing this
system.
SOCIAL FEASIBILITY
EXISTING METHOD:
Cryptography divided into two parts:
1. Symmetric Key Encryption
2. Asymmetric Key Encryption
Symmetric Key Encryption
In symmetric key encryption, the secret key is shared between sender and
receiver. The sender uses this key and use encryption algorithm to encrypt the
text. Using the similar keys and a corresponding decryption algorithm, receive
decrypt the original text.
Example: DES, BLOWFISH, AES, etc.
SOFTWARE REQUIREMENTS:
Op e r a t i n g S ys t e m : WI N D O WS
Do c u me n t a t i o n : Ms-Office
HARDWARE REQUIREMENTS:
1
2 : COVER TEXT()
3 : LSB AND MSB()
4 : SVD()
5 : SECRET TEXT
6 : WATERMARKING()
SEQUENCE DIAGRAM (DECRYPTION):
STEGANOGRAPHED TEXT REMOVE EMBED TEXT EXTRACTION FROM WATERMARKING IDWT PERFORMANCE ANALYSIS
2 1 : MSE()
3 : SVD()
6 : REMOVING MERGING()
7 : PSNR()
USE CASE DIAGRAM (ENCRYPTION):
MERGING
DWT
DATA_SETS
EMBED TEXT
ENCRYPTION
STEGO
USE CASE DIAGRAM (DECRYPTION):
DECRYPTION
IDWT
PERFORMANCE ANALYSIS
SYSTEM ARCHITECTURE:
INPUT DESIGN
The input design is the link between the information system and the user. It
comprises the developing specification and procedures for data preparation and
those steps are necessary to put transaction data in to a usable form for
processing can be achieved by inspecting the computer to read data from a
written or printed document or it can occur by having people keying the data
directly into the system. The design of input focuses on controlling the amount
of input required, controlling the errors, avoiding delay, avoiding extra steps
and keeping the process simple. The input is designed in such a way so that it
provides security and ease of use with retaining the privacy. Input Design
considered the following things:
all the data manipulates can be performed. It also provides record viewing
facilities.
3.When the data is entered it will check for its validity. Data can be entered with
the help of screens. Appropriate messages are provided as when needed so that
the user
will not be in maize of instant. Thus the objective of input design is to create an
input layout that is easy to follow
OUTPUT DESIGN
A quality output is one, which meets the requirements of the end user and
presents the information clearly. In any system results of processing are
communicated to the users and to other system through outputs. In output
design it is determined how the information is to be displaced for immediate
need and also the hard copy output. It is the most important and direct source
information to the user. Efficient and intelligent output design improves the
system’s relationship to help user decision-making.
The output form of an information system should accomplish one or more of the
following objectives.
OpenCV:
You can download Microsoft’s Visual Studio Express Edition (for free). It is
one superb IDE. You need to download the Visual C++ 2010 Express.
Also, OpenCV is not some executable file that you double click and it’ll start
working. It is pure code, library files and DLL files. When you write your own
code, you “link” to these library files to access the OpenCV functions.
OpenCV
Why OpenCV?
There are a couple of why to prefer OpenCV over Matlab.
Specific
OpenCV was made for image processing. Each function and data structure was
designed with the Image Processing coder in mind. Matlab, on the other hand, is
quite generic. You get almost anything in the world in the form of toolboxes.
All the way from financial tool boxes to highly specialized DNA tool boxes.
Speedy
Matlab is just way too slow. Matlab itself is built upon Java. And Java is built
upon C. So when you run a Matlab program, your computer is busy trying to
interpret all that Matlab code. Then it turns it into Java, and then finally
executes the code.
If you use C/C++ you don’t waste all that time. You directly provide machine
language code to the computer, and it gets executed. So ultimately you get more
image processing, and not more interpreting.
Sure you pay the price for speed – a more cryptic language to deal with, but it’s
definitely worth it. You can do a lot more. You could do some really complex
mathematics on images with C and still get away with good enough speeds for
your application.
Efficient
Matlab uses just way too much system resources. With OpenCV, you can get
away with as little as 10mb RAM for a realtime application. But with today’s
computers, the RAM factor isn’t a big thing to be worried about. You do need
to take care about memory leaks, but it isn’t that difficult. You can read this
article about Memory Management in OpenCV if you want.
Operating System:
Visual C++
4 Mb
Supported Architecture:
x86
x64 (WOW)
import random
import time
import datetime
root = Tk()
root.geometry("1200x6000")
Tops.pack(side = TOP)
f1.pack(side = LEFT)
# ==============================================
# TIME
# ==============================================
localtime = time.asctime(time.localtime(time.time()))
lblInfo.grid(row = 0, column = 0)
lblInfo.grid(row = 1, column = 0)
rand = StringVar()
Msg = StringVar()
key = StringVar()
mode = StringVar()
Result = StringVar()
# exit function
def qExit():
root.destroy()
def Reset():
rand.set("")
Msg.set("")
key.set("")
mode.set("")
Result.set("")
# reference
lblReference.grid(row = 0, column = 0)
# labels
lblMsg.grid(row = 1, column = 0)
txtMsg.grid(row = 1, column = 1)
lblkey.grid(row = 2, column = 0)
lblmode.grid(row = 3, column = 0)
txtmode.grid(row = 3, column = 1)
lblService.grid(row = 2, column = 2)
txtService.grid(row = 2, column = 3)
import base64
# Function to encode
enc = []
for i in range(len(clear)):
enc_c = chr((ord(clear[i]) +
ord(key_c)) % 256)
enc.append(enc_c)
return base64.urlsafe_b64encode("".join(enc).encode()).decode()
# Function to decode
dec = []
enc = base64.urlsafe_b64decode(enc).decode()
for i in range(len(enc)):
key_c = key[i % len(key)]
ord(key_c)) % 256)
dec.append(dec_c)
return "".join(dec)
def Ref():
clear = Msg.get()
k = key.get()
m = mode.get()
if (m == 'e'):
Result.set(encode(k, clear))
else:
Result.set(decode(k, clear))
# Exit button
root.mainloop()
#-------------------------------------------------------------------------------
# Created: 07/18/2015
#-------------------------------------------------------------------------------
import hashlib
def main():
while True:
choice = raw_input("""
----------------------
|1) Encryption: |
|2) Decryption: |
| |
|____________________|
|h) Help |
|e) Exit |
|____________________|
:""")
if choice == "1":
encryptionChoice = raw_input("""
----------------------
|1) Base64: |
|2) cp037: |
|3) Ceasar-Cypther: |
|4) MD5: |
|____________________|
|h) Help |
|e) Exit |
|____________________|
:""")
if encryptionChoice == "1":
encode("base64")
encode("cp037")
elif encryptionChoice == "3":
encode("rot_13")
if processChoice == "1":
encodeHash("1", "MD5")
encodeHash("2", "MD5")
helpMenu("md5")
break
else:
helpMenu("general")
break
else:
encryptionChoice = raw_input("""
----------------------
|1) Base64: |
|2) cp037: |
|3) Ceasar-Cypther: |
|____________________|
|h) Help |
|e) Exit |
|____________________|
:""")
if encryptionChoice == "1":
decode("base64")
decode("cp037")
decode("rot_13")
helpMenu("general")
break
else:
helpMenu("general")
else:
def encode(encryption):
while True:
encodedMessageText.write(encodedMessage)
encodedMessageText.close()
break
def decode(encryption):
while True:
high = len(encodedMessageText)
if encodedMessageText[high -4:high] == ".txt":
readMessage = message.read()
decodedMessageText.write(decodedMessage)
decodedMessageText.close()
break
break
else:
print "The file name must be a .txt file and the extension must be
typed!!"
def helpMenu(helpType):
if helpType == "general":
in the folder where this program lives. The text file will be
named EncodedMessage.txt
type. Next you will be prompted to enter the text file name.
Be sure to type the whole file name and it must end in txt but
Example 'EncodedMessage.txt"
You will be displayed the decoded message and a text file will
"""
'HashedMessageMD5.txt'.
Exampe 'ThisFile.exe'
The hash for the file will be displayed and a text file will
MD5FileChecksum.txt
"""
def encodeHash(choice, method):
a = hashlib.md5()
a.update(message.encode('utf-8'))
encodedMessageText.write(a.hexdigest())
encodedMessageText.close()
print a.hexdigest()
fileHashText.write(fileHash)
fileHashText.close()
print fileHash
main()
Software system meets its requirements and user expectations and does not fail
in an unacceptable manner. There are various types of test. Each test type
addresses a specific testing requirement.
TYPES OF TESTS
Unit testing
Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program inputs produce valid
outputs. All decision branches and internal code flow should be validated. It is
the testing of individual software units of the application .it is done after the
completion of an individual unit before integration. This is a structural testing,
that relies on knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process, application,
and/or system configuration. Unit tests ensure that each unique path of a
business process performs accurately to the documented specifications and
contains clearly defined inputs and expected results.
Integration testing
Functional test
System Test
System testing ensures that the entire integrated software system meets
requirements. It tests a configuration to ensure known and predictable results.
An example of system testing is the configuration oriented system integration
test. System testing is based on process descriptions and flows, emphasizing
pre-driven process links and integration points.
Unit testing is usually conducted as part of a combined code and unit test
phase of the software lifecycle, although it is not uncommon for coding and unit
testing to be conducted as two distinct phases.
Test objectives
All field entries must work properly.
Pages must be activated from the identified link.
The entry screen, messages and responses must not be delayed.
Features to be tested
Verify that the entries are of the correct format
No duplicate entries should be allowed
All links should take the user to the correct page.
6.2 Integration Testing
Test Results: All the test cases mentioned above passed successfully. No
defects encountered.
Test Results: All the test cases mentioned above passed successfully. No
defects encountered.
LITERATURE SURVEY:
YEAR: 2009
YEAR: 2016
YEAR: 2011
YEAR: 2007
YEAR: 2011
Our proposed algorithm is encrypting the text which can be used for
further research in cryptography. This method is so easy but third party cannot
hack our algorithms.. No visual defects can be observed from the corresponding
stego images. It can also be referred to devise new algorithms on ways to send
different language secret texts or images in audio as well as video files with
more dynamicity.
FUTURE WORK:
[2] X. Cao, L. Du, X. Wei, D. Meng, and X. Guo, “High capacity reversible
data hiding in encrypted images by patch-level sparse representation,” IEEE
Transactions on Cybernetics, vol. 46, no. 5, pp. 1132–1143, 2016.
[3] T.-H. Chen and K.-H. Tsao, “User-friendly random-grid-based visual secret
sharing,” IEEE Transactions on Circuits and Systems for Video Technology,
vol. 21, no. 11, pp. 1693–1703, 2011.
[5] X. Gao, L. An, Y. Yuan, D. Tao, and X. Li, “Lossless data embedding using
generalized statistical quantity histogram,” IEEE Transactions on Circuits and
Systems for Video Technology, vol. 21, no. 8, pp. 1061– 1070, 2011.
[6] W. Hong, T.-S. Chen, and H.-Y. Wu, “An improved reversible data hiding
in encrypted images using side match,” IEEE Signal Processing Letters, vol. 19,
no. 4, pp. 199–202, 2012.
[7] C.-Y. Hsu, C.-S. Lu, and S.-C. Pei, “Image feature extraction in encrypted
domain with privacy-preserving SIFT,” IEEE Transactions on Image
Processing, vol. 21, no. 11, pp. 4593–4607, 2012.
[8] V. Itier and W. Puech, “How to recompress a JPEG crypto-compressed
image?” in Electronic Imaging, Media Watermarking, Security, and Forensics
2017, vol. 2017, no. 7, 2017.
[10] S. Li, G. Chen, and X. Mou, “On the dynamical degradation of digital
piecewise linear chaotic maps,” International Journal of Bifurcation and Chaos,
vol. 15, no. 10, pp. 3119–3151, 2005.