Printer Friendly

A Student Information Management System Based on Fingerprint Identification and Data Security Transmission.

1. Introduction

At present, there are a large number of college students, so the identification and verification of student identity information occur at all times in the campus, as well as the corresponding services given by the students' identification. Therefore, safe and efficient student information management, convenient identification to obtain the required service, and safe and reliable information transmission have become an important task for the student information management [1-3]. Three main features of the proposed system are the following:

(1) This system uses the fingerprint identification terminal to collect the fingerprint information. By means of replacing the campus card with the physiological characteristics of lifelong invariance, uniqueness, and convenience, it has become the basis of student identity authentication. The maturity of the fingerprint identification technology ensures the safety and speed of the process and also eliminates the disadvantages of the campus card which is easy to be stolen and forged and easily lost.

(2) In order to ensure the safety of the students' information, the fingerprint characteristic value is encrypted and transmitted, using the improved AES encryption algorithm [4], which has the same security guarantee with traditional AES algorithm but reduces the required time for encryption. Therefore, this student management system not only is convenient for students in the college, but also protects the privacy of students.

(3) After the system has been built, because it is easy to maintain and popularize, the modular system design is easier to improve, and it can be widely used in other fields.

2. Description of the Student Information Management System

The system is mainly composed of two parts: terminal and host computer. The terminal is composed of fingerprint identification module and micro controller. The host computer can use personal computers or large servers according to the number of users, and the management of student information database uses SQL Server. The terminal fingerprint sensor uses optical fingerprint recognition module, while the microcontroller uses STM32F4, with 192 KB of SRAM [5]. Each terminal processes and encrypts the collected fingerprint data and then transmits it to the host computer. To ensure the safety of data, the fingerprint data is only stored in the host computer database, and the terminals are only responsible for collection and processing. The system structure is shown in Figure 1.

3. Implementation of the Student Information Management System

The system collects fingerprints through the terminal fingerprint identification sensor. And the microprocessor processes and encrypts the fingerprint information and then transmits it to the server. On the server side, it compares the fingerprint information transmitted from terminal with the fingerprint information stored in the server database. If the identity is consistent, the user is allowed to operate by verification. The overall process is shown in Figure 2.

4. Data Transmission Encryption Method

In order to achieve the campus student consumption, identity registration, and other functions, the student information identification management system based on fingerprint identification and data security transmission needs to transmit student fingerprint information, identity information, and bank card information among the terminal. There is a risk of being intercepted during data transmission. Students' private information has a high commercial value; once intercepted by criminals, the consequences could be disastrous. When using plaintext transmission, security is very low; therefore, the entire data transmission using ciphertext transmission, to achieve a plaintext view and ciphertext transmission effect, greatly improve the security, so that criminals cannot take the opportunity. In order to ensure the security of encrypted transmission and user-friendliness, the encryption process uses the optimized AES algorithm.

AES algorithm is a variable data block length and variable key length iterative block cipher algorithm, and the length of the data block and the key length can be 128, 192, or 256 bits [6]. The most important operation in the AES algorithm is the round transformation operation, where the various operations applied to the process give a high encryption strength. The round transformation operation consists of four steps: ByteSub, ShiftRow, MixColumn, and AddRoundKey, and these steps will be mathematically transformed to eventually construct a new S-box [7, 8].

4.1. Matrix Representation of AES Algorithm Round Transformation. AES algorithm mainly consists of three modules: encryption module, decryption module, and key expansion module. Each round transformation of the encryption module consists of ByteSub, ShiftRow, MixColumn, and AddRoundKey four operations [9]. The decryption module is also composed of four similar operations; the difference is that ByteSub, ShiftRow, and MixColumn are the inverse operation of the encryption module. And the extension key used in AddRoundKey is generated by the key expansion module. The encryption module and the decryption module are the core of the AES algorithm, which are the repetition process of the round transformation, so the simplified round function can improve the operation speed of the AES algorithm [10,11].

For convenience of description, 128-bit (16 bytes) data is used here and the key is 128 bits.

In the ByteSub transformation, it is assumed that the input is A, A = [[a.sub.i,j]], (0 [less than or equal to] i, j [less than or equal to] 3); output is B, B = [[b.sub.i,j]], (0 [less than or equal to] i, j [less than or equal to] 3). ByteSub transformation can be expressed as

B = (A). (1)

And it can also written as

[b.sub.i,j] = B([a.sub.i,j]). (2)

In practice, this transformation can be converted to lookup table operation. The table is the AES algorithm byte conversion table, also known as S box.

In the ShiftRow transformation, the schematic diagram is shown in Figure 3. It is assumed that the output is C, C = [[c.sub.i,j]], (0 [less than or equal to] i, j [less than or equal to] 3).

Then C can be expressed as a matrix:

[mathematical expression not reproducible] (3)

In the MixColumn transformation, each column of the state array obtained in ShiftRow is treated as a polynomial on GF([2.sup.8]) and modulo [x.sup.4] + 1 multiplication with a fixed polynomial 03[x.sup.3] + 01[x.sup.2] + 01x + 02.

It is assumed that the output is D, D = [[d.sub.i,j]], (0 [less than or equal to] i, j [less than or equal to] 3); then MixColumn can also be written as matrix multiplication [12-14]:

[mathematical expression not reproducible] (4)

In the AddRoundKey transformation, the expansion round key generated by the key expansion module begins to function. Set the round key to K = [[k.sub.i,j]], (0 [less than or equal to] i, j [less than or equal to] 3). Set the output to E = [[e.sub.i,j]], (0 [less than or equal to] i, j [less than or equal to] 3). Then AddRoundKey can be expressed as a matrix:

[mathematical expression not reproducible] (5)

[mathematical expression not reproducible] (6)

Above we have come to a matrix representation between input A and output E of each round transformation of AES algorithm [15-17].

4.2. Optimized AES Algorithm. In (6), to calculate [mathematical expression not reproducible] requires one xtime [4] operation and one exclusive-OR operation. Thus, getting each column vector of a round transformation result E requires four xtime operations and eight exclusive-OR operations (regardless of round key generation). According to the observation we can see in the column vector multiplied by S[[a.sub.0,(j+0)%4]], S[[a.sub.1,(j+12)%4]], S[[a.sub.2,(j+2)%4], and S[[a.sub.3,(j+3)%4]], only the three elements: 01, 02, and 03. So we can create a new S box to get directly each element in the [mathematical expression not reproducible], [mathematical expression not reproducible], [mathematical expression not reproducible], and [mathematical expression not reproducible] four column vectors by look-up table method, so that we can save four xtime operations and four exclusive-OR operations and get each column vector of a round transformation result E which requires only four exclusive-OR operations (regardless of round key generation). Let data in the original S box operate, respectively, with 01, 02, 03, and we get a new byte conversion table, as shown in Table 1.

In the use of C language to implement, the table will be set to a two-dimensional array [][256][3], so that we can get each element of [mathematical expression not reproducible], [mathematical expression not reproducible], [mathematical expression not reproducible], and [mathematical expression not reproducible] four column vectors by look-up table method. For example, in [mathematical expression not reproducible], the lower four bits and higher four bits of [a.sub.0,(j+0)%4] correspond separately to the abscissas and ordinates of the table, so that we get the row coordinates of the two-dimensional array, which is equivalent to determining which grid is in Table 1. The 2, 1, 1, 3 of the column vector correspond separately to the 1, 0, 0, 2 in two-dimensional array column coordinates, which is equivalent to determining which element of the grid is in Table 1. The optimized AES encryption algorithm flow chart is shown in Figure 4.

Likewise, a similar new byte conversion table can be created at the time of decryption to achieve decryption optimization.

4.3. Experimental Results and Analysis. In order to test the encryption speed between classical AES algorithm and optimized AES algorithm in this paper, we use C ++ language to implement the two algorithm encryption processes, respectively, the encryption process in Windows 7 operating system, Core i5-3230M 2.60 GHz CPU, and 8 G memory environment. In each experiment we take 100,000 times the encryption time, and we get a total of 10 sets of data in five experiments. The data obtained in the experiments are shown in Table 2.

Through the test results in Table 2 we can see that the encryption speed of optimized AES algorithm has a great improvement compared to the classic AES algorithm. In terms of memory footprint, this optimized AES encryption algorithm requires 256 x 3 x 2 = 1536 B = 1.5 KB to store two new byte conversion tables (encryption and decryption). The traditional AES algorithm requires 256 x 2 = 512 B = 0.5 KB to store two bytes conversion tables, so the optimized AES algorithm does not significantly increase the memory resource occupancy.

5. Conclusion

The system implements the verification of the student identity through the fingerprint, which can make the campus life more convenient. The fingerprint data is only stored in the host computer database after encryption transmission, which makes the convenience greatly improved on the basis of ensuring security. Each terminal connected with the host computer constitutes an integral system to achieve the information sharing among each terminal, and the host computer stores the terminal data and manages the students' information efficiently with less time. The encryption method based on the improved AES optimizes the implementation method of algorithm in the process of simplifying the operation step, and the mathematical structure of the original algorithm is not changed, so that the encryption speed increases rapidly under the condition that the security is not reduced, while the memory occupation does not increase significantly, so it is easy to be achieved in the embedded system. Taking an example of AES with 128-bit plaintext length and key length, this paper proposes an optimization scheme based on actual requirement. The scheme can also be extended to the AES with other data lengths, which is suitable for various situations of data encryption, so it has a wide range of applications and strong practicability.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.


Special thanks are due to National University Student Innovation Program and Nankai University for the assistance provided to this project.


[1] Z. Kai, "Design and implementation of college students' entrepreneurship management system based on B/S structure," RISTI --Revista Iberica de Sistemas e Tecnologias de Informacao, vol. 2016, no. 17, pp. 102-113, 2016.

[2] S. R. Bharamagoudar, R. B. Geeta, and S. G. Totad, "Web based student information management system," International Journal of Advanced Research in Computer and Communication Engineering, vol. 2, no. 6, 2013.

[3] R. Ahmad and W. Ismail, "Performance comparison of advanced encryption standard-128 algorithms for wimax application with improved power-throughput," Journal of Engineering Science and Technology, vol. 11, no. 12, pp. 1678-1694, 2016.

[4] J. Daor, J. Daemen, and V. Rijmen, "Aes proposal: rijndael. Vazirani, efficient and secure pseudo-random number generation," in Proceedings of the 25th IEEE FOCS, 1999.

[5] STMicroelectronics, STM32 Reference Manual, 10th edition, 2009.

[6] US Department of Commerce and NIST, "Advanced Encryption Standard," in Proceedings of the National Computer Conference, pp. 83-87, 2006.

[7] R. Ahmad and W. Ismail, "A survey of high performance cryptography algorithms for WiMAX applications using SDR," Self-Organization and Green Applications in Cognitive Radio Networks, pp. 231-246, 2013.

[8] C. Monteiro, Y. Takahashi, and T. Sekine, "Low-power secure S-box circuit using charge-sharing symmetric adiabatic logic for advanced encryption standard hardware design," IET Circuits, Devices and Systems, vol. 9, no. 5, pp. 362-369, 2015.

[9] A. M. Youssef and S. E. Tavares, "Affine equivalence in the AES round function," Discrete Applied Mathematics, vol. 148, no. 2, pp. 161-170, 2005.

[10] G. Bertoni, L. Breveglieri, I. Koren, P. Maistri, and V. Piuri, "Error analysis and detection procedures for a hardware implementation of the advanced encryption standard," IEEE Transactions on Computers, vol. 52, no. 4, pp. 492-505, 2003.

[11] J. Blomer and J. P. Seifert, "Fault Based Cryptanalysis of the Advanced Encryption Standard (AES)," in Proceedings of the Financial Cryptography, International Conference, FC 2003, vol. 2742, pp. 162-181, DBLP, Guadeloupe, French West Indies, France, 2003.

[12] J. Daemen and V Rijmen, The Design of Rijndael: AES-The Advanced Encryption Standard, Springer, Berlin, Germany, 2002.

[13] B. Schneier, Applied Cryptography: Protocols, Algorithms and Source Code in C, Wiley Publishing, Indianapolis, IN, USA, 2015.

[14] W. Stallings, Cryptography and Network Security: Principles and Practice, 1999.

[15] M. McLoone and J. V McCanny, "Rijndael FPGA implementation utilizing look-up tables," in Proceedings of the IEEE Workshop on Signal Processing Systems-Design and Implementation(SIPS) 2001, pp. 349-360, October 2001.

[16] J. Gong, W. Liu, and H. Zhang, "Multiple lookup table-based aes encryption algorithm implementation," Physics Procedia, vol. 25, pp. 842-847, 2012.

[17] J.-F. Wang, S.-W. Chang, and P.-C. Lin, "A novel round function architecture for AES encryption/decryption utilizing look-up table," in Proceedings of the 37th Annual 2003 International Carnahan Conference on Security Technology, pp. 132-136, October 2003.

Pengtao Yang, Guiling Sun, Jingfei He, Peiyao Zhou, and Jiangjiang Liu

College of Electronic Information and Optical Engineering, Nankai University, Tianjin 300350, China

Correspondence should be addressed to Guiling Sun;

Received 18 February 2017; Revised 17 July 2017; Accepted 17 August 2017; Published 19 September 2017

Academic Editor: Liangmin Wang

Caption: Figure 1: System structure diagram.

Caption: Figure 2: System flow diagram.

Caption: Figure 3: ShiftRow transformation schematic diagram.

Caption: Figure 4: Optimized AES encryption algorithm flow chart.
Table 1: The byte conversion table of optimized AES algorithm.

    0    1    2    3    4    5    6    7    8    9

0   63   7c   77   7b   f2   6b   6f   5c   30   01
    c6   f8   ee   f6   ff   d6   de   91   60   02
    a5   84   99   8d   0d   bd   b1   54   90   03

1   ca   82   c9   7d   fa   59   47   f0   ad   d4
    8f   1f   89   fa   ef   b2   8e   fb   41   b3
    45   9d   40   87   15   eb   c9   0b   ec   67

2   b7   fd   93   26   36   3f   f7   cc   34   a5
    75   e1   3d   4c   6c   7e   f5   83   68   51
    c2   1c   ae   6a   5a   41   02   4f   5c   f4

3   04   c7   23   c3   18   96   05   9a   07   12
    08   95   46   9d   30   37   0a   2f   0e   24
    0c   52   65   5e   28   a1   0f   b5   09   36

4   09   83   2c   1a   1b   6e   5a   a0   52   3b
    12   1d   58   34   36   dc   b4   5b   a4   76
    1b   9e   74   2e   2d   b2   ee   fb   f6   d4

5   53   d1   00   ed   20   fc   b1   5b   6a   cb
    a6   b9   02   c1   40   e3   79   b6   d4   8d
    f5   68   02   2c   60   1f   c8   ed   be   46

6   d0   ef   aa   fb   43   4d   33   85   45   f9
    bb   c5   4f   ed   86   9a   66   11   8a   e9
    6b   2a   e5   16   c5   d7   55   94   cf   10

7   51   a3   40   8f   92   9d   38   f5   bc   b6
    a2   5d   80   05   3f   21   70   f1   63   77
    f3   fe   c0   8a   ad   bc   48   04   df   c1

8   cd   0c   13   ec   5f   97   44   17   c4   a7
    81   18   26   c3   be   35   88   2e   93   55
    4c   14   35   2f   e1   a2   cc   39   57   f2

9   60   81   4f   dc   22   2a   90   88   46   ee
    c0   19   9e   a3   44   54   3b   0b   8c   c7
    a0   98   d1   7f   66   7e   ab   83   ca   29

a   e0   32   3a   0a   49   06   24   5c   c2   d3
    db   64   74   14   92   0c   48   b8   9f   bd
    3b   56   4e   1e   db   0a   6c   e4   5d   6e

b   e7   c8   37   6d   8d   d5   4e   a9   6c   56
    d5   8b   6e   da   01   b1   9c   49   d8   ac
    32   43   59   b7   8c   64   d2   e0   b4   fa

c   ba   78   25   2e   1c   a6   b4   c6   e8   dd
    6f   f0   4a   5c   38   57   73   97   cb   a1
    d5   88   6f   72   24   f1   c7   51   23   7c

d   70   3e   b5   66   48   03   f6   0e   61   35
    e0   7c   71   cc   90   06   f7   1c   c2   6a
    90   42   c4   aa   d8   05   01   12   a3   5f

e   e1   f8   98   11   69   d9   8e   94   9b   1e
    d9   eb   2b   22   d2   a9   07   33   2d   3c
    38   13   b3   33   bb   70   89   a7   b6   22

f   8c   a1   89   0d   bf   e6   42   68   41   99
    03   59   09   1a   65   d7   84   d0   42   29
    8f   f8   80   17   da   31   c6   b8   c3   b0

    a    b    c    d    e    f

0   67   2b   fe   d7   ab   76
    ce   56   e7   b5   4d   ec
    a9   7d   19   62   e6   9a

1   a2   af   9c   a4   72   c0
    5f   45   23   53   e4   9b
    fd   ea   bf   f7   96   5b

2   e5   f1   71   d8   31   15
    d1   f9   e2   ab   62   2a
    34   08   93   73   53   3f

3   80   e2   eb   27   b2   75
    1b   df   cd   4e   7f   ea
    9b   3d   26   69   cd   9f

4   d6   b3   29   e3   2f   84
    b7   7d   52   dd   5e   13
    61   ce   7b   3e   71   97

5   be   39   4a   4c   58   cf
    67   72   94   98   b0   85
    d9   4b   de   d4   e8   4a

6   02   7f   50   3c   9f   a8
    04   fe   a0   78   25   4b
    06   81   f0   44   ba   e3

7   da   21   10   ff   f3   d2
    af   24   20   e5   fd   bf
    75   63   30   1a   0e   6d

8   7e   3d   64   5d   19   73
    fc   7a   c8   ba   32   e6
    82   47   ac   e7   2b   95

9   b8   14   de   5e   0b   db
    6b   28   a7   bc   16   ad
    d3   3c   79   e2   1d   76

a   ac   62   91   95   e4   79
    43   c4   39   31   d3   f2
    ef   a6   a8   a4   37   8b

b   f4   ea   65   7a   ae   08
    f3   cf   ca   f4   47   10
    07   25   af   8e   e9   18

c   74   1f   4b   bd   8b   8a
    e8   3e   96   61   0d   0f
    9c   21   dd   dc   86   85

d   57   b9   86   c1   1d   9e
    ae   69   17   99   3a   27
    f9   d0   91   58   27   b9

e   87   e9   ce   55   28   df
    15   c9   87   aa   50   a5
    92   20   49   ff   78   7a

f   2d   0f   b0   54   bb   16
    5a   1e   7b   a8   6d   2c
    77   11   cb   fc   d6   3a

Table 2: Experimental test results.

                               Experiment number

The algorithm used     1       2       3       4       5

Traditional AES      8.472   8.443   8.382   8.427   8.430
Optimized AES        1.550   1.471   1.471   1.469   1.533

                         The average
                       time of 100,000
The algorithm used   times encryption (s)

Traditional AES              8.43
Optimized AES                1.50
COPYRIGHT 2017 Hindawi Limited
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 2017 Gale, Cengage Learning. All rights reserved.

Article Details
Printer friendly Cite/link Email Feedback
Title Annotation:Research Article
Author:Yang, Pengtao; Sun, Guiling; He, Jingfei; Zhou, Peiyao; Liu, Jiangjiang
Publication:Journal of Electrical and Computer Engineering
Date:Jan 1, 2017
Previous Article:Dynamically Predicting the Quality of Service: Batch, Online, and Hybrid Algorithms.
Next Article:Autofocus on Depth of Interest for 3D Image Coding.

Terms of use | Privacy policy | Copyright © 2021 Farlex, Inc. | Feedback | For webmasters