Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

2021 Second International Conference on Secure Cyber Computing and Communication (ICSCCC)

The Role of Cryptography in Cryptocurrency


2021 2nd International Conference on Secure Cyber Computing and Communications (ICSCCC) | 978-1-6654-4415-6/20/$31.00 ©2021 IEEE | DOI: 10.1109/ICSCCC51823.2021.9478099

Surya Prakash Gupta Kushagra Gupta B. R. Chandavarkar


Department of CSE Department of CSE Department of CSE
NIT, Karnataka NIT, Karnataka NIT, Karnataka
Surathkal, Karnataka, India Surathkal, Karnataka, India Surathkal, Karnataka, India
suryapg041996@gmail.com kushagra.guptacse@gmail.com brcnitk@gmail.com

Abstract—In today’s world of digital media, people are mainly done by them in the network. This ledger is public to provide
sharing all of their resources via digital platforms. Today, in transparency and give a fair chance to everyone in the network.
almost all regions across the globe, the physical exchange of Since the ledger is public, we need a reliable mechanism to
money is becoming less in practice. People are more flexible
with buying and paying for their necessities via digital platforms secure these records present in the blocks. This is achieved
rather than exchanging physical money. Cryptocurrency, the using cryptography. What is cryptography? In simple words, it
new global money for the internet age, is also a medium is a study of secure communication. One person like you or me
of exchange similar to other currencies. Still, here, the sole will encrypt a message, and the other person can then decrypt
purpose of the exchange is via digital means. How secure is your it. But why do we need cryptography in cryptocurrency as
cryptocurrency? How anonymous are users of cryptocurrencies?
Since the currency is digital, it is more prone to attacks, cryptocurrencies like bitcoin are public, and hence no need
data theft, and money. Here comes the role of cryptography. for different cryptography methods? But we still make use
Cryptography is an essential mechanism for securing information of some techniques of cryptography like hashing and digital
in computer systems. Without cryptography, cryptocurrency is signatures. So, what role do they play in cryptocurrency?
just a central hub for attackers and scammers. Cryptocurrency As we know, a cryptocurrency needs to maintain a way for
requires cryptography for mainly two purposes; to secure the
transactions and to verify these transfers. This paper discusses someone to prove their identity and also to verify the integrity
the types of cryptographic techniques used in cryptocurrencies, of a large number of user’s accounts data which is possible
studies their characteristics, and explores the working of these by those techniques of cryptography. Without cryptography,
techniques. it would not have been easy to ensure that your transactions
Index Terms—Hash functions, Proof-of-work, Merkle Tree, remain hidden and to bring such safety measures, we need
Digital signatures, ECC, ECDSA
to introduce cryptography in cryptocurrency. The underlying
principle behind cryptocurrency is not the banks verifying the
I. I NTRODUCTION
transactions but instead an intelligent and intelligent system
With the technological advancements in digital payments, that uses a decentralized mechanism that depends upon some
the use of virtual money is overgrowing. This virtual money mathematics used in cryptography.
holds the same monetary value as physical money, but it is
present in digital form. A cryptocurrency is a digital currency Structure of the paper
that acts as an asset that can be exchanged between two parties Here is the structure of the paper: Section 2 discusses
resulting in a transaction. This transaction is in agreement with the cryptographic hash function and its properties. Section 3
both the parties, and hence it is said that they have finalized discusses the hashing algorithms which are used in various
the exchange digitally. This transaction is also secured using cryptocurrencies in brief. Section 4 discusses the applications
cryptography, and thus the term cryptocurrency was coined. of hash functions in cryptocurrencies. Section 5 discusses the
Cryptocurrencies use a decentralized technology that allows elliptic curve cryptography and elliptic curves over finite fields.
users to do transactions securely without the help of any Section 6 discusses the digital signature and its working. Sec-
intermediary moderator like a bank. It is a system that is tion 7 discusses the elliptic curve digital signature generation
neither regulated by any centralized authority nor tracked by and verification algorithm. Section 8 discusses the conclusion
any financial institution. This digital asset is supported by a of the study.
technology called blockchain [1], a peer-to-peer network of
nodes, also known as blocks containing all the transaction II. C RYPTOGRAPHIC H ASH F UNCTIONS
details at each stage between the two parties. These blocks are As the name suggests, the cryptographic hash function is a
linked and get security using cryptography. There are various mathematical function that takes input data and produces an
types of cryptocurrencies like Bitcoin(BTC), Litecoin(LTC), output having a fixed size. This output is known as a hash.
Ethereum(ETH) [2], etc., where Bitcoin was the first one to This hash is an enciphered text that is used in place of the
be introduced. A cryptocurrency has a ledger that is simply input text. A cryptographic hash function is required to be
a record book that maintains the parties involved, how much efficiently computable, which means we should find the output
balance they are left with and a record of all the transactions in a reasonable amount of time using the algorithm. It is a

978-1-6654-4415-6/21/$31.00 ©2021 IEEE 273

Authorized licensed use limited to: REVA UNIVERSITY. Downloaded on April 25,2022 at 08:46:36 UTC from IEEE Xplore. Restrictions apply.
2021 Second International Conference on Secure Cyber Computing and Communication (ICSCCC)

Bitcoin address creation: The Bitcoin address is a unique


address that works as a virtual location where an individual
can send cryptocurrency to another individual. A secret key,
which is a randomly selected number, is multiplied using an
elliptic curve to generate a Bitcoin address. It then gives us the
public key. This public key is then encrypted with both SHA-
256 and RIPEMD-160 [5] algorithms. The Bitcoin address
looks something like the following form:

12oFGd7f2P9K59tk90ekj5r6oTrh5hKaj2

Fig. 1. Variation in hash value after slight change in text The Bitcoin address is computed as follows:

A=RIPEMD-160(SHA-256(K))
one-way function; hence not possible to invert quickly. There here, K is Public Key and A is Bitcoin Address.
is only one way to get back the input that has produced the
output, which is by doing a brute-force search on all the sets
of possible inputs and generating the outputs from all those TABLE I. Comparison of various hash functions [6]
input sets, and checks the produced hash whether it matches
with the previous hash or not. There is something called an

Message(bits)

Block(bits)

Word(bits)

Hash(bits)
ideal hash function which has specific properties listed below.

Rounds
• It is deterministic, which means that whenever a message
is passed to the hash function as input, it will always
generate the same hash value. MD5 upto 264 512 32 128 80
SHA-1 upto 264 512 32 160 80
• The hash value should be quickly computed.
SHA-256 upto 264 512 32 256 64
• It is infeasible to get the message used to find the hash
SHA-384 upto 2128 1024 64 384 80
if the hash value is provided to you. SHA-512 upto 2128 1024 64 512 80
• It is infeasible that two dissimilar messages will result in
a similar hash value.
• By modifying the input message with just a tiny change,
the generated hash should be extensively changed such
B. Ethash
that it differs from the old hash up to a large ex-
tent(avalanche effect). [3]. Ethash [7] algorithm is designed for the cryptocurrency
Ethereum. Ethash is a member of the KECCAK [8] family
III. H ASHING A LGORITHMS USED IN C RYPTOCURRENCY
which is similar to the standard SHA-3 algorithm. It is a
A. SHA-256 memory-heavy algorithm that requires a huge amount of
SHA is short for Secure hash algorithms. It is a family memory, i.e., CPU cycles, to run on a machine. Because of
of hash functions consisting of SHA-1, SHA-2 and SHA-3. its memory-intensive nature, it is not suitable for ASIC miners
The Bitcoin cryptocurrency, SHA-256 algorithm is used, which [9].
belongs to the family of SHA-2. To provide additional security,
Bitcoin uses the SHA-256 function twice, a process known as
C. Scrypt
double-SHA-256. Table 1 shows the description of SHA-256
and the comparison of it with a different set of hash functions Scrypt [10] is mainly used in the cryptocurrencies like
SHA-256 is used in the different parts of the Bitcoin network. Litecoin and Dogecoin. It is a key derivation function(KDF)
• SHA-256 is used in the Mining as the Proof of Work in which it takes an input value and produces one or more
algorithm. secret keys. The input can be a password or simply a key. In
• SHA-256 is used in the Bitcoin address creation for cryptocurrencies, a simplified version of it is used.
improved security and privacy.
Mining: In mining, the newly created blocks are introduced D. CryptoNight
into the blockchain. It’s just another name of Proof-of-Work
[4] which is the original consensus algorithm of the blockchain CryptoNight [11] is an algorithm designed for the general-
network. An individual must know some parameters which are purpose computer CPU’s. To this day, there is no specifically
required to construct a block. The values of the parameters are designed mining device developed for it. The sole purpose
hashed to produce the block hash. After the successful creation for the development of this algorithm was to avoid applying
of the block, the miner can start the mining process. We will specific integrated circuits(ASIC). It is used in various cryp-
discuss in detail the mining process(a.k.a Proof-of-Work) later. tocurrencies like Bytecoin, Monero, Dashcoin etc.

274

Authorized licensed use limited to: REVA UNIVERSITY. Downloaded on April 25,2022 at 08:46:36 UTC from IEEE Xplore. Restrictions apply.
2021 Second International Conference on Secure Cyber Computing and Communication (ICSCCC)

IV. A PPLICATIONS OF C RYPTOGRAPHIC HASH FUNCTION


IN CRYPTOCURRENCIES

A. Proof-of-Work
Proof-of-Work is the original consensus algorithm of the
blockchain network. This algorithm is used to verify trans-
actions and generate new blocks in the chain. With PoW,
miners compete with each other to complete transactions on
the network for which they are rewarded. In the network, users
send each other digital tokens. There is a decentralized ledger
that holds all the records of the transactions. However, care
must be taken to ensure the security of the transactions and
also the arrangement of the blocks. This responsibility is given
to special nodes called miners and the process is known as Fig. 2. An example of a merkle tree [15].
mining.
Working principle of the Proof-of-Work: The main work-
ing principle behind the PoW algorithm involves solving a the network. This vulnerability is termed as a 51% attack.
complicated mathematical puzzle and providing proof of that In that case, the entity would have enough power to modify
particular solution. The puzzle is so much complex that it the transactions. Such an entity can exempt the miners from
requires a lot of computational power to solve. In the case of generating and adding new blocks. 51% attack is not so
Bitcoin, this puzzle is known as Hashcash [12]. Initially, this economical and hence requires a lot of computational power.
puzzle was used for limiting email spam and denial-of-service If it gets succeeded, we say that the network is compromised.
attacks, but nowadays, it is mainly used in Bitcoin in its mining This affects the price of the cryptocurrency to go down and
algorithm. The algorithm works relative to a challenge string hence impacts the overall value of the cryptocurrency.
say C. Miners have to solve the challenge and must come up B. Merkle tree
with a resultant string say P also known as a proof string.
Here comes the role of the cryptographic hash function. This In merkle tree, all the leaves are encrypted with a hash of
resultant string P is when combined to the challenge string C, data blocks, and non-leaf nodes are again encrypted with the
the result string says R is passed to the hash function, which hash of their children. A typical example of the structure of the
is typically SHA-256 in the case of Bitcoin. The resultant Merkle tree is shown in Fig 3. Merkle trees allow for effective
hash value has a specific property. For example, let’s say the and secure authentication of the content of extensive data.
property is that the hash value generated contains 20 zeroes at This type of structure helps ensure the consistency of the data,
the starting. As we already know that a hash function a one- and hence both the cryptocurrencies Bitcoin and Ethereum use
way function, it is nearly impossible to reverse, so the proof Merkle trees.
string P is tough to detect. Here we can visualize the effort The compression process of the hash function was executed
the miner has made. The miner has done some work using to an excessive degree when the initial Bitcoin implementation
adequate computational power and generated proof that can of Merkle trees was done by Satoshi Nakamoto. Later it was
be used to validate the work, and hence it is termed as Proof- reduced using Fast Merkle Trees [14].
of-Work. It is easy to validate whether the Proof-of-Work is C. Signature generation and verification
correct or not. It just requires the hash generated by combining Cryptographic hash functions play a significant role in
the challenge string C and the proof string P. The real work signature generation and verification. The message integrity
is to find the proof string P which the miners do, and that’s property of the cryptographic hash helps create reliable dig-
why they are rewarded for their work [13]. ital signatures. These digital signatures are employed in a
Implementation of Proof-of-Work in the blockchain: In the blockchain network to provide additional security along with
blockchain, the Proof-of-Work algorithm is implemented in the hash function. Each transaction that is carried out in the
the form of hashed blocks, meaning the hash of each block network is signed by the electronic signature of the sender
is present in the block itself. Each block contains the hash of using the private key. Hash functions ensure the security of
the previous block, which is done for additional security and the network while the digital signature ensures authenticity,
avoids any block violation. The responsibility of adding the i.e., it makes sure that the transactions are performed by valid
block after verifying it is given to the miner. The complexity users only.
of the puzzle required to be solved by the miner depends on
the number of users, the power, and the load of the network. V. E LLIPTIC CURVE CRYPTOGRAPHY
When a new block is added to the blockchain, it is concluded Elliptic curve cryptosystems are in wide use today, like in
that the transaction present in the block is confirmed. TLS [16], SSH [17], Bitcoin, and many other cryptocurrencies.
51% attack: In the blockchain network, there is a possibility The Elliptic curve cryptography (ECC) belongs to public-
in which a single entity can gain control of the majority of key cryptography. It relies on two things. The first one is

275

Authorized licensed use limited to: REVA UNIVERSITY. Downloaded on April 25,2022 at 08:46:36 UTC from IEEE Xplore. Restrictions apply.
2021 Second International Conference on Secure Cyber Computing and Communication (ICSCCC)

elliptic curves over finite fields, and the second one is the
discrete logarithm problem. It is used in the implementation of
signatures, encryption, and key exchange. The private keys in
the ECC are integers typically of 256-bit, and the public keys
are represented by the pairs of integer coordinate (x, y), on the
curve. These points are known as EC points. ECC algorithms
use a variety of elliptic curves as these curves can be useful in
providing different security levels, i.e., cryptographic strength,
performance, key length, etc. Some of the curves which are
adopted by security standards have a name like secp256k1 or
Curve25519, and there are various ECC key sizes which can
be made based on these curve. Cryptocurrency like Bitcoin
or Ethereum deals with the secp256k1 curve. ECC provides
several algorithms, out of which the majority of the cryp- Fig. 3. y 2 ≡ x3 + 7 (mod 17) [19]
tocurrencies make use of ECC digital signature algorithm like
ECDSA. All of these algorithms use public/private keys, and in
addition to that, they depend on the discrete logarithm problem in the range [0...r]. Because of that, we’re moving around this
for calculations. Elliptic curves are curves in two dimensions curve sort of seemingly at random. Let’s consider that if I give
whose points satisfy the Weierstrass equation y 2 = x3 +ax+b you a point on the curve and say how many multiples of G is
and the parameters of the curve are a and b, and also the that. Then any ideas? It could be 50G, or it could be 5 billion
curves are symmetric about the x-axis. Now they vary in shape G. There’s no way of knowing, and that is our private key, and
depending on what a and b are, for example, the NIST curve that’s the thing we can’t extract back out here. For this curve,
secp256k1 which is used in Bitcoin make use of this curve: the total number of possible private keys is defined by r which
y 2 = x3 + 7. is the order of the subgroup. To ensure that the keyspace is of
certain cryptographic strength, we will try to select cofactor,
A. EC Over finite fields generator, curve equation, etc., effectively. When we multiply
ECC makes use of the finite field [18] Fp (where p is prime G by a certain integer m which is a private key, we obtain an
and p > 3) or F2m (where the field size p = 2m). The finite EC point Q which is the public key. We can calculate Q =
field is a p × p matrix, and all the coordinates lie within m × G, using the well-known ECC multiplication algorithm
the field itself. Operations like matrix addition and matrix like the double-and-add algorithm [21] in time log2 (m) [22].
multiplication give us another point that lies within the field. It is extremely slow and it can even be considered infeasible
The following modular form of the elliptic curve equation over for large m to calculate m = Q G . ECC security strength comes
the finite field Fp is: y 2 ≡ x3 +ax+b (mod p) and the bitcoin from this dissymmetry which can be easily obtained by using
curve secp256k1 takes the form: y 2 ≡ x3 + 7 (mod p) which the Elliptic curve discrete logarithm problem (ECDLP).
can be observed from Fig 4 [19]. A finite field curve can be Now, the question comes why we are considering the
represented in a finite cyclic algebraic group [20], and that elliptical curve? This looks like it’s bringing unnecessary
group contains all the curve points. complications. In some sense, it is slightly more complicated,
The curve order is the total number of all EC points. There is but actually, it’s much more efficient mathematically. The
a unique point called point at infinity [21]. This unique point elliptic curve discrete logarithm problem is a little bit harder
is obtained after multiplying the point by 0. Those curves that to solve than the common discrete logarithm problem, which
hold all of their EC points form a single cyclic group, whereas means that elliptic curves can get away with shorter key sizes,
those containing only a subset form other non-overlapping and that means less computation. Now the question arises
cyclic subgroups. In the second case, the points are split into which curve should we consider? There are debates over what
h cyclic subgroups (partitions), each of order r (each subgroup curves are safe to use. A lot of people use the NIST P 256
holds an equal number of points). The n = h × r is the order curve, but some people or researchers don’t think that it’s
of the entire group. Here h is the count of the subgroups, and r secure because it may be thought they’ve taken shortcuts on
is the count of the points in each subgroup. Here, the number some of the parameters for efficiency reasons. The X25519
of subgroups formed by all those EC points is termed as the [23] curve is quite well-regarded because they’ve gone to great
cofactor. An example of elliptic curve having cofactor = 1 is lengths to demonstrate how they came up with their variables
secp256k1. and why it’s used. Cryptocurrency like Bitcoin or Ethereum
The thing about an elliptic curve is that in our modular mainly uses Secp256k1 as their elliptical curve.
arithmetic, we had numbers going around some modulo, just a
VI. D IGITAL S IGNATURES
list of numbers. Here we have a cycle of points somewhere on
this curve, so our generator G will be a point on this curve. It A digital signature is a helpful mathematical tool in pro-
is a constant present on the curve and is capable of generating viding authenticity of digital messages or documents. When a
any other point in its subgroup if it is multiplied by any number digital signature is signed, it gives confidence to the recipient

276

Authorized licensed use limited to: REVA UNIVERSITY. Downloaded on April 25,2022 at 08:46:36 UTC from IEEE Xplore. Restrictions apply.
2021 Second International Conference on Secure Cyber Computing and Communication (ICSCCC)

that the sender was authentic and the message was not modi- sign transactions are derived from specific parameters. Table
fied in transit. Digital signatures are used for signing electronic II gives you a clear idea that ECDSA is one of the most used
documents, signing blockchain transactions, and many other signatures by different cryptocurrencies.
cases. A well-known digital signature scheme like ECDSA In this context, Alice tries to send a message to Bob, which
which we will discuss in Section 7, is being used in many she will sign digitally before transmitting. Upon reception of
cryptocurrencies. the message, Bob needs to verify whether Alice or some other
user sent the message. The parameters E(EllipticCurve), G
A. Working of Digital Signatures in Cryptocurrency on E of order n are publicly available. Alice will choose a
Let’s discuss the working of digital signatures using an random integer privKey as her private key from the range
example and understand how they are essential in cryptocur- [1...n − 1]. She will facilitate her public key pubKey =
rency. Assume you and your friends exchange money pretty privKey ∗ G to a Central Authority(CA) where the key will
frequently, paying your share for dinner or bills, etc., but it can be stored publicly.
be inconvenient to exchange cash all the time. So you might
keep something called a ledger [24] that records payments you TABLE II. Signatures used in crytocurrency. [25]
intend to make in the future. This ledger is public to everyone

Multi-Signature
where you can add a few new lines, and at the end, you all

Borromean
look through the list of transactions and tally everything.

One-Time
ECDSA

EdDSA
Now let’s discuss what problem it can cause. One problem

Ring
with a public ledger is that when anyone can add a line, there
is no one preventing Adam from going in and writing? Adam Bitcoin
can easily add a line saying that Alice has paid Adam 2.5 BTC Ethereum
without Alice Approving? How are we supposed to trust all Litecoin
these transactions? Now the first bit of cryptography comes Monero
in: Digital signatures. Like a regular handwritten signature, Ripple
Alice will add something next to a transaction that proves that Zcash
she has seen it and approved it, and it should be infeasible for
anyone else to forge her signature. But how do you prevent
forgeries? We can prevent forgeries by generating public and A. ECDSA signature generation
private key pairs, each of which looks like some string of The signing algorithm’s input is a message msg +
bits. The handwritten signature looks the same no matter what a private key and output is a signature, which consists of
documentation you’re signing in the real-world scenario, but pair of integers (r, s). The signing algorithm works as follows:
a digital signature is much stronger because it changes for
different messages. Altering the message even slightly changes
Algorithm 1: ECDSA signature generation
what your signature on the message should look like at the 2 3
1 Elliptic curve(E) : y = x + ax + b over Fp
output. A function that entirely depends on the message and
2 a = 0, b = 7
your private key will help us produce the signature. The secret
3 G : Generator point in E
key ensures that only you can create the signature, and the fact
4 n : Prime order
that it depends on the message means no one can copy one of
5 h ←− SHA-256(msg)
your signatures to forge it on another message. Hand-in-hand
6 m ←− [1...n − 1]
is a function to verify that a signature is valid or not, which is
7 compute: (x, y) = m × G
where the public key comes into play. It is entirely infeasible
8 x−coordinate: r = x (mod n)
for anyone to find a valid signature if he/she doesn’t know −1
about the private key. We can make only guesses and check if 9 sign: s = m × (h + r × privKey) (mod n)
10 if s = 0 then GOTO step 6
random signatures are correct using the public key until you
11 return (r, s)
find the correct one.

VII. E LLIPTIC C URVE D IGITAL S IGNATURE A LGORITHM


Elliptic Curve Digital Signature is one of the building block B. ECDSA verify signature
algorithms for cryptocurrency. Since cryptocurrencies are de- The algorithm takes as input the signed msg + the signature
centralized, the transactions related to them will not include (r, s) generated from the signing algorithm + the pubKey
any third party, but instead, the communication between the which Bob obtained from the CA. The output is either valid
two parties will entirely depend on cryptography. In that case, or invalid signature. The verify algorithm works as follows :
ECDSA, which is a digital signature scheme based on elliptic The primary notion of the signature verification is to obtain
curve cryptography, will be used to prove any cryptocurrency the point r’ using the public key and check whether it is the
ownership and sign those cryptocurrency transactions. ECDSA same point r. If they are the same, then Bob can be assured
keys will be used to generate cryptocurrency addresses, and that the message is authentic, and hence he will accept it.

277

Authorized licensed use limited to: REVA UNIVERSITY. Downloaded on April 25,2022 at 08:46:36 UTC from IEEE Xplore. Restrictions apply.
2021 Second International Conference on Secure Cyber Computing and Communication (ICSCCC)

Algorithm 2: ECDSA verify signature [5] H. Dobbertin, A. Bosselaers, and B. Preneel, “Ripemd-160,” 2012. https:
2 3
1 Elliptic curve(E) : y = x + ax + b over Fp //homes.esat.kuleuven.be/∼bosselae/ripemd160.html.
[6] A. Abidi, B. Bouallegue, and F. Kahri, “Implementation of elliptic
2 a = 0, b = 7 curve digital signature algorithm (ecdsa),” in 2014 Global Summit on
3 G : Generator point in E Computer Information Technology (GSCIT), pp. 1–6, 2014.
4 n : Prime order [7] “Ethash,” 2015. https://eth.wiki/en/concepts/ethash/ethash.
[8] A. M. Antonopoulos and G. Wood, Mastering ethereum: building smart
5 h ←− SHA-256(msg) contracts and dapps. O’reilly Media, 2018.
0 −1
6 compute: s = s (mod n) [9] C. Tardi, “Application-specific integrated circuit (asic) bitcoin miner,”
0 2019. https://www.investopedia.com/terms/a/asic.asp.
7 compute: v1 = h × s (mod n)
0 [10] “Scrypt,” 2009. https://en.wikipedia.org/wiki/Scrypt.
8 compute: v2 = r × s (mod n) [11] “Cryptonight,” 2018. https://en.bitcoin.it/wiki/CryptoNight.
9 compute: (x, y) = v1 × G + v2 × pubKey [12] A. Back, “Hashcash,” 1997. http://www.hashcash.org/.
0 [13] S. Seang and D. Torre, “Proof of Work and Proof of Stake Consensus
10 x−coordinate: r = x (mod n)
Protocols: A Blockchain Application for Local Complementary Cur-
11 accept←→r’==r rencies,” GREDEG Working Papers 2019-24, Groupe de REcherche en
Droit, Economie, Gestion (GREDEG CNRS), Université Côte d’Azur,
France, Sept. 2019. https://ideas.repec.org/p/gre/wpaper/2019-24.html.
[14] M. Friedenbach, K. Alm, and BtcDrak, “Fast merkle trees,” 2017. https:
Suppose a random user Mike wants to claim himself as //github.com/bitcoin/bips/blob/master/bip-0098.mediawiki.
[15] Jeff, “What is a merkle tree and how does it help organize data on
Alice. He will generate a false message msg and selects a the bitcoin blockchain?,” 2018. https://bitcoin.eu/what-is-a-merkle-tree-
random integer m and computes (x, y) = mQ where Q is and-how-does-it-help-organize-data-on-the-bitcoin-blockchain/.
another random point on the curve. He then computes r = x [16] T. Dierks and E. Rescorla, “The transport layer security (tls) proto-
col version 1.2,” Internet Research Task Force (IRTF), 2008. https:
(mod n) and in addition to that computes m−1 and h. Now //tools.ietf.org/html/rfc5246.
Mike has to correctly obtain s in such a way that r0 == r. [17] T. Ylonen, “Ssh (secure shell),” 1995. https://en.wikipedia.org/wiki/
Since the signature s is dependent upon Alice’s privKey, SSH (Secure Shell).
[18] A. Gupta, “Elliptic curve cryptography over finite fields,” 2019.
Mike has to apply some mechanism to get the signature s https://medium.com/the-capital/elliptic-curve-cryptography-over-finite-
despite knowing Alice’s privKey or he has to solve the fields-1d836453fbbe.
ECDLP to obtain Alice’s privKey successfully. [19] S. Grau, “Elliptic curves over finite fields,” 2017. https://graui.de/code/
elliptic2/.
[20] “Cyclic group,” 2020. https://en.wikipedia.org/wiki/Cyclic
VIII. C ONCLUSION group#Subgroups.
[21] M. Amara and A. Siad, “Elliptic curve cryptography and its applica-
The use of technology in cryptocurrencies is increasing tions,” in International Workshop on Systems, Signal Processing and
rapidly. However, the security of cryptocurrencies is an im- their Applications, WOSSPA, pp. 247–250, 2011.
portant issue. Although we have discussed the role of SHA- [22] “Double-and-add,” 2004. https://en.wikipedia.org/wiki/Elliptic curve
point multiplication#Double-and-add.
256/ECDSA algorithm, we have observed that there are still [23] A. Langley, M. Hamburg, and S. Turner, “Elliptic curves for security,”
advancements required for better security reasons, and re- Internet Research Task Force (IRTF), 2016. https://tools.ietf.org/html/
searchers are working on those continuously. ECDSA is one of rfc7748.
[24] S. Seth, “What is a cryptocurrency public ledger?,” 2020. https:
the most used digital signatures by many cryptocurrencies, but //www.investopedia.com/tech/what-cryptocurrency-public-ledger/).
we can still observe that it is not the only signature available [25] L. Wang, X. Shen, J. Li, J. Shao, and Y. Yang, “Cryptographic primi-
for use. There are other options as well, having their pros and tives in blockchains,” Journal of Network and Computer Applications,
vol. 127, pp. 43 – 58, 2019.
cons. We have even observed that despite many standardized [26] N. Reiff, “The 10 most important cryptocurrencies other than
algorithms being developed by certain organizations, there bitcoin,” 2020. https://www.investopedia.com/tech/most-important-
are no strict protocols that cryptocurrencies have to follow cryptocurrencies-other-than-bitcoin/.
or implement. Since cryptocurrencies are decentralized, they
are defining their protocols instead of using standardized
ones. For an example, the cryptocurrency Ethereum is using
KECCAK-256 algorithm [8] instead of the NIST standardized
SHA-3. Can we say that the cryptographic techniques which
are present to date are sufficient enough? The answer is a
big NO. As per the recent data [26] there are more than
2000 cryptocurrencies in the market. So, the security-related
requirements of cryptocurrencies will always be there in need.

R EFERENCES
[1] L. W. Conway, “Blockchain explained,” 2020. https:
//www.investopedia.com/terms/b/blockchain.asp.
[2] “List of cryptocurrencies,” 2020. https://en.wikipedia.org/wiki/List of
cryptocurrencies.
[3] “Avalanche effect,” 2006. https://en.wikipedia.org/wiki/Avalanche
effect).
[4] A. Hertig, “What is proof-of-work?,” 2020. https://www.coindesk.com/
what-is-proof-of-work.

278

Authorized licensed use limited to: REVA UNIVERSITY. Downloaded on April 25,2022 at 08:46:36 UTC from IEEE Xplore. Restrictions apply.

You might also like