Implementing Elliptic Curve Cryptography
|
|
|
- Daniela Richards
- 9 years ago
- Views:
Transcription
1 68 Int'l Conf. Frontiers in Education: CS and CE FECS'15 Implementing Elliptic Curve Cryptography Leonidas Deligiannidis Wentworth Institute of Technology Dept. of Computer Science and Networking Boston, MA 02115, USA Abstract The strength of public key cryptography utilizing Elliptic Curves relies on the difficulty of computing discrete logarithms in a finite field. Diffie-Hellman key exchange algorithm also relies on the same fact. There are two flavors of this algorithm, one using Elliptic Curves and another without using Elliptic Curves. Both flavors of the algorithm rely on the difficulty of computing discrete logarithms in a finite field. Other public key cryptographic algorithms, such as RSA, rely on the difficulty of integer factorization. Both flavors of Diffie-Hellman key exchange algorithm will be discussed in this paper, and we will show implementation details of both of them. Additionally, we will describe what Elliptic Curve Cryptography (ECC) is, and how we can implement different cryptographic algorithms in java, such as digital signatures, encryption / decryption and Key exchange. We will not utilize the java built-in implementations of ECC. Instead, we will use the java programming language as a platform to implement several cryptographic algorithms from the ground up, thus revealing the details of each algorithm and the proofs and reasons these algorithms work. We will describe the theory of ECC and show implementation details that would help students, practitioners, and researchers understand, implement and experiment with such algorithms. Keywords Elliptic Curve Cryptography, Implementation, Network Security. I. INTRODUCTION The strength of public key cryptography utilizing Elliptic Curves relies on the difficulty of computing discrete logarithms in a finite field. Diffie-Hellman key exchange algorithm also relies on the same fact. There are two flavors of this algorithm, one using Elliptic Curves [1] and another without using Elliptic Curves [2]. Both flavors of the algorithm rely on the difficulty of computing discrete logarithms in a finite field. Other public key cryptographic algorithms, such as RSA [3], rely on the difficulty of integer factorization. Both flavors of Diffie- Hellman key exchange algorithm will be discussed in this paper, and we will show implementation details of both of them. Additionally, we will describe what Elliptic Curve Cryptography (ECC) is, and how we can implement different cryptographic algorithms in java, such as digital signatures, encryption / decryption and Key exchange. Many [4][5][6][7] implemented these algorithms in Java utilizing java s built-in libraries and they focus more on performance. We will not utilize the java built-in implementations of ECC and we will focus more on functionality instead of performance. Instead, we will use the java programming language as a platform to implement several cryptographic algorithms from the ground up, thus revealing the details of each algorithm and the proofs and reasons these algorithms work. We will describe the theory of ECC and show implementation details that would help students, practitioners, and researchers understand, implement and experiment with such algorithms. We will not evaluate the strengths of each algorithm and the technologies using ECC. A great resource for comparing these algorithms and technologies and discusses their vulnerabilities can be found in [8]. Elliptic Curves (EC) are curves that are also naturally groups. They can be used to form a group that is defined by custom arithmetic operations on its elements. We will first describe these operations geometrically and then algebraically over real numbers. Since ECs will be used to explain cryptographic algorithms, we will focus on ECs over an underlined field p (where p is a prime number); working only with whole numbers. The Elliptic Curve Discrete Logarithm Problem (ECDLP) is the discrete logarithm problem for the group of points on an EC over a finite field. The best known algorithm to solve ECDLP is exponential (or at least subexponential since it is faster than exponential in log(p), but slower than polynomial), and that is why EC groups are used for cryptography. In simple terms, the Discrete Logarithm Problem (DLP) is: given an element n in the subgroup generated by a point g, find an integer m satisfying n = g m or else m=log g(n). If we are working over a large finite field and are given points P and kp, it is very difficult to determine the value of k. This is called the Discrete Logarithm Problem for elliptic curves and is the basis for the cryptographic applications we will see in this paper. An Elliptic Curve over real numbers consists of the points on the curve, along with a special point Ѻ, which is called the point at infinity and is the identity element under the addition operation. The EC can be based on Weierstrass's equation [9] which is of the form y 2 =x 3 +ax+b where x, y, a and b are real numbers. The only constraint for the values of a and b is that we do not want the curve to have repeated factors, or else multiple roots; we want the curve to have distinct roots. In other words, the discriminant of E, 4a 3 +27b 2 must not equal to zero, which guaranties that the curve is regular and there are no points where the first derivatives of the curve are cancelled out; there are no points with two or more different tangents [10]. The number of Points (or else the order of the curve) on an EC mod p denoted by #E( p) is given by the Scoof s algorithm [11] and provides the range of the number of points which is:. Elliptic Curve Cryptography (ECC) [12] has been incorporated in a number of frequently used protocols. ECC is
2 Int'l Conf. Frontiers in Education: CS and CE FECS'15 69 appealing to implementers because it requires smaller key sizes [13] [10] than other public key crypto systems such as RSA [3], while offering the same level of security. This leads to faster and more efficient implementations of algorithms in software and in hardware, and more importantly it enables the design of more energy efficient processors for mobile devices. SSH [14] is a protocol that enables secure remote logins. Key exchange between the server and the clients is implemented using Diffie- Hellman on ECs (ECDH) [1]. Each SSH server has a host key and it is used to authenticate itself to the clients. The clients need to accept and save this key the first time they connect to the server. After the first time, they verify this server host key with the saved host key. The server and the clients, then authenticates themselves by signing a transcript of the key exchange using ECDSA [15] [16] that we will talk about later. Bitcoin is a distributed peer-to-peer digital crypto currency. It enables users to make online payments directly to other parties without going through a financial institution [17]. To make a payment, a user transfers ownership of bitcoins to another user by attaching his/her ECDSA signature and the public key of the payee at the end of the new transaction. II. ECC OPERATIONS A. ECC Operations - geometrically To add two distinct points P and Q on an EC where P -Q, we draw a line through both points. This line intersects the EC in a third point called -R. Reflecting this -R point on the x-axis yields the point R which is R=P+Q, as shown in Figure 1. If P = -Q, then P+Q= Ѻ, as shown in Figure 2. The cubic curves used in ECC are depressed, which means that the square component of the equation is eliminated. The solutions (r 1, r 2, r 3) to such cubic equations is given by (x-r 1)(x-r 2)(x-r 3). Performing the multiplications we get x 3 -(r 1+r 2+r 3)x 2 +number. Because the ECC curve does not have the x 2 term, this implies that the sum of its roots is equal to zero. Having the equation of a line y=mx+d, we set the two equations equal to find their intersection points. So, x 3 +px+q = mx+d which becomes: x 3 +(p-m)x+(q-d) = 0 and the solutions are a,b,c. Since the sum of these roots equals zero, a+b must equal to c. Thus, the reflection of the c is our third point on the curve; and this is the reason we need to reflect the resulting point when we perform additions in ECs. Fig. 1. Adding distinct points P and Q on an Elliptic Curve over. The result is point R. Based on addition, we can define multiplication of a point P by a scalar as 2P=P+P, and 3P=2P+P, and 4P=3P+P or 4P = 2P+2P, etc, as shown in Figure 3. Note that when we add a point P to itself, we take the tangent on that point, which intersects the EC on another point, then we reflect that point to get 2P. Fig. 2. Adding points P and Q where point P is equal to Q. The result is the point at infinity Ѻ.
3 70 Int'l Conf. Frontiers in Education: CS and CE FECS'15 Fig. 3. Doubling the point P produces the point 2P. Adding to that P, produces 3P, etc. B. ECC Operations - algebraically Adding two points P,Q EC with coordinates P=(x 1,y 1) and Q=(x 2,y 2), we get point R=(x 3,y 3). Here we have 3 cases to consider [18]: 1. x 1 x 2 2. x 1=x 2 and y 1= -y 2 3. x 1=x 2 and y 1=y 2 Case 1. The first case involves the addition of two points P and Q that are not negative of each other (Q -P). The slope of the line passing through both points is defined as: L=(y 2- y 1)/(x 2-x 1). The coordinates of point R(x 3,y 3) = P+Q are: x 3 = L 2 -x 1-x 2 and y 3 =L(x 1-x 3)-y 1. Case 2. The second case involves the addition of two points P=(x 1,y 1) and Q=(x 1,-y 1); Q is the reflexion of point P on the x-axis. We can write this as P + (-P) = Ѻ, where Ѻ is the special point at infinity (the line passing through P and Q intersects the EC at infinity. Therefore, (x,y) and (x,-y) are inverses with respect to the elliptic curve addition operation. Here we can also see how we can subtract a point P=(x 1,y 1) from point Q=(x 2,y 2) to produce a point R. We simply reverse the sign of the y-coordinate of point P and we perform addition as it is described earlier. Case 3: The third case involves the addition of a P=(x 1,y 1) with itself: P+P=R; this is also referred to point doubling. In this case we assume that y 1 0, otherwise we would be looking at case 2 above. In this case, the slope of the line (the tangent here) is calculated as: L=(3x 12 +a) / 2y 1, where a is the variable a from the equation of the Elliptic Curve. The coordinates of the point R=(x 3,y 3) are calculated the same way as in case 1. Since we are adding a point to itself the calculations can be simplified to: x 3 = L 2-2x 1 and y 3 = L(x 1-x 3)-y 1. III. ELLIPTIC CURVES OVER A FINITE FIELD To implement cryptographic algorithms we need to work with whole numbers over a finite field, which is an essential property in cryptography; floating point arithmetic is slow and inaccurate due to round off errors. Elliptic Curves over p can be defined the same way as over where p is a prime greater that 3 (in practice p is a large prime number). The equation of the Elliptic Curve now becomes: y 2 = x 3 +ax+b (mod p) where 4a 3 +27b 2 (mod p) 0, and a, b are in the finite field p. The coordinates (x 3,y 3) of the point R=P+Q are calculated the same way as it is shown in case 1 above, but performed with (mod p): x 3 = L 2 -x 1-x 2 (mod p) and y 3 =L(x 1-x 3)-y 1 (mod p). The slope L is calculated as follows: If P Q then L=(y 2-y 1)(x 2- x 1) (mod p). If P=Q then the slope L is calculated as follows: L=(3x 12 +a)(2y 1) (mod p), where a is the variable a from the equation of the Elliptic Curve; we can rewrite the calculation of the x-coordinate as: x 3 = L 2-2x 1 (mod p), and y 3 stays the same as y 3 =L(x 1-x 3)-y 1 (mod p). We explained how we can add two distinct points and how to double a point (adding a point to itself). In other words, P+P = 2P. And 2P+P = 3P, 3P+P = 4P, and we can add 3P to 4P to get 7P, etc. We can think of it as the scalar multiplication operation under the additive notation of a point where 7P = P+P+P+P+P+P+P, adding 7 copies of the point P to itself. The strength of Elliptic Curve Cryptography relies on the fact that given points P and Q such that P = kq is computationally infeasible to find k, and this is the Elliptic Curve Discrete Logarithm Problem (ECDLP). A. Properties of Addition on ECs It can be shown [19] that the curve E( p) under point addition is a commutative / abelian group because of the following properties [20]: P + Ѻ = Ѻ + P = P for all P E( p), which makes the point Ѻ be the identity under point addition. P + (-P) = Ѻ for all P E( p), which makes the reflection of a point the inverse of the point. P + (Q+R) = (P+Q) + R for all P,Q,R E( p), which is the associativity law. P + Q = Q+P for all P,Q E( p), which is the commutative law. P + Q = R for all P,Q E( p), P + Q produces result R E( p), thus the addition operation is closed on the curve E( p). The fact that the points on an elliptic curve form an abelian group is behind most of the interesting properties and applications utilizing ECs. IV. JAVA IMPLEMENTATION DETAILS The algorithms presented here are well known and standardized. We will not present the entire implementation of these algorithms (because of space limitations), instead we will provide implementation hints on how one can implement them. For each algorithm we will provide hints on how some of the important steps of the algorithms can be implemented. Full source code is provided for free upon request.
4 Int'l Conf. Frontiers in Education: CS and CE FECS'15 71 We do not claim that our implementations outperform any other implementations. We simply provide implementation hints in Java in this paper. The source code can be used as a vehicle to deepen our understanding of the inner workings of such security algorithms. Java s BigInteger object is used almost exclusively for implementing these algorithms. This object contains methods that can operate on large numbers (primes or not) needed for all cryptographic algorithms. Its probableprime() method generates prime numbers of specified number of bits. Other methods allow you to add, subtract, multiply, etc. BigInteger objects. One of the important methods that is used frequently is the modpow() method which allows you to raise a number to a power and then perform the mod operation, all in this single call. Another method that is used as frequently is the modinverse() which allows you to perform a mod operation on the inverse of a number. Based on the BigInteger object, we created an ECC_Point object. This object allows us to perform additions of Points based on the properties of EC discussed earlier. This object enables us to perform numerical operations considering the point at infinity as well. There are two main functions is this object, one to add two points, and the second to multiply a Point by a scalar. We will be using variable names that begin with BI to indicated that the data type of a variable is of BigInteger, and ECP to indicate that the datatype of a variable is of ECC_Point; the complete object is provided in the URL mentioned above. V. DIFFIE-HELLMAN KEY EXCHANGE ALGORITHMUSING THE TEMPLATE The Diffie-Hellman key exchange algorithm is used between two parties to exchange keys securely over a public unsecured communication line. Its strength is based on the fact that while it is easy to calculate exponentials modulo a prime number, it is very hard to calculate discrete logarithms. The Diffie-Hellman Key Exchange algorithm between two parties works as follows: Both users agree on a number q that is a large prime number. Both users also agree on a number a that is a primitive root of q and a<q. User A selects a private key XA that is XA<q. User B selects a private key XB that is XB<q. User A calculates her public key YA = a XA mod q. User B calculates her public key YB = a XB mod q. At this point the two users exchange their public keys. User A Calculates the Secret key K=YB XA mod q. User B Calculates the Secret key K=YA XB mod q. Both users exchanged publicly the q, a, and their public keys YA and YB. However, it is very difficult for an eaves dropper to calculate the discrete logarithm and find either XA or XB knowing YA, YB, a, and q. In actuality, the two parties exchanged information in a public domain to securely calculate the shared secret key K, which can then be used in other symmetric algorithms. Implementation hint: To perform the operation K=YA XB mod q in Java, we can do: BI_K =BI_YA.modPow(BI_XB, BI_q); VI. DIFFIE-HELLMAN ON ELLIPTIC CURVES (ECDH) The Diffie-Hellman algorithm can also be used over Elliptic Curves between two parties to exchange keys. The algorithm works as follows: Both users agree on an elliptic curve E over a finite field such that the discrete logarithm problem is hard in E(). This implies that both users agree on the Elliptic curve (i.e. y 2 =x 3 +ax+b (mod q)) which includes the values of a and b, as well as the prime q. Both users also agree on a base point G E() so that its order is a large prime. n is the smallest integer such that ng=ѻ (where Ѻ is the point at infinity). User A selects a private key n a < n. User A calculates his public key P a = n ag. User B selects a private key n b < n. User B calculates his public key P b = n bg. Both users exchange their public keys P a and P b. User A calculates her Secret key k a = n a * P b. User B calculates her Secret key k b = n b * P a. At this point k a = k b because k a = n a * P b = n a * (n b * G) = n b * (n a * G) = n b * P a = k b. An eavesdropper only sees the curve E, the finite field and the points G, n ag and n bg. If the eavesdropper was capable of solving discrete logarithms in E(), she could then find n a from the points G and n ag. Implementation hint: To perform the operation P b = n bg in Java, we can do: ECP_Pb = ECP_G.multiply(BI_nb); VII. TRIPARTITE DIFFIE-HELLMAN The Diffie-Hellman algorithm on Elliptic Curves can be extended so that three participants are involved to derive a shared key, but we will not discuss this algorithm and its implementation in this paper. This technique requires a single exchange of messages between them [21]. It uses the Weil pairing, but a better approach is to use the Tate pairing, to define the function F. Let E be the super singular curve y 2 =x 3 +1 over Eq where q 2 (mod 3). Let S be a point on the curve of order n. The three users choose a secret number: a, b, c (mod n) respectively. They then calculate their public key as: Pa=aS, Pb=bS, Pc=cS respectively, and they broadcast them. Then each of the three participants computes the shared key as follows, which is the same as F(S,S) abc : User A: F(P b, P c) a, User B: F(P a, P c) b and User C: F(P a, P b) c. VIII. ELGAMAL DIGITAL SIGNATURES A Digital signature is a mathematical operation on a given data where anyone can verify the entity that signed a message. The verification process should be relatively easy to compute but very hard to forge someone else s signature. If one verifies that the signature is valid, this implies that the entity who claims to have signed the document is the one who actually performed
5 72 Int'l Conf. Frontiers in Education: CS and CE FECS'15 the signage of the document. The following solution relies on the difficulty of computing discrete logarithms over a finite field. Below is the algorithm where User A signs a message and sends it User B. User B then can verify or reject the signature. User A selects a generator point G E(). User A selects a secret key d (a random number). User A computes his public key PUA= dg. Public information: E,, G, PUA. Message Signature User A signs the message M by first calculating its hash value: e=h(m) User A chooses a random number k (and keeps it secret) where gcd(k,n) = 1, and N=#E() User A calculates P = k G User A stores the x-coordinate of point P in x User A calculates s k 1 (e d x) (mod N). User A transmits the signature (e, P, s) followed by the message M (User A does not try to keep the message M a secret!) Signature Verification (needs 3 Point multiplications) User B stores the x-coordinate of point P in x User B calculates V1 = x PUA + s P User B calculates V2 = e G User B accepts the signature as valid if and only if V1 is equal to V2. This algorithm works because: V1 = x PU A+s P = x d G + s k G = x d G + k 1 (e d x) k G = G ( (d x) + e (d x) )= e G = V2. Implementation hint: To perform the operation s k 1 (e d x) (mod N) in Java, we can do: BI_s = BI_k.modInverse(BI_N).multiply( BI_e.subract(BI_d.multiply(BI_x))).mod(BI_N); IX. THE DIGITAL SIGNATURE ALGORITHM (DSA) BASED ON ELLIPTICAL CURVES (ECDSA) The Digital Signature Standard [15] is based on the Digital Signature Algorithm [16]. Recently, the ECDSA [22] algorithm emerged that uses Elliptic Curves. ECDSA is similar to ElGamal s signature scheme but it uses a slightly different signature verification method which makes verification of signatures faster [19]. The main difference between ECDSA and ElGamal s digital signature system is that in ElGamal s system the verification process requires three multiplications of an integer times a point, whereas in ECDSA only two multiplications of an integer times a point are required. These multiplications are the most expensive parts of these algorithms. User_A wants to sign a message m, which is an integer or most likely the hash of the document to be signed. User_A chooses an elliptic curve E over a finite field where q is a prime number User_A chooses a base point G E() of order n; n is the smallest positive integer that ng= Ѻ, which is also the number of points on the curve. Key Generation User_A select a random d [1...n]. User_A computes PU a = dg, which is a point on the curve. d is the private Key and PUa is the public key of User_A. Public Information: E,, n, G, PU a. Signature Generation of message m User_A select a random number k, (1 k < n) User_A computes P=(x,y)=kG and r = x mod n. If r is zero restart User_A computes e = H(m) H is SHA (160 bit hash) User_A computes s k (e+dr) mod n. If s is zero restart The Signature is the pair (r,s) Signature Verification User_B verifies that r and s are in [1...n] User_B computes e=h(m) User_B computes w s mod n User_B computes u 1 = ew and u 2=rw User_B computes X=(x,y) = u 1G+u 2PU a If X is the infinity point, User_B rejects the signature, else she computes: v = x mod n User_B accepts the signature iff v is equal to r, since r = x mod n v = x mod n from from P=(x,y), that User A computes, and X=(x,y), that User B computes. This algorithm works because: X=u 1G+u 2PU a = ewg+rwpu a=es G+rs PU a = es G+rs dg = s (e+rd)g = kg=p Implementation hint: To perform the operation s k (e+dr) mod n in Java, we can do: BI_s = BI_k.modInverse(BI_N).multiply( BI_e.add(BI_d.multiply(BI_x))).mod(BI_N); X. ELGAMAL PUBLIC KEY ENCRYPTION Public Key Encryption is the mathematical operation to a message that enables only the recipient to decrypt the message. There are two families of encryption algorithms: symmetric and asymmetric. In symmetric algorithms, the same key that encrypts can also decrypt a message. In asymmetric encryption, or else public key encryption, one key encrypts and the other decrypts one key is kept secret and the other is made public. Generally, public key crypto-systems are slower than symmetric crypto-systems. Therefore, it is common to use public key systems, such Diffie-Hellman, to negotiate and establish a key that is then used in a symmetric crypto-system. Here is the ElGamal s encryption algorithm where User A encrypts a message and sends it to User B. Then only User B is able to decrypt the recover the original message. Initialization User B chooses a generator point G E().
6 Int'l Conf. Frontiers in Education: CS and CE FECS'15 73 User B chooses a secret integer d. (d is user s B private key). User B computes PUB = dg. (PUB is user s B public key). Public Information: E,, G, PU B Encryption User A expresses her message M E(). User A chooses a secret session random integer k. It is important that a different k is used each time. User A computes M1 = kg User A computes M2 = M + kpu B User A sends to User B: (M 1, M 2) Decryption User B computes and recovers M = M 2-dM 1 This algorithm works because: M 2-dM 1 = (M+kPU B) d(kg) = M + kdg kdg = M Implementation hint: To perform the operation M=M 2-dM 1 in Java, we can do: ECP_M = ECP_M2.subract( ECP_M1.multiply( BI_d)).mod(BI_q); XI. MASSEY-OMURA ENCRYPTION In Massey-Omura encryption scheme, both users agree on an elliptic curve E over a finite field such that the discrete log problem is hard in E(). This algorithm works as follows. User A places a lock on the message M and sends it to User B. User B places another lock on the message and sends it back to User A. User A then removes his lock (leaving the message with only User B s lock on, and sends it back to User B. User B then removes his lock to retrieve the message that User A sent him. Below is the algorithm. It is important to notice here that removing a lock requires the multiplication of a point with one s inverse private key. To do this, both users need to know N=#E(). If d is the private key, the d is the inverse of d in which d*d = 1. User A wants to encrypt a message M E(). User A chooses a secret integer da with gcd(d a,n) = 1. User A computes M1 = d am and sends it to User B. User B chooses a secret integer db, with gcd(d b,n) = 1. User B computes M2 = d bm 1 and sends it back to User A. User A computes d a n User A calculates M3 = d a M 2 and sends it to User B. User B computes db n User B calculates M4 = d b M 3. M 4 = M because: M 4 = d b M 3 = d b d a M 2 = d b d a d bm 1 = d b d a d b d am = M Implementation hint: To find the inverse of a number in of order N, we perform the following (finding d a knowing d a): BI_daInv = BI_da.modInverse(BI_N); XII. ELLIPTIC CURVE INTEGRATED ENCRYPTION SCHEME (ECIES) ECIES is another encryption scheme. ECIES is the most extended encryption scheme utilizing ECs. It is defined in ANSI X9.63 [23], IEEE 1363a [24], ISO/IEC [25] and SECG SEC 1 [26]. In [27] the authors compare the different ECIES versions that are implemented by different security organizations and standards. Both users agree on an elliptic curve E over a finite field so that the discrete log problem is hard for E(). Both users also agree on a point G E(). N=#E() is the number of points on the curve; the order of the curve. We need 2 different hash functions H 1 and H 2 and a symmetric encryption algorithm. An advantage of ECIES over ElGamal s and the Massey-Omura public key encryption methods is that the message M is not represented as a point on the curve, on the contrast it is any sequence of bytes. Here User B wants to send an encrypted message M to user A. Initialization User A chooses a secret integer d. (this is the secret key). User A computes PU A = dg. (this is the public key). Public Information: (E,, N, G, PU A) Encryption User B chooses a random number k where: 1 k N 1 User B computes R = kg User B computes Z = kpu A User B computes the hash of R and Z: Rh=H 1(R) and Zh=H 1(Z). User B encrypts message M using a symmetric algorithm and the key R h : C=E Rh(M) User B computes the hash of C and Z h: t1=h 2(C) and t2=h 2(Z h) User B sends to User A: (R, C, t 1, t 2) Decryption User A computes Z = dr User A computes Rh =H 1(R) and Zh =H 1(Z) User A computes t1 =H 2(C) and t2 =H 2(Zh ) If t 1 is not equal to t 1 or t 2 is not equal to t 2, reject the cipher-text C and don t even try to decrypt it, else continue. User A computes M = D Rh (C). (Note here that R h = R h). For this algorithm to work, the Z values computed by both users must be the same, and they are because: (User A computes): Z = dr = dkg (User B computes): Z = kpu A = kdg=dkg Implementation hint: To compute the Z point, user B can do the following: ECP_Z = ECP_PU A.multiply(k); CONCLUSION We presented the underlying number theory of Elliptic Curve Cryptography in a simple to understand way. We explained several algorithms and the mathematical reasons why they work. We also explained how these algorithms can be implemented using the java language and platform. We provide the complete source code of these implementations for researchers and students to experiment with and discover the beauty and elegancy of Elliptic Curve Cryptography.
7 74 Int'l Conf. Frontiers in Education: CS and CE FECS'15 REFERENCES [1] U.S. Department of Commerce/National Institute of Standards and Technology (NIST). Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography. Special Publication A Revision 2, May (retrieved Feb. 2015). [2] Whitfield Diffie and Martin E. Hellman. "New Directions in Cryptography". IEEE Transactions on Information Theory Vol. 22 (6). p , Nov [3] R. L. Rivest, A. Shamir, and L. Adleman. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Communications of the ACM, Vol.21, Issue 2, pp12026, Feb [4] Andrew Burnett, Keith Winters, and Tom Dowling, "A Java implementation of an elliptic curve Cryptosystem". Proceedings of the inaugural conference on the Principles and Practice of programming, 2002 and Proceedings of the second workshop on Intermediate representation engineering for virtual machines, (PPPJ '02/IRE '02), 2002 Pages National University of Ireland Maynooth, County Kildare, Ireland, Ireland ISBN: [5] V. Gayoso Martınez, L. Hernandez Encinas, and C. Sanchez Avila. "A Java Implementation of the Elliptic Curve Integrated Encryption Scheme." The 2010 International Conference on Security and Management (SAM 10), 2010 [6] Johann Großschadl, Dan Page, and Stefan Tillich. "Efficient Java Implementation of Elliptic Curve Cryptography for J2ME-Enabled Mobile Devices." Information Security Theory and Practice. Security, Privacy and Trust in Computing Systems and Ambient Intelligent Ecosystems Lecture Notes in Computer Science Volume 7322, 2012, pp [7] V. Gayoso Martınez and L. Hernandez Encinas. Implementing ECC with Java Standard Edition 7. International Journal of Computer Science and Artificial Intelligence Vol. 3 Iss. 4 pp13442, Dec 2013 [8] Joppe W. Bos, J. Alex Halderman, Nadia Heninger, Jonathan Moore, Michael Naehrig, and Eric Wustrow. Elliptic Curve Cryptography in Practice In Proc. Of the 18th conf. on Financial Cryptography and Data Security (FC 2014) Christ Church Barbados. March 3-7, Springer Nov [9] Joseph. H. Silverman. The Arithmetic of Elliptic Curves (2nd ed.), Springer-Verlag, New York, ISBN: , [10] Hankerson, Darrel, Menezes, Alfred J., Vanstone, Scott. Guide to Elliptic Curve Cryptography. Springer-Verlag, New York, NY, ISBN: , USA, [11] René Schoof. Elliptic Curves over Finite Fields and the Computation of Square Roots mod p. Mathematics of Computation 44, (1985), p [12] Victor S. Miller. Use of Elliptic Curves in Cryptography. Advances in Cryptology CRYPTO 1985 Proceedings. Lecture Notes in Computer Science Vol. 218 pp , Springer [13] I. F. Blake, G. Seroussi, and N. P. Smart. Elliptic Curves in Cryptography. London Mathematical Society Lecture Note Series Vol Cambridge University Press, Cambridge, 1999 ISBN Reprinted in [14] D. Stebila and J. Green. Elliptic Curve Algorithm Integration in the Secure Shell Transport Layer. RFC 5656, Dec Retrieved Feb [15] Digital Signature Standard (DSS), Federal Information Processing Standards Publications FIPS July 2013 National Institute of Standards and Technology (NIST) doi: /nist.fips U.S. Department of Commerce Retrieved Feb [16] Digital Signature Algorithm US patent A Jul Inventor David W. Kravitz. Retrieved Feb [17] Satoshi Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System. Oct Retrieved Feb [18] Douglas R. Stinson "Cryptography Theory and Practice 3rd Edition Discrete Mathematics and its applications". Series editor Kenneth H. Rosen. Publisher: Chapman & Hall/CRC Taylor & Francis Group Boca Raton London New York, ISBN13: , [19] ELLIPTIC CURVES NUMBER THEORYAND CRYPTOGRAPHY SECOND EDITION, Discrete Mathematics and its Applications Series Editor Kenneth H. Rosen 2008 by Taylor & Francis Group, LLC. Chapman & Hall/CRC. Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300. Boca Raton, FL Chapman & Hall/CRC is an imprint of Taylor & Francis Group, an Informa business. ISBN: 13: [20] William Stallings, Cryptography and Network Security: Principles and Practice fourth edition. ISBN: Pearson / Prentice Hall Upper Saddle River, NJ, 2006 [21] Antoine, Joux. A one round protocol for tripartite Diffie-Hellman. In Algorithmic Number Theory, Ed. W. Bosma, Vol of Lecture Notes in Computer. Sci., pp Springer- Verlag, Berlin, [22] The FIPS Elliptic Curve Digital Signature Algorithm Validation System (ECDSA2VS) Updated March National Institute of Standards and Technology (NIST). Information Technology Laboratory. Retrieved Feb [23] American National Standards Institute. "Public Key Cryptography for the Financial Services Industry: Key Agreement and Key Transport Using Elliptic Curve Cryptography". ANSI X9.63, [24] Institute of Electrical and Electronics Engineers. Standard Specifications for Public Key Cryptography - Amendment 1: Additional Techniques. IEEE 1363a, [25] International Organization for Standardization / International Electrotechnical Commission. Information Technology - Security Techniques - Encryption Algorithms - Part 2: Asymmetric Ciphers. ISO/IEC , [26] Standards for Efficient Cryptography Group. Recommended Elliptic Curve Domain Parameters. SECG SEC 1 version 2.0, [27] V. Gayoso Martínez, F. Hernández Álvarez, L. Hernández Encinas. "Analysis of ECIES and Other Cryptosystems Based on Elliptic Curves". Journal of Information Assurance and Security 6(4) : (2011).
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
Computer Security: Principles and Practice
Computer Security: Principles and Practice Chapter 20 Public-Key Cryptography and Message Authentication First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Public-Key Cryptography
NEW DIGITAL SIGNATURE PROTOCOL BASED ON ELLIPTIC CURVES
NEW DIGITAL SIGNATURE PROTOCOL BASED ON ELLIPTIC CURVES Ounasser Abid 1, Jaouad Ettanfouhi 2 and Omar Khadir 3 1,2,3 Laboratory of Mathematics, Cryptography and Mechanics, Department of Mathematics, Fstm,
A Survey of the Elliptic Curve Integrated Encryption Scheme
JOURNAL OF COMPUTER SCIENCE AND ENGINEERING, VOLUME, ISSUE, AUGUST 010 A Survey of the Elliptic Curve Integrated Encryption Scheme 7 V. Gayoso Martínez, L. Hernández Encinas, and C. Sánchez Ávila Abstract
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
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,
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
Overview of Public-Key Cryptography
CS 361S Overview of Public-Key Cryptography Vitaly Shmatikov slide 1 Reading Assignment Kaufman 6.1-6 slide 2 Public-Key Cryptography public key public key? private key Alice Bob Given: Everybody knows
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
1720 - Forward Secrecy: How to Secure SSL from Attacks by Government Agencies
1720 - Forward Secrecy: How to Secure SSL from Attacks by Government Agencies Dave Corbett Technical Product Manager Implementing Forward Secrecy 1 Agenda Part 1: Introduction Why is Forward Secrecy important?
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
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
The Mathematics of the RSA Public-Key Cryptosystem
The Mathematics of the RSA Public-Key Cryptosystem Burt Kaliski RSA Laboratories ABOUT THE AUTHOR: Dr Burt Kaliski is a computer scientist whose involvement with the security industry has been through
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
Final Exam. IT 4823 Information Security Administration. Rescheduling Final Exams. Kerberos. Idea. Ticket
IT 4823 Information Security Administration Public Key Encryption Revisited April 5 Notice: This session is being recorded. Lecture slides prepared by Dr Lawrie Brown for Computer Security: Principles
Lecture 25: Pairing-Based Cryptography
6.897 Special Topics in Cryptography Instructors: Ran Canetti and Ron Rivest May 5, 2004 Lecture 25: Pairing-Based Cryptography Scribe: Ben Adida 1 Introduction The field of Pairing-Based Cryptography
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
Digital Signature. Raj Jain. Washington University in St. Louis
Digital Signature Raj Jain Washington University in Saint Louis Saint Louis, MO 63130 [email protected] Audio/Video recordings of this lecture are available at: http://www.cse.wustl.edu/~jain/cse571-11/
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
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
A Java implementation of the Elliptic Curve Integrated Encryption Scheme
A Java implementation of the Elliptic Curve Integrated Encryption Scheme V. Gayoso Martínez 1, L. Hernández Encinas 1, and C. Sánchez Ávila 2 1 Department of Information Processing and Coding Institute
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
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
Public Key (asymmetric) Cryptography
Public-Key Cryptography UNIVERSITA DEGLI STUDI DI PARMA Dipartimento di Ingegneria dell Informazione Public Key (asymmetric) Cryptography Luca Veltri (mail.to: [email protected]) Course of Network Security,
Elliptic Curve Cryptography Methods Debbie Roser Math\CS 4890
Elliptic Curve Cryptography Methods Debbie Roser Math\CS 4890 Why are Elliptic Curves used in Cryptography? The answer to this question is the following: 1) Elliptic Curves provide security equivalent
Digital Signatures. Meka N.L.Sneha. Indiana State University. [email protected]. October 2015
Digital Signatures Meka N.L.Sneha Indiana State University [email protected] October 2015 1 Introduction Digital Signatures are the most trusted way to get documents signed online. A digital
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
CRYPTOGRAPHY IN NETWORK SECURITY
ELE548 Research Essays CRYPTOGRAPHY IN NETWORK SECURITY AUTHOR: SHENGLI LI INSTRUCTOR: DR. JIEN-CHUNG LO Date: March 5, 1999 Computer network brings lots of great benefits and convenience to us. We can
Blinding Self-Certified Key Issuing Protocols Using Elliptic Curves
Blinding Self-Certified Key Issuing Protocols Using Elliptic Curves Billy Bob Brumley Helsinki University of Technology Laboratory for Theoretical Computer Science [email protected] Abstract Self-Certified
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
A New Efficient Digital Signature Scheme Algorithm based on Block cipher
IOSR Journal of Computer Engineering (IOSRJCE) ISSN: 2278-0661, ISBN: 2278-8727Volume 7, Issue 1 (Nov. - Dec. 2012), PP 47-52 A New Efficient Digital Signature Scheme Algorithm based on Block cipher 1
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
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. c Eli Biham - March 30, 2011 258 Public Key Cryptography
Public Key Cryptography c Eli Biham - March 30, 2011 258 Public Key Cryptography Key Exchange All the ciphers mentioned previously require keys known a-priori to all the users, before they can encrypt
International Journal of Information Technology, Modeling and Computing (IJITMC) Vol.1, No.3,August 2013
FACTORING CRYPTOSYSTEM MODULI WHEN THE CO-FACTORS DIFFERENCE IS BOUNDED Omar Akchiche 1 and Omar Khadir 2 1,2 Laboratory of Mathematics, Cryptography and Mechanics, Fstm, University of Hassan II Mohammedia-Casablanca,
CSCE 465 Computer & Network Security
CSCE 465 Computer & Network Security Instructor: Dr. Guofei Gu http://courses.cse.tamu.edu/guofei/csce465/ Public Key Cryptogrophy 1 Roadmap Introduction RSA Diffie-Hellman Key Exchange Public key and
A Factoring and Discrete Logarithm based Cryptosystem
Int. J. Contemp. Math. Sciences, Vol. 8, 2013, no. 11, 511-517 HIKARI Ltd, www.m-hikari.com A Factoring and Discrete Logarithm based Cryptosystem Abdoul Aziz Ciss and Ahmed Youssef Ecole doctorale de Mathematiques
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
Authentication requirement Authentication function MAC Hash function Security of
UNIT 3 AUTHENTICATION Authentication requirement Authentication function MAC Hash function Security of hash function and MAC SHA HMAC CMAC Digital signature and authentication protocols DSS Slides Courtesy
A blind digital signature scheme using elliptic curve digital signature algorithm
A blind digital signature scheme using elliptic curve digital signature algorithm İsmail BÜTÜN * and Mehmet DEMİRER *Department of Electrical Engineering, University of South Florida, Tampa, FL, USA Department
Lecture 9: Application of Cryptography
Lecture topics Cryptography basics Using SSL to secure communication links in J2EE programs Programmatic use of cryptography in Java Cryptography basics Encryption Transformation of data into a form that
Constructing Pairing-Friendly Elliptic Curves with Embedding Degree 10
with Embedding Degree 10 University of California, Berkeley, USA ANTS-VII, 2006 Outline 1 Introduction 2 The CM Method: The Basic Construction The CM Method: Generating Families of Curves 3 Outline 1 Introduction
Network Security. Chapter 2 Basics 2.2 Public Key Cryptography. Public Key Cryptography. Public Key Cryptography
Chair for Network Architectures and Services Department of Informatics TU München Prof. Carle Encryption/Decryption using Public Key Cryptography Network Security Chapter 2 Basics 2.2 Public Key Cryptography
An Approach to Shorten Digital Signature Length
Computer Science Journal of Moldova, vol.14, no.342, 2006 An Approach to Shorten Digital Signature Length Nikolay A. Moldovyan Abstract A new method is proposed to design short signature schemes based
CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives
CIS 6930 Emerging Topics in Network Security Topic 2. Network Security Primitives 1 Outline Absolute basics Encryption/Decryption; Digital signatures; D-H key exchange; Hash functions; Application of hash
IMPLEMENTATION AND PERFORMANCE ANALYSIS OF ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM
NABI ET AL: IMPLEMENTATION AND PERFORMANCE ANALYSIS OF ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM 28 IMPLEMENTATION AND PERFORMANCE ANALYSIS OF ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM Mohammad Noor
Public Key Cryptography Overview
Ch.20 Public-Key Cryptography and Message Authentication I will talk about it later in this class Final: Wen (5/13) 1630-1830 HOLM 248» give you a sample exam» Mostly similar to homeworks» no electronic
ECE 842 Report Implementation of Elliptic Curve Cryptography
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
Capture Resilient ElGamal Signature Protocols
Capture Resilient ElGamal Signature Protocols Hüseyin Acan 1, Kamer Kaya 2,, and Ali Aydın Selçuk 2 1 Bilkent University, Department of Mathematics [email protected] 2 Bilkent University, Department
Network Security. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross 8-1
Network Security Abusayeed Saifullah CS 5600 Computer Networks These slides are adapted from Kurose and Ross 8-1 Public Key Cryptography symmetric key crypto v requires sender, receiver know shared secret
Cryptography and Network Security Chapter 9
Cryptography and Network Security Chapter 9 Fifth Edition by William Stallings Lecture slides by Lawrie Brown (with edits by RHB) Chapter 9 Public Key Cryptography and RSA Every Egyptian received two names,
Network Security. Computer Networking Lecture 08. March 19, 2012. HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23
Network Security Computer Networking Lecture 08 HKU SPACE Community College March 19, 2012 HKU SPACE CC CN Lecture 08 1/23 Outline Introduction Cryptography Algorithms Secret Key Algorithm Message Digest
MATH 168: FINAL PROJECT Troels Eriksen. 1 Introduction
MATH 168: FINAL PROJECT Troels Eriksen 1 Introduction In the later years cryptosystems using elliptic curves have shown up and are claimed to be just as secure as a system like RSA with much smaller key
A One Round Protocol for Tripartite
A One Round Protocol for Tripartite Diffie Hellman Antoine Joux SCSSI, 18, rue du Dr. Zamenhoff F-92131 Issy-les-Mx Cedex, France [email protected] Abstract. In this paper, we propose a three participants
SECURITY IN NETWORKS
SECURITY IN NETWORKS GOALS Understand principles of network security: Cryptography and its many uses beyond confidentiality Authentication Message integrity Security in practice: Security in application,
Introduction to Cryptography CS 355
Introduction to Cryptography CS 355 Lecture 30 Digital Signatures CS 355 Fall 2005 / Lecture 30 1 Announcements Wednesday s lecture cancelled Friday will be guest lecture by Prof. Cristina Nita- Rotaru
National Security Agency Perspective on Key Management
National Security Agency Perspective on Key Management IEEE Key Management Summit 5 May 2010 Petrina Gillman Information Assurance (IA) Infrastructure Development & Operations Technical Director National
A SURVEY ON ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM AND ITS VARIANTS
A SURVEY ON ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM AND ITS VARIANTS ABSTRACT Greeshma Sarath 1, Devesh C Jinwala 2 and Sankita Patel 3 1,2,3 Department of Computer Engineering, SVNIT, Surat [email protected],
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...
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
Digital signatures. Informal properties
Digital signatures Informal properties Definition. A digital signature is a number dependent on some secret known only to the signer and, additionally, on the content of the message being signed Property.
MANAGING OF AUTHENTICATING PASSWORD BY MEANS OF NUMEROUS SERVERS
INTERNATIONAL JOURNAL OF ADVANCED RESEARCH IN ENGINEERING AND SCIENCE MANAGING OF AUTHENTICATING PASSWORD BY MEANS OF NUMEROUS SERVERS Kanchupati Kondaiah 1, B.Sudhakar 2 1 M.Tech Student, Dept of CSE,
A New secure email scheme Using Digital Signature with S/MIME
International Journal of Computer Networks and Communications Security VOL. 4, NO. 3, MARCH 2016, 56 62 Available online at: www.ijcncs.org E-ISSN 2308-9830 (Online) / ISSN 2410-0595 (Print) A New secure
Applied Cryptography Public Key Algorithms
Applied Cryptography Public Key Algorithms Sape J. Mullender Huygens Systems Research Laboratory Universiteit Twente Enschede 1 Public Key Cryptography Independently invented by Whitfield Diffie & Martin
Crittografia e sicurezza delle reti. Digital signatures- DSA
Crittografia e sicurezza delle reti Digital signatures- DSA Signatures vs. MACs Suppose parties A and B share the secret key K. Then M, MAC K (M) convinces A that indeed M originated with B. But in case
Digital Signatures. Murat Kantarcioglu. Based on Prof. Li s Slides. Digital Signatures: The Problem
Digital Signatures Murat Kantarcioglu Based on Prof. Li s Slides Digital Signatures: The Problem Consider the real-life example where a person pays by credit card and signs a bill; the seller verifies
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
Development of enhanced Third party Auditing Scheme for Secure Cloud Storage
Development of enhanced Third party Auditing Scheme for Secure Cloud Storage Bhanu Prakash Chamakuri*1, D. Srikar*2, Dr. M.Suresh Babu*3 M.Tech Scholar, Dept of CSE, Grandhi Varalakshmi Institute Of Technology,
CS 758: Cryptography / Network Security
CS 758: Cryptography / Network Security offered in the Fall Semester, 2003, by Doug Stinson my office: DC 3122 my email address: [email protected] my web page: http://cacr.math.uwaterloo.ca/~dstinson/index.html
Lukasz Pater CMMS Administrator and Developer
Lukasz Pater CMMS Administrator and Developer EDMS 1373428 Agenda Introduction Why do we need asymmetric ciphers? One-way functions RSA Cipher Message Integrity Examples Secure Socket Layer Single Sign
2. Cryptography 2.4 Digital Signatures
DI-FCT-UNL Computer and Network Systems Security Segurança de Sistemas e Redes de Computadores 2010-2011 2. Cryptography 2.4 Digital Signatures 2010, Henrique J. Domingos, DI/FCT/UNL 2.4 Digital Signatures
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
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
THE ADVANTAGES OF ELLIPTIC CURVE CRYPTOGRAPHY FOR WIRELESS SECURITY KRISTIN LAUTER, MICROSOFT CORPORATION
T OPICS IN WIRELESS SECURITY THE ADVANTAGES OF ELLIPTIC CURVE CRYPTOGRAPHY FOR WIRELESS SECURITY KRISTIN LAUTER, MICROSOFT CORPORATION Q 2 = R 1 Q 2 R 1 R 1 As the wireless industry explodes, it faces
Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu
UT DALLAS Erik Jonsson School of Engineering & Computer Science Overview of Cryptographic Tools for Data Security Murat Kantarcioglu Pag. 1 Purdue University Cryptographic Primitives We will discuss the
CRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITY PRINCIPLES AND PRACTICE SIXTH EDITION William Stallings International Edition contributions by Mohit P Tahiliani NITK Surathkal PEARSON Boston Columbus Indianapolis New
Analysis on Secure Data sharing using ELGamal s Cryptosystem in Cloud
Analysis on Secure Data sharing using ELGamal s Cryptosystem in Cloud M.Jayanthi, Assistant Professor, Hod of MCA.E mail: [email protected] MahatmaGandhi University,Nalgonda, INDIA. B.Ranganatha
CERTIFICATE AUTHORITY SCHEMES USING ELLIPTIC CURVE CRYPTOGRAPHY, RSA AND THEIR VARIANTS- SIMULATION USING NS2
American Journal of Applied Sciences 11 (2): 171-179, 2014 ISSN: 1546-9239 2014 Science Publication doi:10.3844/ajassp.2014.171.179 Published Online 11 (2) 2014 (http://www.thescipub.com/ajas.toc) CERTIFICATE
Efficient and Robust Secure Aggregation of Encrypted Data in Wireless Sensor Networks
Efficient and Robust Secure Aggregation of Encrypted Data in Wireless Sensor Networks J. M. BAHI, C. GUYEUX, and A. MAKHOUL Computer Science Laboratory LIFC University of Franche-Comté Journée thématique
EXAM questions for the course TTM4135 - Information Security May 2013. Part 1
EXAM questions for the course TTM4135 - Information Security May 2013 Part 1 This part consists of 5 questions all from one common topic. The number of maximal points for every correctly answered question
Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths
NIST Special Publication 800-131A Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths Elaine Barker and Allen Roginsky Computer Security Division Information
Split Based Encryption in Secure File Transfer
Split Based Encryption in Secure File Transfer Parul Rathor, Rohit Sehgal Assistant Professor, Dept. of CSE, IET, Nagpur University, India Assistant Professor, Dept. of CSE, IET, Alwar, Rajasthan Technical
SE 4472a / ECE 9064a: Information Security
Western University Faculty of Engineering Department of Electrical and Computer Engineering SE 4472a / ECE 9064a: Information Security Course Outline 2015-16 Description: This course provides an introduction
Final Project RSA Secure Chat Server CSC 290 Warren Fong [email protected]
Final Project RSA Secure Chat Server CSC 290 Warren Fong [email protected] Abstract Chat servers today are readily available and very useful in conversing with people that might be close by or
Single Sign-On Secure Authentication Password Mechanism
Single Sign-On Secure Authentication Password Mechanism Deepali M. Devkate, N.D.Kale ME Student, Department of CE, PVPIT, Bavdhan, SavitribaiPhule University Pune, Maharashtra,India. Assistant Professor,
Network Security. Security Attacks. Normal flow: Interruption: 孫 宏 民 [email protected] Phone: 03-5742968 國 立 清 華 大 學 資 訊 工 程 系 資 訊 安 全 實 驗 室
Network Security 孫 宏 民 [email protected] Phone: 03-5742968 國 立 清 華 大 學 資 訊 工 程 系 資 訊 安 全 實 驗 室 Security Attacks Normal flow: sender receiver Interruption: Information source Information destination
Digital Signature Standard (DSS)
FIPS PUB 186-4 FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION Digital Signature Standard (DSS) CATEGORY: COMPUTER SECURITY SUBCATEGORY: CRYPTOGRAPHY Information Technology Laboratory National Institute
Cryptographic Algorithms and Key Size Issues. Çetin Kaya Koç Oregon State University, Professor http://islab.oregonstate.edu/koc [email protected].
Cryptographic Algorithms and Key Size Issues Çetin Kaya Koç Oregon State University, Professor http://islab.oregonstate.edu/koc [email protected] Overview Cryptanalysis Challenge Encryption: DES AES Message
Number Theory and Cryptography using PARI/GP
Number Theory and Cryptography using Minh Van Nguyen [email protected] 25 November 2008 This article uses to study elementary number theory and the RSA public key cryptosystem. Various commands will
A short primer on cryptography
A short primer on cryptography A. V. Atanasov April 14 2007 1 Preliminaries (This section is an introduction to the referred mathematical concepts. Feel free to skip it if you are familiar with the first
Public Key Cryptography of Digital Signatures
ACTA UNIVERSITATIS APULENSIS No 13/2007 MATHEMATICAL FOUNDATION OF DIGITAL SIGNATURES Daniela Bojan and Sidonia Vultur Abstract.The new services available on the Internet have born the necessity of a permanent
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
Software Tool for Implementing RSA Algorithm
Software Tool for Implementing RSA Algorithm Adriana Borodzhieva, Plamen Manoilov Rousse University Angel Kanchev, Rousse, Bulgaria Abstract: RSA is one of the most-common used algorithms for public-key
Secure File Transfer Using USB
International Journal of Scientific and Research Publications, Volume 2, Issue 4, April 2012 1 Secure File Transfer Using USB Prof. R. M. Goudar, Tushar Jagdale, Ketan Kakade, Amol Kargal, Darshan Marode
RSA Encryption. Tom Davis [email protected] http://www.geometer.org/mathcircles October 10, 2003
RSA Encryption Tom Davis [email protected] http://www.geometer.org/mathcircles October 10, 2003 1 Public Key Cryptography One of the biggest problems in cryptography is the distribution of keys.
RSA Attacks. By Abdulaziz Alrasheed and Fatima
RSA Attacks By Abdulaziz Alrasheed and Fatima 1 Introduction Invented by Ron Rivest, Adi Shamir, and Len Adleman [1], the RSA cryptosystem was first revealed in the August 1977 issue of Scientific American.
