Copyright is an intellectual property right. It is granted to preserve the work of a creator or a group of creators. Intellectual property can be anything like music, novel, drama, literature, etc. Protection is granted to these copyrights in the 1968 Copyright Act. This protects the work from people's adaption, reproduction, translation, etc. It is a challenging task to protect copyrights as the content is encrypted before transmission. And, then, decrypted at the time of coping.

This article will discuss 2-IPP codes. We will examine its different categories. Then we will discuss verifying whether a code is a 2-IPP code. But before that, first, discuss different copyright violations.

Copyright Violation

Hardware-based solutions provide limited protection to copyrights. Tracing algorithms are used to trace the content to the right owner. There are various types of codes used for tracing. These are -

Fingerprinting

Identifiable Parent Property

2-IPP Codes

Tracing illegally redistributed keys.

In this article, we will discuss only about one code, i.e., 2-IPP Code. But do you wonder why we need these codes? So, the answer is because of copyright violation. There are mainly two types of copyright violations. These are -

Illegal Content Redistribution -

The encrypted content always gets decrypted once it gets to its rightful owner. The decrypted content is then copied and transmitted. For Example - Illegal pirate broadcasts.

Illegal Key Redistribution -

In this violation, the key used in decryption is copied and distributed. Or the keys can be created by the combination of keys. These keys or groups of keys are then used to decrypt content illegally.

2-IPP Codes

It is a tracing copyright algorithm. It is one of the algorithms that allows content to be traced to an authorized owner. It consists of three main operations. These are -

Create a w-IPP code, where w is any arbitrary number.

Verify that a given code is a w-IPP code or not.

Find an efficient algorithm to identify the w-descendant code of a w-IPP code.

In 2-IPP codes, the value of w is 2. These codes provide two categorizations of hash functions. These are -

Perfect Hash Functions -

This hash function maps each element of a set to another set of ‘M’ integers. There are zero chances of facing collision in the perfect hash function. These hash functions can be referred to as one-to-one functions.

Mathematically, these hash functions can be defined as -

A set of functions, such that |A| = n, |B| = m and f: A → B for each f ∈ F. And for any A1 ⊆ A such that |A1| = x, there exists at least one f ∈ F such that f |A1| is one-to-one mapped.

This hash function is denoted by PHF(N; n, m, x) with |PHF| = N.

The advantages of the perfect hash function are -

We don’t need to store keys in the lookup table.

The chance of collision is zero.

Disadvantages of the perfect hash function are -

The space requirement is O(N). Where N is the number of elements in the given set S.

Frequent change in the set makes the operation expensive.

The set S must be stable and known to the user.

Separated Hash Functions -

It is a set of functions such that |A| = n, |B| = m, and f : A → B for each f ∈ F. For any A1, A2 ⊆ A such that |A1| = x1, |A2| = x2 and A1 ∩ A2 = ∅. There exists at least one function f ∈ F such that -

{ f(x) : x ∈ A1} ∩ { f(x) : x ∈ A2} = ∅.

The notation used to represent the separated hash function is -

F(N; n, m, {x1, x2}) that denotes = (n, m, {x1, x2}) with |F| = N.

Verification of Codes

Let’s verify whether a given code ‘C’ is a 2-IPP code or not. Let's say the given code is (a, b, c). And the code block i.e., the function [ F(C) ]is an array of size a*b.

Assume that F(C) is not a perfect hash function. And there exist three rows that violate hash function policies. These are R1, R2, and R3 in F. Therefore, each column in F will contain one element that is repeated in assumed rows. So, clearly

{R1, R2}, {R1, R3}, {R2, R3} ∈ susp(F)

Where, susp - set of suspected collision.

The values in rows 1, 2, and 3 are repeated in the same column.

Hence, the code ‘C’ is not a 2-IPP because the intersection of any of these subsets is empty.

Now, let’s assume that F(C) is not a Separating Hash Function. And two sets of two rows in F(C) violate function policies. These are, let’s say {R1, R2} and {R3, R4}. For every column ‘c’, let ‘Z’ be the element that appeared in one of the rows R1 and R2. And then again appeared in the same column of rows R3 and R4. So, clearly

{R1,R2}, {R3,R4} ∈ susp(F)

Where, susp - set of suspected collision.

Hence, ‘C’ is not a 2-IPP code because the intersection of any of these two 2-subsets is empty.

Theorem

An (a,b,c) code C is a 2-IPP code if and only if F(C) is simultaneously a PHF(a; n, c, 3) and an SHF(a; n, c, {2, 2}), where SHF is separated hash function.

For all integers R ≥ 2 there exists a (3, 3R 2 , r2 + 2r) - code that is a 2-IPP code. Furthermore, this code has a parent-identifying algorithm having complexity O(1).

Frequently Asked Questions

What is a copyright?

Copyright is an intellectual property right. It is granted to preserve the work of a creator or a group of creators. Intellectual property can be anything like music, novel, drama, literature, etc.

What are the types of copyright violations?

There are mainly two types of copyright violations. These are - Illegal Content Redistribution and Illegal Key Redistribution.

What tracing algorithms are available for copyright?

The available tracing algorithms include - Fingerprinting, Identifiable Parent Property, 2-IPP Codes, and tracing illegally redistributed keys.

What is a 2-IPP code?

It is a tracing copyright algorithm. It is one of the algorithms that allows content to be traced to an authorized owner.

What is a perfect hash function?

This hash function maps each element of a set to another set of ‘M’ integers. There are zero chances of facing collision in the perfect hash function. These hash functions can be referred to as one-to-one functions

Conclusion

In this article, we have discussed the 2-IPP codes. We also discussed how to verify whether a code is 2-IPP or not. And at last, we discussed the theorems used by the 2-IPP code tracer.

Do not stop learning! We recommend you read these articles -.