Professional Documents
Culture Documents
INTERNSHIP Report AT NEPAL TELECOM
INTERNSHIP Report AT NEPAL TELECOM
INTERNSHIP Report AT NEPAL TELECOM
ENCRYPTED IMAGE
ABSTRACT
This work proposes a novel scheme for separable reversible data hiding in
encrypted images. In the first phase, a content owner encrypts the original
uncompressed image using an encryption key. Then, a data-hider may compress the
least significant bits of the encrypted image using a data-hiding key to create a
sparse space to accommodate some additional data. With an encrypted image
containing additional data, if a receiver has the data-hiding key, he can extract the
additional data though he does not know the image content. If the receiver has the
encryption key, he can decrypt the received data to obtain an image similar to the
original one, but cannot extract the additional data. If the receiver has both the
data-hiding key and the encryption key, he can extract the additional data and
recover the original content without any error by exploiting the spatial correlation in
natural image when the amount of additional data is not too large.
1
LIST OF FIGURES
1. . NET FRAMEWORK 24
2. ARCHITECTURE DIAGRAM 32
3. SEPARABLE SCHEME. 36
2
LIST OF ABBREVATIONS
ABBREVATIONS EXPANSIONS
3
TABLE OF CONTENT
ABSTRACT 2
i LIST OF FIGURES 3
ii LIST OF ABBREVATIONS 4
iii
1. INTRODUCTION
1.1 GENERAL 9
2. FEASILIBILITY STUDY
3. SYSTEM ANALYSIS
4.1SOFTWARE REQUIREMENT
SPECIFICATION 18
4
4.2 SYSTEM REQUIREMENT 18
5. SOFTWARE DESCRIPITION
6. SYSTEM DESIGN
7. IMPLEMENTATION
7.1 MODULES 34
9. FUTURE ENHANCEMENT
9.1 SUMMARY 47
10. APPENDIX
5
10.1.1 CODINGS 50
10.1.2 SCREENSHOTS 52
CHAPTER 1
INTRODUCTION
6
INTRODUCTION
1.1 GENERAL
7
may reconstruct the principal content of original image by retrieving the values of
coefficients. The computation of transform in the encrypted domain has also been
studied. Based on the homomorphic properties of the underlying cryptosystem, the
discrete Fourier transform in the encrypted domain can be implemented. In a
composite signal representation method packing together a number of signal
samples and processing them as a unique sample is used to reduce the complexity of
computation and the size of encrypted data. There are also a number of works on
data hiding in the encrypted domain. In a buyerseller watermarking protocol, the
seller of digital multimedia product encrypts the original data using a public key, and
then permutes and embeds an encrypted fingerprint provided by the buyer in the
encrypted domain. After decryption with a private key, the buyer can obtain a
watermarked product. This protocol ensures that the seller cannot know the buyers
watermarked version while the buyer cannot know the original version. An
anonymous fingerprinting scheme that improves the enciphering rate by exploiting
the Okamoto-Uchiyama encryption method has been proposed. By introducing the
composite signal representation mechanism, both the computational overhead and
the large communication bandwidth due to the homomorphic public-key encryption
are also significantly reduced .In another type of joint data-hiding and encryption
schemes, a part of cover data is used to carry the additional message and the rest of
the data are encrypted, so that both the copyright and the privacy can be protected.
The intraprediction mode, motion vector difference and signs of DCT coefficients
are encrypted, while a watermark is embedded into the amplitudes of DCT
coefficients. In the cover data in higher and lower bit-planes of transform domain are
respectively encrypted and watermarked. In the content owner encrypts the signs of
host DCT coefficients and each content-user uses a different key to decrypt only a
subset of the coefficients, so that a series of versions containing different
fingerprints are generated for the users.The reversible data hiding in encrypted
8
image is investigated in Most of the work on reversible data hiding focuses on the
data embedding/extracting on the plain spatial domain. But, in some applications, an
inferior assistant or a channel administrator hopes to append some additional
message, such as the origin information, image notation or authentication data,
within the encrypted image though he does not know the original image content.
And it is also hopeful that the original content should be recovered without any error
after image decryption and message extraction at receiver side. A content owner
encrypts the original image using an encryption key, and a data-hider can embed
additional data into the encrypted image using a data-hiding key though he does not
know the original content. With an encrypted image containing additional data, a
receiver may first decrypt it according to the encryption key, and then extract the
embedded data and recover the original image according to the data-hiding key. In
the scheme, the data extraction is not separable from the content decryption. In other
words, the additional data must be extracted from the decrypted image, so that the
principal content of original image is revealed before data extraction, and, if
someone has the data-hiding key but not the encryption key, he cannot extract any
information from the encrypted image containing additional data. This paper
proposes a novel scheme for separable reversible data hiding in encrypted image. In
the proposed scheme, the original image is encrypted using an encryption key and
the additional data are embedded into the encrypted image using a data-hiding key.
With an encrypted image containing additional data, if the receiver has only the
data-hiding key, he can extract the additional data though he does not know the
image content. If he has only the encryption key, he can decrypt the received data to
obtain an image similar to the original one, but cannot extract the embedded
additional data. If the receiver has both the data-hiding key and the encryption key,
he can extract the additional data and recover the original image without any error
when the amount of additional data is not too large.
9
CHAPTER 2
SYSTEM STUDY
10
SYSTEM STUDY
2.FEASIBILITY STUDY
ECONOMICAL FEASIBILITY
TECHNICAL FEASIBILITY
SOCIAL 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
11
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.
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.
The aspect of study is to check the level of acceptance of the system by the
user. This includes the process of training the user to use the system efficiently. The
user must not feel threatened by the system, instead must accept it as a necessity. The
level of acceptance by the users solely depends on the methods that are employed to
educate the user about the system and to make him familiar with it. His level of
confidence must be raised so that he is also able to make some constructive
criticism, which is welcomed, as he is the final user of the system.
12
CHAPTER 3
SYSTEM ANALYSIS
13
3. SYSTEM ANALYSIS
CHAPTER 4
SYSTEM REQUIREMENTS
15
4. REQUIREMENTS AND SPECIFICATION
Mouse : Logitech.
Ram : 1 GB or Above
CHAPTER 5
SOFTWARE DESCRIPTION
17
5. SOFTWARE DESCRIPTION
18
2. A hierarchical set of class libraries.
Loading and executing programs, with version control and other such
features.
MANAGED CODE
The code that targets .NET, and which contains certain extra Information -
metadata - to describe itself. Whilst both managed and unmanaged code can run in
the runtime, only managed code contains the information that allows the CLR to
guarantee, for instance, safe execution and interoperability.
MANAGED DATA
19
JScript.NET, whereas others, namely C++, do not. Targeting CLR can, depending on
the language youre using, impose certain constraints on the features available. As
with managed and unmanaged code, one can have both managed and unmanaged
data in .NET applications - data that doesnt get garbage collected but instead is
looked after by unmanaged code.
The CLR uses something called the Common Type System (CTS) to
strictly enforce type-safety. This ensures that all classes are compatible with each
other, by describing types in a common way. CTS define how types work within the
runtime, which enables types in one language to interoperate with types in another
language, including cross-language exception handling. As well as ensuring that
types are only used in appropriate ways, the runtime also ensures that code doesnt
attempt to access memory that hasnt been allocated to it.
The class library is subdivided into a number of sets (or namespaces), each
providing distinct areas of functionality, with dependencies between the namespaces
kept to a minimum.
The multi-language capability of the .NET Framework and Visual Studio .NET
enables developers to use their existing programming skills to build all types of
applications and XML Web services. The .NET framework supports new versions of
Microsofts old favourites Visual Basic and C++ (as VB.NET and Managed C++),
but there are also a number of new additions to the family.
Visual Basic .NET has been updated to include many new and improved
language features that make it a powerful object-oriented programming language.
These features include inheritance, interfaces, and overloading, among others.
Visual Basic also now supports structured exception handling, custom attributes and
also supports multi-threading.
Visual Basic .NET is also CLS compliant, which means that any
CLS-compliant language can use the classes, objects, and components you create in
Visual Basic .NET.
21
Managed Extensions for C++ and attributed programming are just some of
the enhancements made to the C++ language. Managed Extensions simplify the task
of migrating existing C++ applications to the new .NET Framework.
FORTRAN
COBOL
Eiffel
22
Fig1 .Net Framework
GARBAGE COLLECTION
In C#.NET, the garbage collector checks for the objects that are not currently in
use by applications. When the garbage collector comes across an object that is
marked for garbage collection, it releases the memory occupied by the object.
OVERLOADING
The OLAP Services feature available in SQL Server version 7.0 is now called
SQL Server 2000 Analysis Services. The term OLAP Services has been replaced
with the term Analysis Services. Analysis Services also includes a new data
mining component. The Repository component available in SQL Server version
7.0 is now called Microsoft SQL Server 2000 Meta Data Services. References to
the component now use the term Meta Data Services. The term repository is used
only in reference to the repository engine within Meta Data Services
SQL-SERVER database consist of six type of objects, they are,
1. TABLE
2. QUERY
3. FORM
4. REPORT
5. MACRO
TABLE
VIEWS OF TABLE
1. Design View
26
2. Datasheet View
DESIGN VIEW
DATASHEET VIEW
To add, edit or analyses the data itself we work in tables datasheet view
mode.
QUERY
A query is a question that has to be asked the data. Access gathers data that
answers the question from one or more table. The data that make up the answer is
either dynaset (if you edit it) or a snapshot (it cannot be edited).Each time we run
query, we get latest information in the dynaset. Access either displays the dynaset or
snapshot for us to view or perform an action on it, such as deleting or updating.
27
CHAPTER 6
SYSTEM DESIGN
28
6. SYSTEM DESIGN
29
6.1 ARCHITECTURE DIAGRAM
30
CHAPTER 7
IMPLEMENTATION
31
7. IMPLEMENTATION
7.1 MODULES
1 .Image Encryption
2. Data Extraction
3. Image Recovery
MODULES DESCRIPTION
32
using an encryption key, and a data-hider can embed additional data into the
encrypted image using a data-hiding key though he does not know the original
content.
Consider the three cases that a receiver has only the data-hiding
key, only the encryption key, and both the data-hiding and encryption keys,
respectively. With an encrypted image containing embedded data, if the receiver has
only the data-hiding key, he may first obtain the values of the parameters from the
LSB of the selected encrypted pixels. Then, the receiver permutes and divides the
other pixels into groups and extracts the embedded bits from the LSB planes of each
group. When having the total extracted bits, the receiver can divide them into
original LSB of selected encrypted pixels and additional bits. Note that because of
the pseudo-random pixel selection and permutation, any attacker without the
data-hiding key cannot obtain the parameter values and the pixel-groups, therefore
cannot extract the embedded data. Furthermore, although the receiver having the
data-hiding key can successfully extract the embedded data, he cannot get any
information about the original image content.
In this phase, we will consider the three cases that a receiver has
only the data-hiding key, only the encryption key, and both the data-hiding and
encryption keys, respectively. Note that because of the pseudo-random pixel
selection and permutation, any attacker without the data-hiding key cannot obtain
the parameter values and the pixel-groups, therefore cannot extract the embedded
data. Furthermore, although the receiver having the data-hiding key can successfully
33
extract the embedded data, he cannot get any information about the original image
content.
34
CHAPTER 8
35
TESTING
INTRODUCTION
37
A problem with software testing is that the number of defects in a software
1
product can be very large, and the number of configurations of the product larger
still. Bugs that occur infrequently are difficult to find in testing. A rule of thumb is
that a system that is expected to function without faults for a certain length of time
must have already been tested for at least that length of time. This has severe
consequences for projects to write long-lived reliable software.
It is commonly believed that the earlier a defect is found the cheaper it is to fix it.
38
suites are continuously updated as new failure conditions and corner cases are
discovered, and they are integrated with any regression tests that are developed.
Unit tests are maintained along with the rest of the software source code and
generally integrated into the build process (with inherently interactive tests being
relegated to a partially manual build acceptance process).
The software, tools, samples of data input and output, and configurations are
all referred to collectively as a test harness.
White box and black box testing are terms used to describe the point of view a test
engineer takes when designing test cases. Black box being an external view of the
test object and white box being an internal view. Software testing is partly intuitive,
but largely systematic. Good testing involves much more than just running the
program a few times to see whether it works. Thorough analysis of the program
under test, backed by a broad knowledge of testing techniques and tools are
prerequisites to systematic testing. Software Testing is the process of executing
software in a controlled manner; in order to answer the question Does this software
behave as specified? Software testing is used in association with Verification and
Validation. Verification is the checking of or testing of items, including software, for
conformance and consistency with an associated specification. Software testing is
just one kind of verification, which also uses techniques as reviews, inspections,
walk-through. Validation is the process of checking what has been specified is what
the user actually wanted.
39
Validation: Are we doing the right job?
Verification: Are we doing the job right?
In order to achieve consistency in the Testing style, it is imperative to have and
follow a set of testing principles. This enhances the efficiency of testing within SQA
team members and thus contributes to increased productivity. The purpose of this
document is to provide overview of the testing, plus the techniques.
At SDEI, 3 levels of software testing is done at various SDLC phases
Unit Testing: in which each unit (basic component) of the software is tested to
verify that the detailed design for the unit has been correctly implemented
Integration testing: in which progressively larger groups of tested software
components corresponding to elements of the architectural design are
integrated and tested until the software works as a whole.
System testing: in which the software is integrated to the overall product and
tested to show that all requirements are met
A further level of testing is also done, in accordance with requirements:
Acceptance testing: upon which the acceptance of the complete software is
based. The clients often do this.
Regression testing: is used to refer the repetition of the earlier successful tests
to ensure that changes made in the software have not introduced new
bugs/side effects.
In recent years the term grey box testing has come into common usage. The typical
grey box tester is permitted to set up or manipulate the testing environment, like
seeding a database, and can view the state of the product after his actions, like
performing a SQL query on the database to be certain of the values of columns. It is
used almost exclusively of client-server testers or others who use a database as a
repository of information, but can also apply to a tester who has to manipulate XML
files (DTD or an actual XML file) or configuration files directly. It can also be used
40
of testers who know the internal workings or algorithm of the software under test
and can write tests specifically for the anticipated results. For example, testing a data
warehouse implementation involves loading the target database with information,
and verifying the correctness of data population and loading of data into the correct
tables.
TEST LEVELS
CHAPTER 9
CONCLUSION AND FUTURE
ENCHANCEMENT
44
9.1 SUMMARY
46
CHAPTER 10
APPENDIX
47
10.2 SCREENSHOTS:
INPUT IMAGE:
KEY GENERATED:
48
ENCRYPT OUTPUT:
49
DECRYPT OUTPUT:
50