Abstract: ABSTRACT A SYSTEM AND A METHOD FOR VALIDATING QUICK RESPONSE CODES The present disclosure discloses a system(100) and a method(200) for validating quick response codes. The system(100) comprises an inputting device(102) to receive input data from a user to be added on an unsigned QR code by means of a user interface(102a); a QR code generator module(104) to emboss the input data on the unsigned QR code to generate a standard QR code with UID; an encoder module(106) to generate a random set of modules or locations on standard QR code and select output format parameters to emboss the noisy data on standard QR code and generate an encoded QR code with noisy data; a decoding module(108) to decode the encoded QR code and generate decoded QR code; a matching and validator module(110) to compare the decoded QR code with the standard QR code to determine the matching percentage of the QR code and identify the QR code as genuine counterfeit.
DESC:FIELD OF INVENTION
The present disclosure generally relates to the validation of a Quick Response (QR) code and identifying counterfeits. More specifically, the present disclosure relates to a system and a method for validating quick response codes.
BACKGROUND
The background information herein below relates to the present disclosure but is not necessarily prior art.
It has become increasingly common in the transportation, manufacturing, and retail industries to use quick response (QR) codes or other 2d such as DataMatrix codes, shortcodes or dot codes, etc. for inventory tracking and identification. In addition to their high storage capacity and speed of decoding, smartphones are popular because of their ability to access online resources.
There are many applications for QR codes, such as accessing websites, downloading personal card information, posting information, accessing social networks, initiating phone calls, reproducing videos, and opening text files. Using them to engage mobile users with printed materials is a valuable marketing strategy in any industry.
Due to their use in advertising, billboards, and brand identification, QR codes have received considerable attention recently due to their aesthetic appearance. All embedding methods must produce code that is decodable by standard applications, yet produces little distortion in the image. Also, QR codes can be easily copied or recreated. A QR code reveals its data (url/ text etc.) when scanned and a standard QR code generator will output a similar QR code with this input.
Further, using a QR code reader to decode the QR code cover message raises the issue of security and privacy. The QR Code can be repaired if it is dirty or damaged if it has error correction capability. Depending on the operating environment, users can choose between four error correction levels. Raising this level improves error correction capability but also increases the amount of data QR Code size. But sometimes the data or details cannot be recovered from the QR code, because identifying the controlled or uncontrolled noise onto a standard QR code is difficult and that leads to data loss.
There is, therefore, felt a need for a system and a method for validating quick response codes that eliminate the above-mentioned drawbacks.
OBJECTS
Some of the objects of the present disclosure, which at least one embodiment herein satisfies, are as follows:
It is an object of the present disclosure to ameliorate one or more problems of the prior art or to at least provide a useful alternative.
An object of the present disclosure is to provide a system for validating quick response codes.
Another object of the present disclosure is to provide a system for generating a random set of modules or locations or orientations on the standard QR code.
Still another object of the present disclosure is to provide a system for determining the genuine or counterfeit data/ QR code.
Yet another object of the present disclosure is to provide a system for embossing input data on the unsigned QR code OR adding controlled and/ or uncontrolled noise.
Still another object of the present disclosure is to provide a system for determining the matching percentage of the QR code.
Yet another object of the present disclosure is to provide a system for removing controlled and/ or uncontrolled noise.
Another object of the present disclosure is to provide a method for validating quick response codes.
Other objects and advantages of the present disclosure will be more apparent from the following description when read in conjunction with the accompanying figures, which are not intended to limit the scope of the present disclosure.
SUMMARY
The present disclosure envisages a system and a method for validating quick response codes. The system includes an inputting device, a QR code generator module, an encoder module, a decrypter module, a decoding module, and a matching and validator module.
The inputting device is configured to receive input data from a user to be added to an unsigned QR code by means of a user interface.
The QR code generator module is configured to cooperate with the inputting device to receive the input data and emboss the input data on the unsigned QR code to generate a standard QR code with UID by means of a set of code generator rules.
The encoder module is configured to cooperate with the QR code generator module to receive the generated standard QR code and receive noisy data/ random patterns from the user/ noise (or random patterns) generator module/ external system and further configured to generate a random set of modules or locations on the standard QR code and select output format parameters to emboss the noisy data/ random patterns on the standard QR code embossed/ overlayed (any other generic equivalent word) by means of a set of encoder rules and generate an encoded QR code with noisy data/ random patterns.
The decoding module is configured to cooperate with the encoder module to receive the encoded QR code and decode the encoded QR code by means of a set of decoder rules and generate the decoded QR code.
The matching and validator module is configured to receive the decoded QR code and compare the decoded QR code with the standard QR code by means of a set of comparator rules to determine the matching percentage of the QR code and identify the QR code as a genuine counterfeit.
In an aspect, the system comprises a repository and a microprocessor.
In an aspect, the repository is configured to store the set of predefined instructions, the set of code generator rules, the set of encoder rules, the set of decoder rules, the set of comparator rules, and the unsigned QR code.
In an aspect, the microprocessor is configured to execute the set of predefined instructions to operate and execute one or more modules of the system.
In an aspect, the noisy data or random patterns is controlled/ uncontrolled noise data or an input error pattern level.
In an aspect, the input error pattern level is selected as low level, medium level, quartile level, and high level.
In an aspect, the encoder module is configured to generate a random set of modules or locations and select output format parameters, wherein the module corresponds to a cell or bit of the standard QR code.
In an aspect, the set of encoder rules is a set of instructions used to receive the selected parameters, modify the bits of the standard QR code by adding a signature of the standard QR code, and generate the generic QR code and encode the generic QR code on a product by means of printing.
In an aspect, the encoder module is configured to select any one of output format parameters from bitmap or vector, wherein the output format parameters include border, scale, color, version range, and mask pattern.
In an aspect, the border selects at least one module from the set of modules or locations.
In an aspect, the scale selects the pixels per module.
In an aspect, the color is selected in a combination of light and dark color.
In an aspect, the version range is selected from a minimum of 01 to a maximum of 40.
In an aspect, the mask pattern is selected from the range of -1 to 7, wherein -1 is used for automatic, and the range 0-7 is used for the manual.
In an aspect, the UID is stored in the repository as two- fingerprints (factor authentication).
In an aspect, the format module is configured to increase the ECC level within the same version.
In an aspect, the standard QR code, the encoded QR code, the decoded code is two-dimensional (2D)/ three-dimensional (3D) or QR code, or barcode, or any type of digital code that is scanned by any scanning devices.
In an aspect, the quick response code (QR Code) is generated by the encoder module and printed by using one or two printer devices.
In an aspect, the printer device is selected from a group of printers consisting of a Thermal Inkjet (TIJ), Continuous inkjet (CIJ), or Laser type printer device or any type of printer device that is capable of printing two-dimensional (2D)/ QR Codes.
In an aspect, the encoder module receives noisy data/ random patterns from the user/ noise (or random pattern) generator module/ external system.
The present disclosure further envisages a method for validating quick response codes. The method comprises the following steps:
• receiving, by an inputting device, input data from a user or by an interface of an application to be added on an unsigned QR code by means of a user interface;
• receiving and embossing, by a QR code generator module, the input data on the unsigned QR code to generate a standard QR code with UID by means of a set of code generator rules;
• receiving, by an encoder module, the generated standard QR code and noisy data or random patterns from the user or by an interface of an application;
• generating, by the encoder module, a random set of modules or locations or orientations on the standard QR code and selecting output format parameters to emboss or overlay or merge the noisy data or random patterns on the standard QR code by means of a set of encoder rules and generating an encoded QR code with noisy data or random patterns;
• receiving and decoding, by a decoding module, the encoded QR code by means of a set of decoder rules and generating decoded QR code; and
• receiving and comparing, by a matching and validator module, the decoded QR code with the standard QR code by means of a set of comparator rules to determine the matching percentage of the QR code and identifying the QR code as genuine counterfeit.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWING
A system and a method for validating quick response codes of the present disclosure will now be described with the help of the accompanying drawing, in which:
Figure 1 illustrates a block diagram of a system for validating quick response codes;
Figure 2A and Figure 2B illustrate a flow diagram for validating quick response codes in accordance with an embodiment of the present disclosure;
Figures 3A-3C illustrate genuine quick response codes in accordance with an embodiment of the present disclosure; and
Figure 4 illustrates the counterfeit quick response codes in accordance with an embodiment of the present disclosure.
LIST OF REFERENCE NUMERALS
100 - System
102 - Inputting Device
102a - User Interface
104 - QR Code Generator Module
106 - Encoder Module
108 - Decoding Module
110 - Matching And Validator Module
112 - Repository
114 - Microprocessor
DETAILED DESCRIPTION
Embodiments, of the present disclosure, will now be described with reference to the accompanying drawing.
Embodiments are provided so as to thoroughly and fully convey the scope of the present disclosure to the person skilled in the art. Numerous details are set forth, relating to specific components, and methods, to provide a complete understanding of embodiments of the present disclosure. It will be apparent to the person skilled in the art that the details provided in the embodiments should not be construed to limit the scope of the present disclosure. In some embodiments, well-known processes, well-known apparatus structures, and well-known techniques are not described in detail.
The terminology used, in the present disclosure, is only for the purpose of explaining a particular embodiment and such terminology shall not be considered to limit the scope of the present disclosure. As used in the present disclosure, the forms "a,” "an," and "the" may be intended to include the plural forms as well, unless the context clearly suggests otherwise. The terms “including,” and “having,” are open ended transitional phrases and therefore specify the presence of stated features, integers, steps, operations, elements and/or components, but do not forbid the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. The particular order of steps disclosed in the method and process of the present disclosure is not to be construed as necessarily requiring their performance as described or illustrated. It is also to be understood that additional or alternative steps may be employed.
When an element is referred to as being “engaged to,” "connected to," or "coupled to" another element, it may be directly engaged, connected or coupled to the other element. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed elements.
Typically, the conventional QR code reader used to decode the QR code that covers the message raises the issue of security and privacy. The QR Code can be repaired if it is dirty or damaged if it has error correction capability. Depending on the operating environment, users can choose between four error correction levels. Raising this level improves error correction capability but also increases the amount of data QR Code size. But sometimes the data or details cannot be recovered from the QR code, because identifying the controlled or uncontrolled noise onto a standard QR code is difficult and that leads to data loss.
To overcome the above-mentioned problems, the present disclosure discloses a system (hereinafter referred to as “system 100”) and a method (hereinafter referred to as “method 200”) for validating quick response codes. The system 100 and method 200 are now being described with reference to Figure 1, Figure 2A and Figure 2B to Figure 4.
Referring to Figure 1, the system 100 comprises an inputting device 102, user interface 102a, a QR code generator module 104, an encoder module 106, a decoding module 108, and a matching and validator module 110.
The inputting device 102 is configured to receive input data from a user to be added to an unsigned QR code by means of a user interface 102a.
The QR code generator module 104 is configured to cooperate with the inputting device 102 to receive the input data and emboss the input data on the unsigned QR code to generate a standard QR code with UID by means of a set of code generator rules.
The encoder module 106 is configured to cooperate with the QR code generator module 104 to receive the generated standard QR code and receive noisy data or random patterns from the user or by an interface of an application and further configured to generate a random set of modules or locations or orientations on the standard QR code and select output format parameters to emboss or overlay or merge the noisy data or random patterns on the standard QR code by means of a set of encoder rules and generate an encoded QR code with noisy data or random patterns.
In an aspect, the encoder module 106 receives noisy data/ random patterns from the user/ noise (or random pattern) generator module/ external system.
The decoding module 108 is configured to cooperate with the encoder module 106 to receive the encoded QR code and decode the encoded QR code by means of a set of decoder rules and generate the decoded QR code.
The matching and validator module 110 is configured to receive the decoded QR code and compare the decoded QR code with the standard QR code by means of a set of comparator rules to determine the matching percentage of the QR code and identify the QR code as a genuine counterfeit.
In an aspect, the system comprises a repository 112 and a microprocessor 114.
In an aspect, the repository 110 is configured to store the set of predefined instructions, the set of code generator rules, the set of encoder rules, the set of decoder rules, the set of comparator rules, and the unsigned QR code.
In an aspect, the repository 110 may be a memory that can store one or more computer-readable instructions or routines, which may be fetched and executed to validate quick response codes. The memory may include any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as EPROM, flash memory, and the like.
In an alternative aspect, the repository 110 may be an external data storage device coupled to the system 100 directly or through one or more data servers.
In an aspect, the microprocessor 114 is configured to execute the set of predefined instructions to operate and execute one or more modules of the system.
In an aspect, the microcontroller 114 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the microprocessor 122 may fetch and execute computer-readable instructions stored in a repository. The functions of the microcontroller 114 may be provided through the use of dedicated hardware as well as hardware capable of executing machine-readable instructions. In other examples, the microcontroller 114 may be implemented by electronic circuitry or printed circuit board. The microcontroller 114 may be configured to execute functions of various modules of the system 100 such as the QR code generator module 104, the encoder module 106, the decoding module 108, and the matching and validator module 110.
In an aspect, the system 100 may also include a communication interface. The communication interface may include a variety of interfaces, for example, interfaces for data input and output devices, referred to as I/O devices, transceivers, storage devices, and the like. The communication interface may facilitate communication of the system 100 with various devices coupled to the system 100 or the microcontroller 114. The communication interface may also provide a communication pathway for one or more components of the system 100 and the microcontroller 114.
Also, the system 100 or the microcontroller 114 may include, or be coupled with, one or more transceivers to communicate with various devices coupled to the system 100 or the microcontroller 114.
The following are the set of instructions used for validating quick response codes:
1. User Data Input:
- Receive input data from the user via an inputting device.
- The data is intended to be added to an unsigned QR code.
2. Generate Standard QR Code:
- Use the QR code generator module to emboss the input data onto the QR code.
- Generate a standard QR code with a unique identifier (UID).
3. Encode with Noisy Data:
- Receive additional noisy data random patterns from the user or by an interface of an application.
- The encoder module generates a random set of modules or locations or orientations on the standard QR code.
- Select output format parameters (like border, scale, color, version range, mask pattern).
- Emboss the noisy data or random patterns onto the standard QR code, resulting in an encoded QR code.
4. Decode QR Code:
- Use the decoding module to interpret the encoded QR code.
- Generate a decoded version of the QR code.
5. Validation:
- The matching and validator module receives the decoded QR code.
- Compare the decoded QR code with the standard QR code using comparator rules.
- Determine the matching percentage and identify the QR code as genuine or counterfeit.
6. Result:
- The system returns the validation result, indicating whether the QR code is valid or not.
Figure 2A and Figure 2B illustrate a flow diagram for validating quick response codes in accordance with an embodiment of the present disclosure. The order in which method 200 is described is not intended to be construed as a limitation, and any number of the described method blocks may be combined in any order to implement method 200, or an alternative method. Furthermore, method 200 may be implemented by processing resource or computing device(s) through any suitable hardware, non-transitory machine-readable medium/instructions, or a combination thereof. The method 200 comprises the following steps:
At step 202, the method 200 includes receiving, by an inputting device 102, input data from a user or by an interface of an application to be added on an unsigned QR code by means of a user interface 102a.
At step 204, the method 200 includes receiving and embossing, by a QR code generator module 104, said input data on said unsigned QR code to generate a standard QR code with UID by means of a set of code generator rules.
At step 206, the method 200 includes receiving, by an encoder module 106, said generated standard QR code and noisy data or random patterns from the user or by an interface of an application.
At step 208, the method 200 includes generating, by said encoder module 106, a random set of modules or locations or orientations on said standard QR code and selecting output format parameters to emboss or overlay or merge said noisy data or random pattern on said standard QR code by means of a set of encoder rules and generating an encoded QR code with noisy data or random patterns.
At step 210, the method 200 includes receiving and decoding, by a decoding module 108, said encoded QR code by means of a set of decoder rules and generating the decoded QR code.
At step 212, the method 200 includes receiving and comparing, by a matching and validator module 110, said decoded QR code with said standard QR code by means of a set of comparator rules to determine the matching percentage of said QR code and identifying said QR code as genuine counterfeit.
An exemplary pseudo-code depicting the implementation of method 200 for validating quick response codes.
// QR Code Validation System
// Initialize Modules
InputDevice inputDevice
QRCodeGeneratorModule qrGenerator
EncoderModule encoder
DecodingModule decoder
MatchingAndValidatorModule validator
DataRepository repository
Microprocessor processor
// Main Process
function validateQRCode() {
// Step 1: Receive User Input
inputData = inputDevice.receiveInputData()
// Step 2: Generate Standard QR Code
standardQRCode = qrGenerator.generateQRCode(inputData)
// Step 3: Encode QR Code with Noisy Data or Random Patterns
noisyData = inputDevice.receiveNoisyData()
encodedQRCode = encoder.encodeQRCode(standardQRCode, noisyData)
// Step 4: Decode Encoded QR Code
decodedQRCode = decoder.decodeQRCode(encodedQRCode)
// Step 5: Validate QR Code
validationResult = validator.compareAndValidate(decodedQRCode, standardQRCode)
return validationResult
}
// Supporting Functions
function generateQRCode(inputData) {
// Generate standard QR code with UID
}
function encodeQRCode(qrCode, noisyData) {
// Encode QR code with noisy data or Random Patterns
}
function decodeQRCode(encodedQR) {
// Decode the encoded QR code
}
function compareAndValidate(decodedQR, standardQR) {
// Compare decoded QR code with standard QR code
}
// Execute Validation Process
validationResult = validateQRCode()
Figures 3A-3C illustrate the genuine quick response codes in accordance with an embodiment of the present disclosure.
Figure 3A shows the image of the original QR code. Figure 3B shows the noise to be added to the original QR code. Figure 3C shows the standard QR code composite by embossing the noise on the original QR code.
Following are the steps involved in identifying an original from a duplicate, the process will be as follows:
1. While the composite 2D code has been created, there is more than way it’s unique code word can be determined,
a. The digital image of the composite QR code is uploaded to the decoder for it to decode and extract the code word; and
b. The printed image of the composite QR code is scanned by a camera with a QR code scanner and the image is decoded to extract the code word.
2. These code words are encoded and stored in the database/ repository as a “fingerprint” of the original 2D code.
3. For verification, the code words of the verification 2D code is matched against that of the original which has been stored in the database/ repository. In case there is any change in these codes, the 2D code can be declared a duplicate.
4. A further matching mechanism may be configured to compare the two results and declare any deviation below the allowable matching percentage (say 80%) as a counterfeit.
Example 1: The genuine quick response codes.
Step 1: Create an image of the original QR code. The content could be a url or any other text. We have used “hello world008” as a sample text for this example.
QR code content – “hello world008”
Resulting code word –
64,230,134,86,198,198,242,7,86,247,38,198,67,149,53,134,50,57,90,239,195,117,116,202,133,255,237,230,38,103,80,161,222,176,26,3,3,128,236,17,236,17,236,17,236,17,236,17,58,204,173,160,63,79,150,35,225,70,198,42,0,34,3,243,35,78,104,235,210,166
Step 2: Create the “noise” data in image form. The pattern of the noise should be sufficient enough to “damage” the original QR code to a point where the code words will change. At the same time, it should not cross the Error correction threshold set while creating the QR code.
Step 3: Create a composite by overlaying the noise image on the original QR code.
Step 4: Extract the code word of the composite image of the QR code generated in Step 3 and store it in the repository.
Resulting code word –
64,230,134,86,198,198,242,7,86,247,38,198,67,149,53,134,50,113,90,239,195,245,116,202,133,255,237,230,38,103,80,161,222,176,26,3,3,128,236,17,236,17,236,17,236,17,236,17,186,204,173,193,55,79,150,103,225,70,198,42,0,34,3,243,35,78,104,235,210,166.
The highlighted numbers have changed as compared to the original code word before the noise pattern was introduced.
Step 5: Print the composite image using a printer.
Figure 4 illustrates the counterfeit quick response codes in accordance with an embodiment of the present disclosure.
Resulting code word –
64,230,134,86,198,198,242,7,86,247,38,198,67,149,53,134,50,113,90,239,195,245,116,202,133,255,237,230,38,103,80,161,222,176,26,3,3,128,236,17,236,17,236,17,236,17,236,17,186,204,173,160,63,79,150,35,225,70,198,42,0,34,3,243,35,78,104,235,210,166.
Thus, three numbers (160, 63, and 35) have changed when compared to the codeword of the signed QR code indicating it is a counterfeit.
In an operative configuration, the system 100 comprises an inputting device 102 is configured to receive input data from a user or by an interface of an application to be added on an unsigned QR code by means of a user interface 102a. The QR code generator module 104 is configured to cooperate with the inputting device 102 to receive the input data and emboss or overlay or merge the input data on the unsigned QR code to generate a standard QR code with UID by means of a set of code generator rules. The encoder module 106 is configured to cooperate with the QR code generator module 104 to receive the generated standard QR code and receive noisy data or random patterns from the user or by an interface of an application and is further configured to generate a random set of modules or locations or orientations on the standard QR code and select output format parameters to emboss or overlay or merge the noisy data or random patterns on the standard QR code by means of a set of encoder rules and generate an encoded QR code with noisy data or random patterns.
The decoding module 108 is configured to cooperate with the encoder module 106 to receive the encoded QR code and decode the encoded QR code by means of a set of decoder rules and generate the decoded QR code. The matching and validator module 110 is configured to receive the decoded QR code and compare the decoded QR code with the standard QR code by means of a set of comparator rules to determine the matching percentage of the QR code and identify the QR code as a genuine counterfeit.
Advantageously, the system 100 provides a validating quick response code. The system 100 provides accurately identifies QR codes as genuine or counterfeit. Further, the system 100 provides authentication of the QR codes by determining genuine or counterfeit QR codes. The system 100 provides the authentication of the product by scanning the QR code of the product to avoid duplication, copying, or imitating the appearance of the product.
The functions described herein may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Other examples and implementations are within the scope and spirit of the disclosure and appended claims. For example, due to the nature of software, functions described above can be implemented using software executed by a processor, hardware, firmware, hardwiring, or combinations of any of these. Features implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations.
The foregoing description of the embodiments has been provided for purposes of illustration and is not intended to limit the scope of the present disclosure. Individual components of a particular embodiment are generally not limited to that particular embodiment, but, are interchangeable. Such variations are not to be regarded as a departure from the present disclosure, and all such modifications are considered to be within the scope of the present disclosure.
TECHNICAL ADVANCES
The present disclosure described herein above has several technical advantages including, but not limited to, the realization of a system and a method for validating quick response codes, that:
• is scalable;
• is efficient;
• has high accuracy;
• avoids data loss;
• removes controlled and uncontrolled noise;
• accurately identify QR codes as genuine or counterfeit; and
• determining the matching percentage of the QR code.
The embodiments herein and the various features and advantageous details thereof are explained concerning the non-limiting embodiments in the following description. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the embodiments herein. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein may be practiced and to further enable those of skill in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.
The foregoing description of the specific embodiments so fully reveals the general nature of the embodiments herein that others can, by applying current knowledge, readily modify and/or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Therefore, while the embodiments herein have been described in terms of preferred embodiments, those skilled in the art will recognize that the embodiments herein can be practiced with modification within the spirit and scope of the embodiments as described herein.
The use of the expression “at least” or “at least one” suggests the use of one or more elements or ingredients or quantities, as the use may be in the embodiment of the disclosure to achieve one or more of the desired objects or results.
While considerable emphasis has been placed herein on the components and component parts of the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferred embodiment as well as other embodiments of the disclosure will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be interpreted merely as illustrative of the disclosure and not as a limitation. ,CLAIMS:WE CLAIM:
1. A system (100) for validating quick response (QR) codes, said system (100) comprising:
• an inputting device (102) configured to receive input data from a user or by an interface of an application to be added on an unsigned QR code by means of a user interface (102a);
• a QR code generator module (104) configured to cooperate with said inputting device (102) to receive said input data and emboss or overlay or merge said input data on said unsigned QR code to generate a standard QR code with UID by means of a set of code generator rules;
• an encoder module (106) configured to cooperate with said QR code generator module (104) to receive said generated standard QR code and receive noisy data or random patterns from the user or by an interface of an application and further configured to generate a random set of modules or locations or orientations on said standard QR code and select output format parameters to emboss or overlay or merge said noisy data or random patterns on said standard QR code by means of a set of encoder rules and generate an encoded QR code with noisy data or random patterns;
• a decoding module (108) configured to cooperate with said encoder module (106) to receive said encoded QR code and decode said encoded QR code by means of a set of decoder rules and generate decoded QR code; and
• a matching and validator module (110) configured to receive said decoded QR code and compare said decoded QR code with said standard QR code by means of a set of comparator rules to determine the matching percentage of said QR code and identify said QR code as genuine counterfeit.
2. The system (100) as claimed in claim 1, wherein said system (100) comprises:
a. a repository (112) configured to store said set of predefined instructions, said set of code generator rules, said set of encoder rules, said set of decoder rules, said set of comparator rules, said unsigned QR code; and
b. a microprocessor (104) is configured to execute said set of predefined instructions to operate and execute one or more modules of said system (100).
3. The system (100) as claimed in claim 1, wherein said noisy data is a controlled/ uncontrolled noise data or an input error pattern level.
4. The system (100) as claimed in claim 3, wherein said input error pattern level is selected as low level, medium level, quartile level, and high level.
5. The system (100) as claimed in claim 1, wherein said encoder module (106) is configured to generate a random set of modules or locations and select output format parameters, wherein said module corresponds to a cell or bit of said standard QR code.
6. The system (100) as claimed in claim 1, wherein said set of encoder rules is a set of instructions used to receive said selected parameters, modify the bits of said standard QR code by adding a signature of said standard QR code, and generate said generic QR code and encode said generic QR code on a product by means of printing.
7. The system (100) as claimed in claim 1, wherein said encoder module (106) is configured to select any one of output format parameters from bitmap or vector, wherein said output format parameters include border, scale, color, version range, and mask pattern.
8. The system (100) as claimed in claim 7, wherein said border selects at least one module from said set of modules or locations.
9. The system (100) as claimed in claim 7, wherein said scale selects the pixels per module.
10. The system (100) as claimed in claim 7, wherein said color is selected in a combination of light and dark color.
11. The system (100) as claimed in claim 7, wherein said version range is selected from a minimum of 01 to a maximum of 40.
12. The system (100) as claimed in claim 7, wherein said mask pattern is selected from the range of -1 to 7, wherein -1 is used for automatic, and the range 0-7 is used for the manual.
13. The system (100) as claimed in claim 1, wherein said UID is stored in said repository (112) as two- fingerprints (factor authentication).
14. The system (100) as claimed in claim 1, wherein said format module (110b) is configured to increase the ECC level within the same version.
15. The system (100) as claimed in claim 1, wherein said standard QR code, said encoded QR code, said decoded code is two-dimensional (2D)/ three-dimensional (3D) or QR code, or barcode, or any type of digital code that is scanned by any scanning devices.
16. The system (100) as claimed in claim 1, wherein said quick response code (QR Code) is generated by said encoder module and printed by using one or two printer devices.
17. The system (100) as claimed in claim 1, wherein said printer device is selected from a group of printers consisting of a Thermal Inkjet (TIJ), Continuous inkjet (CIJ), or Laser type printer device or any type of printer device that is capable of printing two-dimensional (2D)/ QR Codes.
18. The system (100) as claimed in claim 1, wherein said encoder module (106) receives noisy data/ random patterns from the user/ noise (or random pattern) generator module/ external system.
19. A method (200) for validating quick response (QR) codes, said method (200) comprises the following steps:
• receiving, by an inputting device (102), input data from a user or by an interface of an application to be added on an unsigned QR code by means of a user interface (102a);
• receiving and embossing, by a QR code generator module (104), said input data on said unsigned QR code to generate a standard QR code with UID by means of a set of code generator rules;
• receiving, by an encoder module (106), said generated standard QR code and noisy data or random patterns from the user or by an interface of an application;
• generating, by said encoder module (106), a random set of modules or locations or orientations on said standard QR code and selecting output format parameters to emboss or overlay or merge said noisy data or random patterns on said standard QR code by means of a set of encoder rules and generating an encoded QR code with noisy data or random patterns;
• receiving and decoding, by a decoding module (108), said encoded QR code by means of a set of decoder rules and generating the decoded QR code; and
• receiving and comparing, by a matching and validator module (110), said decoded QR code with said standard QR code by means of a set of comparator rules to determine the matching percentage of said QR code and identifying said QR code as a genuine counterfeit.
Dated this 9th day of February, 2024
_______________________________
MOHAN RAJKUMAR DEWAN, IN/PA – 25
OF R.K.DEWAN & CO.
AUTHORIZED AGENT OF APPLICANT
TO,
THE CONTROLLER OF PATENTS
THE PATENT OFFICE, AT MUMBAI
| # | Name | Date |
|---|---|---|
| 1 | 202321008761-STATEMENT OF UNDERTAKING (FORM 3) [10-02-2023(online)].pdf | 2023-02-10 |
| 2 | 202321008761-PROVISIONAL SPECIFICATION [10-02-2023(online)].pdf | 2023-02-10 |
| 3 | 202321008761-PROOF OF RIGHT [10-02-2023(online)].pdf | 2023-02-10 |
| 4 | 202321008761-FORM FOR STARTUP [10-02-2023(online)].pdf | 2023-02-10 |
| 5 | 202321008761-FORM FOR SMALL ENTITY(FORM-28) [10-02-2023(online)].pdf | 2023-02-10 |
| 6 | 202321008761-FORM 1 [10-02-2023(online)].pdf | 2023-02-10 |
| 7 | 202321008761-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [10-02-2023(online)].pdf | 2023-02-10 |
| 8 | 202321008761-EVIDENCE FOR REGISTRATION UNDER SSI [10-02-2023(online)].pdf | 2023-02-10 |
| 9 | 202321008761-DRAWINGS [10-02-2023(online)].pdf | 2023-02-10 |
| 10 | 202321008761-DECLARATION OF INVENTORSHIP (FORM 5) [10-02-2023(online)].pdf | 2023-02-10 |
| 11 | 202321008761-FORM-26 [22-08-2023(online)].pdf | 2023-08-22 |
| 12 | 202321008761-FORM-9 [09-02-2024(online)].pdf | 2024-02-09 |
| 13 | 202321008761-ENDORSEMENT BY INVENTORS [09-02-2024(online)].pdf | 2024-02-09 |
| 14 | 202321008761-DRAWING [09-02-2024(online)].pdf | 2024-02-09 |
| 15 | 202321008761-COMPLETE SPECIFICATION [09-02-2024(online)].pdf | 2024-02-09 |
| 16 | 202321008761-STARTUP [10-02-2024(online)].pdf | 2024-02-10 |
| 17 | 202321008761-FORM28 [10-02-2024(online)].pdf | 2024-02-10 |
| 18 | 202321008761-FORM 18A [10-02-2024(online)].pdf | 2024-02-10 |
| 19 | Abstract.jpg | 2024-03-08 |
| 20 | 202321008761-FER.pdf | 2024-05-02 |
| 21 | 202321008761-Request Letter-Correspondence [12-06-2024(online)].pdf | 2024-06-12 |
| 22 | 202321008761-Power of Attorney [12-06-2024(online)].pdf | 2024-06-12 |
| 23 | 202321008761-Covering Letter [12-06-2024(online)].pdf | 2024-06-12 |
| 24 | 202321008761-FORM 3 [15-06-2024(online)].pdf | 2024-06-15 |
| 25 | 202321008761-CORRESPONDENCE(IPO)-(WIPO DAS)-21-06-2024.pdf | 2024-06-21 |
| 26 | 202321008761-FORM 3 [27-06-2024(online)].pdf | 2024-06-27 |
| 27 | 202321008761-OTHERS [24-07-2024(online)].pdf | 2024-07-24 |
| 28 | 202321008761-MARKED COPIES OF AMENDEMENTS [24-07-2024(online)].pdf | 2024-07-24 |
| 29 | 202321008761-FORM 13 [24-07-2024(online)].pdf | 2024-07-24 |
| 30 | 202321008761-FER_SER_REPLY [24-07-2024(online)].pdf | 2024-07-24 |
| 31 | 202321008761-CLAIMS [24-07-2024(online)].pdf | 2024-07-24 |
| 32 | 202321008761-AMMENDED DOCUMENTS [24-07-2024(online)].pdf | 2024-07-24 |
| 33 | 202321008761-US(14)-HearingNotice-(HearingDate-28-08-2024).pdf | 2024-08-08 |
| 34 | 202321008761-FORM-26 [21-08-2024(online)].pdf | 2024-08-21 |
| 35 | 202321008761-Correspondence to notify the Controller [21-08-2024(online)].pdf | 2024-08-21 |
| 36 | 202321008761-Written submissions and relevant documents [09-09-2024(online)].pdf | 2024-09-09 |
| 37 | 202321008761-MARKED COPIES OF AMENDEMENTS [09-09-2024(online)].pdf | 2024-09-09 |
| 38 | 202321008761-FORM 13 [09-09-2024(online)].pdf | 2024-09-09 |
| 39 | 202321008761-AMMENDED DOCUMENTS [09-09-2024(online)].pdf | 2024-09-09 |
| 40 | 202321008761-PatentCertificate13-11-2024.pdf | 2024-11-13 |
| 41 | 202321008761-IntimationOfGrant13-11-2024.pdf | 2024-11-13 |
| 1 | SearchHistoryE_03-04-2024.pdf |