International Journal of Application or Innovation in Engineering & Management (IJAIEM) Web Site: www.ijaiem.org Email: editor@ijaiem.org, editorijaiem@gmail.com ISSN 2319 - 4847 Special Issue for National Conference On Recent Advances in Technology and Management for Integrated Growth 2013 (RATMIG 2013) Implementation of Online Signature Verification by Slope Calculation Method 1 A.P.Malode, 2Dr.P.T.Karule 1 Lecturer, Shri Datta Meghe Polytechnic,Nagpur Maharashtra ,India, apmalode@gmail.com 2 Professor, Yashwantrao chavan college of engineering, Wanadongri, Nagpur ,Maharashtra ,India, ptkarule@rediffmail.com ABSTRACT In this paper we have discussed on the implementation of the online signature verifier using the advanced RISC processor. The circuit is wired around the Atmel’s AVR microcontroller .We also developed the algorithm based on slop calculation method. In that the signatures are generated & stored in the permanent memory in the form of look up table. During runtime, the signatures are again generated in real time and are compared to the stored, expected signatures. If disagreement occurs, the occurrence of an error is detected & reported.. Keywords: Signature, RISC,AVR, slop calculation, Online array 1. INTRODUCTION Signature is socially accepted authentication method & is widely used as proof of identity in our daily life. Depending on the format of input information, automatic signature verification can be classified into two categories a) Online signature verification b) Offline signature verification 2. FEATURES In this algorithm, we take advantage of the online registration data to recover writing trajectory of an offline input signature & make verification decision based on the 3. BLOCK DIAGRAM OF THE SYSTEM Touch screen A/D converter Processor Display Database in memory Figure1: Block diagram of online signature verifier Organized By: GNI Nagpur, India International Journal of Application or Innovation in Engineering & Management (IJAIEM) Web Site: www.ijaiem.org Email: editor@ijaiem.org, editorijaiem@gmail.com ISSN 2319 - 4847 Special Issue for National Conference On Recent Advances in Technology and Management for Integrated Growth 2013 (RATMIG 2013) In this system touch screen is used as input device. It is used to sense the signatures which are in the form of analog signals. These signals are converted into digital signal by using analog to digital converter. After processing, Microcontroller unit stored the data (digital form of signature) in the memory & the corresponding message i.e. “signature registered” will be displayed on the LCD display. Digital forms of signatures are stored in the form of array. When same signature comes on the touch screen, the same process will be repeated. Microcontroller unit will verify the signature with the database signatures & if the signature matches with corresponding signature of database, the message “signature correct” will be displayed on the display. If the signature not matches with the database, the message “signature incorrect” will be displayed on the display 4. CIRCUIT DIAGRAM OF THE SIGNATURE VERIFIER +Vcc +Vcc 1 3 RS232 4 5 2 11 12 6 9 10 31 PA0 PA1 RXD PA2 TXD PA3 Resistive Touch Screen (Input) Atmega-16 PB LCD D7-D0 RS RW EN 1 2 3 4 SDA SCL 24512 PD4 PD3 11 PD0 PD1 PD2 32 Figure 2: Circuit diagram of signature verifier Above circuit diagram of signature verifier is wired around Atmel‟s AVR Atmega16. Resistive type touch screen is used as an input device. Resistive touch screen are so named because they are basically resistive voltage dividers. The four wires of the touch screen namely x+, x-, y+, y- are connected with the port A pins . LCD 16×2 display is used as output device ,the data lines D7-D0 of LCD are connected with the port B, control signals RS,R/W,EN are connected with the PD0,PD1,PD2 pins of the AVR microcontroller respectively. For storing additional database the additional memory, serial EEPROM (IC 24C512) is connected. The I2C protocol is used to perform the data transfer between the AVR microcontroller & serial EEPROM. The AVR microcontroller communicates with the other processor like PC through serial port using RS232 converter. Program can be burn in the microcontroller via serial port. Organized By: GNI Nagpur, India International Journal of Application or Innovation in Engineering & Management (IJAIEM) Web Site: www.ijaiem.org Email: editor@ijaiem.org, editorijaiem@gmail.com ISSN 2319 - 4847 Special Issue for National Conference On Recent Advances in Technology and Management for Integrated Growth 2013 (RATMIG 2013) 5. FLOWCHART The system will work in two modes namely registration mode & verification mode. In registration mode the algorithm will store the signature in EEPROM in the form of array. The array present in EEPROM is called as the registration array. For the n no. of signatures the n no. of arrays are required. In verification mode algorithm will store the signature in RAM in the form of array. The array present in RAM is called as online array. 5.1 Data Base Management The output of the A/D converter is a binary data of the analog signature. By using algorithm, Slopes of the consecutive coordinates of the signature is calculated, then each slope is converted into the sample .Each sample consists of 8 bit data .for given signature, 100 samples are generated. So the look up table of 100 samples is created in the EEPROM memory for the one given signature .Data base is required for comparing two signature samples. The number of memory locations required for storing the different encoded signatures. 5.2 Flowchart of Signature Registration Start Initialization Taking input from touch screen A/D conversion of signature data Wait for 5 sec Slope calculation Conversion of each slope in samples Storing all samples in array of EEPROM Stop Figure 3: Flowchart of signature registration Organized By: GNI Nagpur, India International Journal of Application or Innovation in Engineering & Management (IJAIEM) Web Site: www.ijaiem.org Email: editor@ijaiem.org, editorijaiem@gmail.com ISSN 2319 - 4847 Special Issue for National Conference On Recent Advances in Technology and Management for Integrated Growth 2013 (RATMIG 2013) 5.3 Flowcharts of Signature Sensing & Verification A Start Adding differences D1+D2+……+Dn = SUM Initialization In ideal case SUM=0 Practically SUM=Deviation Taking input from touch screen A/D conversion of signature data Deciding threshold as per the Deviation Wait for 5 sec Slope calculation Is SUM<Threshold No Conversion of each slope into samples Yes Storing all samples in the form array of EEPROM Message “Sign correct” Message “Sign incorrect”” ” „ Subtracting samples Sample1 of EEPROM-Sample1 of RAM =difference (D) Difference=00h Sample n-Sample n = Dn Stop A Figure 4: Flowchart of signature sensing & verification Organized By: GNI Nagpur, India International Journal of Application or Innovation in Engineering & Management (IJAIEM) Web Site: www.ijaiem.org Email: editor@ijaiem.org, editorijaiem@gmail.com ISSN 2319 - 4847 Special Issue for National Conference On Recent Advances in Technology and Management for Integrated Growth 2013 (RATMIG 2013) 5.4 Data Processing The processing unit will check the signature with the database signature (sample codes) by using algorithm. The algorithm will perform the percentage match with the reference (i.e. given coded samples of signature).Depends on the percentage match or error, system will decide whether it is correct or not & the corresponding message will be display on the output device. 6. ALGORITHM Algorithm of the system based on the slope calculation method (100,100) Y (0,100) (26,26) o o (25,25) X (0,0) (100,0) Figure 5: Signature Model 6.1 Representation of Signature In the very first stage the algorithm will find the coordinates of the origin (starting point i.e. Xo,Yo).With reference to the origin algorithm will find the other coordinates of the signature i.e.(X1,Y1),(X2,Y2), (X3,Y3)…….. . (Xn, Yn). In the second stage the algorithm will calculate the slopes of the consecutive coordinates by using the standard formula Slope = (Y1 – Y0) (X1 – X0) Let‟s assume Origin = (X0, Y0) = (25, 25) & (X1, Y1) = (26, 26) The slope will be Slope = (26-25) / (26-25) =1 Likewise the other slopes are calculated. One sample is generated for one slope. Organized By: GNI Nagpur, India International Journal of Application or Innovation in Engineering & Management (IJAIEM) Web Site: www.ijaiem.org Email: editor@ijaiem.org, editorijaiem@gmail.com ISSN 2319 - 4847 Special Issue for National Conference On Recent Advances in Technology and Management for Integrated Growth 2013 (RATMIG 2013) 6.2 Technique Used For Signature Registration Presuming signature time 5 sec for each signature. For each signature, there are 100 samples generated. The size of each sample is 8 bit. Sample rate calculated by Time required for signature -------------------------------Total no. of samples 5 sec = ---------100 = 50 m sec All the samples of signature are stored in EEPROM in the form of look up table (array). It is called as registration array. In this project 5 arrays are created for 5 different signatures Namely Sign1, Sign2, Sign3, Sign4, and Sign5 Sample1 Sample2 Sample3 Sample1 Sample2 Sample3 Sample1 Sample2 Sample3 Sample1 Sample2 Sample3 Sample1 Sample2 Sample3 - - - - - Sample 100 Sample 100 Sample 100 Sample 100 Sample 100 Sign 1 Array Sign 2 Array Sign 3 Array Sign 4 Array Sign 5 Array Table 1: Arrays present in EEPROM database 6.3 Technique used for signature sensing & verification For online verification of signatures, again 100 samples created for each signature. At this stage the temporary look up table is created for storing all the samples in RAM memory in the form of array, it is called as online array. In this technique, initially sample1 (8 bit) of online array is subtracted from sample 1 of registration array. Then we get difference between two samples. Like that all the samples of online array are subtracted from the corresponding samples of registration array. Ultimately we get all the differences Organized By: GNI Nagpur, India International Journal of Application or Innovation in Engineering & Management (IJAIEM) Web Site: www.ijaiem.org Email: editor@ijaiem.org, editorijaiem@gmail.com ISSN 2319 - 4847 Special Issue for National Conference On Recent Advances in Technology and Management for Integrated Growth 2013 (RATMIG 2013) Sample no. 1 of sign1 array present in EEPROM Sample no. 1 of10010000 array Eg. present in X1 Y1 RAM Eg. 10010000 Eg. 10010000 Sample no. 100 of sign1 array present in EEPROM X100 Eg.00001111 Difference no.1 D1 Eg.00000000 Sample no. 100 of array present in RAM Difference no. 100 Y100 D100 Eg.00001111 Eg.00000000 Figure 6: Subtracting samples from arrays & obtaining differences Finally added all the differences & summation is stored in the variable named “SUM”. If all differences are zero, the content of variable SUM is zero.In ideal case the differences should be zero. The content of variable SUM will be zero. We conclude that the sample matches with their corresponding samples. But practically the differences are non zero. We got some deviation. Hence the content of variable “sum” is non zero value. At this stage the threshold is fixed .if the sum is less than the threshold, we conclude that the current signature matches with the database signature & displayed the message “correct sign”. If the deviation more than threshold, signature not matches with the database signature. Then we displayed the message “incorrect sign” Difference No.1 (D1) (D1) Difference No.2 (D2) (D1) Difference No.100 (D100) (D1) SUM Organized By: GNI Nagpur, India Figure 7: Summations of all differences International Journal of Application or Innovation in Engineering & Management (IJAIEM) Web Site: www.ijaiem.org Email: editor@ijaiem.org, editorijaiem@gmail.com ISSN 2319 - 4847 Special Issue for National Conference On Recent Advances in Technology and Management for Integrated Growth 2013 (RATMIG 2013) Ideally SUM=0, But practically SUM≠0 If SUM≤ Threshold, then result= correct sign If SUM> Threshold, then result= incorrect sign Experimental study The experimental study of the signature verifier has done on the simulator named „Proteus‟. In which 5 switches are connected for registration of the 5 different signatures. Also we have designed & fabricate the prototype of the signature verifier. VCC U1(PA1/ADC1) (A) A B RV1 C RV2 D U1 GND 1k LCD1 13 12 D0 D1 D2 D3 D4 D5 D6 D7 7 8 9 10 11 12 13 14 RS RW E 4 5 6 VSS VDD VEE LM016L 1 2 3 9 40 39 38 37 36 35 34 33 1 2 3 4 5 6 7 8 RESET XTAL1 XTAL2 PA0/ADC0 PA1/ADC1 PA2/ADC2 PA3/ADC3 PA4/ADC4 PA5/ADC5 PA6/ADC6 PA7/ADC7 PB0/XCK/T0 PB1/T1 PB2/INT2/AIN0 PB3/OC0/AIN1 PB4/SS PB5/MOSI PB6/MISO PB7/SCK PC0/SCL PC1/SDA PC2/TCK PC3/TMS PC4/TDO PC5/TDI PC6/TOSC1 PC7/TOSC2 PD0/RXD PD1/TXD PD2/INT0 PD3/INT1 PD4/OC1B PD5/OC1A PD6/ICP PD7/OC2 AVCC AREF 22 23 24 25 26 27 28 29 GND 14 15 16 17 18 19 20 21 30 32 VCC 1k ATMEGA16 Figure 8: Experimental study on Proteus software References [1] [2] [3] [4] [5] Yasser Sedaghat, Seyed Ghassem Miremadi, Mahdi Fazeli Dependable Systems Laboratory (DSL) Sharif University of Technology, Tehran, Iran “Offline Signature Verification Using Online Handwriting Registration”, 2006 IEEE K. Wilken and J.P. Shen, “Continuous signature monitoring: low-cost concurrent detection of processor control errors,” IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, Vol. 9, Issue 6, June 1990, pp. 629-641. Yu Qiao, Jianzhuang Liu ,Department of Information Engineering The Chinese University of Hong Kong “A Software-Based Error Detection Technique Using Encoded Signatures”, ©2007 IEEE H. Madeira and J. G. Silvia, “On-line signature learning and checking”, in Dependable Computing for Critical Applications 2, J. F. Schlichting and R. D. Schlichting, Eds: Springer-Verlag, 1992, pp. 395–420 Henrique Madeira, Jose Camoes, and Joao Gabriel Silva Department of Electrical Engineerin University of Coimbr 3000 Coimbra – Portugal “Signature Verification: A New Concept For Building Simple And Effective Watchdog Processors”, @1991 IEEE AUTHOR Organized By: GNI Nagpur, India International Journal of Application or Innovation in Engineering & Management (IJAIEM) Web Site: www.ijaiem.org Email: editor@ijaiem.org, editorijaiem@gmail.com ISSN 2319 - 4847 Special Issue for National Conference On Recent Advances in Technology and Management for Integrated Growth 2013 (RATMIG 2013) A.P. Malode received the B.E. and M.Tech. Degrees in Electronics Engineering from Rashtrasant Tukdoji Maharaj Nagpur University in 2001 and 2010, respectively. During 2001-2010, he worked as a capacity design engineer for development of home & industrial automation products in intellect control systems, Nagpur. Also he worked as lecturer in Electronics engineering. His area of interest is embedded system, Digital & Analog system design. Now he is working as a lecturer in Electronics & Communication Department, Shri Datta Meghe Polytechnic, Nagpur. Organized By: GNI Nagpur, India