Tradeoff Cryptanalysis of Memory-Hard Functions
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Computationally Data-Independent Memory Hard Functions
Computationally Data-Independent Memory Hard Functions Mohammad Hassan Ameri∗ Jeremiah Blocki† Samson Zhou‡ November 18, 2019 Abstract Memory hard functions (MHFs) are an important cryptographic primitive that are used to design egalitarian proofs of work and in the construction of moderately expensive key-derivation functions resistant to brute-force attacks. Broadly speaking, MHFs can be divided into two categories: data-dependent memory hard functions (dMHFs) and data-independent memory hard functions (iMHFs). iMHFs are resistant to certain side-channel attacks as the memory access pattern induced by the honest evaluation algorithm is independent of the potentially sensitive input e.g., password. While dMHFs are potentially vulnerable to side-channel attacks (the induced memory access pattern might leak useful information to a brute-force attacker), they can achieve higher cumulative memory complexity (CMC) in comparison than an iMHF. In particular, any iMHF that can be evaluated in N steps on a sequential machine has CMC at 2 most N log log N . By contrast, the dMHF scrypt achieves maximal CMC Ω(N 2) — though O log N the CMC of scrypt would be reduced to just (N) after a side-channel attack. In this paper, we introduce the notion ofO computationally data-independent memory hard functions (ciMHFs). Intuitively, we require that memory access pattern induced by the (ran- domized) ciMHF evaluation algorithm appears to be independent from the standpoint of a computationally bounded eavesdropping attacker — even if the attacker selects the initial in- put. We then ask whether it is possible to circumvent known upper bound for iMHFs and build a ciMHF with CMC Ω(N 2). -
Argon and Argon2
Argon and Argon2 Designers: Alex Biryukov, Daniel Dinu, and Dmitry Khovratovich University of Luxembourg, Luxembourg [email protected], [email protected], [email protected] https://www.cryptolux.org/index.php/Password https://github.com/khovratovich/Argon https://github.com/khovratovich/Argon2 Version 1.1 of Argon Version 1.0 of Argon2 31th January, 2015 Contents 1 Introduction 3 2 Argon 5 2.1 Specification . 5 2.1.1 Input . 5 2.1.2 SubGroups . 6 2.1.3 ShuffleSlices . 7 2.2 Recommended parameters . 8 2.3 Security claims . 8 2.4 Features . 9 2.4.1 Main features . 9 2.4.2 Server relief . 10 2.4.3 Client-independent update . 10 2.4.4 Possible future extensions . 10 2.5 Security analysis . 10 2.5.1 Avalanche properties . 10 2.5.2 Invariants . 11 2.5.3 Collision and preimage attacks . 11 2.5.4 Tradeoff attacks . 11 2.6 Design rationale . 14 2.6.1 SubGroups . 14 2.6.2 ShuffleSlices . 16 2.6.3 Permutation ...................................... 16 2.6.4 No weakness,F no patents . 16 2.7 Tweaks . 17 2.8 Efficiency analysis . 17 2.8.1 Modern x86/x64 architecture . 17 2.8.2 Older CPU . 17 2.8.3 Other architectures . 17 3 Argon2 19 3.1 Specification . 19 3.1.1 Inputs . 19 3.1.2 Operation . 20 3.1.3 Indexing . 20 3.1.4 Compression function G ................................. 21 3.2 Features . 22 3.2.1 Available features . 22 3.2.2 Server relief . 23 3.2.3 Client-independent update . -
Deanonymisation of Clients in Bitcoin P2P Network
Deanonymisation of clients in Bitcoin P2P network Alex Biryukov Dmitry Khovratovich Ivan Pustogarov University of Luxembourg University of Luxembourg University of Luxembourg [email protected] [email protected] [email protected] Abstract about 100,000 nowadays. The vast majority of these peers Bitcoin is a digital currency which relies on a distributed (we call them clients), about 90%, are located behind NAT set of miners to mint coins and on a peer-to-peer network and do not allow any incoming connections, whereas they to broadcast transactions. The identities of Bitcoin users choose 8 outgoing connections to servers (Bitcoin peers with are hidden behind pseudonyms (public keys) which are rec- public IP). ommended to be changed frequently in order to increase In a Bitcoin transaction, the address of money sender(s) transaction unlinkability. or receiver(s) is a hash of his public key. We call such We present an efficient method to deanonymize Bitcoin address a pseudonym to avoid confusion with the IP ad- users, which allows to link user pseudonyms to the IP ad- dress of the host where transactions are generated, and the dresses where the transactions are generated. Our tech- latter will be called just address throughout the text. In niques work for the most common and the most challenging the current Bitcoin protocol the entire transaction history scenario when users are behind NATs or firewalls of their is publicly available so anyone can see how Bitcoins travel ISPs. They allow to link transactions of a user behind a from one pseudonym to another and potentially link differ- NAT and to distinguish connections and transactions of dif- ent pseudonyms of the same user together. -
PHC: Status Quo
PHC: status quo JP Aumasson @veorq / http://aumasson.jp academic background principal cryptographer at Kudelski Security, .ch applied crypto research and outreach BLAKE, BLAKE2, SipHash, NORX Crypto Coding Standard Password Hashing Competition Open Crypto Audit Project board member do you use passwords? this talk might interest you! Oct 2013 "hash" = 3DES-ECB( static key, password ) users' hint made the guess game easy... (credit Jeremi Gosney / Stricture Group) May 2014; "encrypted passwords" (?) last week that's only the reported/published cases Lesson if Adobe, eBay, and Avast fail to protect their users' passwords, what about others? users using "weak passwords"? ITsec people using "weak defenses"? developers using "weak hashes"? cryptographers, who never bothered? agenda 1. how (not) to protect passwords 2. the Password Hashing Competition (PHC) 3. the 24-2 PHC candidates 4. next steps, and how to contribute WARNING this is NOT about bikeshed topics as: password policies password managers password-strength meters will-technology-X-replace-passwords? 1. how (not) to protect passwords solution of the 60's store "password" or the modern alternative: obviously a bad idea (assuming the server and its DB are compromised) solution of the early 70's store hash("password") "one-way": can't be efficiently inverted vulnerable to: ● efficient dictionary attacks and bruteforce ● time-memory tradeoffs (rainbow tables, etc.) solution of the late 70's store hash("password", salt) "one-way": can't be efficiently inverted immune to time-memory tradeoffs vulnerable to: ● dictionary attacks and bruteforce (but has to be repeated for different hashes) solution of the 2000's store hash("password", salt, cost) "one-way": can't be efficiently inverted immune to time-memory tradeoffs inefficient dictionary attacks and bruteforce main ideas: ● be "slow" ● especially on attackers' hardware (GPU, FPGA) => exploit fast CPU memory access/writes PBKDF2 (Kaliski, 2000) NIST and PKCS standard in Truecrypt, iOS, etc. -
Optimizing a Password Hashing Function with Hardware-Accelerated Symmetric Encryption
S S symmetry Article Optimizing a Password Hashing Function with Hardware-Accelerated Symmetric Encryption Rafael Álvarez 1,* , Alicia Andrade 2 and Antonio Zamora 3 1 Departamento de Ciencia de la Computación e Inteligencia Artificial (DCCIA), Universidad de Alicante, 03690 Alicante, Spain 2 Fac. Ingeniería, Ciencias Físicas y Matemática, Universidad Central, Quito 170129, Ecuador; [email protected] 3 Departamento de Ciencia de la Computación e Inteligencia Artificial (DCCIA), Universidad de Alicante, 03690 Alicante, Spain; [email protected] * Correspondence: [email protected] Received: 2 November 2018; Accepted: 22 November 2018; Published: 3 December 2018 Abstract: Password-based key derivation functions (PBKDFs) are commonly used to transform user passwords into keys for symmetric encryption, as well as for user authentication, password hashing, and preventing attacks based on custom hardware. We propose two optimized alternatives that enhance the performance of a previously published PBKDF. This design is based on (1) employing a symmetric cipher, the Advanced Encryption Standard (AES), as a pseudo-random generator and (2) taking advantage of the support for the hardware acceleration for AES that is available on many common platforms in order to mitigate common attacks to password-based user authentication systems. We also analyze their security characteristics, establishing that they are equivalent to the security of the core primitive (AES), and we compare their performance with well-known PBKDF algorithms, such as Scrypt and Argon2, with favorable results. Keywords: symmetric; encryption; password; hash; cryptography; PBKDF 1. Introduction Key derivation functions are employed to obtain one or more keys from a master secret. This is especially useful in the case of user passwords, which can be of arbitrary length and are unsuitable to be used directly as fixed-size cipher keys, so, there must be a process for converting passwords into secret keys. -
Bicliques for Preimages: Attacks on Skein-512 and the SHA-2 Family
Bicliques for Preimages: Attacks on Skein-512 and the SHA-2 family Dmitry Khovratovich1 and Christian Rechberger2 and Alexandra Savelieva3 1Microsoft Research Redmond, USA 2DTU MAT, Denmark 3National Research University Higher School of Economics, Russia Abstract. We present the new concept of biclique as a tool for preimage attacks, which employs many powerful techniques from differential cryptanalysis of block ciphers and hash functions. The new tool has proved to be widely applicable by inspiring many authors to publish new re- sults of the full versions of AES, KASUMI, IDEA, and Square. In this paper, we demonstrate how our concept results in the first cryptanalysis of the Skein hash function, and describe an attack on the SHA-2 hash function with more rounds than before. Keywords: SHA-2, SHA-256, SHA-512, Skein, SHA-3, hash function, meet-in-the-middle attack, splice-and-cut, preimage attack, initial structure, biclique. 1 Introduction The last years saw an exciting progress in preimage attacks on hash functions. In contrast to collision search [29, 26], where differential cryptanalysis has been in use since 90s, there had been no similarly powerful tool for preimages. The situation changed dramatically in 2008, when the so-called splice-and-cut framework has been applied to MD4 and MD5 [2, 24], and later to SHA-0/1/2 [1, 3], Tiger [10], and other primitives. Despite amazing results on MD5, the applications to SHA-x primitives seemed to be limited by the internal properties of the message schedule procedures. The only promising element, the so-called initial structure tool, remained very informal and complicated. -
Harden Zero Knowledge Password Proofs Against Offline Dictionary
Harden Zero Knowledge Password Proofs Against Offline Dictionary Attacks Gijs Van Laer Rono Dasgupta Aditya Patil [email protected] [email protected] [email protected] Matthew Green [email protected] December 12, 2016 Abstract Traditional authentication systems offer ease of use but the security they provide often proves to be inadequate. Hackers use means to gain access to company servers and steal entire databases of password hashes. These hashes are then subject to offline dictionary attacks resulting in the disclosure of millions of passwords. Such password breaches have become commonplace and have caused several major companies to face major losses. Password reuse is a common practice among users and a password breach disclosing a single password on a particular service could result in a user also losing access to their other accounts. Solutions such as multi-factor authentication add some level of security but do not completely solve the problem. There is a need to move towards stronger authentication schemes that do not compromise on ease of use, both for the user and the service provider. In this paper, we propose a novel authentication protocol that is proven hard against offline dictionary attacks. Our protocol implements a combination of a Zero Knowledge Password Proof and a sequentially memory hard hash function. In a concrete instan- tiation of the protocol, we use Schnorr's Zero Knowledge Password Proof combined with the Fiat-Shamir Heuristic for the Zero Knowledge Password Proof and scrypt for the sequentially memory hard hash function. We also describe a library implementing our protocol that we have developed along with an example web application that uses the library. -
Lyra2 Password Hashing Scheme with Improved Security Against Time-Memory Trade-Offs (TMTO)
Lyra2 Password Hashing Scheme with improved security against time-memory trade-offs (TMTO) Ewerton Rodrigues Andrade [email protected] Escola Polit´ecnicada Universidade de S~aoPaulo { EP/USP Ag^enciasde fomento: CAPES, FDTE e Erasmus Mundus Defesa de Tese de Doutorado 07 de junho de 2016 Banca Examinadora: Prof Dr Marcos Antonio Simplicio Junior { EP/USP (presidente) Prof Dr Wilson Vicente Ruggiero { EP/USP Profª Drª Denise Hideko Goya { CMCC/UFABC Prof Dr Diego de Freitas Aranha { IC/UNICAMP Dr Rafael Misoczki { Intel Labs Introdu¸c~ao Lyra2 Compara¸c~oes BlaMka Consider. Finais Refer^encias Sum´ario 1 Introdu¸c~ao Motiva¸c~ao Objetivos Metodologia 2 Lyra2 The Bootstrapping phase The Setup phase The Wandering phase The Wrap-up phase 3 Lyra2 x scrypt x finalistas do PHC Seguran¸ca Desempenho 4 BlaMka Resultados Parciais 5 Considera¸c~oesFinais Principais Resultados Trabalhos Futuros 2 / 51 Ewerton Rodrigues Andrade Lyra2 - Defesa de Doutorado Introdu¸c~ao Lyra2 Compara¸c~oes BlaMka Consider. Finais Motiva¸c~aoRefer^encias Objetivos Metodologia Sum´ario 1 Introdu¸c~ao Motiva¸c~ao Objetivos Metodologia 2 Lyra2 The Bootstrapping phase The Setup phase The Wandering phase The Wrap-up phase 3 Lyra2 x scrypt x finalistas do PHC Seguran¸ca Desempenho 4 BlaMka Resultados Parciais 5 Considera¸c~oesFinais Principais Resultados Trabalhos Futuros 3 / 51 Ewerton Rodrigues Andrade Lyra2 - Defesa de Doutorado Introdu¸c~ao Lyra2 Compara¸c~oes BlaMka Consider. Finais Motiva¸c~aoRefer^encias Objetivos Metodologia Motiva¸c~ao A autentica¸c~ao´evital para a seguran¸cados sistemas computacionais modernos 4 / 51 Ewerton Rodrigues Andrade Lyra2 - Defesa de Doutorado Introdu¸c~ao Lyra2 Compara¸c~oes BlaMka Consider. -
The Password Hashing Competition Prehistory of Password Protection
The Password Hashing Competition Peter Gutmann University of Auckland Prehistory of Password Protection Before timesharing • Whoever submitted the card deck owned it Prehistory of Password Protection (ctd) Compatible Time-Sharing System (CTSS), 1963 • Introduced the use of a “private code” to protect access to users’ data Prehistory of Password Protection (ctd) Famously failed in 1966 • CTSS editor used a fixed temporary filename • Admin edited the password file and login message file at the same time… Problem occurred at 5pm on a Friday • User noticed it and deliberately executed an HCF instruction in the debugger • When machine was rebooted, users were told to change their passwords – (And given free credit monitoring) History of Password Protection Cambridge Uni Titan timesharing system, 1967, used a one-way cipher to protect the password Spread to CTSS’ successor Multics in the 1970s • And from there to a Multics successor, Unics^H^Hx History of Password Protection (ctd) Unix originally stored passwords in the clear • More problems with editor temp files Encrypt the passwords like Multics had done • Protect against brute-force by iterating the encryption • Protect against comparing encrypted passwords by adding a random quantity (salt) to the password Originally based on a software analogue of the M-209 cipher machine • Encrypt the password using itself as the key • Found to be too fast, vulnerable to brute-forcing History of Password Protection (ctd) Later Unix crypt used 25 iterations of DES encryption • Salt+password used as a -
Expert Password Management
Expert Password Management Elizabeth Stobert1 and Robert Biddle2 1 ETH Z¨urich Z¨urich, Switzerland [email protected] 2 Carleton University Ottawa, Canada [email protected] Abstract. Experts are often asked for advice about password manage- ment, but how do they manage their own passwords? We conducted interviews with researchers and practitioners in computer security, ask- ing them about their password management behaviour. We conducted a thematic analysis of our data, and found that experts described a di- chotomy of behaviour where they employed more secure behaviour on important accounts, but had similar practices to non-expert users on re- maining accounts. Experts’ greater situation awareness allowed them to more easily make informed decisions about security, and expert practices can suggest ways for non-experts to better manage passwords. 1 Introduction Security experts are often turned to for advice about password management, but what do experts themselves do to manage their passwords? How are the practices of those who are knowledgeable about computer security different from or similar to those of non-experts? Little work exists on the password habits of experts, who must be affected by the same problems that affect all users: difficulties choosing random passwords, difficulties remembering passwords, and multitudinous accounts. If remembering large numbers of random passwords is difficult or near-impossible for non-expert users, it should be similarly difficult for experts. We conducted a series of interviews with researchers and practitioners in com- puter security, asking them about their password management behaviour. We found that these knowledgeable users described a dichotomy of behaviour where they employed more secure behaviour on important accounts that they deemed more worthy, but employed similar practices to non-expert users on their remain- ing accounts. -
Biclique Cryptanalysis of Full Round AES with Reduced Data Complexity
Biclique Cryptanalysis of Full Round AES with Reduced Data Complexity Donghoon Chang, Mohona Ghosh, Somitra Sanadhya Indraprastha Institute of Information Technology donghoon, mohonag,[email protected] Abstract. Biclique cryptanalysis was proposed by Bogdanov et al. in Asiacrypt 2011 as a new tool for cryptanalysis of block ciphers. A major hurdle in carrying out biclique cryptanalysis is that it has a very high query complexity (of the order of 288 for AES-128, 280 for AES-192 and 240 for AES-256). This naturally puts a big question mark over the practical feasibility of implementing biclique attack in real world. In this work, we re-evaluate the security of full round AES against biclique cryptanalysis. We describe an alternate biclique construction with signicantly reduced query complexity (of the order of 224 for AES-128, 232 for AES-192 and 28 for AES-256) at the expense of a slightly increased computational cost. In our approach, we use independent biclique technique to launch a chosen ciphertext attack against AES. Keywords: AES, block ciphers, cryptanalysis, biclique, meet-in-the middle, key recovery. 1 Introduction AES (Advanced Encryption Standard), standardized by the US NIST in October 2000, has been accepted and adopted worldwide thereafter. It remains the most favored cryptographic scheme in both software and hardware applications. Despite the design having been subjected to tremendous scrutiny in the past 12 years, it has remained remarkably immune to all cryptanalytic attacks of practical signicance. Single key recovery attacks such as multiset attack [1], square attack [1], boomerang attack [2, 3], impossible dierentials [4, 5], algebraic attack [6, 7] etc. -
Performance Analysis of Cryptographic Hash Functions Suitable for Use in Blockchain
I. J. Computer Network and Information Security, 2021, 2, 1-15 Published Online April 2021 in MECS (http://www.mecs-press.org/) DOI: 10.5815/ijcnis.2021.02.01 Performance Analysis of Cryptographic Hash Functions Suitable for Use in Blockchain Alexandr Kuznetsov1 , Inna Oleshko2, Vladyslav Tymchenko3, Konstantin Lisitsky4, Mariia Rodinko5 and Andrii Kolhatin6 1,3,4,5,6 V. N. Karazin Kharkiv National University, Svobody sq., 4, Kharkiv, 61022, Ukraine E-mail: [email protected], [email protected], [email protected], [email protected], [email protected] 2 Kharkiv National University of Radio Electronics, Nauky Ave. 14, Kharkiv, 61166, Ukraine E-mail: [email protected] Received: 30 June 2020; Accepted: 21 October 2020; Published: 08 April 2021 Abstract: A blockchain, or in other words a chain of transaction blocks, is a distributed database that maintains an ordered chain of blocks that reliably connect the information contained in them. Copies of chain blocks are usually stored on multiple computers and synchronized in accordance with the rules of building a chain of blocks, which provides secure and change-resistant storage of information. To build linked lists of blocks hashing is used. Hashing is a special cryptographic primitive that provides one-way, resistance to collisions and search for prototypes computation of hash value (hash or message digest). In this paper a comparative analysis of the performance of hashing algorithms that can be used in modern decentralized blockchain networks are conducted. Specifically, the hash performance on different desktop systems, the number of cycles per byte (Cycles/byte), the amount of hashed message per second (MB/s) and the hash rate (KHash/s) are investigated.