192 research outputs found

    Verified Security of Merkle-DamgÄrd

    Get PDF
    Cryptographic hash functions provide a basic data authentication mechanism and are used pervasively as building blocks to realize many cryptographic functionalities, including block ciphers, message authentication codes, key exchange protocols, and encryption and digital signature schemes. Since weaknesses in hash functions may imply vulnerabilities in the constructions that build upon them, ensuring their security is essential. Unfortunately, many widely used hash functions, including SHA-1 and MD5, are subject to practical attacks. The search for a secure replacement is one of the most active topics in the field of cryptography. In this paper we report on the first machine-checked and independently-verifiable proofs of collision-resistance and in differentiability of Merkle-DamgÄrd, a construction that underlies many existing hash functions. Our proofs are built and verified using an extension of the Easy Crypt framework, which relies on state-of-the-art verification tools such as automated theorem provers, SMT solvers, and interactive proof assistants

    A Proposed hash algorithm to use for blockchain base transaction flow system

    Get PDF
    Blockchain technology introduces a new approach to storing information, implementing tasks and functions, and building trust between participating nodes. Although blockchain technology has received extensive attention in various application contexts in recent years, the issue of privacy and security remains the primary focus of discussions of the blockchain. The use of hash algorithms can provide secure blockchain integration, and many hash algorithms offer solutions to data integrity and security problems within the context of blockchain technology. However, they are also subject to problems related to time, lack of resources, and memory usage. In this research, an algorithm is proposed to generate a hash based on chaos theory (1D and 2D) logistic maps and the new Merkle-DamgÄrd construction. Hash outputs are tested in terms of time, complexity, and collision. The proposed algorithm is evaluated according to Jaccard similarity and various coefficient measurements, and it was found that the similarity between the inputs and the outputs does not exceed 0.1932 percent. All outcomes indicated successful performance. The proposed algorithm was implemented on a blockchain-based transaction flow system, consumed fewer resources than other hash algorithms (such as SHA1, SHA2, and MD5), and requires mere milliseconds to implement

    Optimizing Hash-Based Signatures in Java

    Get PDF
    Hash-based signature schemes are an extensively studied and well-understood choice for quantum-safe digital signatures. However, certain operations, most notably the key generation, can be comparably expensive. It is, therefore, essential to use well-optimized implementations. This thesis aims to explore, implement, and evaluate optimization strategies for hashbased signature implementations in Java. These include the use of special hardware features like vector instructions and hardware acceleration for hash functions as well as the parallelization of the key generation. Overall, we are able to reduce the time required for an XMSS key generation with SHA-2 by up to 96.4% (on four CPU cores) compared to the unmodified BouncyCastle implementation. For SPHINCS+ with the Haraka hash function family, we achieve a reduction of up to 95.7% on only one CPU core. Furthermore, we investigate the use of two scheme variants WOTS-BR and WOTS+C proposed in the literature for verification-optimized signatures. We improve the existing theoretical analysis of both, provide a comparison and experimentally validate our improved theoretical analysis

    Machine-checked proofs for cryptographic standards indifferentiability of SPONGE and secure high-assurance implementations of SHA-3

    Get PDF
    We present a high-assurance and high-speed implementation of the SHA-3 hash function. Our implementation is written in the Jasmin programming language, and is formally verified for functional correctness, provable security and timing attack resistance in the EasyCrypt proof assistant. Our implementation is the first to achieve simultaneously the four desirable properties (efficiency, correctness, provable security, and side-channel protection) for a non-trivial cryptographic primitive.Concretely, our mechanized proofs show that: 1) the SHA-3 hash function is indifferentiable from a random oracle, and thus is resistant against collision, first and second preimage attacks; 2) the SHA-3 hash function is correctly implemented by a vectorized x86 implementation. Furthermore, the implementation is provably protected against timing attacks in an idealized model of timing leaks. The proofs include new EasyCrypt libraries of independent interest for programmable random oracles and modular indifferentiability proofs.This work received support from the National Institute of Standards and Technologies under agreement number 60NANB15D248.This work was partially supported by Office of Naval Research under projects N00014-12-1-0914, N00014-15-1-2750 and N00014-19-1-2292.This work was partially funded by national funds via the Portuguese Foundation for Science and Technology (FCT) in the context of project PTDC/CCI-INF/31698/2017. Manuel Barbosa was supported by grant SFRH/BSAB/143018/2018 awarded by the FCT.This work was supported in part by the National Science Foundation under grant number 1801564.This work was supported in part by the FutureTPM project of the Horizon 2020 Framework Programme of the European Union, under GA number 779391.This work was supported by the ANR Scrypt project, grant number ANR-18-CE25-0014.This work was supported by the ANR TECAP project, grant number ANR-17-CE39-0004-01

    GPUs as Storage System Accelerators

    Full text link
    Massively multicore processors, such as Graphics Processing Units (GPUs), provide, at a comparable price, a one order of magnitude higher peak performance than traditional CPUs. This drop in the cost of computation, as any order-of-magnitude drop in the cost per unit of performance for a class of system components, triggers the opportunity to redesign systems and to explore new ways to engineer them to recalibrate the cost-to-performance relation. This project explores the feasibility of harnessing GPUs' computational power to improve the performance, reliability, or security of distributed storage systems. In this context, we present the design of a storage system prototype that uses GPU offloading to accelerate a number of computationally intensive primitives based on hashing, and introduce techniques to efficiently leverage the processing power of GPUs. We evaluate the performance of this prototype under two configurations: as a content addressable storage system that facilitates online similarity detection between successive versions of the same file and as a traditional system that uses hashing to preserve data integrity. Further, we evaluate the impact of offloading to the GPU on competing applications' performance. Our results show that this technique can bring tangible performance gains without negatively impacting the performance of concurrently running applications.Comment: IEEE Transactions on Parallel and Distributed Systems, 201

    Breaking the O(n)O(\sqrt n)-Bit Barrier: Byzantine Agreement with Polylog Bits Per Party

    Full text link
    Byzantine agreement (BA), the task of nn parties to agree on one of their input bits in the face of malicious agents, is a powerful primitive that lies at the core of a vast range of distributed protocols. Interestingly, in protocols with the best overall communication, the demands of the parties are highly unbalanced: the amortized cost is O~(1)\tilde O(1) bits per party, but some parties must send Ω(n)\Omega(n) bits. In best known balanced protocols, the overall communication is sub-optimal, with each party communicating O~(n)\tilde O(\sqrt{n}). In this work, we ask whether asymmetry is inherent for optimizing total communication. Our contributions in this line are as follows: 1) We define a cryptographic primitive, succinctly reconstructed distributed signatures (SRDS), that suffices for constructing O~(1)\tilde O(1) balanced BA. We provide two constructions of SRDS from different cryptographic and Public-Key Infrastructure (PKI) assumptions. 2) The SRDS-based BA follows a paradigm of boosting from "almost-everywhere" agreement to full agreement, and does so in a single round. We prove that PKI setup and cryptographic assumptions are necessary for such protocols in which every party sends o(n)o(n) messages. 3) We further explore connections between a natural approach toward attaining SRDS and average-case succinct non-interactive argument systems (SNARGs) for a particular type of NP-Complete problems (generalizing Subset-Sum and Subset-Product). Our results provide new approaches forward, as well as limitations and barriers, towards minimizing per-party communication of BA. In particular, we construct the first two BA protocols with O~(1)\tilde O(1) balanced communication, offering a tradeoff between setup and cryptographic assumptions, and answering an open question presented by King and Saia (DISC'09)

    Analysis of Blockchain consensus mechanisms : Proof-of-Work vs Proof-of-Stake

    Get PDF
    The objective of this thesis is to understand and evaluate the two popular consensus mechanisms of blockchain: Proof-of-Work (PoW) and Proof-of-Stake (PoS), especially in terms of their cost effectiveness. This study attempts to answer one significant research question: “Researchers assume that blockchain cannot takeover computer networks, as it requires excessive computation power. If blockchain moved to a Proof-of-Stake (PoS) consensus algorithm would takeovers remain equally difficult?” The thesis uses qualitative desk research approach by utilizing the existing research papers and published reports related to the topic. It attempts to draw comparison between both consensus algorithms and extracts reasonable conclusions based on the simulation experiment results. The three main comparison points discussed among the consensus protocols are energy consumption, decentralization, and security of blockchain. This study concludes that Proof-of-Stake (PoS) consumes less energy than the Proof-of-Work (PoW) and also shows better results in providing decentralization and security as compared to Proof-of-Work (PoW). Hence, takeovers are easier with PoS over PoW, but PoS still has room for improvement to reduce the required energy resources and further research studies are needed to analyse it
    • 

    corecore