20320130406009

180 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
180
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

20320130406009

  1. 1. International Journal of Advanced JOURNAL OF ADVANCED RESEARCH ISSN 0976 – INTERNATIONAL Research in Engineering and Technology (IJARET), IN 6480(Print), ISSN 0976 – 6499(Online) Volume 4, Issue 7, November – December (2013), © IAEME ENGINEERING AND TECHNOLOGY (IJARET) ISSN 0976 - 6480 (Print) ISSN 0976 - 6499 (Online) Volume 4, Issue 7, November - December 2013, pp. 71-84 © IAEME: www.iaeme.com/ijaret.asp Journal Impact Factor (2013): 5.8376 (Calculated by GISI) www.jifactor.com IJARET ©IAEME STRENGTH OF DATA MATRIX AND DESIGN OF SCUIRS Mr. Lokesh S. Khedekar1, 1,2 Dr. A.S.Alvi2 PRMIT&R, Information Technology, Amravati, India ABSTRACT With the vast introduction of the wireless world, the exchanged information now is more prone to security attacks than ever. Barcodes are the information careers in the form of an image. Their various applications have been discussed in brief and also the structure, symbology and properties of barcodes. This paper aims to provide an approach which can uniquely identify the product and prevent unauthorized computer access using Data matrix. Data matrix is explained in detail to get the rigged understanding on quick response technology. The design of SCUIRS security model to share the data over the network is explained. Smart credentials eliminate the inherent weaknesses and costs of password authentication, and bypass the risk posed by legacy physical cardaccess systems. Smart credentials let you provide secure access to computer networks (logical access) and buildings (physical access). Keywords: Barcode, Data matrix, QR Code, UUID, Network. I. INTRODUCTION There are a variety of methods you can use to print barcodes. We recommend the lowest cost alternative to get started – a barcode font. Barcode fonts give you an inexpensive and flexible way to print labels quickly with high resolution and a low initial investment.[1][2] The location barcode is important because the goal of the inventory system is to know not only what you have, but to be able to tell accurately where it all is. When discounts apply to bar-coded merchandise, store employees may forget to code in the discount price. This, in turn, can lead to confusion and delays at the checkout counter, inconveniencing the customer, the checkout clerk, and other customers waiting in line. If a barcode can't be scanned, for any reason, the clerk must then read the corresponding numeric code and enter it manually. Because clerks have become used to scanning barcodes quickly and automatically, without any additional effort on their part, their lack of practice in manual code entries may potentially cause them to be slow and/or inaccurate in entering the information, further delaying the 71
  2. 2. International Journal of Advanced Research in Engineering and Technology (IJARET), ISSN 0976 – 6480(Print), ISSN 0976 – 6499(Online) Volume 4, Issue 7, November – December (2013), © IAEME checkout process. Considering barcodes as an effective media to share information, at present, the black and white two dimensional barcode technologies has developed more mature. American National Standards Institute (ANSI) developed the international standards of two-dimensional bar code, QR codes [3][4]. However, with the urge of increase in information, expanding the field of bar code applications is thought to be good idea. Barcodes are used to store the high capacity information in less space and thus, stands as a good ideate. This paper is related with the implementation of a product that will combine the power of graphical representation and the power of random numbers and characters for a unique ID. Combination of both Unique ID and Unique image will help a user to identify the product from other products and store its information accordingly. SCUIRS will not only give you a complete solution to product identification but can facilitate you with one more option. SCUIRS will also act like a Security system. The basic idea behind the designing of SCUIRS is to use the feature of Unique numbers combined with unique images and form a unique combination that will help in recognizing the product or a user or any item in inventory. II. STRUCTURE OF DATA MATRIX Datamatrix (or Data Matrix) is a high density 2 dimensional barcode that can encode up to 3116 characters from the entire 256 byte ASCII character set. Compared with DF417 barcode symbology the data matrix barcode belongs to newer family of 2 dimensional barcodes that makes better use of both dimensions and thus can achieve higher data capacity than the PDF417 symbology (~3kB vs. ~2kB). The symbol is built on a square grid which has a finder pattern around the edges of the symbol to allow a scanner to identify the barcode. The finder pattern makes it possible to read the barcode regardless of the physical orientation of the code. In the same way as with other 2 dimensional barcodes the data matrix code includes error correction capability in order to be resilient towards physical damages of a code. Originally data matrix used an older convolution error correction schema (ECC) but that has later been changed to use a Reed-Solomon type of error correction which is much more efficient. The older ECC version is known as ECC 000 to ECC 140 and should be considered obsolete and should not be used in new applications. The newer error correction schema (with Reed-Solomon codes) is known as ECC 200 schema and is the current and recommended schema. By default the library will use the newer schema but support also exists for legacy applications to use the older ECC schema. Figure Data matrix structure shows the principle of a Data matrix barcode.[5] The figure shows an annotated Data matrix where the finder and synchronization patterns have been highlighted. Figure 1. Structure of Data Matrix 72
  3. 3. International Journal of Advanced Research in Engineering and Technology (IJARET), ISSN 0976 – 6480(Print), ISSN 0976 – 6499(Online) Volume 4, Issue 7, November – December (2013), © IAEME III. SYSTEM ANALYSIS AND DESIGN 3.1 Problem Definition When user will store information about a product or person a unique ID will be generated. This Unique ID will be Tier 1 identification for the User or Object. Entering this Unique ID as an Input to our Selective algorithm will generate a unique Image for that particular ID. This Unique image will act as Tier 2 identification for User or Object. This image will be hash mapped to the User Unique ID and both will be used to identify an object. When identifiers are used solely within a database, their generation should be left to the database itself. 3.2 SCUIRS working • To generate a unique image from a unique ID and to map the image to a specific item in an inventory. • When user will store information about a product or person a unique ID will be generated. • This Unique ID will be Tier 1 identification for the User or Object. • Entering this Unique ID as an Input to our Selective algorithm will generate a unique Image for that particular ID. • This Unique image will act as Tier 2 identification for User or Object. • This image will be hash mapped to the User Unique ID and both will be used to identify an object. 3.3 Proposed System Design 3.3.1.1 UUID Generating Unique ID When identifiers are used solely within a database, their generation should be left to the database itself. Unique identifiers which are "published" in some way may need special treatment, since the identifier may need to be difficult to guess or forge. A typical example is the value of a cookie used as a session identifier - simply using a series of consecutive integers is generally unacceptable, since one user could easily impersonate another by altering the value of the cookie to some nearby integer. 3.3.1.2 Secure Random and Message Digest The following method uses SecureRandom and MessageDigest : upon startup, initialize SecureRandom(this may be a lengthy operation) when a new identifier is needed, generate a random number using SecureRandom Create a MessageDigestof the random number Encode the byte[] returned by the MessageDigest into some acceptable textual formcheck if the result is already being used ; if it is not already taken, it is suitable as a unique identifier The MessageDigest class is suitable for generating a "one-way hash" of arbitrary data. (Note that hash values never uniquely identify their source data, since different source data can produce the same hash value. The value of hashCode, for example, does not uniquely identify its associated object.) A MessageDigest takes any input, and produces a String which is of fixed length Does not allow the original input to be easily recovered (in fact, this is very hard) 73
  4. 4. International Journal of Advanced Research in Engineering and Technology (IJARET), ISSN 0976 – 6480(Print), ISSN 0976 – 6499(Online) Volume 4, Issue 7, November – December (2013), © IAEME Does not uniquely identify the input; however, similar input will produce dissimilar message digests Message Digest is often used as a checksum, for verifying that data has not been altered since its creation. Figure 2. Data flow diagram for SCUIRS GUI: Graphical User Interface will be used to gather information regarding the inventory from the user.GUI will consist of components to take inventory information and details from the user, components to save, edit, retrieve (searching) and delete the information. GUI will also contain a separate module for Unique ID (generated by the database and encrypted by selective algorithm) passing to generate an unique data matrix image. Selective algorithm for Unique ID encryption: This algorithm will be a modified version of 56 bit key DES algorithm. The selective algorithm will be used to encrypt the unique ID before been passed on for conversion into data matrix image. Selective algorithm for unique image The algorithm will encode the pre encrypted Unique ID and a data matrix will be generated that will be used for printing or publishing as required by the user. Storage of Unique ID: Database will store inventory information and details and a Unique ID will be generated and associated with every record. This Unique ID will act as Tier 1 identification for the record. Web server process and retrieval: A portal will be established which will contain the GUI and the entire process of storage of Data and retrieval along with data matrix image generation and publishing process. 74
  5. 5. International Journal of Advanced Research in Engineering and Technology (IJARET), ISSN 0976 – 6480(Print), ISSN 0976 – 6499(Online) Volume 4, Issue 7, November – December (2013), © IAEME 3.4 Block Diagram Figure 3. BlockDiagram for SCUIRS Web Portal: Web portal will contain a module that will take an input from the client which will be a data matrix image. Data inventory: Tables, relations related to items will be stored in data inventory. Data inventory is nothing but a set of tables that will contain records about items and its detailed information. Database: Information entered by the administrator will be stored in the database. This information will be stored in the form of a tuple. Each tuple will have a unique ID associated with it. Unique ID: This will be a 16 bit ID generated by the database (MySQL) and it will be used to identify the tuple in case of searching. Unique ID passed to (selective) algorithm: The algorithm will encrypt the Unique ID generated by database (MySQL). This encrypted key or string will be further passed on to another selective algorithm to create a unique image (i.e. Data Matrix image). 75
  6. 6. International Journal of Advanced Research in Engineering and Technology (IJARET), ISSN 0976 – 6480(Print), ISSN 0976 – 6499(Online) Volume 4, Issue 7, November – December (2013), © IAEME Unique image ready to publish: Unique image created by the selective algorithm can be either published or printed by the administrator. Capturing unique image: The image i.e. published or printed by the administrator can be captured by the user and sent back to the web portal through an HTTP response. Clipping: Since the captured image will vary in size, it needs to be clipped and exact Data Matrix needs to be extracted out of the captured image. Clipping will help to extract the exact image and pass it on to the web portal. Uploading of Image: An FTP request to the server will carry the clipped image that will be used to map with the database to find the related record or information. Sending information back to client: If mapping returns a record, then it will be sent back to the client (i.e. browser of phone or computer system) and this will complete the process. IV. SYSTEM IMPLEMENTATION Implementation Steps Work plan define the specific steps as follows:1. Add data to inventory. 2. Extract the unique identity field that will be auto generated. 3. Encode the ID into a Data Matrix. 4. Apply selective Data encoding algorithm. 5. Generate and distribute the Data Matrix. 6. Under Decoding process, apply Reed Solomon Code algorithm 7. Extract the Unique ID from Data Matrix. 8. Provide to the database as queried ID. 9. Appropriate record will be displayed respectively. Details of the Implementation Technique: As we declare above that first we have to a data inventory i.e. data table under a database, we try to create the same, Table 1: Database Table 76
  7. 7. International Journal of Advanced Research in Engineering and Technology (IJARET), ISSN 0976 – 6480(Print), ISSN 0976 – 6499(Online) Volume 4, Issue 7, November – December (2013), © IAEME Table 2: Meta structure of the table The database consists of various fields used to store related information in inventory. The ID field which is auto incremental is used as the defacto field to be stored in the data matrix. 4.3 Algorithm Step 1. Take input string that should be the Unique ID. Step2. Apply error correcting technique; so that the data can be recovered even if part of the printed symbol has been destroyed . Step 4. Finally the encoded data and the error correcting words are placed in the symbol according to an algorithm specified in the standard Step 5. When decoding this barcode do the reverse operation and encode string from barcode into Unicode string using System.Convert.FromBase64String() and System.Text.Encoding.Unicode.GetString() methods accordingly 4.4 System Execution Details GUI for the system The functions of the buttons, text field and panel are described as below. Screenshot no 1: The GUI for the system 77
  8. 8. International Journal of Advanced Research in Engineering and Technology (IJARET), ISSN 0976 – 6480(Print), ISSN 0976 – 6499(Online) Volume 4, Issue 7, November – December (2013), © IAEME 1) Encode the Unicode string into Base64 string using System.Text.Encoding.Unicode.GetBytes() 2) Method System.Convert.ToBase64String() will convert the bytes to Base 64 string. 3) Encode this base64 string into barcode (2D Data Matrix Code) Screen Shot 2: Generated Resultant Data Matrix Screenshot no 3: The inserted data into the table Data Table Fields after operation: Screenshot no 4: Data Table Fields after operation Psuedocode To encode data into a Data matrix symbol the following (principal) steps are taken. 1. The input string (which can be any ASCII values between 0-255) is encoded using the selected encoding or encodings (it is possible to switch encoding mid-way through the string). The primary purpose of the encoding is to compress the data into a much shorter form. 2. If needed the data is padded to fill up to the capacity of the selected symbol size. 3. Once the string has been encoded (and possible padded) a number of error correcting code words are added so that the data can be recovered even if part of the printed symbol have been destroyed (perhaps a corner has been teared off) 4. Finally the encoded data and the error correcting words are placed in the symbol according to an algorithm specified in the standard. This is done by placing each bit of every data byte in a specific position in the data matrix symbol. 78
  9. 9. International Journal of Advanced Research in Engineering and Technology (IJARET), ISSN 0976 – 6480(Print), ISSN 0976 – 6499(Online) Volume 4, Issue 7, November – December (2013), © IAEME 4.5 Result Analysis Width and Height of a Module (X) The range of the X-dimensions will be defined by the application specification, having due regard to the availability of equipment for the production and reading of symbols and complying with the general requirements of the application. The X-dimension shall be constant throughout a given symbol. The X-dimension should apply to both the width and height of the modules. Module size Defines the smallest cell in data matrix code. Module size has to be made out of at least 2×2 printed dots for bigger realibility. Also terms dot size or cell size can be used. Finder Pattern Bottom and left side of Data Matrix code refers to finder pattern. The L pattern is used locate and orient the symbol. Finder pattern is also used to correct distortion. Timing Pattern Dashed line positioned on upper-right side gives the reader information about Data Matrix code size. The sizes vary from 10×10 up to 144×144 depending amount and type of data. Quiet zone A quiet zone is the area around Data matrix code that does not contain any information. Quiet zone is separating DMC from its surroundings and should be at least one module wide. Data area is bordered by finder pattern and timing pattern. With selected position of dark and white cells, the desired information is encoded together with data correction code. Reed Solomon Code Screenshot no. 5: Encoding Process Using Reed Solomon Code 79
  10. 10. International Journal of Advanced Research in Engineering and Technology (IJARET), ISSN 0976 – 6480(Print), ISSN 0976 – 6499(Online) Volume 4, Issue 7, November – December (2013), © IAEME The Reed-Solomon codes are used as error correction system. They have a capacity of detection and correction of errors defined in advance, depending on the size of the data matrix. A body C is a set of elements provided with two closed and called binary operations addition and multiplication. Being closed means that the result of each operation on two elements of the assembly will always be an element of the assembly. There are many bodies, finite and infinite. It turns out that for any integer prime p and any integer n (>=1), there exists a unique finite np elements, noted GF(np). These bodies are called Galois fields. We can represent the elements of GF(np) using the basic elements of a : 0, 1, a, a2, a3, ..., a(n-1). Let's take an example: a3 + a + 1 Elements can also be represented in different forms: binary, decimal, or even in the form of a polynomial. binary: 1011 (0 indicates no a2) decimal: 11 (8+2+1) polynomial: a3 x3 + a x + 1 For each Galois field, there is at least one primitive polynomial, denoted by p (x), which allows to build the body. Data Matrix storing data of 8 bits (in code words), and therefore work in the Galois field GF(28). They use the primitive polynomial x8+x5+x3+x2+1, which corresponds to the value 301. The addition and subtraction of two elements is the XOR (exclusive OR) between these two elements. Multiplication and division are calculated by multiplying the corresponding polynomials. This operation is relatively expensive in computation time, an algorithm is used. Since all components are a power of primitive polynomial p, must be sought for each element c, i power as: i = logp (c) c = antilogp (i) From there, we can calculate for two elements c and d: c * d = antilogp (logp(c) + logp(d)) c / d = antilogp (logp(c) - logp(d)) We can get the e antilogs table with this algorithm: For Data Matrix symbols containing a total of less than 255 codewords (all symbols rectangular and square sizes less than 48x48), the codewords correction are calculated directly from the data codewords. For other symbols, the codewords correction are calculated in accordance with a procedure of interleaving: dividing the codewords into several data blocks of same size and correction codewords are computed block by block. 80
  11. 11. International Journal of Advanced Research in Engineering and Technology (IJARET), ISSN 0976 – 6480(Print), ISSN 0976 – 6499(Online) Volume 4, Issue 7, November – December (2013), © IAEME Each codeword c is part of the group: o c modulo n Figure 4: Encoding Process using Reed Solomon Code Time Efficiency of Reed Solomon Quadratic Equation Column (x,y) (128, 256) (512, 1024) (16384, 32768) Quadratic 4.61/9.18 1.16/2.32 0.034/0.069 81
  12. 12. International Journal of Advanced Research in Engineering and Technology (IJARET), ISSN 0976 – 6480(Print), ISSN 0976 – 6499(Online) Volume 4, Issue 7, November – December (2013), © IAEME Figure 5. Bar Graph of Outlier Measure of Error Correction Using Reed Solomon Code Performance Boost: Limit the number of codes to detect By default, conventional process assumes that there are n datamatrix codes hidden in the image and thus scans the image thoroughly not to miss one of them. While conventional algorithm usually detects the actual datamatrix codes first and quite fast, there might always be “suspicious” areas in an image that loosely resemble a datamatrix code. Checking these potential matches is what slows conventional algorithm down. Performance gain: groundbreaking. Detection time droppend from endless 3.8 msecs to 2.0 msecs Restrict the detection time Conventional process has a control parameter for this problem too: by simply setting timeout to a certain number of milliseconds, we restrict the total detection time per image: Performance gain: invisible… effectively prevents the “endless loop”-like scenarios from above. The Datamatrix code specification states a “quiet” zone (actually a white pixel border) around each datamatrix code. Datamatrix codes generated with pydmtx perfectly adhere to this spec, so I was quite surprised about the low code detection rate in my scans. After some research I found the guilty: as I placed my datamatrix code on the very bottom of the scanning glass. my scanner driver ruined this quiet zone by cropping away the seemingly needless pixels on the bottom of the page. As a consequence, the detection rate dropped drastically. Result Statement: These simple tweaks further reduced the total processing time from 1.9 secs to 0.41 secs, that’s a performance gain of over 75%. 82
  13. 13. International Journal of Advanced Research in Engineering and Technology (IJARET), ISSN 0976 – 6480(Print), ISSN 0976 – 6499(Online) Volume 4, Issue 7, November – December (2013), © IAEME V. TESTING For testing we first create many data matrix files with different data and then we run our project for all these data matrix files repeatedly & we get the proper result. Column (x,y) (512, 1024) Quadratic • (128, 256) 4.61/9.18 1.16/2.32 (16384, 32768) 0.034/0.069 2nd screenshot show graphical depiction of reduced time. Screenshot no 6: Showing Graphical Representation of Reduced Time • Screenshot show that our algorithm reduced the time drastically and enhanced error detection and correction with respect to time and space. CONCLUSION A new method is proposed here which is a hybrid model for data encoding and error correcting in data matrix and provides decoding algorithm. It runs at 640×480 resolution for real time scenarios. This proposed system provides an accuracy of 97.6%. Our experiments show that the proposed system produces accurate results with improved speed. Using this data matrix image through scanner or mobile phone camera we can decompile the product information. The product information can be accessed anywhere if the database stored and accessed through a web server. This ensures portability and security since the unique number will only be known to the organization. Organization will be using a unique image to access their product information or person or object 83
  14. 14. International Journal of Advanced Research in Engineering and Technology (IJARET), ISSN 0976 – 6480(Print), ISSN 0976 – 6499(Online) Volume 4, Issue 7, November – December (2013), © IAEME REFERENCES [1] International Organization for Standardization: Information Technology International Symbology Speciation – Data Matrix [S]. ISO/IEC16022 (P), 2000. [2] Pavlidis T, Swartz J. Fundamentals of barcode information theory[J]. IEEE Computer, 990, 23(4): 74- 86. [3] Thota Sriram, K.V.Rao, S Biswas, Basheer Ahmed, “Application of barcode technology in automated storage and retrieval systems”, BHEL. [4] Bing Nan, Ming-Chui-Dong Y Mang, “From Codabar to ISBT 128: Implementing Barcode Technology in Blood Banking Automation System”, Proceedings of the 2005 IEEE Engineer in Medicine and Biology 27th Annual conference, Shanghai, China, 2005. [5] Kimmy Ghanaiya1 and Gagandeep Kaur2, A new approach Data hiding in 2D data matrix and tilt correction algorithm, International Journal of Computational Engineering Research / ISSN: 2250–3005. [6] Praveen.T, Muthaiah.RM and Krishnamoorthy.N, “Transmitting Bulk Amount of Data in the Form of QR Code with Cbfsc and Chunking Techniques- Fighting Against Cryptanalytic Attacks”, International Journal of Computer Engineering & Technology (IJCET), Volume 4, Issue 4, 2013, pp. 341 - 349, ISSN Print: 0976 – 6367, ISSN Online: 0976 – 6375. [7] Lokesh S. Khedekar and Dr.A.S.Alvi, “Creation of Automatic Identification and Data Capture Infrastructure Via Datamatrix”, International Journal of Advanced Research in Engineering & Technology (IJARET), Volume 4, Issue 1, 2013, pp. 1 - 8, ISSN Print: 0976-6480, ISSN Online: 0976-6499. [8] Santosh Abaji Kharat and Dr.B.M.Pange, “QR (Quick Response) Codes and Academic Libraries: Reaching to Mobile Users a Best Practices”, International Journal of Library and Information Science (IJLIS), Volume 2, Issue 1, 2011, pp. 1 - 18, ISSN Print: 2277 – 3533, ISSN Online: 2277 – 3584. [9] Lokesh S. Khedekar and Dr.A.S.Alvi, “Advanced Smart Credential Cum Unique Identification and Recognition System (ASCUIRS)”, International Journal of Computer Engineering & Technology (IJCET), Volume 4, Issue 1, 2013, pp. 97 - 104, ISSN Print: 0976 – 6367, ISSN Online: 0976 – 6375. 84

×