Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding Ninjas X Naukri.com
Table of contents
1.
Introduction
2.
Copyright Violation
3.
2-IPP Codes
4.
Verification of Codes
5.
Theorem
6.
Frequently Asked Questions
6.1.
What is a copyright?
6.2.
What are the types of copyright violations?
6.3.
What tracing algorithms are available for copyright?
6.4.
What is a 2-IPP code?
6.5.
What is a perfect hash function?
7.
Conclusion
Last Updated: Mar 27, 2024

2-IPP codes - Now, that’s encrypted

Author Ayushi Goyal
0 upvote
Master Python: Predicting weather forecasts
Speaker
Ashwin Goyal
Product Manager @

Introduction

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. 

Introduction

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 - 

  1. Fingerprinting 
  2. Identifiable Parent Property
  3. 2-IPP Codes
  4. Tracing illegally redistributed keys. 
copyright violation

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. 

Get the tech career you deserve, faster!
Connect with our expert counsellors to understand how to hack your way to success
User rating 4.7/5
1:1 doubt support
95% placement record
Akash Pal
Senior Software Engineer
326% Hike After Job Bootcamp
Himanshu Gusain
Programmer Analyst
32 LPA After Job Bootcamp
After Job
Bootcamp

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. 

perfect hash function

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 - 

  1. We don’t need to store keys in the lookup table. 
  2. The chance of collision is zero. 
     

Disadvantages of the perfect hash function are - 

  1. The space requirement is O(N). Where N is the number of elements in the given set S.
  2. Frequent change in the set makes the operation expensive. 
  3. 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} = ∅. 

separated hash function

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.

Example

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)

Verfication

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

  1. 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. 
     
  2. 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 -. 

  1. What is Cryptography?
  2. Stream ciphers
  3. Non-monoalphabetic Vigenere Cipher
  4. The Paillier Cryptosystem
  5. Monte Carlo Simulation
     

Please refer to our guided paths on Coding Ninjas Studio to learn more about DSA, Competitive Programming, JavaScript, System Design, etc. And also, enroll in our courses and refer to the mock test and problems available. Have a look at the interview experiences and interview bundle for placement preparations.

Keep learning, and Keep Growing!

Do upvote our blogs if you find them engaging and knowledgeable.

Previous article
Identifiable Parent Property
Next article
Tracing Illegally Redistributed Keys
Live masterclass