Introduction of Image Authentication Techniques & Avs
Introduction of Image Authentication Techniques & Avs
Introduction of Image Authentication Techniques & Avs
In this report an attempt is made to present the basic features of the image authentication
techniques.
1
Fig. 1.1 Automatic Visual Surveillance System
Fig 1.1 shows the blocks of automatic visual surveillance system consisting of central unit,
transmission network, security service provider.
Central unit also transmits the video sequences to an intervention centre such as security service
provider, the police department or a security guard unit. Somewhere in the system the video
sequence or some part of it may be stored and when needed the stored sequence can be used as a
proof in front of court of law. If the stored digital video sequences have to be legally credible, some
means must be envisaged to detect content tampering and reliably trace back to the data origin.
2
1.3.2 Watermarking- based authentication
Watermarking data authentication is the modern approach to authenticate visual data by
imperceptibly embedding a digital watermark signal on the data. Digital watermarking is the art and
science of embedding copyright information in the original files. The information embedded is
called ‘watermarks ‘. Digital watermarks are difficult to remove without noticeably degrading the
content and are a covert means in situation where copyright fails to provide robustness.
3
CHAPTER 2
CRYPTOGRAPHY
4
Digital images have been widely used in our community. Such massive amount digital images have
been recently applied in forensic science, such as we can figure out features of suspects or
characteristic marks of criminal vehicles. However, with proper computer software, we can modify
or duplicate those image data easily. If those modification or duplication is unauthorized, it will
make us doubtful when submitting digital images as evidence in court. To guarantee the
reproductivity, all processes or steps taken by forensic examiners have to be documented or
recorded in detail, such as dodging, burning, color balancing, contrast adjustment, unsharp
masking, multiimage averaging, integration, or Fourier analysis, and so on, when dealing with
digital image evidence to provide integrity protection. Nevertheless, those documents and records
still cannot prohibit the malicious or criminal obfuscation from altering the content of the digital
evidence effectively and completely. Therefore, in order to assist the examination and analysis of
digital image evidence by forensic examiners in the laboratory, we propose a robust and convenient
technology to improve this situation. The technology is based on cryptography and effectively
enhances the strength of power of evidence. The proposed technology creates a unique code as a
‘fingerprint’ or ‘digital signature’ to be with an image. Therefore, we can easily figure out if anyone
tampers with the evidence content. In cryptography, one of the techniques to produce a message
authentication code is based on using hash functions. A hash function provides additional security
properties to make it suitable for use as a primitive in various information security applications,
such as authentication and meddage integrity. Hash functions are widely used to protect password
contents and interactive authentication in the internet. Even a single bit changed in the input
message, though, will produce a different hash value. In this paper, we apply this important
property to provide integrity protection.
5
using the public key of the camera which produce the video and check if it corresponds to the digest
derived from the decrypted video content using the same hash function.
Fig. 2.2 shows steps of cryptographic method. Any manipulation of the data will change the
calculated image digest derived from the decrypted data. Any discrepancy between the decrypted
digest and calculated image digest indicate that the data has been tampered, with identical digest
indicates that the data is genuine. Value of the visual data can be added by tying each frame to the
particular label of the instant the frame has been produced yet. This can be achieved by printing
date and time of creation of each frame. Any modification of either the date or time could be easily
revealed since it would change the locally calculated image digest.
6
2.3.1 MD family
In 1 2, Ronald L. Rivest successively proposed two hash algorithms named MD and its revised
version, MD5.In cryptography, MD5 is widely-used hash function with a 12 -bit hash value as
output. The input is operated in 512-bit blocks. The MD5 algorithm is designed to be quite fast on
2-bit machines. In addition, it does not require any large substitution tables, that is, it can be coded
quite compactly. MD5 is slightly more complex and slower than MD, but it improves the security
level in design.
2.3.3 RIPEMD-160
The RIPEMD-160 algorithm was developed by the framework of the EU project RIPE (RACE
Integrity Primitives valuation), and first published in 1 6. The group originally developed a 12 -bit
version of RIPEMD, which in turn was based upon the design principles used in MD, and is similar
in performance to the more popular SHA-1. There also exist 12, 256 and 20-bit versions of this
algorithm, called RIPEMD-12, RIPEMD-256, and RIPEMD- 20, respectively. The 12 -bit version
had been found to have questionable security. And the 256 and 20-bit versions dont have higher
levels of security as compared to RIPEMD-12 and RIPEMD-160. The RIPEMD-160 also takes
input as a message in 512-bit blocks and return to a 160-bit message digest as output. The added
complexity and number of steps of SHA-1and RIPEMD-160 does bring about a slow computation
on comparing to MD5. Table 1 [ ] summarizes features of MD5, SHA-1, and RIPEMD-160. We
compare the performance of MD -like hash functions: RIPEMD-160, RIPEMD-12, RIPEMD,
SHA-1, MD5, and MD in Table 2[11]. The implementations are written in assembly language
optimized for the Pentium processor (0 MHz). It is assumed that both code and data resides in the
onchip caches. Under these conditions the cycle figures are independent of the clock speed, and the
throughput figures scale with the clock speed. In this report, we select MD5 as a model to apply to
7
our system because of its faster operation speed than SHA-1 and RIPEMD-160. We describe the
method in session 2 and describe our experiments in session. Finally, we give our discussion.
2.4 Methods
2.4.1 Hash Functions
Hash functions [ ], H (M), have been used in computer science and information security for a long
time. They compress an arbitrary-length input, M, to a string of small and fixed length arbitrarily
which generally called hash value (message digest), h, can replace the authenticity of a large
amount of information (message) by the authenticity of a much smaller hash value. The hash value
is a set of a short string of random looking letters and numbers.
A hash function must have the following properties:
1. H can be performed to any block of data in any size.
2. H produces a small and fixed length of output.
For any generated h, it is computationally infeasible to find any M to conform that H (M) =h in
mathematics. (One-way property). For any input, M, it is computationally infeasible to find M’ to
conform that H (M) =H (M’). 5. For any pair (M, M’), it is infeasible to find H (M) =H (M’) in
mathematics. The third property is the "one-way property". That means the function works in one
direction and it's nearly impossible to derive the original text from the string. A one-way hash
function is used to create digital signatures, which in turn identify and authenticate the sender and
message of a digitally distributed message (hence the name one-way). A good one-way hash
function is also collision-free. That means it is hard to create two inputs with the same hash value.
8
and produces as output a 12 -bit message digest of the input. The input is processes in 512-bit
blocks. Fig. 1 shows the flow chart of how MD5 works.
The overall structure of a typical secure hash function indicated in Fig. 5.2. If we have an arbitrarily
large message as input and that we want to find its message digest. The processing involves the
following steps:
2.4.2.1 Bit-padding
After some initial processing, the message is padded so that its length is 6 bits. The process of
padding is a single 1-bit added to the end of the message. Padding is always continued, even if the
length of the message is just what we want. For instance, if the input message is bits long, we pad
512 bits to a length of 60 bits. Thus the range of padding bits is from 1 to 512.
2.4.2.2 Length-appending
After padding, a 6 -bits binary representation of the original length of the message (before adding)
is concatenated to the result of step 1. The bits of the message are extracted successively to form
the first 512-bit block. The expanded message will exactly be a multiple of 512-bits. Assume the
length of the message is greater than 26, and then only the low-order 6 bits will be used. Let the
expanded message be represented as a sequence of L 512-bit blocks Y0, Y1... Yq... YL-1 . Note
that in the figure, IV and CV represent initial value and chaining variable respectively.
Fig. 2.3 explains how MD5 hash algorithm works and what steps do this algorithm consists of .
10
Fig. 2.4 General Structure of Secure Hash Code
Fig 2.4 shows the general structure of SHA (Secure Hash Algorithm), which consists of various
blocks, compression function, message digest.
2.4.4 Message-processing
This is the most important step of the function. It includes four rounds of processing. The module
includes found rounds of processing shown as HMD5 in Fig.3.4and the four rounds have similar
structure, but each uses different primitive logical functions (PLFs), referred to as F, G, H and I.
Round 1: F (B, C, D) = (B^C) ((B) ^D)
Round 2: G (B, C, D) = (B^D) (C^ (D))
Round: H (B, C, D) =BCD
Round: I (B, C, D) =C (B (D))
(Where , ^,, and represent the logical
XOR, AND, OR, and NOT operations, respectively)
Each round consists of a sequence of 16 steps and each step makes use of one-fourth of a 6
-element table T [1 ... 6] constructed from the sine function. The ith element denote T[i], which is
equal to the integer part of 232 times abs (sin (i)), where i is in radians. The table provides a
11
randomized set of 2-bit integers to eliminate the regularities in the input data. Each round also takes
as input the current 512- bit block (Yq) and the 12 –bit buffer value ABCD and updates the
contents of the buffer. The output of the final round is added to the input of the first round (CVq) to
produce CVq+1.The addition is done for each of the four words in the buffer with each of the
corresponding words in CVq, using addition modulo 232
12
Fig.2.6 MD5 compression function
Fig. 3.6 explains the compression function in MD5 hash algorithm. It has one input which divides
in to 4 parts. Each step has 16 steps and at the end all output from last step are EXORed and we get
the hashed output.
13
Fig2.7 Elementary MD5 Operation (single step).
Fig 2.7 elaborates the elementary steps of MD5 operation, consisting of 4 blocks, F/G/H/I function.
14
It is difficult to distinguish between malicious and innocuous manipulations if cryptography is
used. Innocuous modifications include compression of the video sequences. These modifications
are usually performed by the central unit whereas digest is calculated on the basis of the
uncompressed data by the camera. So on compression the correspondence between the digest and
data would be lost.
3. High requirements of video camera
To avoid the above discussed problem, the video camera should perform the compression of the
video sequences prior to digest calculation. This requires the video camera to have high
computation as storage requirements.
4. Delay in transmission
Digest calculations and encryption introduces a delay in transmission of video documents. This is
harmful in system where the timely generation of alarm is critical.
5. Protecting privacy is difficult
A part of the program cannot be removed for privacy reasons since it will alter the calculated
digest.
15
CHAPTER 3
WATERMARKING
17
The characteristics of watermarking system largely depend on its application scenario. For instant
copy write protection application require that the watermark is robust against most common data
manipulation, i.e. its presents can still be detected after non-destructive transformation of host
document. Two approaches for watermarking data authentication are possible:
1. Fragile watermarking
2. Robust watermarking
Fragile watermarking refers to the case where watermark inserted within the data is lost or altered
as soon as host data undergoes any modification. Watermark loss or alternation is taken as evidence
that data has been tampered with, whereas the information contained within data used to
demonstrate data origin In case of robust watermarking a summary of the candidate frame or video
sequence is computed and is inserted within the video sequence. Information about the data origin
is also with the summary. To prove data integrity the information conveyed by the watermark is
recovered and compared with the actual content of the sequence. Their mismatch is taken as an
evidence of data tampering. The capability to localize the manipulation will depend on the
summary of which is embedded in to the image.
20
CHAPTER 4
WATERMARKING ALGORITHM
In the proposed method as indicating in the Fig. 4.1 the watermark generation by using a pseudo
random number generator and appropriate thresholding.
The watermark key used for watermarking a specific frame in the sequence is composed of the
camera id and frame number. Generating the watermark key using frame number provides the
advantage of producing frame–dependent watermarks.
In this case, frame removal or frame substitution can be easily detected as non authentic. To
perform authenticity check, the detection should first know the frame number in the sequence
which is always zero. Watermark embedding is performed by altering all the pixels of the original
frame according to the following formula.
Fw(x) = f(x) if w(x) = 0
g1 (f(x), n(x)) if w(x) =-1
g2 (f(x), n(x) if w(x) =1
Where g1g2 are suitably designed function based on x.
n(x) denotes a function that depends on neighbourhood of x.
21
The function g1g2 are called embedding function and are selected so as to detect the inverse
detection function. D (fw(x), n(x)). The detection function, when applied to the watermarked
image fw(x), produces the watermark w(x).
D (fw(x), N(x)) = w(x)
22
concentrated in certain regions (Malicious tampering) or one spread on the image (innocuous
alternations).
23
This technique involves replacing the N least-significant bits of each pixel of the container
image with the data of the hidden message.
The pixels for gray scale images are encoded with 8 bits.
We swap the higher resolution bits of the container image for the lower resolution bits of the
hidden image.
The key used by the sender and the receiver is the number of bits N of hidden data
imbedded in each container pixel.
4.4.1.2 Advantages
It is a well-rounded method and lends itself to a variety of information hiding applications.
A large quantity of embedded information can be included in even the most modestly sized
images.
LSB can also allow for the hiding of photographic images and even audio recordings.
Calculation complexity is relatively low.
4.4.1.3 Disadvantages
Any attack or noise distortion of the composite image will seriously damage the imbedded
data.
Cropping or translation of the composite image will destroy an equal portion of the
imbedded image.
Robustness limits the overall effectiveness.
25
4.6 Implementation:
Algorithm for embedding the watermark:
1. Start the process.
2. Get the text data (e.g. your college name), the original image.
3. Convert the text data to a binary row vector.
4. Scale the binary vector.
5. Create the data mark.
6. Compute the FFT and decompose into the magnitude and phase
7. Create the ring of the data mark ( using loops)
8. Add the ring to the magnitude of the image
9. Reduce the magnitude points where the data bit is zero.
10. Convert the matrix into an image.(i.e. watermarked image)
11. Output the watermarked image.
12. Stop the process.
26
CHAPTER 5
EXPERIMENT
We use some synthetic and real case images in our experiments. The experiments have three parts:
photographs, image authentication and application on forensic examination.
5.1 Photographs
We apply some simple steps on images to examine the change of hash values. We extract a color
image in three color layers of the original image: red (R), green (G), and blue (B) and its gray level
image is shown in Fig. 5.1. Fig.5.2 illustrates the sample for rotation with 0 degrees and its mirror.
27
Fig.5.1 Extract a color image in red (R), green (G), and blue (B) and its gray level image.
28
29
Fig.5.3 Different hash values produced from original and modified images
30
Here, we summarize examinational explanations, operating outcomes and the hash values returning
from every step. We take footwear impression and fingerprint as examples to simulate the process
of forensic examination. In our experiment, we need to record all of the hash values except steps
and parameters to reinforce the image authentication. Our suggestion for forensic image
examination steps is shown in Fig. and the result is shown in Fig. 5.4.
31
Fig.5.5 Take footwear impression as example.
32
5.4 Other Applications
1. To protect the intellectual property right of a music publisher who distributes music scores over
digital media. Digital piracy is a serious concern to the musical industry. Customers receive
music in digital data format and such data can be pirated and redistributed very easily. By using
image score watermarking we can prevent this.
2. It can be used for everything from sending e-mail and storing medical records and legal
contracts to conducting on-line transactions.
5.5 Advantages
1. Robustness to high quality lossy image compression.
2. Automatic discrimination between malicious and innocuous manipulations.
3. Controllable visual deterioration of the VS sequence by varying the watermark embedding
power.
4. Watermark embedding and detection can be performed in real time for digital data.
5.6 Disadvantages
1. Frame independent watermark can be easily found by comparative analysis of all image
sequence
frames and then could be easily added again to fake frames.
2. The detector should know the frame number in order to perform authenticity check.
33
CONCLUSION
In these modern eras, visual surveillance system finds application in almost all fields, ranging from
commercial to defences. The video data acquired by VS system are forming vital evidence for
several legal situations. So for such situations, the importance of authenticating their content is very
high. Cryptography and watermarking based authenticating techniques are quite safe and efficient
for this purpose and they are likely to remain for quite for some while. The technology provides a
unique cipher for every single processed image. We can use the unique cipher (check any change of
the cipher) to confirm if the image is modified easily. With the proposed technology, we can
strengthen image authentication effectively.
34
REFERENCES
1. C. Ragazoni, G.Fabri, “Image Authentication Techniques for VS”, Proceedings IEEE, October
2001.
2. “Digital Watermarking for protecting piracy”, Electronics for you, January 2003.
3. “Encryption wars”, IEEE Spectrum, April 2000.
4. M.M.Yeung and F.Mintzer “A watermark for digital image” IEEE Spectrum, April 2002
5. Yeung & Mintzer, “Invisible Watermarking for Image Verification”, J. of Electronic Imaging,
35