ArticlePDF Available

A Survey of the Elliptic Curve Integrated Encryption Scheme

Authors:

Abstract and Figures

Elliptic Curve Cryptography (ECC) is a relatively recent branch of cryptography based on the arithmetic of elliptic curves and the Elliptic Curve Discrete Logarithm Problem (ECDLP). Elliptic curve cryptographic schemes are public-key mechanisms that provide encryption, digital signature and key exchange capabilities. The best known encryption scheme based on ECC is the Elliptic Curve Integrated Encryption Scheme (ECIES), included in the ANSI X9.63, ISO/IEC 18033-2, IEEE 1363a, and SECG SEC 1 standards. In the present work, we offer a comprehensive introduction to ECIES, detailing the encryption and decryption procedures and the list of functions and special characteristics included in aforementioned standards.
Content may be subject to copyright.
JOURNAL OF COMPUTER SCIENCE AND ENGINEERING, VOLUME 2, ISSUE 2, AUGUST 2010
7
© 2010 JCSE
http://sites.google.com/site/jcseuk/
A Survey of the Elliptic Curve Integrated
Encryption Scheme
V. Gayoso Martínez, L. Hernández Encinas, and C. Sánchez Ávila
AbstractElliptic Curve Cryptography (ECC) is a relatively recent branch of cryptography based on the arithmetic of elliptic
curves and the Elliptic Curve Discrete Logarithm Problem (ECDLP). Elliptic curve cryptographic schemes are public-key
mechanisms that provide encryption, digital signature and key exchange capabilities. The best known encryption scheme based
on ECC is the Elliptic Curve Integrated Encryption Scheme (ECIES), included in the ANSI X9.63, ISO/IEC 18033-2, IEEE
1363a, and SECG SEC 1 standards. In the present work, we offer a comprehensive introduction to ECIES, detailing the
encryption and decryption procedures and the list of functions and special characteristics included in aforementioned standards.
Index Terms— Elliptic Curve Cryptography, ECIES, encryption scheme.
.
——————————
——————————
1 INTRODUCTION
HE development of public-key cryptography by
Whitfield Diffie and Martin Hellman in 1976 [1]
represented a revolution in the cryptographic world,
overcoming some of the limitations inherent to symme-
tric-key algorithms such as the key distribution problem.
Public-key schemes are complex designs that, in order
to be useful, must be secure and efficient. In general, both
characteristics depend on the mathematical problem on
which they are based. Some examples of those problems
are the integer factorization problem (IFP) used in the
RSA cryptosystem [2], the discrete logarithm problem
(DLP) used in the ElGamal scheme [3], and the elliptic
curve discrete logarithm problem (ECDLP).
In 1985, Victor Miller [4] and Neal Koblitz [5] indepen-
dently proposed a cryptosystem based on elliptic curves,
whose security relies on the ECDLP problem. Elliptic
Curve Cryptography (ECC) can be applied to data en-
cryption and decryption, digital signatures, and key ex-
change procedures.
As in the case of the IFP and DLP, no algorithm is
known that solves the ECDLP in an efficient way. Moreo-
ver, the ECDLP is regarded as the hardest of these three
problems ([5] and [6]). From this fact derives one of the
most important benefits of ECC: the key size. Keys in
ECC are significantly shorter than in other cryptosystems
such as RSA. A shorter key implies easier data manage-
ment, lower hardware requirements (in terms of buffers,
memory, data storage, etc.), less bandwidth when trans-
mitting the keys over a network, and longer battery life in
devices where it is important, such as mobile phones.
A comparison between RSA and ECC key lengths is
shown in Table 1 and illustrated in Fig. 1, with data taken
from [7] and [8], where the security level is interpreted as
the cryptographic strength provided by a symmetric en-
cryption algorithm using a key of n bits.
TABLE
1
K
EY
L
ENGTH
C
OMPARISON OF
RSA
AND
ECC
——————— —————— ———
V. Gayoso Martínez is with the Applied Physics Institute, Spanish Nation-
al Research Council (CSIC), Madrid, Spain.
L. Hernández Encinas is with the Applied Physics Institute, Spanish Na-
tional Research Council (CSIC), Madrid, Spain
C. Sánchez Ávila is with the Applied Mathematics to Information Technol-
ogies Department, Polytechnic University, Madrid, Spain.
T
Fig. 1. Key length comparison for RSA and ECC cryptosystems.
Security
level
(bits)
RSA
key length
(bits)
ECC
key length
(bits)
Approx.
ratio
80
1024
16
0
-
223
5
-
6
112
2048
224
-
2
55
8
-
9
128
3072
256
-
283
11
-
12
:1
192
7680
384
-
511
15
-
2
0
:1
256
15360
5
12
-
571
2
7
-
30
:1
JOURNAL OF COMPUTER SCIENCE AND ENGINEERING, VOLUME 2, ISSUE 2, AUGUST 2010
8
In the present work, we provide a comprehensive in-
troduction to the ECIES encryption scheme, detailing the
encryption and decryption procedures and the list of
functions and special characteristics included in the ANSI
X9.63, IEEE 1363a, ISO/IEC 18033-2, and SECG SEC 1
standards.
This paper is organized as follows: Sections 2 presents
a brief introduction to elliptic curves and ECC. Section 3
enumerates the most important ECC implementations for
key exchange, digital signatures and encryption applica-
tions. Section 4 describes in detail the ECIES scheme and
the encryption and decryption steps performed during its
operation. In Section 5 we offer a comparison of the
ECIES allowed functions contained in the aforementioned
standards. Finally, Section 6 provides a description of
some of the additional options that must be taken into
consideration not only when developing an ECIES im-
plementation, but also when using this encryption
scheme as a final user.
An earlier version of this work appeared in [9], where
the comparison of the ECIES standads was included for
the first time by the authors. The present contribution
offers, in addition to what was presented in [9], an ex-
tended introduction to ECC, the fully detailed encryption
and decryption processes, and the section dealing with
the additional options that must taken into account when
configuring ECIES.
2 ELLIPTIC CURVE CRYPTOGRAPHY
An elliptic curve E over the finite field (or Galois Field)
GF is defined by the following equation, known as the
Weierstrass equation for elliptic curves in non-
homogeneous form [7]:
64
2
2
3
31
2
axaxaxyaxyay +++=++ , (1)
where
64321
,
,
,
,
a
a
a
a
a
GF and
0
, being the discri-
minant of E calculated in the following way [10]:
642
2
6
3
48
2
2
9278
ddddddd +=
,
being
2
2
12
4
aad +=
,
3144
2
a
a
a
d
+
=
,
6
2
36
4
aad +=
, and fi-
nally
2
4
2
32431626
2
18
4
aaaaaaaaaad ++=
.
Condition
0
assures that the curve is non-singular,
and thus there are no curve points with two or more dif-
ferent tangent lines.
The homogeneous form of the Weierstrass equation is
3
6
2
4
2
2
32
31
2
ZaXZaZXaXYZaXYZaZY +++=++
,
and this implies the existence of a special point which can
only be interpreted in the projective plane: the point at
infinity O. This point is paramount in the usage of elliptic
curves in cryptography, as it is the identity element that,
together with the rest of the points of the elliptic curve
and the addition operator (which allows to add two
points of the elliptic curve, P and Q, in order to generate
another point, R=P+Q), characterizes the elliptic curve
with the mathematical structure of an abelian group.
When the same point is added several times
to itself in the abelian group defined by an elliptic
curve, the addition operator is transformed into the
scalar multiplication, which in practice allows to multiply
an elliptic curve point P by a positive integer n in order to
produce another elliptic curve point, S=n·P.
The number of points of an elliptic curve (concept also
known as the cardinal or the order of the curve) is
represented as #E. In contrast, the order of a point P that
belongs to an elliptic curve E is the smaller integer n that
produces the result n·P=O.
From a cryptographic point of view, not every elliptic
curve is useful. Cryptographers are interested in elliptic
curves that form cyclic abelian groups, and also in elliptic
curves with cyclic subgroups, so that the cofactor is a
small number (e.g. 2, 4, etc.). As a consequence of La-
grange’s theorem (which states that for any finite group
M, the order of every subgroup N of M divides the order
of M), the order of the generator (i.e. the elliptic curve
point that generates all the points of the cyclic subgroup)
always divides the order of the elliptic curve (which not
necessarily is a prime number).
Two types of finite fields GF(q), with q = p
m
elements,
are used in ECC: prime finite fields GF(p) (where p is an
odd prime and m = 1) and binary finite fields GF(2
m
)
(where p = 2 and m can be any integer greater than 1).
When working with finite fields, using the proper change
of variables it is possible to simplify the Weierstrass equa-
tion, obtaining new equations less general (they are
adapted to specific finite fields) but easier to manage.
If the characteristic of the finite field is 2, then
GF(q)=GF(2
m
). If
0
1
a
, the equation (1) can be reduced to
the form
baxxxyy ++=+
232
,
(2)
where the discriminant is
b
=
.
If
0
1
=
a
, then the equation (1) is transformed into
baxxcyy ++=+
32
,
(3)
where the discriminant is
4
c=
.
Moreover, if the characteristic of the finite field is 3,
then two cases appear. If
2
2
1
aa
, the equation (1) is re-
duced to
baxxy ++=
232
,
(4)
where the discriminant is
ba
3
=
.
In contrast, if
2
2
1
aa =
, then equation (1) is reduced to
baxxy ++=
32
,
(5)
where the discriminant is
3
a=
.
Finally, if the characteristic of GF(q) is neither 2 nor 3,
using the proper change of variables the equation (1) can
be transformed into
baxxy ++=
32
,
(6)
where the discriminant is
(
)
23
27416 ba +=
.
The set of parameters to be used in any ECC imple-
mentation depends on the underlying finite field. When
JOURNAL OF COMPUTER SCIENCE AND ENGINEERING, VOLUME 2, ISSUE 2, AUGUST 2010
9
the field is GF(p), the set of parameters that define the
curve is (p,a,b,G,n,h), whereas if the finite field is GF(2
m
),
the set of parameters is (m,f(x),a,b,G,n,h). The meaning of
each element in both sets is the following:
p is the prime number that characterizes the finite
field GF(p).
m is the integer number specifying the finite field
GF(2
m
).
f(x) is the irreducible polynomial of grade m defining
GF(2
m
).
a and b are the elements of the finite field GF(q) tak-
ing part in the equations (2), (3), (4), (5), and (6).
G=(Gx,Gy) is the point of the curve that will be used
as a generator of the points representing public keys.
n is the prime number whose value represents the
order of the point G (i.e. n·G=O).
h is the cofactor of the curve, computed as h=#E/n,
where n is the order of the generator G.
3 ECC STANDARDS
Theoretical findings related to either RSA or ECC cannot
be used directly, as it is necessary to define data struc-
tures and procedures to manage the information. Cur-
rently there are three immediate applications for ECC in
cryptography, as it is described in this section.
3.1 Elliptic Curve Diffie-Hellman
The main objective of key exchange protocols is to put in
contact two or more entities communicating through an
open and insecure channel, sharing a secret key that will
provide data confidentiality and integrity to any informa-
tion exchanged using that channel.
ECDH denotes the generic key exchange scheme based
on the Diffie-Hellman mechanism applied to elliptic
curves. Some practical implementations can be found in
ANSI X9.63 [11], IEEE 1363 [12], NIST SP 800-56A [13],
and SEC 1 [14] documents.
3.2 Elliptic Curve Digital Signature Algorithm
FIPS 186-2 [15] describes all the algorithms and digital
signature schemes that can be used by any agency of the
U.S. government. Currently those algorithms are DSA,
RSA and ECDSA. ECDSA is the elliptic curve variant of
the Digital Signature Algorithm (DSA).
Both FIPS 186-2 [15] and ANSI X9.62 [16] state a mini-
mum key size of 1024 bits for RSA and DSA and 160 bits
for ECC, which provides an equivalent security to a
symmetric block cipher with a key size of 80 bits (see Ta-
ble 1).
As a comparison, texts signed with a 1024 bits RSA key
produce a digital signature of 128 bytes, whilst the same
text signed with a 192 bits ECDSA key generates a digital
signature of 48 bytes.
3.3 Elliptic Curve Integrated Encryption Scheme
The most extended encryption and decryption scheme
based on ECC is the Elliptic Curve Integrated Encryption
Scheme (ECIES). This scheme is a variant of the ElGamal
scheme proposed by Abdalla, Bellare, and Rogaway in
[17] and [18].
Slightly different versions of ECIES can be found at
ANSI X9.63 [11], IEEE 1363a [19], ISO/IEC 18033-2 [20]
and SEC 1 [14] standards.
As an example, any standard symmetric key encrypted
with a 1024 bits RSA key produces an output of 128 bytes
compared with the output of 84 bytes if the encryption is
performed with one of the possible configurations of
ECIES.
4 ECIES
As its name properly indicates, ECIES is an integrated
encryption scheme which uses the following functions:
Key Agreement (KA): Function used for the genera-
tion of a shared secret by two parties.
Key Derivation Function (KDF): Mechanism that
produces a set of keys from keying material and
some optional parameters.
Encryption (ENC): Symmetric encryption algorithm.
Message Authentication Code (MAC): Data used in
order to authenticate messages.
Hash (HASH): Digest function, used within the KDF
and the MAC functions.
In order to describe the steps that must be taken in or-
der to encrypt a clear message, we will follow the tradi-
tion and will assume that Alice wants to send a message
to Bob. In that scenario, Alice’s ephemeral private and
public keys will be represented as u and U, respectively.
Similarly, we will refer to Bob‘s private and public keys
as v and V, respectively.
In ECC, private keys are elements of the finite field, ei-
ther GF(p) or GF(2
m
), whilst public keys are points belong-
ing to the elliptic curve and calculated as the product of
the private key and the generator G of the elliptic curve.
The steps (shown in Fig. 2) that Alice must complete are
the following:
1) Alice must create an ephemeral key pair consisting in
the finite field element u and the elliptic curve point
U=u·G. That key pair should be generated pseudo-
randomly exclusively for the current process.
2) After the ephemeral keys u and U are generated,
Alice will use the Key Agreement function, KA, in
order to create a shared secret value, which is the re-
sult of the escalar multiplication u·V, considering as
input values Alice's ephemeral private key u and
Bob's public key V.
3) Then, Alice must take the shared secret value u·V
and optionally other parameters (e.g. the binary re-
presentation of the ephemeral public key U) as input
data for the Key Derivation Function, KDF. The out-
put of this function is the concatenation of the sym-
metric encryption key, k
ENC
, and the MAC key, k
MAC
.
4) With the element k
ENC
and the clear message, m,
Alice will use the symmetric encryption algorithm,
ENC, in order to produce the encrypted message, c.
5) Taking the encrypted message c, k
MAC
and optionally
other parameters, such as a text string previously
agreed by both parties, Alice must use the selected
MAC function in order to produce a tag.
6) Finally, Alice will take the temporary public key U, the
JOURNAL OF COMPUTER SCIENCE AND ENGINEERING, VOLUME 2, ISSUE 2, AUGUST 2010
10
tag, and the encrypted message c, and will send the
cryptogram (U||tag||c) consisting of those three con-
catenated elements to Bob.
Regarding the decryption process, the steps that Bob
must perform (shown in Fig. 3) are the following:
1) After receiving the cryptogram (U||tag||c) from
Alice, Bob must retrieve the ephemeral public key U,
the tag, and the encrypted message c, so he can deal
with those elements separately.
2) Using the retrieved ephemeral public key, U, and his
own private key, v, Bob will multiply both elements
in order to produce the shared secret value v·U, as
the result of this computation is the same that the
product u·V, which is the core of the Diffie-Hellman
procedure ([1] and [7]).
3) Taking as input the shared secret value v·U and the
same optional parameters that Alice used, Bob must
produce the same encryption and MAC keys by
means of the KDF procedure.
4) With the MAC key k
MAC
, the encrypted message c,
and the same optional parameters used by Alice,
Bob will first compute the element tag*, and then he
will compare its value with the tag that he received
as part of the cryptogram. If the values are different,
Bob must reject the cryptogram due to a failure in
MAC verification procedure.
5) If the tag value generated by Bob is the correct one,
then he will continue the process by deciphering the
encrypted message c using the symmetric ENC algo-
rithm and k
ENC
. At the end of the decryption process,
Bob will be able to access the plaintext that Alice in-
tended to send him.
5 ECIES ALLOWED FUNCTIONS COMPARISON
This section presents the comparison of allowed KA,
KDF, HASH, ENC, and MAC functions that appear in the
ANSI X9.63 [11], IEEE 1363a [17], ISO/IEC 18033-2 [20],
and SECG SEC 1 [14] standards.
Table 2 shows the different KA functions allowed in
ECIES. In the context of ECIES, DH denotes the Diffie-
Hellman key agreement function [1] whose standard pro-
cedure was described in Section 4, whilst the term DHC
refers to the Diffie-Hellman variant that, in addition to
the sender’s and recipient’s keys, includes the cofactor in
the computation of the shared secret value by means of
the products h·u·V and h·v·U [7].
TABLE
2
ECIES
KA
F
UNCTIONS PER
S
TANDARD
X9.63 1363a 18033-2 SEC 1
DH DH DH DH
DHC DHC DHC
The KDF functions considered in ECIES are presented
in Table 3, where X9.63-KDF is the KDF function defined
in the ANSI X9.63 standard, KDF1 and KDF2 are func-
tions defined by the ISO/IEC 18033-2 document, and
NIST-800-56 is the KDF concatenation function specified
in NIST SP 800-56A [13].
Fig. 2. ECIES encryption functional diagram.
JOURNAL OF COMPUTER SCIENCE AND ENGINEERING, VOLUME 2, ISSUE 2, AUGUST 2010
11
TABLE
3
ECIES
KDF
F
UNCTIONS PER
S
TANDARD
ANSI X9.63 IEEE 1363a ISO 18033-2 SECG SEC 1
X9.63-KDF X9.63-KDF
KDF1 X9.63-KDF
KDF2 NIST-800-56
In Table 4, the HASH functions used in ECIES are pre-
sented. SHA-1 is the well-known digest function included
in [21]; SHA-2 represents the family composed by SHA-
256, SHA-384, and SHA-512 [21]; SHA-2* is the SHA-2
family with the addition of the SHA-224 hash algorithm
[21]; RIPEMD is the set of hash algorithms defined in [22];
and WHIRLPOOL is the function defined in [23].
TABLE
4
ECIES
HASH
F
UNCTIONS PER
S
TANDARD
ANSI X9.63 IEEE 1363a ISO 18033-2 SECG SEC 1
SHA-1 SHA-1 SHA-1 SHA-1
SHA-2 SHA-2 SHA-2*
RIPEMD RIPEMD
WHIRLPOOL
The symmetric ciphers considered in ECIES are shown
in Table 5, where TDES is the Triple DES algorithm in
CBC mode [24]; AES represents the Advanced Encryption
Standard family, i.e., AES-128, AES-192, and AES-256
[25]; and MISTY1, CAST-128, Camellia, and SEED are the
algorithms specified in [26], [27], [28], and [29], respec-
tively.
TABLE
5
ECIES
ENC
F
UNCTIONS PER
S
TANDARD
ANSI X9.63 IEEE 1363a ISO 18033-2 SECG SEC 1
XOR TDES TDES XOR
AES AES AES
MISTY1
CAST-128
Camellia
SEED
In Table 6, the allowed MAC functions are shown.
DEA is the MAC function specified in ANSI X9.19 [30];
X9.71 is the reference to another MAC standard devel-
oped by ANSI [31]; MAC1, HMAC-SHA-1, and HMAC-
RIPEMD are defined in [32]; HMAC-SHA-2 represents
the family of HMAC algorithms, i.e., HMAC-SHA-256,
HMAC-SHA-384, and HMAC-SHA-512, described in [33];
HMAC-SHA-2* is the same as HMAC-SHA-2 with the
addition of the HMAC-SHA-224 function; and CMAC-
AES is the set of HMAC functions related to the AES
symmetric algorithm, that is, CMAC-AES-128, CMAC-
AES-192, and CMAC-AES-256, included in [34].
Fig. 3. ECIES decryption functional diagram.
JOURNAL OF COMPUTER SCIENCE AND ENGINEERING, VOLUME 2, ISSUE 2, AUGUST 2010
12
TABLE
6
ECIES
MAC
F
UNCTIONS PER
S
TANDARD
ANSI X9.63 IEEE 1363a ISO 18033-2 SECG SEC 1
DEA MAC1 H-SHA-1 H-SHA-1
ANSI X9.71
H-SHA-2 H-SHA-2*
H-RIPEMD CMAC-AES
6 ECIES ADDITIONAL OPTIONS
Due to the significant number of functions implied in the
operation of ECIES, there are several options that must be
fixed in order to allow the recipient to correctly interpret
the cryptogram and successfully decrypt it.
In this section we present the most interesting addi-
tional options that must be taken into account by both
ECIES developers and users.
6.1 Point compression usage
When converting an elliptic curve point into a binary
string, sender and recipient must agree on one of the fol-
lowing two formats:
Uncompressed: Both coordinates are taken into ac-
count. A header byte 0x04 indicates that this is the
format in use, so the byte string corresponding to the
elliptic curve point P=(Px,Py) would be 0x04|| Px
|| Py, where Px and Py are the binary representa-
tions of the coordinates (considered as integer num-
bers), and || is the concatenation operator.
Compressed: Only the first coordinate is used, which
is signalled by using the header byte 0x02 or 0x03.
The proper value of the header is decided based on
some computations performed involving both coor-
dinates, so for any elliptic curve point only one
compressed binary representation, either 0x02||Px
or 0x03||Px, is valid.
6.2 Shared secret value generation
Independently of which of the KA functions is used (DH
or DHC), users face a variety of options regarding the
information that will be taken as input in the KDF func-
tion:
Firstly, users must decide whether to use the whole
point P=(Px,Py), obtained as the output of the KA
function, or just the first coordinate of that point, Px.
Secondly, they must decide whether to use the ele-
ment selected given the previous decision, or the
hash output of that element, as it is described in [19].
6.3 Keying material interpretation
Before obtaining the MAC and ENC keys from the output
of the KDF function, users must define the interpretation
order of that output. The two options available are:
First, the MAC key; then, the ENC key (k
MAC
||k
ENC
).
First, the ENC key; then, the MAC key (k
ENC
||k
MAC
).
CONCLUSIONS
ECIES is the best known encryption scheme in the scope
of ECC, which is one of the most interesting current cryp-
tographic trends. Even though ECIES provides some val-
uable advantages over other cryptosystems as RSA, the
number of slightly different versions of ECIES included in
the standards may obstruct the adoption of ECIES.
After analyzing the ECIES descriptions contained in
ANSI X9.63, IEEE 1363a, ISO/IEC 18033-2, and SECG
SEC 1, it can be stated that it is not possible to implement
a software version compatible with all those standards,
regarding both the specific operations and the list of al-
lowed functions and algorithms. In addition to this, im-
plementations may face another important problem,
which is the limitation in the functions available to the
developer in the application programming interface of the
target device (PCs, smart cards, mobile phones, etc.).
Taking into account both the interoperability and secu-
rity aspects, even though the newer versions (ISO/IEC
18033-2 and SECG SEC 1) may not be fully compatible
with legacy devices, they provide access to the most re-
cent and secure functions (e.g. SHA-2, AES, etc.), and in-
clude recommendations to avoid the latest criptographic
attacks, so those standards should be considered as the
starting point for any ECIES implementation.
A
CKNOWLEDGMENT
This work has been partially supported by Ministerio
de Ciencia e Innovación (Spain) under the grant TEC2009-
13964-C04-02 and Ministerio de Industria, Turismo y
Comercio (Spain) in collaboration with CDTI and Te-
lefónica I+D under the project Segur@ CENIT-2007 2004.
R
EFERENCES
[1] W. Diffie and M.E. Hellman, “New directions in cryptogra-
phy”, IEEE Transactions in Information Theory, vol. 22, pp. 644-
654, 1976.
[2] R. Rivest, A. Shamir, and L. Adleman, “A method for obtaining
digital signatures and public-key cryptosystems”, Communica-
tions of the ACM, vol. 26, pp. 96-99, 1983.
[3] T. ElGamal. “A public key cryptosystem and a signature
scheme based on discrete logarithms”, IEEE Transactions on In-
formation Theory, vol. 31, pp. 469—472, 1985.
[4] V.S. Miller, “Use of elliptic curves in cryptography”, Lecture
Notes in Computer Science, vol. 218, pp. 417-426, 1986.
[5] N. Koblitz, “Elliptic curve cryptosystems”, Mathematics of Com-
putation, vol. 48, pp. 203-209, 1987.
[6] Bundesamt für Sicherheit in der Informationstechnik (BSI),
Elliptic Curve Cryptography, TR 03111, 2009.
http://www.bsi.de/literat/tr/tr03111/BSI-TR-03111.pdf
[7] D. Hankerson, A. J. Menezes, and S. Vanstone, Guide to Elliptic
Curve Cryptography. New York: Springer-Verlag, 2003.
[8] National Institute of Standards and Technology (NIST), Recom-
mendation for key management – Part 1: General, SP 800-57, 2007.
JOURNAL OF COMPUTER SCIENCE AND ENGINEERING, VOLUME 2, ISSUE 2, AUGUST 2010
13
[9] V. Gayoso Martínez, L. Hernández Encinas, and C. Sánchez
Ávila, “A Comparison of the Standardized Versions of ECIES”,
Proceedings of the Sixth International Conference on Information As-
surance and Security – IAS 2010, Atlanta, 2010.
[10] J. Silverman, The Arithmetic of Elliptic Curves. New York: Sprin-
ger-Verlag, 1986.
[11] American National Standards Institute (ANSI), Public Key Cryp-
tography for the Financial Services Industry: Key Agreement and Key
Transport Using Elliptic Curve Cryptography, X9.63, 2001.
[12] Institute of Electrical and Electronics Engineers (IEEE), Standard
Specifications for Public Key Cryptography, Std. 1363, 2000.
[13] National Institute of Standards and Technology (NIST), Recom-
mendation for Pair-wise Key Establishment Schemes Using Discrete
Logarithm Cryptography, SP 800-56A, 2005.
[14] Standards for Efficient Cryptography Group (SECG), Elliptic
Curve Cryptography, SEC 1, version 2, 2009.
http://www.secg. org/download/aid-780/sec1-v2.pdf
[15] National Institute of Standards and Technology (NIST), Digital
Signature Standard (DSS), FIPS 186-2, 2000.
[16] American National Standards Institute (ANSI), Public Key Cryp-
tography for the Financial Services Industry: The Elliptic Curve Digi-
tal Signature Algorithm (ECDSA), X9.62, 1998.
[17] M. Abdalla, M. Bellare, and P. Rogaway, “DHAES: An encryp-
tion scheme based on the Diffie-Hellman problem”, submission
to IEEE P1363a, 1998.
http://grouper.ieee.org/groups/1363/P1363a/contributions/
dhaes.pdf
[18] M. Abdalla, M. Bellare, and P. Rogaway, DHIES: An encryption
scheme based on the Diffie-Hellman problem, unpublished, 2001.
http://www.cs.ucdavis.edu/~rogaway/papers/dhies.pdf
[19] Institute of Electrical and Electronics Engineers (IEEE), Standard
Specifications for Public Key Cryptography - Amendment 1: Addi-
tional Techniques, Std. 1363a, 2004.
[20] International Organization for Standardization/International
Electrotechnical Commission (ISO/IEC), Information Technology
Security Techniques Encryption Algorithms Part 2: Asymme-
tric Ciphers, 18033-2, 2006.
[21] National Institute of Standards and Technology (NIST), Secure
Hash Standard, FIPS 180-2, 2002.
[22] H. Dobbertin, A. Bosselaers, and B. Preneel, “RIPEMD-160: A Streng-
thened Version of RIPEMD”, Lecture Notes in Computer Science, vol.
1039, pp. 71-82, 1996.
[23] International Organization for Standardization/International
Electrotechnical Commission (ISO/IEC), Information Technology
-- Security Techniques -- Hash-functions -- Part 3: Dedicated Hash-
functions, 10118-3, 2004.
[24] American National Standards Institute (ANSI), Triple Data En-
cryption: Modes of Operation, X9.52, 1998.
[25] National Institute of Standards and Technology (NIST), Ad-
vanced Encryption Standard, FIPS 197, 2001.
[26] M. Matsui, Specification of MISTY1 - A 64-bit Block Cipher, sub-
mission to NESSIE, 2000.
https://www.cosic.esat.kuleuven.be/nessie/workshop/submi
ssions/misty1.zip
[27] C. Adams, The CAST-128 Encryption Algorithm, RFC 2144, 1997.
http://www.ietf.org/rfc/rfc2144.txt
[28] K. Aoki, T. Ichikawa, M. Kanda, M. Matsui, S. Moriai, J. Naka-
jima, and T. Tokita, “Camellia: A 128-Bit Block Cipher Suitable
for Multiple Platforms - Design and Analysis”, Lecture Notes in
Computer Science, vol. 2012, pp. 39-56, 2001.
[29] H.J. Lee, S.J. Lee, J.H. Yoon, D.H. Cheon, and J.I.Lee, The SEED
Encryption Algorithm, RFC 4269, 2005.
http://www.ietf.org/rfc/rfc4269.txt
[30] American National Standards Institute (ANSI), Financial Institu-
tion Retail Message Authentication, X9.19, 1996.
[31] American National Standards Institute (ANSI), Keyed Hash
Message Authentication Code, X9.71, 2001.
[32] H. Krawczyk, M. Bellare, and R. Canetti, HMAC: Keyed Hashing
for Message Authentication, RFC 2104, 1997.
http://www.ietf.org/rfc/rfc2104.txt
[33] National Institute of Standards and Technology (NIST), The
Keyed-Hash Message Authentication Code (HMAC), FIPS 198, 2002.
[34] National Institute of Standards and Technology (NIST), Recom-
mendation for Block Cipher Modes of Operation: The CMAC Mode
for Authentication, SP 800-38B, 2005.
I
NFORMATION ABOUT AUTHOR
(
S
):
Víctor Gayoso Martínez
obtained his Master Degree in Telecom-
munication Engineering from the Polytechnic University of Madrid in
2002. Since then, he has been working in topics related to smart
cards, Java technology and public key cryptography.
Luis Hernández Encinas
obtained his Ph.D. in Mathematics from
the University of Salamanca, in 1992. He is a researcher at the De-
partment of Information Processing and Coding, Spanish Council for
Scientific Research (CSIC). His current research interests include
cryptography, algebraic curve cryptosystems, image processing and
number theory.
Carmen Sánchez Ávila
received the Ph.D. in Mathematical
Sciences from the Polytechnic University of Madrid in 1993. At
present she is Professor in the Department of Applied Mathematics,
where during the last years she has been teaching different under-
graduate
courses as well as graduate courses in Biometric and Cryptography.
... A full comparison for using two methods for signing exchanging messages is expressed in [25]. So we compare only public key encryption ECC method with the name of ECIES, expressed in [26], and RSA method in Table 2. We compared ECIES-224 with RSA-2048 because they have the same security levels as is stated in [26]. ...
... So we compare only public key encryption ECC method with the name of ECIES, expressed in [26], and RSA method in Table 2. We compared ECIES-224 with RSA-2048 because they have the same security levels as is stated in [26]. Increasing keys length in RSA method has a huge effect than ECIES, on decryption time (it is used more than encryption). ...
Article
Full-text available
Vehicular Ad-hoc Networks (VANET) are becoming more popular as the accident statistics increase. VANET as a comprehensive system provides many of safety applications to save people lives, eliminate accidents and damage to the vehicles and people and also prevent wasting time due to busy traffic and time consuming services for drivers. From one side, safety applications due to their high sensitivity should be resistant against various attacks and on the other side, privacy of drivers including location and identifier information should be preserved in the network. So for preventing many of attacks and also preserving privacy of drivers, many protocols need an infrastructure for key distribution, revocation and secure exchange of the messages containing private information. Protocols for secure communications in this infrastructure use some sufficient cryptography based methods. Some security mechanisms used for encrypting and authenticating V2V and V2I messages comes with overhead in terms of computation and communications. Therefore, for feasibility and better performance of cryptographic based protocols, we should investigate operation of different cryptography based methods. Selected methods due to high mobility nodes in the network or high speed vehicles, should have a very little processing time, have a small key length, do not increase the length of created message as much as possible and have an acceptable level of safety over the key lifetime. This paper provides a comprehensive comparative analysis between most common symmetric and asymmetric key cryptography algorithms on the basis of the parameters: speed; block size and key size. Simulation programs are implemented using Openssl library and c programming on Ubuntu 12.04.
... Elliptic Curve Integrate Encrypt Scheme (ECIES) [31] is a hybrid encryption scheme based on Elliptic Curve Cryptography (ECC). ECC is a 32-byte system, which is much shorter than RSA but provides more comparable security and higher processing speed [32]. ...
Article
Full-text available
Tor is now using a centralized measurement system called Sbws to measure the bandwidth of relays to guide clients in selecting relays to balance traffic. Sbws has been proven to be vulnerable to multiple attacks because of the centralized structure and exposed measurements. We present SmartMeasurer, a secure and decentralized system for bandwidth measurement. Combining smart contract, Oracle Chainlink and ECC technology, we achieve decentralization while hiding the measurement circuits among the general circuits by exploiting the dual identity of randomly dynamic measurers and guards. We analyze the security of our system and demonstrate that it defends against three types of attacks. Our experiments on both private and public Tor networks show that our system is decentralized while keeping the error and the average of our measurements converges to a small interval of 0.30 Mbps. Compared to other existing methods, our system reduces trust assumptions and the costs of using smart contract, and enhances the practical feasibility of the solution.
... The Stego key is encrypted using the Elliptic Curve Integrated Encryption Scheme (ECIES) [14]. ECIES is a public-key authenticated encryption scheme based on ECC. ...
Article
Full-text available
Information security holds a quintessential role in the era of digital communication. Nowadays, social media has become the new platform to share a massive length of digitally transmitted multimedia files without being suspected. Hence, it can hide data, enabling the security providers to add an extra layer to the existing traditional framework. Videos are the most shared digital content and carry the maximum payload, which is best suitable for steganography. This paper suggests a secured stego key-based video steganographic method that uses Framelet Transform to embed secret data in the cover media. Here the main focus is to reduce the computational cost by introducing the stego key, which reserves the information regarding the location of the secret data. For an additional layer of security, the stego key is encrypted using Elliptic Curve Cryptography (ECC) based encryption scheme. The robustness of the scheme is enhanced by introducing a large prime number for the stego key sharing using the Elliptic Curve Diffie Hellman Key Exchange Protocol. Performance measures, including PSNR, MSE, SSIM, and BER, are compared with the traditional state-of-the-art methods, which produce significant results without tampering with the visual quality and perceptual characteristics of the stego video.
... Furthermore, in order to encourage vehicle detection and identification by the owner, patient or needy person at the workplace or home we propose the effective utilization of google maps for this purpose [22]. Identification of the vehicle through google maps can also help the owner in vehicle theft cases, help the patient in ambulance case or help the person in finding out fire brigade vehicles [23]. ...
Article
Google Maps is becoming popular in digital maps because of its user friendly human computerinteraction and easy to use Application Programming Interface (API) as a plugin to onlineapplications. Vehicular Ad-hoc Network (VANET) is conceptualizing moving cars as nodes ina dynamic road network. VANETs help manage the traffic through communication messagesamong the vehicles. In huge traffic loads too many messages create network congestion andstarvation. The basic objective of this research is to augment conventional VANET by addingmessage prioritization methodology, i.e. messages for top priority vehicles will be transmittedprior to the ones with lower priority. To this end, an algorithm has been developed andimplemented in a web application that incorporates Google maps for getting and displayingvehicle information. The proposed algorithm has been evaluated using experiments forthroughput and congestion avoidance in the network.
Article
Full-text available
On a blockchain platform, if a user has exposed or lost his/her private key, it may result in the loss of all the cryptocurrencies that he/she owns. It is critical to back up a user’s private key and recover it at any time, without compromising the decentralized feature of the blockchain. The t-out-of-n secret sharing technique is typically used to support key backup and recovery in a blockchain, where a user’s private key is divided into n partial keys, and the original private key can be restored only when at least t partial keys are available. This paper proposes a key scrubbing method, KeyScrub, to guarantee that at least t partial keys are available at any time in t-out-of-n secret sharing. The key scrubbing operation periodically (i.e., the scrubbing interval) checks how many partial keys are correctly maintained, and issues the recovery of partial keys without full recovery of the key. The reliability analysis of the proposed method shows a tradeoff relationship between the scrubbing interval and the values of t and n to meet the given reliability requirement for a key backup and recovery service.
Article
Novel binary polynomial multipliers have been designed using M-term overlap-free Karatsuba multiplication (OFKM), where $M$ is 5–8. The proposed designs were realized in digital hardware and implemented on field-programmable gate array (FPGA) and the best value of $M$ was selected and presented for common National Institute of Standards and Technology (NIST) operand sizes from 64 to 571 bits. The implemented hardware designs use a hybrid approach that combines a given M-term overlap-free Karatsuba multipliers with two-term splitting to reduce the need for zero-padding in the final recurrent stages. Compared to the traditional M-term Karatsuba multipliers, the proposed overlap-free implementations offer reductions in delay and area-delay product (ADP). The proposed designs also compare favorably to previous implementations of binary polynomial multipliers. Their favorable characteristics make the proposed overlap-free Karatsuba polynomial multipliers viable options for use in cryptographic systems where speed is a significant consideration and hardware resource consumption must be limited.
Preprint
This study mainly modifies the butterfly key expansion (BKE) mechanism and applies it to the healthcare system. The system mainly includes a Root Certificate Authority (RCA), an Enrollment Certificate Authority (ECA), a Pseudonym Certificate Authority (PCA), a Registration Authority (RA), and End Entities (EEs)(i.e. user devices). Certificates can be issued by the RCA to the ECA, PCA, and RA to make them legal entities in the system. The ECA then issues device certificates (similar to identification cards for devices) to the EEs (e.g. blood pressure monitors). When patients use EEs to measure physiological information, the RA verifies that the EE is legal based on the issued multiple pseudonym certificates by the PCA. The EE then uses the pseudonym certificates to send physiological information to the RA, ensuring data integrity and non-repudiation, while also preventing identity information from being stolen. To verify the pseudonymous certificate-based healthcare system proposed in this study, the security of the system was verified using the security strengths defined by the National Institute of Standards and Technology (NIST) in the United States. Furthermore, as the BKE mechanism is primarily based on Elliptic Curve Cryptography (ECC), this study also verified the efficiency under different security strengths. Furthermore, under 256 of security strength, the mean computation time of key expansion is between 24186.584 microseconds and 57894.552 microseconds, so more than 18 public keys could be generated in one second.
Article
Full-text available
This paper describes a Diffie-Hellman based encryption scheme, DHIES (formerly named DHES and DHAES), which is now in several (draft) standards. The scheme is as efficient as ElGamal encryption, but has stronger security properties. Furthermore, these security properties are proven to hold under appropriate assumptions on the underlying primitive. DHIES is a Diffie-Hellman based scheme that combines a symmetric encryption method, a message authentication code, and a hash function, in addition to number-theoretic operations, in a way which is intended to provide security against chosenciphertext attacks. The proofs of security are based on the assumption that the underlying symmetric primitives are secure and on appropriate assumptions about the Diffie-Hellman problem. The latter are interesting variants of the customary assumptions on the Diffie-Hellman problem, and we investigate relationships among them, and provide security lower bounds. Our proofs are in the standard model; no random-oracle assumption is required.
Article
Full-text available
Elliptic Curve Cryptography (ECC) can be used as a tool for encrypting data, creating digital signatures or performing key exchanges. In relation to encryption, the Elliptic Curve Integrated Encryption Scheme (ECIES) is the best known scheme based on ECC, and as such it has been included in several cryptographic standards. In the present work, we provide an extensive review and comparison of the versions of ECIES included in documents from ANSI, IEEE, ISO/IEC, and SECG, highlighting the main differences between them that can prevent implementations of ECIES from being fully interoperable.
Article
Full-text available
Since their introduction to cryptography in 1985, elliptic curves have sparked a lot of research and interest in public key cryptography. In this essay, we present an overview of public key cryptography based on the discrete logarithm problem of both finite fields and elliptic curves. We discuss one of the basic and important properties of elliptic curves, the group law, and show that the set of points on the curve forms an additive abelian group. We show how the order of this abelian group affects the discrete logarithm problem and hence the security of a public key cryptosystem. We present the Diffie-Hellman key exchange and ElGamal cryptosystem based on the discrete logarithm problem of finite fields and also give their analogues in the elliptic curve case. We finally show why elliptic curves are dictating the future of public key cryptography and what makes them more efficient in constrained and wireless communications.
Book
The theory of elliptic curves is distinguished by its long history and by the diversity of the methods that have been used in its study. This book treats the arithmetic theory of elliptic curves in its modern formulation, through the use of basic algebraic number theory and algebraic geometry. The book begins with a brief discussion of the necessary algebro-geometric results, and proceeds with an exposition of the geometry of elliptic curves, the formal group of an elliptic curve, and elliptic curves over finite fields, the complex numbers, local fields, and global fields. Included are proofs of the Mordell–Weil theorem giving finite generation of the group of rational points and Siegel's theorem on finiteness of integral points. For this second edition of The Arithmetic of Elliptic Curves, there is a new chapter entitled Algorithmic Aspects of Elliptic Curves, with an emphasis on algorithms over finite fields which have cryptographic applications. These include Lenstra's factorization algorithm, Schoof's point counting algorithm, Miller's algorithm to compute the Tate and Weil pairings, and a description of aspects of elliptic curve cryptography. There is also a new section on Szpiro's conjecture and ABC, as well as expanded and updated accounts of recent developments and numerous new exercises. The book contains three appendices: Elliptic Curves in Characteristics 2 and 3, Group Cohomology, and a third appendix giving an overview of more advanced topics.
Article
We discuss analogs based on elliptic curves over finite fields of public key cryptosystems which use the multiplicative group of a finite field. These elliptic curve cryptosystems may be more secure, because the analog of the discrete logarithm problem on elliptic curves is likely to be harder than the classical discrete logarithm problem, especially over GF ( 2 n ) {\text {GF}}({2^n}) . We discuss the question of primitive points on an elliptic curve modulo p , and give a theorem on nonsmoothness of the order of the cyclic subgroup generated by a global point.
Article
This document describes HMAC, a mechanism for message authentication using cryptographic hash functions. HMAC can be used with any iterative cryptographic hash function, e.g., MD5, SHA-1, in combination with a secret shared key. The cryptographic strength of HMAC depends on the properties of the underlying hash function.