192 research outputs found
Verified Security of Merkle-DamgÄrd
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
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
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
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
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 -Bit Barrier: Byzantine Agreement with Polylog Bits Per Party
Byzantine agreement (BA), the task of 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 bits per party, but some
parties must send bits. In best known balanced protocols, the
overall communication is sub-optimal, with each party communicating . 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 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 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 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
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
- âŠ