OPTIMIZATION OF BANK TRANSACTION SECURITY SYSTEMS
THROUGH HILL CIPHER ENCRYPTION
A Computer Application of Linear Algebra in Cryptography
In Partial Fulfillment for the Requirements in
MATH149 – Linear Algebra with Computer Application (B8)
Submitted by:
JEPSON JOHN J. CHANG
RANDY E. MOLEJONA
DIEGO T. RAMOS
KELLY LOIS P. SUN
Submitted to:
PROF. CHRISTINA VALERIO
January 24, 2019
Mapúa University – Manila
658 Muralla St, Intramuros, Manila, 1002 Metro Manila
INTRODUCTION
Personal and classified information such as Personal Identification Numbers
(PIN), bank account numbers and passwords are classified information that people use
in order to enable daily transactions and satisfy their financial needs (Worthington,
2010). However, some individuals may find it difficult to remember such details, and
may find it necessary to physically take notes of these data down such as on a piece of
paper kept in their wallets, or typed down in their cellphones, and other places that can
be conveniently accessed (Smith, 2016).
According to Thiruchelvi (2014), while writing these down may be the easiest way
of remembering information, this also makes it easily accessible for other people, more
so when kept in predictable places. This makes these information vulnerable as they
can be easily exposed to people who may misuse such sensitive data. On the other
hand, one might forget these data, and taking only mental notes may increase the
likelihood of losing access to one’s accounts and properties being unable to recall their
own personal information.
In the financial system and the economy, commercial banks play an important
role as key components in the financial system whereas banks allocate funds from
savers to borrowers in an efficient manner. They provide specialized financial services,
which reduce the cost of obtaining information about both savings and borrowing
opportunities. These financial services help to make the overall economy more efficient
(Basel Committee on Banking Supervision, 1999).
General Obejctive
In order to optimize the security on bank information, this paper aims to provide a
method in encoding personal information such as bank accounts, pins, and passwords
without exposing the actual data through the computer application of linear algebra.
Specific Objectives
Specifically, this paper aims:
1. To utilize the Hill Cypher Method with substitution ciphers and linear algebraic
operations on n x n matrices in order to encrypt and decrypt messages.
2. To utilize a multi-paradigm numerical computing environment and proprietary
programming language MATLAB® in performing operations on matrices.
METHODOLOGY
The Hill Cipher Method was invented by Lester C. Hill in 1929. It uses
substitution ciphers and linear algebraic operations on 𝑛 × 𝑛 matrices in order to
encrypt and decrypt messages (Bolt, 2012).
In classical cryptography, the Hill cipher is a polygraphic substitution cipher
based on linear algebra. it was the first polygraphic cipher in which it was practical
(though barely) to operate on more than three symbols at once.
In the following example, the Hill Cipher Method will be used in order to secure a
bank account number of a transactor.
Bank Account Number: 5470 8845 7860 8218
Take for example a bank account number 5470 8845 7860 8218. This can be placed
in a matrix format. Label it as the message matrix M.
Encoding in MATLAB:
So now exists the message matrix M:
5 4 7 0
8 8 4 5
𝑀=[ ]
7 8 6 0
8 2 1 8
Now, a cipher matrix C that is the same size as your M matrix is needed. One can
come up with the cipher matrix by using random integers. It is necessary to take note of
this matrix as this will be a personal cipher for decrypting one’s own encryptions.
After this, the resulting matrix must be encoded in the MATLAB where operations
will be used in order to create the Cipher Matrix, which is also needed for the encryption
later on.
Encoding in MATLAB:
So now exists the cipher matrix C:
2 −9 −9 8
1 3 4 −1
𝐶=[ ]
7 6 8 1
−3 5 2 4
To create a ciphertext matrix T, which is what one should note down as their “keycode”
for their actual bank account number, multiply the cipher matrix C with the message
matrix M.
Encoding in MATLAB:
Step by Step Process:
𝐶𝑀 = 𝑇
2 −9 −9 8 5 4 7 0 −61 −120 −68 19
1 3 4 −1 8 8 4 5 49 58 42 7
[ ][ ]=[ ]
7 6 8 1 7 8 6 0 147 142 122 38
−3 5 2 4 8 2 1 8 71 52 15 57
The resulting matrix is now the ciphertext matrix T:
−61 −120 −68 19
49 58 42 7
𝑇=[ ]
147 142 122 38
71 52 15 57
This will be the encrypted message one will want to keep around as their note. To
decode this back to the message matrix M, simply multiply the inverse of the cipher
matrix C with the ciphertext matrix T.
Encoding in MATLAB:
Step by Step Process:
𝐶 −1 𝑇 = 𝑀
−42 −323 121 −27 −61 −120 −68 19 5 4 7 0
1 −132 −643 157 64 49 58 42 7 8 8 4 5
( )( )( )=[ ]
521 127 741 −155 −30 147 142 122 38 7 8 6 0
70 191 −28 45 71 52 15 57 8 2 1 8
The resulting matrix is the original message matrix M:
5 4 7 0
8 8 4 5
𝑀=[ ], with bank account number 5470 8845 7860 8218.
7 8 6 0
8 2 1 8
So next time, instead of writing down one’s actual bank account number or any
other piece of sensitive information, it is suggested that they create a ciphertext for it
and decode it by using a personally-made cipher.
For an extra layer of protection, a suggestion is to encrypt the original bank
account number with corresponding numbers of the number of the first letter when
the number is spelled (e.g. 5 is Five, and F is the sixth letter of the alphabet, hence
5 = 6). This process creates substitution ciphers, which are ciphers created by
substituting a non-numerical character into an integer. And so, the original matrix:
5 4 7 0 6 6 19 26
8 8 4 5 5 5 6 6
𝑀=[ ] can be encrypted into 𝑀 = [ ].
7 8 6 0 19 5 19 26
8 2 1 8 5 20 15 5
Encoding in MATLAB:
Repeating the same steps of multiplying the message matrix M with the same
cipher matrix C will result into the ciphertext matrix T.
Encoding in MATLAB:
Step by Step Process:
𝐶𝑀 = 𝑇
2 −9 −9 8 6 6 19 26 −164 82 −67 −196
1 3 4 −1 5 5 6 6 92 21 98 143
( )( )=[ ]
7 6 8 1 19 5 19 26 229 132 336 431
−3 5 2 4 5 20 15 5 65 97 71 24
−164 82 −67 −196
92 21 98 143
𝑇=[ ]
229 132 336 431
65 97 71 24
To decode, simply follow the formula 𝐶 −1 𝑇 and the resulting matrix will be the
original message matrix M.
Encoding in MATLAB:
Step by Step Process:
𝐶 −1 𝑇 = 𝑀
−42 −323 121 −27 −164 82 −67 −196
1 −132 −643 157 64 92 21 98 143
( )( )( )
521 127 741 −155 −30 229 132 336 431
70 191 −28 45 65 97 71 24
6 6 19 26
5 5 6 6
=[ ]=𝑀
19 5 19 26
5 20 15 5
Remember to decrypt the message matrix M back since this is the substitution
cipher for the original bank account number. Recall that corresponding numbers of
the number of the first letter when the number is spelled was used. So reversing this
process, 6 on matrix M would mean the sixth letter of the alphabet, which is F.
There are only two single-digit numbers that are spelled with the first letter as F,
namely Four and Five. It can be deduced from both options if which would be the
correct input. Eventually, one will be able to decrypt and recall back the original bank
number. Resulting Matrix:
6 6 19 26 5 4 7 0
5 5 6 6 8 8 4 5
𝑀=[ ] will be decrypted back to 𝑀 = [ ].
19 5 19 26 7 8 6 0
5 20 15 5 8 2 1 8
So now, the original bank account number 5470 8845 7860 8218 is back.
CONCLUSION
The exposure of actual sensitive information can allow vulnerability to people in
terms of phishing, hacking, and identity theft. Therefore, it is a viable option to
consider using the Hill Cipher Methods to secure these data when noting down them
down, and make sure that personal information will remain confidential and more
difficult to be accessed by illegal transactors. Through this method, there would be
an occurrence of an effective filter of the information so that while the code may be
seen in plain sight, it would not be easily understood since there is a layer of
protection.
The issue regarding privacy of information will remain controversial the moment
people will not consider securing the information. They must be able to foresee the
potential threats to their information to avoid the consequences that they may face
once their privacy will be deprived through information theft.
REFERENCES
Basel Committee on Banking Supervision (30 November 1999). "Principles for the
Management of Credit Risk" (PDF). Bank for International Settlements. p. 1.
Retrieved 28 January 2016. Credit risk is most simply defined as the potential that a
bank borrower or counterparty will fail to meet its obligations in accordance with
agreed terms.
Bolt, Wilko; Haan, Leo de; Hoeberichts, Marco; Oordt, Maarten van; Swank, Job
(September 2012). "Bank Profitability during Recessions". Journal of Banking &
Finance. 36 (9): 2552–64. doi:10.1016/j.jbankfin.2012.05.011.
Smith, K. (2016). Cryptography and linear algebra. Wordpress. Retrieved from
https://applicationanthologys16.wordpress.com/2016/02/12/cryptography-
and-linear-algebra/ on January 22, 2019.
Thiruchelvi, M. (2014, February 12). Application of linear algebra in cryptography.
International Conference on Information and Image Processing. Retrieved
from http://conference.bonfring.org/papers/sankara_iciip2014/iciip88.pdf on
January 22, 2019.
Worthington, B. (2010, October 26). An introduction to Hill ciphers using linear
algebra. University of North Texas. Retrieved from http://www.math.unt.ed
u/~tushar/S10Linear2700%20%20Project_files/Worthington%20Paper.pdf on
January 22, 2019.