07.07.2023 Views

Implementing-cryptography-using-python

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 8 ■ Cryptographic Applications and PKI 239

of mathematics called elliptic curves. Although the system was introduced in

the mid ’80s, it took another twenty years for the cryptosystem to gain wide

acceptance. Several factors are contributing to its increasing popularity. First, the

security of 1024-bit RSA encryption is degrading due to faster computing and

a better understanding and analysis of encryption methods. While brute force

is still unlikely to crack 1024-bit RSA keys, other approaches, including highly

intensive parallel computing in distributed computing arrays, are resulting in

more sophisticated attacks. These attacks have reduced the effectiveness of this

level of security. Even 2,048-bit encryption is estimated by the RSA Security to

be effective only until 2030. A second factor that is contributing to the adoption

of ECC is that many government entities have started to accept ECC as an

encryption method. Third, the authentication speed of ECC is faster than RSA

in terms of server authentication. Finally, certificate authorities have started

embedding ECC algorithms into their SSL certificates.

ECC was independently suggested by Neal Koblitz (University of Washington)

and Victor S. Miller (IBM) in 1985. After the introduction of Diffie-Hellman and

RSA, cryptographers started exploring other mathematics-based cryptographic

solutions looking for other algorithms that would offer easy one-way calculations

that were hard to find an inverse for; these types of functions are referred to as

trapdoors. A trapdoor function is a function that is easy to perform one way but

has a secret that is required to perform the inverse calculation efficiently. That is,

if f is a trapdoor function, then y = f(x) is easy to compute, but x = f − 1(y) is hard

to compute without some special knowledge k. Unless you have a mathematical

background, elliptic curves may be new to you; so what exactly is an elliptic

curve and how does the elliptic curve trapdoor function work?

An elliptic curve is the set of points that satisfy a specific mathematical equation.

The equation for an elliptic curve looks something like this:

2 3

y x ax b

That graphs to something that looks like Figure 8.6.

Figure 8.6: An elliptic curve

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!