137 research outputs found

    Automatic generation of high speed elliptic curve cryptography code

    Get PDF
    Apparently, trust is a rare commodity when power, money or life itself are at stake. History is full of examples. Julius Caesar did not trust his generals, so that: ``If he had anything confidential to say, he wrote it in cipher, that is, by so changing the order of the letters of the alphabet, that not a word could be made out. If anyone wishes to decipher these, and get at their meaning, he must substitute the fourth letter of the alphabet, namely D, for A, and so with the others.'' And so the history of cryptography began moving its first steps. Nowadays, encryption has decayed from being an emperor's prerogative and became a daily life operation. Cryptography is pervasive, ubiquitous and, the best of all, completely transparent to the unaware user. Each time we buy something on the Internet we use it. Each time we search something on Google we use it. Everything without (almost) realizing that it silently protects our privacy and our secrets. Encryption is a very interesting instrument in the "toolbox of security" because it has very few side effects, at least on the user side. A particularly important one is the intrinsic slow down that its use imposes in the communications. High speed cryptography is very important for the Internet, where busy servers proliferate. Being faster is a double advantage: more throughput and less server overhead. In this context, however, the public key algorithms starts with a big handicap. They have very bad performances if compared to their symmetric counterparts. Due to this reason their use is often reduced to the essential operations, most notably key exchanges and digital signatures. The high speed public key cryptography challenge is a very practical topic with serious repercussions in our technocentric world. Using weak algorithms with a reduced key length to increase the performances of a system can lead to catastrophic results. In 1985, Miller and Koblitz independently proposed to use the group of rational points of an elliptic curve over a finite field to create an asymmetric algorithm. Elliptic Curve Cryptography (ECC) is based on a problem known as the ECDLP (Elliptic Curve Discrete Logarithm Problem) and offers several advantages with respect to other more traditional encryption systems such as RSA and DSA. The main benefit is that it requires smaller keys to provide the same security level since breaking the ECDLP is much harder. In addition, a good ECC implementation can be very efficient both in time and memory consumption, thus being a good candidate for performing high speed public key cryptography. Moreover, some elliptic curve based techniques are known to be extremely resilient to quantum computing attacks, such as the SIDH (Supersingular Isogeny Diffie-Hellman). Traditional elliptic curve cryptography implementations are optimized by hand taking into account the mathematical properties of the underlying algebraic structures, the target machine architecture and the compiler facilities. This process is time consuming, requires a high degree of expertise and, ultimately, error prone. This dissertation' ultimate goal is to automatize the whole optimization process of cryptographic code, with a special focus on ECC. The framework presented in this thesis is able to produce high speed cryptographic code by automatically choosing the best algorithms and applying a number of code-improving techniques inspired by the compiler theory. Its central component is a flexible and powerful compiler able to translate an algorithm written in a high level language and produce a highly optimized C code for a particular algebraic structure and hardware platform. The system is generic enough to accommodate a wide array of number theory related algorithms, however this document focuses only on optimizing primitives based on elliptic curves defined over binary fields

    Reconfigurable elliptic curve cryptography

    Get PDF
    Elliptic Curve Cryptosystems (ECC) have been proposed as an alternative to other established public key cryptosystems such as RSA (Rivest Shamir Adleman). ECC provide more security per bit than other known public key schemes based on the discrete logarithm problem. Smaller key sizes result in faster computations, lower power consumption and memory and bandwidth savings, thus making ECC a fast, flexible and cost-effective solution for providing security in constrained environments. Implementing ECC on reconfigurable platform combines the speed, security and concurrency of hardware along with the flexibility of the software approach. This work proposes a generic architecture for elliptic curve cryptosystem on a Field Programmable Gate Array (FPGA) that performs an elliptic curve scalar multiplication in 1.16milliseconds for GF (2163), which is considerably faster than most other documented implementations. One of the benefits of the proposed processor architecture is that it is easily reprogrammable to use different algorithms and is adaptable to any field order. Also through reconfiguration the arithmetic unit can be optimized for different area/speed requirements. The mathematics involved uses binary extension field of the form GF (2n) as the underlying field and polynomial basis for the representation of the elements in the field. A significant gain in performance is obtained by using projective coordinates for the points on the curve during the computation process

    Bitcoin Wallet for Android with TREZOR Hardware Wallet Support

    Get PDF
    Tato práce se zabývá návrhem Bitcoinové peněženky pro OS Android, která využívá zařízení TREZOR jako úložiště privátních klíčů. Navržená aplikace umožňuje zobrazit seznam transakcí, vytvořit novou transakci, podepsat ji pomocí zařízení a odeslat do sítě. Vedlejším přínosem této práce je navržení Android knihovny pro usnadnění komunikace se zařízením TREZOR.The goal of this thesis is to design a Bitcoin wallet for the Android OS, using the TREZOR device as a secure private key storage. The implemented application allows to see transactions history, to compose a new transaction, sign it and broadcast it to the network. The secondary contribution of this thesis is designing an Android library simplifying the communication with the TREZOR device

    Data Security in Cloud Computing with Elliptic Curve Cryptography

    Get PDF
    Cloud Computing (CC) is one of the most important and hottest deal of attention, both in academia researches and among users, due to its ability for satisfying the computing needs by reducing commercial expenditure bandwidth with computing compounds while increasing scalability and flexibility for computing services, accessing it through an Internet connection from anywhere in the world its available Internet network..However it becomes particularly serious because the data is located in different places even in the entire globe and should be taken into account such as violation of the confidentiality and privacy of customers’ data via unauthorized parties. So the only causes imperfection in the cloud computing is security impairment generally and especially data security. Despite about organizations and individual user adopting cloud computing, put their data in cloud due to the security issues challenges associated with it requires that organizations trust needs a technical tools protecting their data. Elliptical curve cryptography (ECC) is a public key encryption technique based on elliptic curve theory that can be used to create faster, smaller, and more efficient cryptographic keys. Hence, we proposed data security in cloud computing with elliptic curve cryptography a proficient data security model algorithm, as a secure tool to model a Secured platform for Data in cloud computing. The algorithm was simulated using Java Development Kit (JDK) to implement the curve operations to extract the data in the Cloud, encrypting, decrypting, signing and verifications the signature, followed by testing the acquired results the implemented classes and their design Although this topic represent a good sample of the work that is being done, there are many requirements to study this area due to the needs of cloud computing in the next generation both individuals and organization even governmental agencies Might parallel increase of cyber attackers and they improve their techniques so as a researcher suggest the importance of data in ECC to be studied
    corecore