13
This article was downloaded by: [1.55.71.46] On: 03 December 2014, At: 20:21 Publisher: Taylor & Francis Informa Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House, 37-41 Mortimer Street, London W1T 3JH, UK Annals of GIS Publication details, including instructions for authors and subscription information: http://www.tandfonline.com/loi/tagi20 Watermar king digital vector map using graph theoretic approach Sunil Kumar Muttoo a  & Vinay Kumar b a  Department of Computer Science , University of Delhi , New Delhi , India b  National Informatics Centre , New Delhi , India Published online: 03 Apr 2012. To cite this article: Sunil Kumar Muttoo & Vinay Kumar (2012) Watermarking digital vector map using graph theoretic approach, Annals of GIS, 18:2, 135-146, DOI: 10.1080/19475683.2011.640640 To link to this article: http://dx .doi.org/10.1 080/19475683.2011.640640 PLEASE SCROLL DOWN FOR ARTICLE T aylor & Francis makes every effort to ensure the accuracy of all the information (the “Content”) contained in the publications on our platform. However , T aylor & Francis, our agents, and our licensors make no representations or warranties whatsoever as to the accuracy , completeness, or suitability for any purpose of the Content. Any opinions and views expressed in this publication are the opinions and views of the authors, and are not the views of or endorsed by T aylor & Francis. The accuracy of the Content should not be relied upon and should be independently verified with primary sources of information. Taylor and Franc is shall not be liable for any losses, actions, claims, proceedings, demands, costs, expenses, damages, and other liabilities whatsoever or howsoever caused arising directly or indirectly in connection with, in relation to or arising out of the use of the Content. This article may be used for research, teaching, and private study purposes. Any substantial or systematic reproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in any form to anyone is expressly forbidden. T erms & Conditions of access and use can be found at http:// www.tandfonline.com/page/terms-and-conditions

19475683.2011.640640

Embed Size (px)

Citation preview

Page 1: 19475683.2011.640640

8/10/2019 19475683.2011.640640

http://slidepdf.com/reader/full/194756832011640640 1/13

This article was downloaded by: [1.55.71.46]On: 03 December 2014, At: 20:21Publisher: Taylor & FrancisInforma Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House37-41 Mortimer Street, London W1T 3JH, UK

Annals of GISPublication details, including instructions for authors and subscription information:

http://www.tandfonline.com/loi/tagi20

Watermarking digital vector map using graph theoreti

approachSunil Kumar Muttoo

a & Vinay Kumar

b

a Department of Computer Science , University of Delhi , New Delhi , India

b National Informatics Centre , New Delhi , India

Published online: 03 Apr 2012.

To cite this article: Sunil Kumar Muttoo & Vinay Kumar (2012) Watermarking digital vector map using graph theoreticapproach, Annals of GIS, 18:2, 135-146, DOI: 10.1080/19475683.2011.640640

To link to this article: http://dx.doi.org/10.1080/19475683.2011.640640

PLEASE SCROLL DOWN FOR ARTICLE

Taylor & Francis makes every effort to ensure the accuracy of all the information (the “Content”) containedin the publications on our platform. However, Taylor & Francis, our agents, and our licensors make norepresentations or warranties whatsoever as to the accuracy, completeness, or suitability for any purpose of tContent. Any opinions and views expressed in this publication are the opinions and views of the authors, andare not the views of or endorsed by Taylor & Francis. The accuracy of the Content should not be relied upon ashould be independently verified with primary sources of information. Taylor and Francis shall not be liable forany losses, actions, claims, proceedings, demands, costs, expenses, damages, and other liabilities whatsoeveor howsoever caused arising directly or indirectly in connection with, in relation to or arising out of the use of the Content.

This article may be used for research, teaching, and private study purposes. Any substantial or systematicreproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in anyform to anyone is expressly forbidden. Terms & Conditions of access and use can be found at http://www.tandfonline.com/page/terms-and-conditions

Page 2: 19475683.2011.640640

8/10/2019 19475683.2011.640640

http://slidepdf.com/reader/full/194756832011640640 2/13

 Annals of GIS 

Vol. 18, No. 2, June 2012, 135–146

Watermarking digital vector map using graph theoretic approach

Sunil Kumar Muttooa and Vinay Kumar  b∗

a Department of Computer Science, University of Delhi, New Delhi, India;  b National Informatics Centre, New Delhi, India

( Received 6 June 2011; final version received 14 September 2011)

Similar to any digital dataset, a digital map is also vulnerable to modification, deliberate alteration and copyright violation.A map is a visual representation of a geographical area that is digitally stored in either raster or vector forms. Vector map is preferred over raster for both space optimization and quick processing time. Digest concept used for message authenticationis extended to digitally watermark a digital map. The map digest triplet ( M 1dp,  M 2dp   and  M 3dp) is generated using various

features of a digital map, supplier code and customer code. The approach computes two 160-bit hash values using secured hash algorithm (SHA1)and one 128-bit digest using message digest (MD5) algorithm. These two hash values of 160 bit and one digest of 128 bit are then embedded into a sequence of nodes of the map using graph theoretic approach in such a waythat any alteration in the map alters the sub-graph. The sub-graph is the watermark. There are three watermarks.

Keywords: geographic information system; map digest; steganography; watermarking; secure hash algorithm; DXF; vector 

map; spatial data

1. Introduction

A map is a visual representation of an area. It is a sym-

 bolic depiction highlighting relationships among different

features of an area like road, rail and soil usage. Once some

theme is depicted on a map, it becomes a thematic map.

More thematic maps may be produced from one base spa-

tial map. The process of creating a digital map from age-old 

 physical sources is called  digitization   of map. The field 

of study that deals with creation of a digital map and its

composition into thematic maps is called geographic infor-mation system (GIS). It takes time, money and effort to

create a map in digital form and it generally accounts for 

nearly 80% of the total cost of a GIS project.

Once a map is digitized, it is easy to copy, alter and sell

it as an original product (Brassil  et al . 1995, Date   et al .

1999). Alternatively, a mischievous person may also pro-

duce this altered map as valid document in support of some

false claim. It necessitates developing and placing protec-

tion mechanism against such threats so that not only are the

commercial interests of investors protected but also, when-

ever required, the authenticity and integrity of the source

can be verified. For instance, use of a digital map in a cru-

cial military operation requires integrity verification of the

map before it is put to use.

Cryptography (Stallings 1999) and digital

steganography (Johnson   et al  . 2001) are in use to

 protect and secure the privacy of a message. Watermark is

*Corresponding author. Email:  [email protected]

used to protect a map against piracy. Digital steganography

is a science to hide one form of information (message) into

another (cover). After embedding, the cover is called stego

object. The stego object retains the vital characteristics

of the cover so that it remains statistically and visually

imperceptible. The process of embedding hidden infor-

mation in a map without producing perceptible changes

is called watermarking and the hidden information is

called watermark (Memon and Wong 1998, Mauro  et al .

2002). Compared to general multimedia data types,few works have been done in the area of digital vector 

map watermarking. To our knowledge, a corporation in

Uruguay named ‘The Digital Map Ltd.’ has patented a

copyright-protecting scheme for vector maps utilizing a

lossless watermarking algorithm. They have also devel-

oped a commercial software called MapSN for digital

map vendors (Lopez 2002). This approach is based on

map interpolation and represents watermark bits by adding

new vertices into the original cover map. Based on a

similar approach there are some other digital vector map

watermarking schemes due to Schulz and Voigt (2004) and 

Lopez (2002). Contrary to steganography, watermarking

is used to authenticate media and therefore any change incover media is not desirable (Karjala 1995, Gopalakrishnan

et al . 1999).

Software piracy has been controlled to some extent

through hardware keys or software licenses. Software

ISSN 1947-5683 print/ISSN 1947-5691 online

© 2012 Taylor & Francis

http://dx.doi.org/10.1080/19475683.2011.640640

http://www.tandfonline.com

Page 3: 19475683.2011.640640

8/10/2019 19475683.2011.640640

http://slidepdf.com/reader/full/194756832011640640 3/13

136   S.K. Muttoo and V. Kumar 

licensing procedure has been made stricter in many cases

 by forcing the customer to register online to get a software

license. However, they do not offer similar protection to the

dataset being used by their software. Reasons cited are both

technical and legal. Outside the GIS community this prob-

lem has been known for a long time. The mechanism using

frequency domain technique has been proposed to ensurethe protection of digital vector data against piracy (Xiamu

et al . 2006).

One solution could be to supply GIS dataset in

encrypted form for limited use. This approach binds the

user to use the dataset on a specialized set of software

and hardware because there exists no GIS software as of 

today that uses encrypted datasets. Another approach could 

 be to disable the editing of certain features of the GIS

dataset (Kumar and Sharma 2006). This approach requires

a standard data format that is understood by all GIS soft-

ware available to support the portability of the dataset.

Unfortunately this has not been achieved till now.

In this article, we have introduced a method towatermark a digital vector map using graph theoretic

approach. A map digest is generated. The map digest has

three parts. The first two parts are generated using secured 

hash algorithm (SHA1) and therefore there are two 160-bit

strings. The third part is generated using message digest

(MD5) algorithm and it yields one 128-bit string. These

 bit strings are then embedded into the map using graph

theoretic approach. A graph theoretic approach in the con-

text of information hiding may be interpreted as a method 

that uses graph data structure to solve information-hiding

 problem. The approach is used either 

● in finding the relationship, based on mathematicalfunction, between the smallest data unit of a mes-

sage and a group of such smallest units of the

cover object and representing the relationship using

a graph. If required, the relationships are used to

adjust the corresponding group of elements in the

cover so that the portion of the cover represents the

corresponding message data unit, or ● to use a graph as cover object. In this case, redun-

dancy is to be identified in features like node, seg-

ment and attribution data in a graph before embed-

ding the secret message in it (Kumar and Muttoo

2009b, 2011).

In the first case, problems related to determination and rep-

resentations of relationship are addressed for embedding

information in the cover. In the second case, redundancy

in graphs is identified. The second approach is used in this

method to hide the map digest in the map. The process is

explained in Section 4.

This article is organized into nine sections. Digital

representation of vector map is covered in Section 2.

Issues in vector map watermarking are discussed in

Section 3. Approach to watermarking scheme is intro-

duced in Section 4. In Section 5 we have outlined the

algorithm to generate a map digest and its embedding in

the map. An illustrative example showing the way a map

digest is created and then used to watermark the map is

given in Section 6. Authentication protocol is explained in

Section 7. Section 8 contains steganalysis of the embeddingalgorithm. Finally this article is concluded in Section 9.

2. Digital representation of vector map

Digital vector map is composed of spatial data and attribute

data. Spatial data describes the geographical locations of an

object in the real world in the form of a sequence of coor-

dinates in a geographical coordinate system. Attribute data

describes the properties of map objects such as their names,

categories and related information. Different themes are

represented by using labels, colours and charts. Spatial

data consists of three basic geometrical elements: node,

segment and point. Segment is a poly-line that contains anumber of intermediate points (Kumar and Muttoo 2009a).

Intermediate points are included to draw a curved segment.

Many GIS software build polygons (regions) from poly-

lines. The information recorded by the attribution data is

important and is not generally modified (Schulz and Voigt

2004).

Maps are digitally compiled from data available

through various sources. The source may be from age-old 

archived maps to snaps taken by remote-sensing satellite.

The three basic components – node, segments and interme-

diate points – of a map are stored in the following file:

(1) node,

(2) segment,

(3) data and 

(4) segment.dbf 

Out of the four files, segment.dbf is a database file and 

the others are binary files. A segment has attributes like

segment number, number of intermediate points, coordi-

nates of these intermediate points, a rectangular extent

within which the segment lies (maximum bounding rect-

angle extent) (Kumar and Muttoo 2009a), length of the

segment, the node pairs defining the segment (start and end nodes) and name of the segment. Information related 

to a segment is stored in three files. Since the number of 

intermediate points varies from segment to segment, all

such intermediate points are stored in a separate file called 

‘data’. Offset in the data file, where intermediate points

corresponding to the segment are written, is stored in a

file called ’segment’. The file ‘node’ contains information

related to nodes (Kumar and Muttoo 2009a).

In order to facilitate the display of a map on a screen

independent of its resolution and size, coordinates of the

Page 4: 19475683.2011.640640

8/10/2019 19475683.2011.640640

http://slidepdf.com/reader/full/194756832011640640 4/13

 Annals of GIS    137

leftmost top corner and rightmost bottom corner (or right-

most top corner and leftmost bottom corner) are also stored 

in a database file extent.dbf. There may be more than

one map within the same extent and all such maps are

stored with different names. Files related to a map are

kept in a directory and the directory is called the map.

Information about the number of maps and its attribute iswritten in graph.dbf. Thus metadata about graphs (maps)

are written in

(1) extent.dbf,

(2) graph.dbf and 

(3)   < Name of graph as directory>.

With the advent of GIS tools, most cartographers use these

tools to generate new maps or to edit and recompose the

existing maps to reflect the present geographical situa-

tion. One of the vector GIS tools is GISNIC (Kumar and 

Sharma 2006). To facilitate data interoperability of 2D

and 3D drawings between AutoCAD and other programs,Autodesk developed in 1982 an open-sourced computer-

aided design (CAD) data file format. The file format is

known as DXF (Drawing Exchange Format). A DXF file is

composed of several sections (DXF reference 2008). Each

section has a code that is associated with its value. The code

 begins with a 0 followed by a string and ends with a 0 fol-

lowed by ENDSEC. A DXF file can represent almost all

CAD drawings (DXF Reference 2008).

3. Issues in vector map watermarking

A watermarked map must retain its watermark /fingerprint

to achieve the goal even after it undergoes various attacks.

The possible attack on a GIS map could be geometric

attack, vertex attack, vertex reordering and noise distortion.

A successful attack implies removal of the watermark while

retaining the fidelity of the cover data. The spatial data of 

vector maps is virtually a floating point data sequence with

a certain precision. Transformations like translation, rota-

tion and scaling are the main forms of geometrical attacks.

Since it involves coordinate transformation, no informa-

tion is lost if information is not stored in coordinates.

Alternatively if GIS data is cleaned, built and projected into

the required projection system before watermarking it, this

limitation can be overcome. Therefore, geometrical attacksare relatively easy to defend in vector map watermarking

schemes.

Vertex attack implies adding new vertices into the map

(interpolation) or removing vertices from the map (sim-

 plification or cropping). Such attacks, especially the map

simplification and cropping, are very serious to vector map

watermarking. Map simplification is a common operation

in GIS applications. As a result, the ability of surviv-

ing the map simplification is very important for a robust

watermarking scheme. All objects are stored in the map

file in a certain order. Either reordering the objects in the

map or reordering the vertices within an object can pro-

duce a new map file without degrading the data’s precision.

To some watermarking scheme which is dependent on the

objects’ order, this operation will be a fatal attack.

There is a possibility of noise distortion. Two sourcescould introduce noise into vector maps: file format

exchange through import/export feature and an attack.

The first is essentially required to implement portability

of GIS datasets. The second one is unwanted but cannot

 be ignored. However, insertion of noise is easily detected 

 because it compromises the fidelity of map datasets.

While watermarking a vector map, its fidelity must be

retained (Su   et al . 1999, Aspert   et al   2002). The term

fidelity is often used as a measure of a map’s validity in

the watermarking world. However, according to the differ-

ent data types and their respective usage, the term fidelity

has different meanings. Available watermarking algorithms

for digital vector maps use coordinates of spatial data toembed watermark /fingerprint. Every vector map has a pre-

cision tolerance which gives the maximum amplitude of 

the allowed distortions for the coordinates. The distor-

tions of coordinates definitely below the tolerance will not

degrade the map’s fidelity. The following principles have

 been considered while developing the methodology:

(1) We need to protect only precious data. The legal

copy of a precious data is equally valuable and 

it has the same market value. If while making

a copy, its quality is compromised and its mar-

ket value is diminished to the extent that copying becomes economically infeasible, then piracy can

 be controlled.

(2) We find a way to embed the watermark such that

neither any coordinate in the cover map is modified 

nor any extra feature is added to the cover map, that

is, the map is treated as naturally watermarked.

4. Outline of the approach

Map digest  M d  is defined as a one-way hash function that

takes an arbitrary map as its input file and produces a

string of bits of fixed length. It is built upon the most

common cryptographic hash functions MD5 and SHA-1(Rivest 1992, Stallings 1999). A map digest  M d  has three

 parts: M 1dp, M 2dp  and  M 3dp.

(1) The first part   M 1dp   is based on the number of 

nodes, segments, intermediate points, regions and 

landmark points. It is produced using SHA1. These

features are not altered by any transformation

applied on the map.

Page 5: 19475683.2011.640640

8/10/2019 19475683.2011.640640

http://slidepdf.com/reader/full/194756832011640640 5/13

138   S.K. Muttoo and V. Kumar 

(2) The second part  M 2dp   is based on the unique reg-

istered supplier code (RSC), serial number of the

map (SNM), registered customer code (RCC) and 

a secret key ( K s). It is produced using SHA1. This

information is immune to any alteration made in

the map.

(3) The third part M 3

dp  is obtained from the completemap after exporting it into DXF. It is produced 

using MD5 algorithm. This part together with the

first and second parts of map digest is used to deter-

mine whether the map is altered and a fake copy is

made.

The map digest   M d    inherits the property of MD5 and 

SHA1 and it is infeasible to find two maps having the same

map digest and also given a map digest it is infeasible to

reconstruct a map with the same map digest. Two maps

G1  and G2  are said to be equal if the number of nodes and 

the corresponding coordinates, number of segments, corre-

sponding end nodes, number of intermediate points in thecorresponding segments and their coordinates are all equal

in G1  and G2, that is, G1  and G2  are exact copies of each

other. Now we prove a theorem.

Theorem 1: If map digest (M d  ) of any two distinct maps

G 1   and G 2   are not equal, that is, if G 1   =   G 2   then

 M d  (G 1 ) = M d  (G 2 ).

 Proof: Let M d (G1) = ( M 1dp(G1), M 2dp(G1), M 3dp(G1)) and 

 M d (G2) = ( M 1dp(G2), M 2dp(G2), M 3dp(G2)) be map digests for 

two maps G1 and G2, respectively. Two digests are equal iff 

the corresponding elements in triplets are equal:

 M 1dp (G1) =  M 1dp (G2) ,

 M 2dp (G1) =  M 2dp (G2)   and 

 M 3dp (G1) =  M 3dp (G2)

Let  N 1,  S 1,  IP 1,  R1 and  P 1  be the number of nodes, seg-

ments, intermediate points, regions and points features,

respectively, in map G1  and  N 2, S 2, IP 2,  R2 and  P 2  be the

number of nodes, segments, intermediate points, regions

and points features, respectively, in map G2. The concate-

nated strings   N 1||   S 1||   IP 1||   R1||   P 1 and   N 2||   S 2||   IP 2||

 R2||  P 2 are equal iff these features are individually equal.Therefore if the count of any features differs in two maps,

we have

 M 1dp (G1) =  M 1dp (G2)

In case of  M 1dp(G1) =  M 1dp(G2), the second part of the two

digests can never be equal because keys  K 1s   and  K 2s   used 

for generating the second part of the digest are not equal.

This is true even for two copies of the same map sold 

to the same suppliers for the same customer and thereby

controls unauthorized copying of a map at the supplier or 

customer end.

For two different maps, the corresponding DXF files

are different and hence by the inherent property of 

MD5 algorithm, their third components are also different.

Therefore,

 M d (G 1) =  M d (G 2).

While embedding the map digest, the 160-/128-bit string

is converted into a sub-graph (sequence of nodes) of the

map. This sub-graph is a watermark, naturally placed in

the map (Kumar and Muttoo 2009a, 2011). The first part

of the digest is embedded in a set of nodes forming a sub-

graph (H1) of the map G. The second part is embedded in

another sub-graph (H2) and the third part in a sub-graph

(H3) of the map G. We call this sub-graph a map digest.

This is the theme of this article. The schematic diagram of 

the presented approach is given in Figure 1.

Let us now discuss the algorithm to create the

map digest and watermark and then embedding of the

watermark in the map.

5. Map digest and watermarking algorithm

Let G be the vector map to be watermarked. The map

digest   =   ( M 1dp(G),   M 2dp(G),   M 3dp(G)) is to be generated 

and embedded in the graph G. Take the map in its native

form. By native form we mean the format of data sup-

 ported by the GIS software for storing the map in digitalform. Basic cleaning and building of polygons are per-

formed on the basic spatial data before watermarking is

done. We consider a vector map in two parts:

(a) spatial data part and 

(b) complete map that includes both spatial and attri-

 bution data.

5.1 Map digest generation

We assign a unique serial number to the map G and call

it SNM. Then we find the counts  of features: nodes (G n),

segments (G S ), intermediate points (G ip), regions (G r ) and 

landmark points (G  p), from the graph.dbf file. The size of 

the data is 20 bytes (4 bytes for nodes, 4 for segments,

4 for intermediate points, 4 for regions and 4 for landmark 

 points). These 20 bytes are repeated 3 times to get 60 bytes

and then the maximum of the 5 values is concatenated 

with the 60 bytes to make it 64 bytes. The 64 bytes form

the input block for SHA1 algorithm to produce a 160-bit

 M 1dp(G). The procedure is outlined in PROC 1.

Page 6: 19475683.2011.640640

8/10/2019 19475683.2011.640640

http://slidepdf.com/reader/full/194756832011640640 6/13

 Annals of GIS    139

Vector map

Export to DXF

Create 128-bit hash using MD5

algorithm (hash value) for  M dp3

(c)

Assign a serial number to map

(SNM)

Registered supplier code (RSC)

Registered customer code (RCC)

SNM || RSC || RCC || Key

Use SHA1 to get 160-bit string for

 M dp2(b)

Vector map Count features

Create 160-bit

hash using SHA1

for  M dp

Concatenate

them

together

(a)

1

Figure 1. Schematic diagram of watermarking approach: (a) part 1, (b) part 2 and (c) part 3.

PROC 1: Procedure to compute M 1dp(G)

PROCEDURE M 1dp(G)

Step 1: Read  G n, G  s, G ip, G r , G  p  from graph.dbf 

Step 2: Concatenate the 20 bytes value together to get

str1

Step 3: Make a string str2 = str1 || str1 || str1

Step 4: Compute str2   =   str2   ||   max(G n,   G  s,   G ip,

G r , G  p)

Step 5:   M 1dp(G) = SHA1(str2)

Features  G n,  G  s,  G ip,  G r ,  G  p  of a map remain intact even

after a map undergoes any transformation from one coor-

dinate system to another or any exchange of data format

for portability. However, it is fragile to map simplifica-

tion process. To overcome this limitation, the second part

 –  M 2dp(G) – of the digest is used. To generate the  M 2dp(G)

the values of SNM, RSC and RCC are determined and 

recorded. Each of these values is 10 bytes long. The string

is repeated to make it 60 bytes and a secret key   K s of 

4 bytes is added before it is sent to SHA1 to produce

160-bit hash values. The procedure is given in PROC 2.

PROC 2: Procedure to compute M 2dp(G)

PROCEDURE M 2dp(G)

Step 1: Generate SNM.

Step 2: If Supplier is registered, read RSC

Step 3: Else register the supplier and generate RSC

Step 4: If Customer is registered, read RCC

Step 5: Else register the customer and generate RCC

Step 6: Concatenate the 30 bytes value together to get

str1 = SNM || RSC || RCC

Step 7: Make a string str2 = str1 || str1

Step 8: Compute str2 = str2 || K sStep 9:   M 2dp(G) = SHA1(str2)

This second part of the digest  M 2dp(G) is totally independent

of the map features and hence not altered by any opera-

tions performed on the map. In case of any disputes, if this

value is retrieved from the map, it not only authenticates

the ownership of the map but also proves any unauthorized 

alteration that might have been carried out on the map. The

third and last part M 3dp(G1) of the digest is generated for the

entire map. It involves the following steps:

Step 1: Take the vector map in its native data format.

Step 2: Export it to Drawing Exchange Format (DXF).

Step 3: Use this DXF file, which is a text file as input to

MD5 algorithm to get the 128-bit digest.

 Now the map digest triplet ( M 1dp(G), M 2dp(G), M 3dp(G)) is to

 be embedded in the map to watermark the map. Once the

map digest is generated, it is required to determine the cor-

responding sub-graph that holds the map digest part. This

sub-graph is the watermark. Let us determine the sub-graph

and the number of nodes in that sub-graph.

5.2. Time complexity of map digest generation

Determining the time complexity of an algorithm requires

derivation of an expression that finds the number of steps

needed to complete the task as a function of the problem

size   n. The time complexity   H ( M d ) of the algorithm to

generate the map digest is

 H ( M d ) = h1

 M 1dp

+ h2

 M 2dp

+ h3

 M 3dp

  (1)

Page 7: 19475683.2011.640640

8/10/2019 19475683.2011.640640

http://slidepdf.com/reader/full/194756832011640640 7/13

140   S.K. Muttoo and V. Kumar 

where  h1( M 1dp),  h2( M 2dp) and   h3( M 3dp) are functions repre-

senting the time complexity of functions that computes

 M 1dp(G),   M 2dp(G) and   M 3dp(G), respectively. We know that

the time complexity of SHA1 and MD5 is of O( n) for input

data of size n bytes.

Since the input data for  M 1dp   and  M 2dp  are of fixed size

of 64 bytes and the algorithm used is SHA1,

h1

 M 1dp

= O(64) (2)

h2

 M 2dp

= O(64) (3)

While computing  M 3dp, the map is converted to DXF. The

size of the DXF file depends on the number of spatial

features and attribution data. Let the size of the DXF file

corresponding to map G be   n   bytes. The complexity of 

MD5 algorithm used to generate the 128-bit   M 3dp   is then

of O(n), that is,

h3

 M 3dp

= O (n)   (4)

Time complexity H ( M d ) therefore can be written as

 H ( M d ) = O(64)+ O(64) + O(n) = O(n) (5)

Therefore, the complexity of the map digest generation is

of O(n) where   n   is the number of bytes in the DXF file

corresponding to the map G.

5.3 Number of nodes required for M k dp(G) , for k =

1, 2, 3

Let n be the number of nodes in map G which can be repre-

sented by

log2 n

 bits. We take one extra bit padded in the

leftmost side to indicate whether the next node is adjacent

in the map. If  X  is the number of bits required to represent

a node then

 X  =

log2 n+ 1 (6)

When the padded bit of node  vi is 0, then vi  is not adjacent

to  vi+1   in the sequence of nodes that constitutes the sub-

graph for the part of the map digest. If the bit is 1 then  vi

is adjacent to vi+1. Let Hk  be the sub-graph for  M k dp(G) for 

k = 1, 2, 3. The total number of nodes  Y k  required to embed 

 M k dp(G) is given by the expression

Y k  =

size of 

 M k 

dp(G )

 X  − 1

  (7)

And the last node in the sub-graph Hk   is represented by

only

Z k  =

size of  M k 

dp (G)− (Y k  − 1) ( X  − 1)

  (8)

left-over bits from the size of ( M k dp(G)) bits map digest.

It is obvious that the size of ( M k dp(G)) is either 160 bits or 

128 bits. To represent the last node in Hk   ( X   –  Z k ) ZERO

 bits are padded in the left side of   Z k . For example if thenumber of nodes in the map is 100, then X = 8, Y k = 23 for 

k = 1, 2 and  Y k = 19 for  k = 3. Similarly Z k =6 for  k =1,

2 and  Z k = 2 for  k = 3. Therefore 2 bits, 00, are padded for 

k = 1, 2 and 6 bits for  k = 3.

5.4 Watermarking map

The watermark is a sub-graph of the map. Here instead 

of embedding the watermark in the map by changing

any of the features of the map, we are searching for the

watermark in the map according to its map digest ( M 1dp(G),

 M 2dp

(G),   M 3dp

(G)). The watermark must be present in the

map. Thus embedding is done in a sustainable way (Kumar 

and Muttoo 2011) by associating the nodes of the map with

 bits of  M k dp(G),  k =1, 2, 3. It is possible that there may not

 be a node corresponding to a bit string because the val-

ues corresponding to the bit string may be greater than the

total number of nodes in the map G. In that case we treat

that node a virtual  node. Each part is embedded separately

and independently. Let WT_K[Y k ] be the array that stores

the watermark. Each element of the array is of  X  bits. The

 procedure is outlined in PROC 3.

PROC 3: Embedding of  M k dp(G) in G

Step 1: Split  M k dp(G) into  Y k  bit strings each of ( X   – 1)

 bits except the last one. The last one is  Z k   bits

such that

| M k dp(G) | = ( X  – 1)(Y k  –  1) + Z k 

Step 2: Pad one ‘0’ bit to the left side as MSB  (Most

Significant Bit) of all (Y k  – 1) bit strings except

the last one. In the last bit string pad ( X  –  Z k ) bits

in leftmost side. In case of virtual node, pad two

zero bits and this node is logically isolated node.

Step 3: Store all Y k  bit strings in WT_K[Y k ].

Step 4: For  I =2 to  Y k  do

If WT_K[ I  – 1] and WT_K[ I ] are adjacent

then Make MSB (WT_K[ I  – 1]) = 1

The WT_K[Y k ] is the watermark which is nothing but a

sequence of nodes related to the map. If drawn according

to adjacency maintained in WT_K[Y k ], it is a sub-graph

Hk  of map G. We get a triplet of watermark correspond-

ing to the map digest triplet ( M 1dp(G),   M 2dp(G),   M 3dp(G)).

The robustness of the watermarking scheme is discussed in

Section 8.The records related to the watermark are main-

tained in Tables 1–3. Since the values are very large, only

Page 8: 19475683.2011.640640

8/10/2019 19475683.2011.640640

http://slidepdf.com/reader/full/194756832011640640 8/13

 Annals of GIS    141

Table 1. Information related to M 1dp  (G) and H1.

Features count string

SNM   G n   G  s   G ip   G r    G  p   M 1dp  (G)   H 1(G)

 Note: Gn, number of nodes in map G; Gs, number of segments;  Gip, number of intermediate points;  Gr ,number of regions; Gp, number of landmark points.

Table 2. Information related to M 2dp  (G) and H2.

SNM RSC RCC   K s   M 2dp  (G)   H 2(G)

Table 3. Information related to M 3dp

 (G) and H3.

SNM   M 3dp  (G)   H 3(G)

the template of the table is provided to maintain readability

of this article.

5.5. Records maintenance tables

The watermark is now created and naturally embedded in

the map. Now we see how this information is utilized to

authenticate and ascertain the ownership of a map in case

of any dispute.

6. Illustrative example

Let G be a graph such that   G n = 500,   G  s = 1000,

G ip = 10,000,   G r = 50 and   G  p = 100. Now the input to

SHA1 to generate M 1dp(G) is obtained by concatenating G n,

G  s, G ip, G r  and  G  p in that order. Let this string be str1. Nowrepeat str1 thrice before concatenating at the end max {G n,

G  s, G ip, G r  and  G  p} to get 64 bytes. Let the string be str2.

Therefore,

str1 =   G n G  sG ipG r G  p

=   500 1000 10000 50 100

=  000001F4 000003E8 00002710 00000032

00000064 (in hex)

and 

str2 = (000001F4 000003E8 00002710 00000032

00000064)(000001F4 000003E8 00002710

00000032 00000064)(000001F4 000003E8

00002710 00000032 00000064)(00002710)

 Now the hash value of str2 as determined by HashCalc

2002 is as below:

 M 1dp (G) = 64e89ca947946c60ca4abd8a8f9dc406632c7e5e

(in hex)

(9)

For computing M 2dp(G), suppose SNM, RSC and RCC are,

respectively, 2011090101, 0101000001 and 0101000001.

Let the key   K s be equal to ‘A9C1’. Now the input to

SHA1 to generate   M 2dp(G) is obtained by concatenating

SNM, RSC and RCC in that order. Let this string be str1.

 Now repeat str1 twice before concatenating K s at the end 

to get 64 bytes. Let the string be str2. Therefore,

Page 9: 19475683.2011.640640

8/10/2019 19475683.2011.640640

http://slidepdf.com/reader/full/194756832011640640 9/13

142   S.K. Muttoo and V. Kumar 

str1 = SNMRSCRCC

= 20110901010101000001 0101000001

(eachsymbolisacharacterof1byte)

= 3230313130393031303130313031303030303031

30313031303030303031 (inhex)

and 

str2 = (323031313039303130313031303130

303030303130313031303030303031)

(3230313130393031303130313031303030

30303130313031303030303031)

(41394331)

 Now the hash value of str2 as determined by HashCalc

2002 is as below:

 M 2dp (G) = 62c5596af56a67e1e01c3b7759083f814b28a127 (inhex)

(10)

 Now to determine   M 3dp(G), the map is exported to DXF.

The map G under consideration is shown in Figure 2. The

dotted and broken segments represent continuation of the

map. Some nodes are not shown to maintain visibility of 

the shown nodes and presented concept. The MD5 of the

DXF file corresponding to the map G of Figure 2 is given

in Equation (11). The digest is computed using tools:

 M 3dp (G) = 5f95200e445beaf04511bbc587ffd696(inhex)

(11)

Figure 2. A map G under consideration for computing mapdigest.

 Now let us determine the sub-graph, that is, the sequence

of nodes from graph G that hides the three parts of map

digest. From Equation (6), the number of bits X  required to

represent a node in G is 10. Thus, we split the 160 bits of 

 M 1dp(G) and  M 2dp(G) and 128 bits of  M 3dp(G) in 9 (10 – 1)

 bit group. Each such group represents a node in the graph.

The bit sequence and the corresponding sequence of nodesobtained from map G for  M 1dp(G) are as below:

Bit sequence:

011001001 110100010 011100101 010010100 011110010

100011011 000110000 011001010 010010101

011110110 001010100 011111001 110111000

100000001 100110001 100101100 011111100

001011110

 Node sequence:

201, 418, 229, 148, 242, 283, 48, 202, 149, 246, 84,

249, 440, 257, 305, 300, 252, 94

Similarly, the bit sequence and the corresponding sequence

of nodes obtained from map G for  M 2dp(G) are as below:

Bit sequence:

011000101 100010101 011001011 010101111 010101101

010011001 111110000 111100000 000111000

011101101 110111010 110010000 100000111

111100000 010100101 100101000 101000010

000100111

 Node sequence:

197, 277, 203, 175, 173, 153, 496, 480, 56, 237, 442,

400, 263, 480, 165, 296, 322, 39

And the bit sequence and corresponding sequence of nodes

obtained from map G for  M 3dp(G) are as below:

Bit sequence

010111111 001010100 100000000 011100100 010001011

011111010 101111000 001000101 000100011

011101111 000101100 001111111 111111010

110100101 000000010

Page 10: 19475683.2011.640640

8/10/2019 19475683.2011.640640

http://slidepdf.com/reader/full/194756832011640640 10/13

 Annals of GIS    143

 Node sequence:

191, 84, 256, 228, 139, 250, 376, 69, 35, 239, 44, 127,

506, 421, 2

The watermarks are WT_1[18], WT_2[18] and WT_3[15].

Let us, for illustration, now assign some values to

WT_3[15]. While maintaining the adjacency, one bit is padded as the leftmost bit (LMB) and the bit is set to

1 if the node corresponding to WT_3[1] is adjacent to

WT_3[2] in the map G. Since node number 191 is not

adjacent to node number 84, WT_3[1]   =   0010111111.

However, node number 256 is adjacent to node number 

228; thus WT_3[3]  =   1100000000. In this way we can

assign values to WT_1[1. . .18], WT_2[1. . .18] and the

rest of the values in WT_3[1. . .15]. One exception is a

virtual node 506. Thus WT_3[13] = 00111111010.

7. Map authentication protocol

As mentioned by Craver  et al . (1998), mere existence of a watermark is not sufficient to prove ownership. We have

considered natural embedding of map digest to watermark 

the map. Let us consider the two possible cases:

(a) A is the owner and B the aspiring forger or 

(b) A and B are claimants of the ownership of the map.

A map may be distributed from many locations. However,

SNM is generated in a synchronous way maintaining

absolute uniqueness of the serial number of a map even if it

is a true copy of the same map, that is, fingerprinting a map.

In case of (a) any attempt by B to remove/destroy the

watermark changes the fidelity of the map reducing its mar-

ket value and scope of usability. While determining that A

is the owner of a map, in disputes one or the other of the

following may be available about the unauthorized copy of a map with B:

(1) The map is without any alteration.

(2) The SNM is known.

(3) The map composition is altered but the basic spa-

tial data is unaltered.

(4) The basic spatial data is also altered within the

tolerance limit to the extent that map fidelity is

retained.

In the case of (1) and (3) above,  M 1dp(G) is generated from

the spatial data of the map in possession of B and the details

are determined from Tables 1–3 to verify the fact. It isthe simplest case of authentication. In case of (2) above,

 M 1dp(G),  M 2dp(G) and  M 3dp(G) are retrieved from the tables

using the SNM and compared with  M 1∗dp (G),  M 2∗dp (G) and 

 M 3∗dp (G), the map digest of map with B. It helps in deter-

mining the stage of pilferage and /or extent of unauthorized 

modification carried out in the map. Figure 3 describes the

 process.

The watermarking scheme introduced in this article has

the advantage that if any one of the three parts of the

Map in

question

Export to DXF

Create 160-bit

Hash using SHA1for  M dp

1*Extract basicfeature

Create 128-bit

Hash using MD5

for  M dp3*

1

Retrieve SNM from

Table 1

Verify corresponding

entries in Table 2 and 3

Map is either

altered or there is

fake claimant.

Resolve using

Table 4.

1

Is

 M dp1

=

 M dp1*

Is

 M dpk 

=

 M dpk*

Yes

Guess RSC, RCC

and find list of 

MSN having closest

number of basic

spatial features

No

Verify the

corresponding

WatermarksYes

No

Figure 3. Authentication process.

Page 11: 19475683.2011.640640

8/10/2019 19475683.2011.640640

http://slidepdf.com/reader/full/194756832011640640 11/13

144   S.K. Muttoo and V. Kumar 

Table 4. Ownership resolution criteria.

Test 1 Test 2

Possible cases XA   XB   XA   XB   Derived ownership

Case 1 p a d d ACase 2 a p d d B

Case 3 p p p a ACase 4 p p a p BCase 5 p p p p Document verification

digest is known or retrieved the other two are also retrieved.

However, it has limitations of losing the watermark if the

node is renumbered in such a way that some nodes in

sub-graph (watermark) are also affected. The renumber-

ing is nevertheless protected by the essential requirement

of linking of attribution data. The second part of the digest

 –  M 2dp(G) – is independent of the features of a map. In case

of (4), the supplier /customer code of B’s copy is required 

to search the SNM. Once the suspected source of leakage

is guessed, the corresponding SNM is fetched from Table 2

and the rest is verified as it is done in case (2) above.

In case of (b), that is, when both A and B are claimants

of the ownership, two tests are performed. Test 1 is

 performed on the present copy and Test 2 on the original

copy with A and B. The results are tested for the presence

of watermark in two copies of the maps (Craver   et al .

1998). The possible results of the test are summarized 

in Table 4. In the table, XA   and XB   are checks for the

existence of watermark triplets in copies of A and B,

respectively. Letters a, p and d stand for absence, presence

and  don’t care, respectively. Cases 1–4 are clear; however,case 5 shows a potential ownership deadlock. This does

not arise unless both the maps are similar and the RSC

and RCC codes are also similar, that is, both A and B are

dealing with the same registered suppliers of the map and 

have sold the copy to the same customer. On the other 

hand, if they have different suppliers then either A is a reg-

istered customer of the supplier with B or B is a registered 

customer of the supplier with A. The physical verification

of the documents resolves the deadlock. The schematic

diagram of the authentication process is shown in Figure 3.

Let us now discuss the robustness of this watermarking

scheme, the level of distortions a map can withstand to

retain the watermark in it.

8. Steganalysis

The watermark scheme, introduced in this article, hides

the watermark naturally in the map, introducing no distor-

tions in spatial or attribution data. Thus undetectability is

achieved by default. The capacity of the object to be water-

marked is directly proportional to the number of nodes in

the map. Let  Y  be the number of nodes required in a map

to embed map digest and  Y k   (k = 1, 2, 3) be the number 

of nodes used for embedding M 1dp(G), M 2dp(G) and  M 3dp(G).

The number of nodes required for embedding the map

digest triplet is given by the inequality

Y  ≤

3k =1

Y k    (12)

 because some nodes may be common in the triplets. Let

n  be the number of nodes required to hide map digests in

the map G. For 448 (160  +  160  +128) bits, the required 

number of nodes Y  is given by

Y  =448

 X where n = 2 X  (13)

The minimum value of  X  should be such that

 X .2 X 

≥ 448 or     X  ≥ 7 (14)

Therefore the map must have at least 128 nodes to be

watermarked according to this scheme. In practice a map

that really needs protection against piracy has nodes some-

thing in tune of thousands. A common principle followed 

 by all watermarking schemes is that the embedding of hid-

den messages should not degrade the validity of the cover 

data (Ohbuchi  et al . 1998, Zeng and Liu 1999). The term

fidelity is often used as a measure of the data’s validity

in the watermarking world. In whatever few algorithms

for watermarking vector map exists, the space for embed-

ding the watermark is provided in the spatial data, that is,.the coordinates of the vertices. However, in the proposed 

watermarking algorithm, no coordinate is changed in the

map to hide the watermark. In fact nothing is changed in

the map.

A digital watermark is called robust if it resists a des-

ignated class of transformations whereas a fragile digital

watermark fails to be detectable after the slightest mod-

ification. A digital watermark is called semi-fragile if it

resists benign transformations, but fails detection after 

malignant transformations (Cox et al . 1997).

Page 12: 19475683.2011.640640

8/10/2019 19475683.2011.640640

http://slidepdf.com/reader/full/194756832011640640 12/13

 Annals of GIS    145

The watermarked (stego) map withstands editing of 

 point features, cleaning of the map and building of poly-

gons (Kumar and Sharma 2006), because these simplifi-

cation processes alter neither the nodes (number) nor the

coordinate of any of the intermediate points. A vector map

is exported and imported from one format to another for-

mat like ASCII, DXF and E00 for using the same map indifferent GIS software. The watermarking algorithm pre-

sented retains all the features of the stego after export

(and then import) or vice versa. However, as any stegano-

graphic algorithm suffers from tempering related to editing

of the stego object, this approach is also prone to drastic

editing of the graph. Since any malignant transformation

would render the vector map unusable, it will be eco-

nomically infeasible to drastically edit the watermarked 

map. Theoretically the presented watermarking scheme is

semi-fragile but practically it is robust. Also the algorithm

 presented is statistically imperceptible.

9. Conclusions

Once digital, data can be easily stored, copied and trans-

ferred without losing its original characteristics in a

straightforward and inexpensive way. The data is collected 

and maintained by the  data provider   and used by others

 by paying for it. Technically the approach is practical in

the era when the bulk of the data exchange takes place

through computer communication network. Since GIS

 projects have similar requirements in terms of data, the pos-

sible way to manage costs could be cost-sharing approach.

Illegal copying can be controlled if it is made computation-

ally or economically infeasible. The map digest approachfacilitates copying and replication of digital dataset for 

easy distribution by ensuring that any illegal copy can be

detected by retrieving its watermark. We have used Gtools

to create M 3dp(G) and HashCalc 2002 to create M 1dp(G) and 

 M 2dp(G) while implementing the algorithm. The GISNIC

GIS software has been used to compose a map and export

it to DXF and for other GIS operations performed on the

spatial and attribution data of a map.

The map digest can recognize the copyright ownership

for the dataset. The information relating to the contract

 between the data producer and client is embedded in the

dataset (Thorner 1997, Voyatzis and Pitas 1999). In case of unauthorized use of the contents, the producer can recover 

the embedded information and can produce it in a court.

The approach presented in this article helps in creating

functionally identical copies with different map digests for 

different registered users. The study of the watermarking

technology for digital vector maps is carried out for pro-

viding a level of security to protect both commercial and 

intellectual interests. The watermarking scheme of a digital

vector map must withstand serious attacks that may include

map simplification, cropping and additional noise. Other 

attacks like geometrical transformation and data reordering

are relatively easy to defend because they virtually cause no

information loss.

The algorithm produces a unique map digest for a given

map and it is embedded in the map without introducing any

distortion. The process preserves all the basic properties

of the original map in the watermarked map. The recov-ered watermark can be used not only to prove ownership

in a court but to verify its authenticity as well. The invis-

ible watermark survives any attacks attempting to remove

or damage the watermark under the constraints of retaining

fidelity of the map. Steganalysis performed on the approach

confirms the same. Further, the approach helps in retriev-

ing the watermark to show whether the copy is legal or 

otherwise. The work may be extended to other GIS data

exchange format like E00 and ARC/Info ASCII.

Acknowledgements

Existence of a problem inspires one to find its solution. To put asolution in place, resources are required. We are very grateful toall those who have been constantly encouraging and providing therequired resources for such scientific research work besides theregular work which we are doing in our respective departments.

References

Aspert, N.,   et al ., 2002. Steganography for three-dimensional polygonal meshes.  In: SPIE 47th annual meeting , 7–11 July,Seattle, WA. Seattle, WA: SPIE, 705–708.

Brassil, J., etal ., 1995. Electronic marking and identification tech-niques to discourage document copying.   IEEE Journal on

Selected Areas in Communications, 13 (8), 1495–1504.Cox, I.J.,  et al ., 1997. Secure spread spectrum watermarking for 

multimedia. IEEE Transactions on Image Processing , 6 (12),1673–1687.

Craver, S., et al ., 1998. Resolving rightful ownerships with invis-ible watermarking techniques: limitations, attacks and impli-cations. IEEE Journal on Selected Areas in Communications,16 (4), 573–586.

Date, H., Kanai, S., and Kishinami, T., 1999. Digitalwatermarking for 3D polygonal model based on wavelettransform.   Proceedings of DETC’99 – 1999 ASME , 12–15September, Las Vegas, NV. New York: ASME.

DXF Reference [online], 2008. Available from:  http://images.autodesk.com/adsk/files/acad-dxfo.pdf   [accessed 6 February2010].

Gopalakrishnan, K., Memon, N., and Vora, P., 1999. Protocolsfor watermark verification.   In:   Proceedings of the multime-dia and security workshop (held as a part of the 7th annual  ACM international multimedia conference), 31 October 1999,Orlando, FL. Darmstadt, Germany: GMD, 91–94.

Johnson, N.F., Duric, Z., and Jajodia, S., 2001.   Informationhiding: steganography and watermarking – attacks and coun-termeasures. Dordrecht: Kluwer Academic.

Karjala, D., 1995. Copyright in electronic maps.   Jurimetrics Journal , 35 (4), 395–415.

Kumar, V. and Muttoo, S.K., 2009a. A data structure for graph tofacilitate hiding information in a graph’s segments – a graphtheoretic approach to steganography.   International Journal 

Page 13: 19475683.2011.640640

8/10/2019 19475683.2011.640640

http://slidepdf.com/reader/full/194756832011640640 13/13

146   S.K. Muttoo and V. Kumar 

of Communication Networks and Distributed Systems, 3 (3),268–282.

Kumar, V. and Muttoo, S.K., 2009b. Principle of graph theo-retic approach to digital steganography.   In:   Proceedings of    INDIACom-2009, 26–27 February, New Delhi. New Delhi:BVICAM, 161–165.

Kumar, V. and Muttoo, S.K., 2011. A graph theoretic approachto sustainable steganography.   MIS Review: An International  Journal , 17 (1), 19–37.

Kumar, V. and Sharma, V., 2006. Overcoming 64kb data sizelimit in handling large spatial data in GISNIC while cleaningand building topology.   International Journal of InformationTechnology and Management , 5 (1), 77–86.

Lopez, C., 2002. Watermarking of digital geospatial datasets: areview of technical, legal, and copyright issues.  International  Journal of Geographical Information Science, 16 (6),589–607.

Mauro, B.,  et al ., 2002. Robust watermarking of cartographicimages. European Association for Signal Processing Journal on Applied Signal Processing , 2, 197–208.

Memon, N. and Wong, P.W., 1998. A buyer-seller watermarking protocol. In: IEEE workshop on multimedia signal processing (MMSP-98), 7–9 December, Los Angeles, CA. Piscataway,

 NJ: IEEE Press, 278–283.Ohbuchi, R., Masuda, H., and Aono, M., 1998. Watermarking

three-dimensional polygonal models through geometric and topological modifications. IEEE Journal on Selected Areas inCommunications, 16 (4), 551–560.

Rivest, R., 1992. The MD5 message-digest algorithm, RFC 1321[online]. IETF. April 1992. Available from http://www.rfc-editor.org/rfc/rfc1321.txt [accessed 6 February 2010].

Schulz, G. and Voigt, M., 2004. A high capacity watermarkingsystem for digital maps.   In:   Proceedings of the2004 workshop on multimedia and security, 20–21September, Magdeburg, Germany. New York: ACM,180–186.

Stallings, W., 1999. Cryptography & network security: principlesand practice. New York: Prentice Hall.

Su, P.C., Wang, H.J., and Kuo, C.C.J., 1999. Blind digitalwatermarking for cartoon and map images.   Proceedings of   SPIE , 25 January, San Jose, CA. Bellingham, WA: SPIE,3657, 296–306.

Thorner, B.B., 1997. Copyright protection for computer databases: the threat of feist and a proposed solution. Virginia Journal of Law and Technology, 1 (5), 1522–1687.

Voyatzis, G. and Pitas, I., 1999. Protecting digital-imagecopyrights: a framework.   IEEE Computer Graphics and  Applications, 19 (1), 18–24.

Xiamu, N., Shao, C.Y., and Wang, X.T., 2006. A sur-vey of digital vector map watermarking.   International  Journal of Computing, Information and Control , 2 (6),

1301–1316.Zeng, W. and Liu, B., 1999. A statistical watermark detection

technique without using original images for resolving right-ful ownerships of digital images. IEEE Transactions on Image Processing , 8 (11), 1534–1548.