ECE 842 Report Implementation of Elliptic Curve Cryptography
|
|
|
- Moses Rodgers
- 9 years ago
- Views:
Transcription
1 ECE 842 Report Implementation of Elliptic Curve Cryptography Wei-Yang Lin December 15, 2004 Abstract The aim of this report is to illustrate the issues in implementing a practical elliptic curve cryptographic system. Before doing the implementation, I will review group operation defined on elliptic curve over finite field. From that perspective, the efficiency of elliptic curve cryptographic system can be improved in two steps. The first step is to find a good representation of field element such that arithmetic over finite field can be done with less efforts. The other one is to find a good representation of point on elliptic curve such that time consuming field operation could be avoided. These two steps will be discussed in detail. Finally, we will implement a simple public key elliptic curve cryptographic system and show how computation time can be saved by applying these techniques. 1 Introduction Elliptic curves over finite field can be used to implement secret exchanging scheme. This technique provides equivalent security level as RSA cryptography, but with shorter key length. Having shorter key length means smaller bandwidth and memory requirement. In some applications, these might be critical factors. Another advantage is that there are many curves available to be chosen. Consequently, the curve can be changed periodically for extra security. 1
2 The points on an elliptic curve form a group. The associated group operation involves arithmetic operations over underlying field. The field addition is easy to implement, both in hardware and in software. There has been much interest in the design of fast multiplication and fast inversion over GF (2 n ). In this report, I will discuss how group operation on elliptic curve can be accomplished efficiently. The reminder of this report is organized as follows. Section 2 presents a brief summary of elliptic curve over finite fields. In section 3, we talk about using normal basis representation to perform arithmetic over finite field. Based on normal basis representation, we describe projective coordinates in section 4. Finally, experiment results show improvement achieved by applying normal basis and projective coordinates. 2 Elliptic curve over Galois fields First, let s start with the general form of elliptic curves, y 2 + a 1 xy + a 3 y = x 3 + a 2 x 2 + a 4 x + a 6 Usually, they are categorized into following two versions, or y 2 + xy = x 3 + a 2 x 2 + a 6 (1) y 2 + y = x 3 + a 4 x + a 6 (2) The elliptic curves of the second form, Equation (2), is called supersingular curve. These curves have the advantage that they can be computed quickly. However, because of their special properties, their corresponding discrete logarithm problem is relatively easy to solve. That makes supersingular curves unsuitable for cryptographical purpose. Equation (1) is called non-supersingular curve. To date, no attacking method takes less than exponential time. Therefore, they are excellent for cryptography. The points on elliptic curve together with a point at infinite form a group. For elliptic curves over real number, the associated group operation can be visualized in terms of their geometrical relationship [5]. To implement a cryptographical system, we will focus on the case where elliptic curve over GF (2 n ). It leads us to efficient software and hard ware implementation. 2
3 Unfortunately, the group operation over GF (2 n ) is hard to visualize. It also require a lot of algebra to derive its formula. Here, I will skip all the derivation and only state the results. Based on these results, it will be very easy to understand the implementation issues. Given two points, P and Q, on a elliptic curve, group operation is defined as P + Q = R Let (x 1, y 1 ), (x 2, y 2 ) and (x 3, y 3 ) denote the coordinates of P, Q and R respectively. Then, x 3, y 3 can be expressed in terms of x 1, y 1, x 2 and y 2 as below: if P Q: θ = y 2 y 1 x 2 x 1 x 3 = θ 2 + θ + x 1 + x 2 + a 2 if P = Q: y 3 = θ(x 1 + x 3 ) + x 3 + y 1 θ = x 1 + y 1 x 1 x 3 = θ 2 + θ + a 2 y 3 = x (θ + 1)x 3 They are called point addition and point doubling on elliptic curve. In the elliptic curve cryptographic system, we will send multiplication of point over a unsecured channel. Multiplication of point can be computed efficiently using only point addition and point doubling. For example, 15P = P + 2(P + 2(P + 2P )) Now, it should be very clear that point doubling and point addition are the fundamental operations in elliptic curve cryptographic system. These two operations involve multiplication, division, addition, subtraction and squaring over GF (2 n ). So, our goal is to implement the arithmetics over GF (2 n ) with minimal hardware or software complexity. 3
4 3 Arithmetics over GF (2 n ) GF (2 n ) can be viewed as vector space of dimension m over GF (2). That is, there exist a basis α 0, α 1,..., α n 1 such that each a GF (2 n ) can be written uniquely in the form a = a i α i, where a i {0, 1} We can also represent a as a vector (a 0, a 1,..., a n 1 ). In hardware, a field element is stored in an array of length n. Addition of field element is accomplished by bitwise XOR operation. Because vector space is over GF (2), subtraction of field elements is exactly the same as addition of field elements. 3.1 Normal Basis A normal basis in GF (p n ) is a basis of the form {β p0, β p1, β p2,..., β pn 1 }. It is well known that a normal basis exists in every finite field. Every B GF (p n ) may be uniquely expressed in terms of B = b i β pi Further, let and Now Since we can write A = a i β pi, C = c i β pi C = AB C = a i b j β pi β pj j=0 β pi β pj = k=0 λ (k) i,j βpk (3) 4
5 Substitution yields c k = j=0 a i b j λ (k) i,j (4) Define a matrix T N as follows: Index the rows of T N by the ordered pairs (i, j). In row (i, j), column k put λ (k) i,j. From now on, we consider the special case where p = 2. This leads us to design an efficient implementation. Let A = (a n 1,..., a 1, a 0 ) denote the coordinate vector for A in the normal basis. Because the property of normal basis, we have A 2 = (a n 2,..., a 0, a n 1 ) A 2m = (a n m 1,..., a n m+1, a n m ) where the subscripts are taken modulo n. This is an amazing result because square of field element can be calculated by circular shifting. Many implementation techniques are based on exploiting this property. By raising both side of (3) to the power of 2 m, then (β 2i β 2j ) 2 m = β 2i m β 2j m = k=0 λ (k) i m,j m β2k = k=0 λ (k) i,j β2k m Equating the coefficients of β 20 in the above equation, yields Therefore Equation (4) can be written as c k = j=0 λ (0) i m,j m = λ(m) i,j (5) n 1 a i b j λ (0) i k,j k = j=0 a i+k b j+k λ (0) i,j Therefore, c k is obtained from m fold cyclic shift of the variables involved Optimal normal basis An Optimal Normal Basis (ONB) [4] is one with the minimum number of nonzero terms in Equation (4). This value was proved to be 2n 1 [1]. Since 5
6 it allows multiplication with minimum complexity, such a basis normally leads to a more efficient hardware implementation. There are two types of optimal normal bases [4], namely Type I and Type II. In the following sections, we show the conditions under which optimal normal basis exist and the procedures for constructing multiplication table Type I For Type I, there exists an optimal normal basis if 1. n + 1 is a prime 2. 2 is a primitive in GF (n + 1) To implement multiplication, we need to find λ (k) i,j to Equation (5), we only need to solve for λ (0) i,j and then the whole multiplication table can be derived from λ (0) i,j one of the following two conditions [5], in Equation (4). According. For type I ONB, λ(0) i,j 2 i + 2 j = 1 mod n i + 2 j = 0 mod n + 1 = 1 iff i, j satisfy Using these two condition and Equation (5), building multiplication table is simple and efficient. The multiplication table of GF (2 4 ) is shown in Table Type II For Type II, an optimal normal basis exists if 1. 2 is primitive in Z 2n+1, or 2. 2n+1 is a prime congruent to 3 modulo 4 and 2 generates the quadratic residues in Z 2n+1. For type II ONB, λ 0 i,j = 1 iff i, j satisfy one of the following conditions [5], 2 i + 2 j = +1 mod 2n i + 2 j = 1 mod 2n i 2 j = +1 mod 2n i 2 j = 1 mod 2n + 1 6
7 Table 1: Multiplication table of Type I ONB, GF (2 4 ) k i j Again,using these condition and Equation (5), building multiplication table is straight forward. 3.2 Fast Inversion Using normal basis representation, square of a field element is very easy to calculated. That is just a rotation. Based on this nice property, Itoh and Tsujii [2] proposed an efficient method for computing inverse of field element. Observe that if a GF (2 n ), a 0, then a 1 = a 2n 2 This is the result from Fermat s Theorem. Now, let s look at the exponent. It can be factored as 2 n 2 = 2(2 n 1 1) 7
8 That means we can calculate a (2n 1 1) first and then square it. Then, if m is odd, we have 2 n 1 1 = (2 (n 1)/2 + 1)(2 (n 1)/2 1) Therefore, it takes only one multiplication once a 2(n 1)/2 1 has been computed. If n is even, we have 2 n 1 1 = 2(2 (n 2)/2 + 1)(2 (n 2)/2 1) + 1 and consequently it takes two multiplications once a 2(n 2)/2 1 has been computed. The procedure is then repeated recursively. It can be shown that this method requires log 2 (n 1) + ω(n 1) 1 field multiplications, where ω(n 1) denotes number of 1 s in the binary representation of m 1. 4 Projective Coordinates Even though there are special techniques for computing inverse in GF (2 n ), a field inversion is still far more expensive than a field multiplication. It may be of computational advantage to avoid inversion. This is done with the use of projective coordinates [3]. 4.1 Basic facts A projective coordinate is defined such that (X 1, Y 1, Z 1 ) and (X 2, Y 2, Z 2 ) are said to be equal if they are related by X 1 = λx 2, Y 1 = λy 2, Z 1 = λz 2, λ 0. Note that if a point P = (X, Y, Z) has nonzero Z, then P can be represented by the projective point (x, y, 1), where x = X/Z and y = Y/Z. An equation f(x, y) = 0 corresponds to an equation F (X, Y, Z) = 0, where F is obtained by replacing x = X/Z, y = Y/Z, and multiplying with a power of Z to clear the denominators. In particular, the projective equation of y 2 + xy = x 3 + ax 2 + b is given by ZY 2 + XY Z = X 3 + ax 2 Z + bz 3 If Z = 0 in this equation, then X 3 = 0, i.e., X = 0. Therefore, (0, 1, 0) is the only projective point that satisfies this equation. This point is called the point at infinity and denoted as O. 8
9 To convert a point (x, y) to projective coordinate, one sets X = x Z, Y = y Z, Z = Z. For elliptic curve over GF (2 n ), the rule to negate a point P = (x, y) is P = (x, x + y) So, the projective coordinate of P is given by (X, X + Y, Z). Let P 0 = (X 0, Y 0, Z 0 ) and P 1 = (X 1, Y 1, 1) be two different points on elliptic curve and assume that P 1 O and P 1 P 0. The adding formula in projective coordinate is (X 0, Y 0, Z 0 ) + (X 1, Y 1, Z 1 ) = (X 2, Y 2, Z 2 ) X 2 = AD Y 2 = CD + A 2 (BX 0 + AY 0 ) Z 2 = A 3 Z 0 and where A = X 1 Z 0 + X 0 B = Y 1 Z 0 + Y 0 C = A + B D = A 2 (A + az 0 ) + Z 0 BC This addition can be done in 13 field multiplications, which is more than the 2 field multiplications required when using affine coordinates. However, we usually save computation time by not performing field inversion. The gain occurs at the expense of memory space, as we now need extra registers to store intermediate results. The doubling formula in projective coordinate is (X 0, Y 0, Z 0 ) + (X 0, Y 0, Z 0 ) = (X 2, Y 2, Z 2 ) X 2 = A B Y 2 = X 4 1A + B(X Y 1 Z 1 + A) Z 2 = A 3 9
10 where A = X 1 Z 1 B = bz X 4 1 Therefore, point doubling can be done in 7 multiplications, which again is usually an improvement on the formulae with affine coordinates which needs 1 inversion and 2 multiplications. 4.2 Improved projective coordinate In [3], the authors derived the new formula for adding points in projective coordinates. The improved projective coordinate is defined such that (X 1, Y 1, Z 1 ) and (X 2, Y 2, Z 2 ) are said to be equal if they are related by X 1 = λx 2, Y 1 = λ 2 Y 2, Z 1 = λz 2, λ 0. An equation f(x, y) = 0 corresponds to an equation F (X, Y, Z) = 0, where F is obtained by replacing x = X/Z, y = Y/Z 2, and multiplying with a power of Z to clear the denominators. In particular, the projective equation of y 2 + xy = x 3 + ax 2 + b is given by Y 2 + XY Z = X 3 Z + ax 2 Z 2 + bz 4 If Z = 0 in this equation, then Y 2 = 0, i.e., Y = 0. Therefore, (1, 0, 0) is the only projective point that satisfies this equation. Hence O = (1, 0, 0) is the point at infinity when using improved projective coordinates. Let P 0 = (X 0, Y 0, Z 0 ) and P 1 = (X 1, Y 1, Z 1 ) be two different points on elliptic curve. The adding formula in improved projective coordinate is where (X 0, Y 0, Z 0 ) + (X 1, Y 1, Z 1 ) = (X 2, Y 2, Z 2 ) X 2 = C 2 + H + G Y 2 = H I + Z 2 J Z 2 = F 2 A 0 = Y 1 Z0, 2 C = A 0 + A 1, G = D 2 (F + ae 2 ), A 1 = Y 0 Z1, 2 D = B 0 + B 1, H = C F, B 0 = X 1 Z 0, E = Z 0 Z 1, I = D 2 B 0 E + X 2, B 1 = X 0 Z 1, F = D E, J = D 2 A 0 E + X 2, 10
11 During the computation of point multiplication, we keep doing point doubling and also adding base point when it is necessary. The Z coordinate of base point is 1. Hence we are more interested in this special case. The point adding formula for Z 1 = 1 is given by: (X 0, Y 0, Z 0 ) + (X 1, Y 1, 1) = (X 2, Y 2, Z 2 ) where X 2 = A 2 + D + E Y 2 = E F + Z 2 G Z 2 = C 2 A = Y 1 Z0 2 + Y 0, E = A C, B = X 1 Z 0 + X 0, F = X 2 + X 1 Z 2, C = Z 0 B, G = X 2 + Y 1 Z 2, D = B 2 (C + az0), 2 Point addition in improved projective coordinate can be done in 13 field multiplications. If Z 1 = 1, then only 10 field multiplications are required which is less than the field multiplications required when using original projective coordinates. However, the gain occurs at the expense of using more memory space. The doubling formula in improved projective coordinate is where (X 1, Y 1, Z 1 ) + (X 1, Y 1, Z 1 ) = (X 2, Y 2, Z 2 ) Z 2 = Z 2 1 X 2 1, X 2 = X b Z 4 1, Y 2 = b Z 4 1 Z 2 + X 2 (a Z 2 + Y b Z 4 1). The improved projective doubling algorithm requires 5 field multiplications. Since it takes 2 field multiplications less than the previous projective doubling algorithm, we obtain an improvement of about 30% in general. The number of multiplications and squarings required to perform an elliptic group operation for various kinds of projective coo is listed in Table 2. 11
12 Table 2: The number of operations for different kinds of projective coordinates Projective Doubling Adding Cost of 2 5 P + Q coordinates Mult. Sqr. Mult. Sqr. Mult. Sqr. (x/z, y/z 2 ) (x/z 2, y/z 3 ) (x/z, y/z) Software Implementation The running time obtained with software implementation is presented in this section. The platform consisted of a 2.8GHz Pentium processor, windows XP and visual C As in most texts on cryptography, we said Alice wants to share secret with Bob. Diffie-Hellman scheme can be described as follows. Let k a be Alice s private key and k b belongs to Bob. Alice compute public key P a and send it to bob. P a = k a B where B is base point. Bob also compute public key P b and send it to Alice. P b = k b B Then, they both compute the shared secret P s. P s = k a (k b B) = k b (k a B) We use the running time required to do all these computation, specifically computing public keys and share secret, as a metric to compare different implementation techniques. There are many useful software routines for elliptic curve cryptography in [5]. Diffie-Hellman scheme is built based on these routines. Then, running times are measured under following conditions: Use Optimal Normal Basis as representation of field elements. Use Optimal Normal Basis as representation of field elements and projective coordinate as representation of point on a elliptic curve. 12
13 7 6 ONB ONB + Proj. Coord. ONB + Improved Proj. Coord. 5 Computation time(sec) n Figure 1: Running time for n = 89, 134, 179, 230, 278, 330, 386. ONB stands for Optimal Normal Basis. Use Optimal Normal Basis as representation of field elements and improved projective coordinate as representation of point on a elliptic curve. Here, we choose the finite fields GF (2 n ) where optimal normal basis exist. The resulting running times are shown in Figure 1. By using projective coordinate, the time consuming field inversion can be avoided. Hence running time is reduced as we can see in Figure 1. We can further reduce running time by applying improved projective coordinate. The improvement can also be observed in Figure 1. The results are what we expect from theoretical point of view. 13
14 6 Conclusion Sometimes, implementation is not a trivial task even though you know the mathematics very well. For example, implementation of Fast Fourier Transform in C language is not so easy for most of the engineering students. Implementation of elliptic curve cryptography is a similar situation. Hence, finding some software routines to begin with will save you lots of time. For those who are interested in implementing elliptic curve cryptography in computer, [5] is an excellent starting point. It provides complete set of software routines for elliptic curve cryptography. Based on these routines, it is very easy to implement advanced techniques and see how it works. In this report, I implement Diffie-Hellman scheme and use it as test platform for different implementation techniques. The results give us direct comparison on performance of different implementation techniques. References [1] D. W. Ash, I. F. Blake, and S. A. Vanstone. Low complexity normal bases. Discrete Applied Mathematics, 25(3): , Nov [2] T. Itoh and S. Tsujii. A fast algorithm for computing multiplicative inverses in gf(2m) using normal bases. Information and Computation, 78(3): , SEP [3] J. Lopez and R. Dahab. Improved algorithms for elliptic curve arithmetic in GF (2 n ), pages Selected Areas in Cryptography. 5th Annual International Workshop, SAC 98. Proceedings. Springer-Verlag, Kingston, Ont., Canada, [4] R. C. Mullin, I. M. Onyszchuk, S. A. Vanstone, and R. M. Wilson. Optimal normal bases in GF (p n ). Discrete Applied Mathematics, 22(2):149 61, Feb [5] Michael Rosing. Implementing Elliptic Curve Cryptography. Manning Publications,
Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur
Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Module No. # 01 Lecture No. # 12 Block Cipher Standards
Principles of Public Key Cryptography. Applications of Public Key Cryptography. Security in Public Key Algorithms
Principles of Public Key Cryptography Chapter : Security Techniques Background Secret Key Cryptography Public Key Cryptography Hash Functions Authentication Chapter : Security on Network and Transport
a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2.
Chapter 1 LINEAR EQUATIONS 1.1 Introduction to linear equations A linear equation in n unknowns x 1, x,, x n is an equation of the form a 1 x 1 + a x + + a n x n = b, where a 1, a,..., a n, b are given
SUM OF TWO SQUARES JAHNAVI BHASKAR
SUM OF TWO SQUARES JAHNAVI BHASKAR Abstract. I will investigate which numbers can be written as the sum of two squares and in how many ways, providing enough basic number theory so even the unacquainted
Lecture 13 - Basic Number Theory.
Lecture 13 - Basic Number Theory. Boaz Barak March 22, 2010 Divisibility and primes Unless mentioned otherwise throughout this lecture all numbers are non-negative integers. We say that A divides B, denoted
ABSTRACT ALGEBRA: A STUDY GUIDE FOR BEGINNERS
ABSTRACT ALGEBRA: A STUDY GUIDE FOR BEGINNERS John A. Beachy Northern Illinois University 2014 ii J.A.Beachy This is a supplement to Abstract Algebra, Third Edition by John A. Beachy and William D. Blair
Discrete Mathematics, Chapter 4: Number Theory and Cryptography
Discrete Mathematics, Chapter 4: Number Theory and Cryptography Richard Mayr University of Edinburgh, UK Richard Mayr (University of Edinburgh, UK) Discrete Mathematics. Chapter 4 1 / 35 Outline 1 Divisibility
Breaking The Code. Ryan Lowe. Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and
Breaking The Code Ryan Lowe Ryan Lowe is currently a Ball State senior with a double major in Computer Science and Mathematics and a minor in Applied Physics. As a sophomore, he took an independent study
minimal polyonomial Example
Minimal Polynomials Definition Let α be an element in GF(p e ). We call the monic polynomial of smallest degree which has coefficients in GF(p) and α as a root, the minimal polyonomial of α. Example: We
Lecture Note 5 PUBLIC-KEY CRYPTOGRAPHY. Sourav Mukhopadhyay
Lecture Note 5 PUBLIC-KEY CRYPTOGRAPHY Sourav Mukhopadhyay Cryptography and Network Security - MA61027 Modern/Public-key cryptography started in 1976 with the publication of the following paper. W. Diffie
U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009. Notes on Algebra
U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009 Notes on Algebra These notes contain as little theory as possible, and most results are stated without proof. Any introductory
Secure Network Communication Part II II Public Key Cryptography. Public Key Cryptography
Kommunikationssysteme (KSy) - Block 8 Secure Network Communication Part II II Public Key Cryptography Dr. Andreas Steffen 2000-2001 A. Steffen, 28.03.2001, KSy_RSA.ppt 1 Secure Key Distribution Problem
Continued Fractions and the Euclidean Algorithm
Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction
Mathematics. (www.tiwariacademy.com : Focus on free Education) (Chapter 5) (Complex Numbers and Quadratic Equations) (Class XI)
( : Focus on free Education) Miscellaneous Exercise on chapter 5 Question 1: Evaluate: Answer 1: 1 ( : Focus on free Education) Question 2: For any two complex numbers z1 and z2, prove that Re (z1z2) =
University of Lille I PC first year list of exercises n 7. Review
University of Lille I PC first year list of exercises n 7 Review Exercise Solve the following systems in 4 different ways (by substitution, by the Gauss method, by inverting the matrix of coefficients
A SOFTWARE COMPARISON OF RSA AND ECC
International Journal Of Computer Science And Applications Vol. 2, No. 1, April / May 29 ISSN: 974-13 A SOFTWARE COMPARISON OF RSA AND ECC Vivek B. Kute Lecturer. CSE Department, SVPCET, Nagpur 9975549138
Factorization Methods: Very Quick Overview
Factorization Methods: Very Quick Overview Yuval Filmus October 17, 2012 1 Introduction In this lecture we introduce modern factorization methods. We will assume several facts from analytic number theory.
Table of Contents. Bibliografische Informationen http://d-nb.info/996514864. digitalisiert durch
1 Introduction to Cryptography and Data Security 1 1.1 Overview of Cryptology (and This Book) 2 1.2 Symmetric Cryptography 4 1.2.1 Basics 4 1.2.2 Simple Symmetric Encryption: The Substitution Cipher...
CHAPTER 5 Round-off errors
CHAPTER 5 Round-off errors In the two previous chapters we have seen how numbers can be represented in the binary numeral system and how this is the basis for representing numbers in computers. Since any
1 Introduction to Matrices
1 Introduction to Matrices In this section, important definitions and results from matrix algebra that are useful in regression analysis are introduced. While all statements below regarding the columns
Notes on Network Security Prof. Hemant K. Soni
Chapter 9 Public Key Cryptography and RSA Private-Key Cryptography traditional private/secret/single key cryptography uses one key shared by both sender and receiver if this key is disclosed communications
Cryptography and Network Security Chapter 10
Cryptography and Network Security Chapter 10 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits by RHB) Chapter 10 Other Public Key Cryptosystems Amongst the tribes of Central
= 2 + 1 2 2 = 3 4, Now assume that P (k) is true for some fixed k 2. This means that
Instructions. Answer each of the questions on your own paper, and be sure to show your work so that partial credit can be adequately assessed. Credit will not be given for answers (even correct ones) without
An Overview of Integer Factoring Algorithms. The Problem
An Overview of Integer Factoring Algorithms Manindra Agrawal IITK / NUS The Problem Given an integer n, find all its prime divisors as efficiently as possible. 1 A Difficult Problem No efficient algorithm
MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m
MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS 1. SYSTEMS OF EQUATIONS AND MATRICES 1.1. Representation of a linear system. The general system of m equations in n unknowns can be written a 11 x 1 + a 12 x 2 +
Elements of Applied Cryptography Public key encryption
Network Security Elements of Applied Cryptography Public key encryption Public key cryptosystem RSA and the factorization problem RSA in practice Other asymmetric ciphers Asymmetric Encryption Scheme Let
Computer and Network Security
MIT 6.857 Computer and Networ Security Class Notes 1 File: http://theory.lcs.mit.edu/ rivest/notes/notes.pdf Revision: December 2, 2002 Computer and Networ Security MIT 6.857 Class Notes by Ronald L. Rivest
Applications of Fermat s Little Theorem and Congruences
Applications of Fermat s Little Theorem and Congruences Definition: Let m be a positive integer. Then integers a and b are congruent modulo m, denoted by a b mod m, if m (a b). Example: 3 1 mod 2, 6 4
Implementation of Elliptic Curve Digital Signature Algorithm
Implementation of Elliptic Curve Digital Signature Algorithm Aqeel Khalique Kuldip Singh Sandeep Sood Department of Electronics & Computer Engineering, Indian Institute of Technology Roorkee Roorkee, India
Cryptography and Network Security
Cryptography and Network Security Fifth Edition by William Stallings Chapter 9 Public Key Cryptography and RSA Private-Key Cryptography traditional private/secret/single key cryptography uses one key shared
Implementing Network Security Protocols
Implementing Network Security Protocols based on Elliptic Curve Cryptography M. Aydos, E. Savaş, and Ç. K. Koç Electrical & Computer Engineering Oregon State University Corvallis, Oregon 97331, USA {aydos,savas,koc}@ece.orst.edu
MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS
MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS Systems of Equations and Matrices Representation of a linear system The general system of m equations in n unknowns can be written a x + a 2 x 2 + + a n x n b a
IB Math Research Problem
Vincent Chu Block F IB Math Research Problem The product of all factors of 2000 can be found using several methods. One of the methods I employed in the beginning is a primitive one I wrote a computer
Integer Factorization using the Quadratic Sieve
Integer Factorization using the Quadratic Sieve Chad Seibert* Division of Science and Mathematics University of Minnesota, Morris Morris, MN 56567 [email protected] March 16, 2011 Abstract We give
CIS 5371 Cryptography. 8. Encryption --
CIS 5371 Cryptography p y 8. Encryption -- Asymmetric Techniques Textbook encryption algorithms In this chapter, security (confidentiality) is considered in the following sense: All-or-nothing secrecy.
Linear Algebra Notes for Marsden and Tromba Vector Calculus
Linear Algebra Notes for Marsden and Tromba Vector Calculus n-dimensional Euclidean Space and Matrices Definition of n space As was learned in Math b, a point in Euclidean three space can be thought of
Software Implementation of Gong-Harn Public-key Cryptosystem and Analysis
Software Implementation of Gong-Harn Public-key Cryptosystem and Analysis by Susana Sin A thesis presented to the University of Waterloo in fulfilment of the thesis requirement for the degree of Master
Public Key Cryptography: RSA and Lots of Number Theory
Public Key Cryptography: RSA and Lots of Number Theory Public vs. Private-Key Cryptography We have just discussed traditional symmetric cryptography: Uses a single key shared between sender and receiver
Study of algorithms for factoring integers and computing discrete logarithms
Study of algorithms for factoring integers and computing discrete logarithms First Indo-French Workshop on Cryptography and Related Topics (IFW 2007) June 11 13, 2007 Paris, France Dr. Abhijit Das Department
Vector and Matrix Norms
Chapter 1 Vector and Matrix Norms 11 Vector Spaces Let F be a field (such as the real numbers, R, or complex numbers, C) with elements called scalars A Vector Space, V, over the field F is a non-empty
Short Programs for functions on Curves
Short Programs for functions on Curves Victor S. Miller Exploratory Computer Science IBM, Thomas J. Watson Research Center Yorktown Heights, NY 10598 May 6, 1986 Abstract The problem of deducing a function
ELLIPTIC CURVES AND LENSTRA S FACTORIZATION ALGORITHM
ELLIPTIC CURVES AND LENSTRA S FACTORIZATION ALGORITHM DANIEL PARKER Abstract. This paper provides a foundation for understanding Lenstra s Elliptic Curve Algorithm for factoring large numbers. We give
Elliptic Curve Cryptography
Elliptic Curve Cryptography Elaine Brow, December 2010 Math 189A: Algebraic Geometry 1. Introduction to Public Key Cryptography To understand the motivation for elliptic curve cryptography, we must first
Quotient Rings and Field Extensions
Chapter 5 Quotient Rings and Field Extensions In this chapter we describe a method for producing field extension of a given field. If F is a field, then a field extension is a field K that contains F.
Algebra Unpacked Content For the new Common Core standards that will be effective in all North Carolina schools in the 2012-13 school year.
This document is designed to help North Carolina educators teach the Common Core (Standard Course of Study). NCDPI staff are continually updating and improving these tools to better serve teachers. Algebra
An Efficient and Secure Key Management Scheme for Hierarchical Access Control Based on ECC
An Efficient and Secure Key Management Scheme for Hierarchical Access Control Based on ECC Laxminath Tripathy 1 Nayan Ranjan Paul 2 1Department of Information technology, Eastern Academy of Science and
PYTHAGOREAN TRIPLES KEITH CONRAD
PYTHAGOREAN TRIPLES KEITH CONRAD 1. Introduction A Pythagorean triple is a triple of positive integers (a, b, c) where a + b = c. Examples include (3, 4, 5), (5, 1, 13), and (8, 15, 17). Below is an ancient
Operation Count; Numerical Linear Algebra
10 Operation Count; Numerical Linear Algebra 10.1 Introduction Many computations are limited simply by the sheer number of required additions, multiplications, or function evaluations. If floating-point
Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur
Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur Module No. # 01 Lecture No. # 05 Classic Cryptosystems (Refer Slide Time: 00:42)
Mathematics of Internet Security. Keeping Eve The Eavesdropper Away From Your Credit Card Information
The : Keeping Eve The Eavesdropper Away From Your Credit Card Information Department of Mathematics North Dakota State University 16 September 2010 Science Cafe Introduction Disclaimer: is not an internet
11 Multivariate Polynomials
CS 487: Intro. to Symbolic Computation Winter 2009: M. Giesbrecht Script 11 Page 1 (These lecture notes were prepared and presented by Dan Roche.) 11 Multivariate Polynomials References: MC: Section 16.6
Chapter 7. Matrices. Definition. An m n matrix is an array of numbers set out in m rows and n columns. Examples. ( 1 1 5 2 0 6
Chapter 7 Matrices Definition An m n matrix is an array of numbers set out in m rows and n columns Examples (i ( 1 1 5 2 0 6 has 2 rows and 3 columns and so it is a 2 3 matrix (ii 1 0 7 1 2 3 3 1 is a
Number Theory. Proof. Suppose otherwise. Then there would be a finite number n of primes, which we may
Number Theory Divisibility and Primes Definition. If a and b are integers and there is some integer c such that a = b c, then we say that b divides a or is a factor or divisor of a and write b a. Definition
This unit will lay the groundwork for later units where the students will extend this knowledge to quadratic and exponential functions.
Algebra I Overview View unit yearlong overview here Many of the concepts presented in Algebra I are progressions of concepts that were introduced in grades 6 through 8. The content presented in this course
Factoring Algorithms
Institutionen för Informationsteknologi Lunds Tekniska Högskola Department of Information Technology Lund University Cryptology - Project 1 Factoring Algorithms The purpose of this project is to understand
Geometric Transformations
Geometric Transformations Definitions Def: f is a mapping (function) of a set A into a set B if for every element a of A there exists a unique element b of B that is paired with a; this pairing is denoted
Some practice problems for midterm 2
Some practice problems for midterm 2 Kiumars Kaveh November 15, 2011 Problem: What is the remainder of 6 2000 when divided by 11? Solution: This is a long-winded way of asking for the value of 6 2000 mod
Outline. Computer Science 418. Digital Signatures: Observations. Digital Signatures: Definition. Definition 1 (Digital signature) Digital Signatures
Outline Computer Science 418 Digital Signatures Mike Jacobson Department of Computer Science University of Calgary Week 12 1 Digital Signatures 2 Signatures via Public Key Cryptosystems 3 Provable 4 Mike
Adding vectors We can do arithmetic with vectors. We ll start with vector addition and related operations. Suppose you have two vectors
1 Chapter 13. VECTORS IN THREE DIMENSIONAL SPACE Let s begin with some names and notation for things: R is the set (collection) of real numbers. We write x R to mean that x is a real number. A real number
Public Key Cryptography. Performance Comparison and Benchmarking
Public Key Cryptography Performance Comparison and Benchmarking Tanja Lange Department of Mathematics Technical University of Denmark [email protected] 28.08.2006 Tanja Lange Benchmarking p. 1 What
Mathematics Course 111: Algebra I Part IV: Vector Spaces
Mathematics Course 111: Algebra I Part IV: Vector Spaces D. R. Wilkins Academic Year 1996-7 9 Vector Spaces A vector space over some field K is an algebraic structure consisting of a set V on which are
Linear algebra and the geometry of quadratic equations. Similarity transformations and orthogonal matrices
MATH 30 Differential Equations Spring 006 Linear algebra and the geometry of quadratic equations Similarity transformations and orthogonal matrices First, some things to recall from linear algebra Two
The mathematics of RAID-6
The mathematics of RAID-6 H. Peter Anvin 1 December 2004 RAID-6 supports losing any two drives. The way this is done is by computing two syndromes, generally referred P and Q. 1 A quick
A New Generic Digital Signature Algorithm
Groups Complex. Cryptol.? (????), 1 16 DOI 10.1515/GCC.????.??? de Gruyter???? A New Generic Digital Signature Algorithm Jennifer Seberry, Vinhbuu To and Dongvu Tonien Abstract. In this paper, we study
Lecture 2 Matrix Operations
Lecture 2 Matrix Operations transpose, sum & difference, scalar multiplication matrix multiplication, matrix-vector product matrix inverse 2 1 Matrix transpose transpose of m n matrix A, denoted A T or
Math Review. for the Quantitative Reasoning Measure of the GRE revised General Test
Math Review for the Quantitative Reasoning Measure of the GRE revised General Test www.ets.org Overview This Math Review will familiarize you with the mathematical skills and concepts that are important
MATH 423 Linear Algebra II Lecture 38: Generalized eigenvectors. Jordan canonical form (continued).
MATH 423 Linear Algebra II Lecture 38: Generalized eigenvectors Jordan canonical form (continued) Jordan canonical form A Jordan block is a square matrix of the form λ 1 0 0 0 0 λ 1 0 0 0 0 λ 0 0 J = 0
THE NUMBER OF REPRESENTATIONS OF n OF THE FORM n = x 2 2 y, x > 0, y 0
THE NUMBER OF REPRESENTATIONS OF n OF THE FORM n = x 2 2 y, x > 0, y 0 RICHARD J. MATHAR Abstract. We count solutions to the Ramanujan-Nagell equation 2 y +n = x 2 for fixed positive n. The computational
1.3 Polynomials and Factoring
1.3 Polynomials and Factoring Polynomials Constant: a number, such as 5 or 27 Variable: a letter or symbol that represents a value. Term: a constant, variable, or the product or a constant and variable.
CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA
We Can Early Learning Curriculum PreK Grades 8 12 INSIDE ALGEBRA, GRADES 8 12 CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA April 2016 www.voyagersopris.com Mathematical
Systems of Linear Equations
Systems of Linear Equations Beifang Chen Systems of linear equations Linear systems A linear equation in variables x, x,, x n is an equation of the form a x + a x + + a n x n = b, where a, a,, a n and
Matrix Algebra. Some Basic Matrix Laws. Before reading the text or the following notes glance at the following list of basic matrix algebra laws.
Matrix Algebra A. Doerr Before reading the text or the following notes glance at the following list of basic matrix algebra laws. Some Basic Matrix Laws Assume the orders of the matrices are such that
Notes on Determinant
ENGG2012B Advanced Engineering Mathematics Notes on Determinant Lecturer: Kenneth Shum Lecture 9-18/02/2013 The determinant of a system of linear equations determines whether the solution is unique, without
SECURITY IMPROVMENTS TO THE DIFFIE-HELLMAN SCHEMES
www.arpapress.com/volumes/vol8issue1/ijrras_8_1_10.pdf SECURITY IMPROVMENTS TO THE DIFFIE-HELLMAN SCHEMES Malek Jakob Kakish Amman Arab University, Department of Computer Information Systems, P.O.Box 2234,
Factoring Algorithms
Factoring Algorithms The p 1 Method and Quadratic Sieve November 17, 2008 () Factoring Algorithms November 17, 2008 1 / 12 Fermat s factoring method Fermat made the observation that if n has two factors
Modern Block Cipher Standards (AES) Debdeep Mukhopadhyay
Modern Block Cipher Standards (AES) Debdeep Mukhopadhyay Assistant Professor Department of Computer Science and Engineering Indian Institute of Technology Kharagpur INDIA -721302 Objectives Introduction
I. GROUPS: BASIC DEFINITIONS AND EXAMPLES
I GROUPS: BASIC DEFINITIONS AND EXAMPLES Definition 1: An operation on a set G is a function : G G G Definition 2: A group is a set G which is equipped with an operation and a special element e G, called
discuss how to describe points, lines and planes in 3 space.
Chapter 2 3 Space: lines and planes In this chapter we discuss how to describe points, lines and planes in 3 space. introduce the language of vectors. discuss various matters concerning the relative position
Linear Algebra I. Ronald van Luijk, 2012
Linear Algebra I Ronald van Luijk, 2012 With many parts from Linear Algebra I by Michael Stoll, 2007 Contents 1. Vector spaces 3 1.1. Examples 3 1.2. Fields 4 1.3. The field of complex numbers. 6 1.4.
Torgerson s Classical MDS derivation: 1: Determining Coordinates from Euclidean Distances
Torgerson s Classical MDS derivation: 1: Determining Coordinates from Euclidean Distances It is possible to construct a matrix X of Cartesian coordinates of points in Euclidean space when we know the Euclidean
How To Write A Hexadecimal Program
The mathematics of RAID-6 H. Peter Anvin First version 20 January 2004 Last updated 20 December 2011 RAID-6 supports losing any two drives. syndromes, generally referred P and Q. The way
THE CONGRUENT NUMBER PROBLEM
THE CONGRUENT NUMBER PROBLEM KEITH CONRAD 1. Introduction A right triangle is called rational when its legs and hypotenuse are all rational numbers. Examples of rational right triangles include Pythagorean
Public Key Cryptography and RSA. Review: Number Theory Basics
Public Key Cryptography and RSA Murat Kantarcioglu Based on Prof. Ninghui Li s Slides Review: Number Theory Basics Definition An integer n > 1 is called a prime number if its positive divisors are 1 and
9. POLYNOMIALS. Example 1: The expression a(x) = x 3 4x 2 + 7x 11 is a polynomial in x. The coefficients of a(x) are the numbers 1, 4, 7, 11.
9. POLYNOMIALS 9.1. Definition of a Polynomial A polynomial is an expression of the form: a(x) = a n x n + a n-1 x n-1 +... + a 1 x + a 0. The symbol x is called an indeterminate and simply plays the role
THREE DIMENSIONAL GEOMETRY
Chapter 8 THREE DIMENSIONAL GEOMETRY 8.1 Introduction In this chapter we present a vector algebra approach to three dimensional geometry. The aim is to present standard properties of lines and planes,
Math 319 Problem Set #3 Solution 21 February 2002
Math 319 Problem Set #3 Solution 21 February 2002 1. ( 2.1, problem 15) Find integers a 1, a 2, a 3, a 4, a 5 such that every integer x satisfies at least one of the congruences x a 1 (mod 2), x a 2 (mod
Copy in your notebook: Add an example of each term with the symbols used in algebra 2 if there are any.
Algebra 2 - Chapter Prerequisites Vocabulary Copy in your notebook: Add an example of each term with the symbols used in algebra 2 if there are any. P1 p. 1 1. counting(natural) numbers - {1,2,3,4,...}
LUC: A New Public Key System
LUC: A New Public Key System Peter J. Smith a and Michael J. J. Lennon b a LUC Partners, Auckland UniServices Ltd, The University of Auckland, Private Bag 92019, Auckland, New Zealand. b Department of
We can express this in decimal notation (in contrast to the underline notation we have been using) as follows: 9081 + 900b + 90c = 9001 + 100c + 10b
In this session, we ll learn how to solve problems related to place value. This is one of the fundamental concepts in arithmetic, something every elementary and middle school mathematics teacher should
Analyzing the Point Multiplication Operation of Elliptic Curve Cryptosystem over Prime Field for Parallel Processing
322 The International Arab Journal of Information Technology, Vol. 11, No. 4, July 2014 Analyzing the Point Multiplication Operation of Elliptic Curve Cryptosystem over Prime Field for Parallel Processing
Cryptography Lecture 8. Digital signatures, hash functions
Cryptography Lecture 8 Digital signatures, hash functions A Message Authentication Code is what you get from symmetric cryptography A MAC is used to prevent Eve from creating a new message and inserting
Digital Signatures. (Note that authentication of sender is also achieved by MACs.) Scan your handwritten signature and append it to the document?
Cryptography Digital Signatures Professor: Marius Zimand Digital signatures are meant to realize authentication of the sender nonrepudiation (Note that authentication of sender is also achieved by MACs.)
RSA and Primality Testing
and Primality Testing Joan Boyar, IMADA, University of Southern Denmark Studieretningsprojekter 2010 1 / 81 Correctness of cryptography cryptography Introduction to number theory Correctness of with 2
Rotation Matrices and Homogeneous Transformations
Rotation Matrices and Homogeneous Transformations A coordinate frame in an n-dimensional space is defined by n mutually orthogonal unit vectors. In particular, for a two-dimensional (2D) space, i.e., n
South Carolina College- and Career-Ready (SCCCR) Pre-Calculus
South Carolina College- and Career-Ready (SCCCR) Pre-Calculus Key Concepts Arithmetic with Polynomials and Rational Expressions PC.AAPR.2 PC.AAPR.3 PC.AAPR.4 PC.AAPR.5 PC.AAPR.6 PC.AAPR.7 Standards Know
The Advanced Encryption Standard (AES)
The Advanced Encryption Standard (AES) Conception - Why A New Cipher? Conception - Why A New Cipher? DES had outlived its usefulness Vulnerabilities were becoming known 56-bit key was too small Too slow
