18. Godbehere, A.B., Matsukawa, A., Goldberg, K., Visual tracking of human visitors under variable-lighting conditions for a responsive audio art installation, in: Proc. of American Control Conference (ACC), pp. 4305–4312, 2012.
19. Ren, S., He, K., Girshick, R., Sun, J., Faster r-cnn: Towards real-time object detection with region proposal networks. IEEE Trans. Pattern Anal. Mach. Intell., 39, 6, 1137–1149, 2017.
20. Nascimento, J.C., Abrantes, A.J., Marques, J.S., An algorithm for centroid-based tracking of moving objects, in: Proc. of IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), March 1999, vol. 6, pp. 3305–3308.
21. Google colab. https://colab.research.google.com/.
1 *Corresponding author: [email protected]
2 †Corresponding author: [email protected]
4
Intelligent Computing on Complex Numbers for Cryptographic Applications
Ni Ni Hla1* and Tun Myat Aung2†
1Faculty of Computing, University of Computer Studies, Yangon (UCSY), Shwe Pyi Thar Township, Yangon, Myanmar
2University of Information Technology (UIT), Hlaing Township, Yangon, Myanmar
Abstract
This chapter focuses on matrix algebra and elliptic curve arithmetic computation, going under the combination of modular number crunching and complex number crunching. It explains the intelligent computation of non-linear transformations using residue matrices and elliptic curve arithmetic in the plane made of complex numbers, which may be used in computing science areas dealing with the applications in cryptography to make them more stable. In classical ciphers, elliptic curve cryptography, and quantum cryptography, their computing properties in mathematics on the plane made of complex numbers are used to construct cryptographic non-linear transformation techniques.
Keywords: Complex number, cryptography, descryption, encryption, elliptic curve, matrix algebra, modular arithmetic, signature
4.1 Introduction
Cryptography is the computing science of hiding sensitive information by scientifically transforming it from understandable to un-understandable format in order to ensure secrecy, credibility, and precision during data transfers over public communication networks. Residue matrices and elliptic curve arithmetic based on modular number crunching are often utilized by numerical calculations in encryption and authentication. In recent years, well-known ciphers used non-linear cryptographic transformation methods focused on residue matrices and elliptic curve arithmetic [12].
A plane made of complex numbers is becoming more valuable in computing science areas that deal with the applications in cryptography in order to make them more stable. Quantum proposition introduced in the terms of vector spaces is a computational framework that applied to complex numbers, and may be utilized in quantum variants of asymmetric key distribution protocols in this direction [14, 15, 17]. As a result, the mathematical properties of residue matrices and elliptic curve arithmetic on the plane made of complex numbers are observed to use them in the applications of cryptographic science.
The aim of this chapter is to extend non-linear cryptographic transformation techniques by using mathematical properties of residue matrices and elliptic curve arithmetic over the complex plane using modular arithmetic.
4.2 Modular Arithmetic
4.2.1 Introduction
The modular arithmetic is a whole-number approximation scheme in that dividing a dividend by a divisor results the value of the residue, with the quotient ignored. The (mod) represents a modular operator which have two operands: an integer number and a modulus (n), and results a nonnegative residue. For instance, 15 mod 7 = 1. The operator (mod) gives an integer number between 0 and n − 1, which is constant. The operator (mod) produces a finite set of integer numbers known as residues and the set is defined as Zn [5, 7]. For instance, Zn = {0,1,2,3,…,n − 1}.
4.2.2 Congruence
Instead of equality, the term congruence is sometimes used. The equality maps one-to-one, while the congruence maps many-to-one. The congruent operator (≡) is used to indicate that two integer numbers are compatible. For instance, 1 ≡ 15 (mod 7). By using congruence, all matched integer numbers modulo n are assigned to the identical point on the ring [5].
4.2.3 Modular Arithmetic Operations
Modular number crunching operations have the properties given below for massive numbers [5].
• (ρ + λ) mod θ = [(ρ mod θ) + (λ mod θ)] mod θ.
• (ρ − λ) mod θ = [(ρ mod θ) − (λ mod θ)] mod θ.
• (ρ × λ) mod θ = [(ρ mod θ) × (λ mod θ)] mod θ.
4.2.4 Inverses
Each number in modular number crunching system has an additive counterpart, which is its opposite. The summation of the number and its opposite results to 0 modulo n. In the case of a + b ≡ 0 (mod n) Zn, a and b are the polar opposites of one another [5, 7].
Furthermore, a number may theoretically have a multiplicative inverse known as a reciprocal. The whole number multiplied by its inverse is compatible with 1 modulo n. In the case of a × b ≡ 1(mod n) Zn, a and b are reciprocals of one another [5, 7].
In cryptography, two additional sets are sometimes used: Zp and Zp*, where p is a prime integer. Each member of Zp has its corresponding opposite and reciprocal, but the zero does not have a reciprocal. Each member of Zp* is guaranteed to have both an opposite and a reciprocal [5, 7].
4.3 Complex Plane
4.3.1 Introduction
The plane made of complex numbers is defined as complex plane Z(n) which is a geometrical representation in two dimensions made up of two axes: horizontal one for real and vertical one for imaginary. It has a set of complex numbers with the structure: α + βi, where α for the real one and β for the imaginary one and they are whole numbers in the set. α + βi is a complex number represented as a point which meets at α and β, and exists on Z(n) [10, 14]. A plane made of complex numbers is illustrated in Figure 4.1.
4.3.2 Complex Number Arithmetic Operations and Inverses
For arithmetic operations on complex numbers, the following formula [3, 9, 10] is used. Let u = α1 + β1i, v = α2 + β2i, and w = α + βi.
• u + v = (α1 + α2) + (β1 + β2)i
• u − v = (α1 − α2) + (β1 − β2)i
• u.v = (α1α2 − β1β2) + (α1β2 + α2β1)i