Newest questions tagged hash - Information Security Stack Exchange most recent 30 from 2019-08-26T00:45:30Z 5 Why are non-collision-resistant hash functions considered insecure for signing self-generated information KOLANICH 2019-08-23T18:54:12Z 2019-08-24T18:01:06Z <p>Let we have a hash function that is second preimage resistant but not collision-resistant.</p> <p>Then an adversary can create a pair of different messages M and M', M is benign and M' is malicious, for both of which the signature will be valid.</p> <p>I don't understand why it is an issue in the setting where signatures are used to authenticate origin of data created by the same entity. So if one signs some software he claims "I have created this content myself, if it contains malware, blame me". And for keys: "this public key has a corresponding private key, I have access to it".</p> <p>If one crafts a collision and signs self-generated data ... he still claims the above statements.</p> <p>So should such hash functions be considered secure for things like self-signed certificates and code signing?</p> 0 Statistical Analysis of Cryptographic Hashing Algorithms [migrated] Raeesa 2019-08-20T07:27:25Z 2019-08-20T07:37:31Z <p>I was wondering how can I use NIST Statistical Test Suite to check for the randomness of output generated by a cryptographic hashing algorithm, let say SHA-256?</p> <p>To be specific, how will I generate input for the suite? For block ciphers, we use key avalanche, plaintext and ciphertext avalanche, etc as inputs of the suite. Is same kind of inputs are used while evaluating a cryptographic hash algorithm, as for an S-box or block cipher?</p> 0 How can I apply message digest to the application so that user can validate the accuracy and completeness of the software [on hold] kudlatiger 2019-08-18T04:39:50Z 2019-08-18T08:43:23Z <p>I have developed the application and now it's time to distribute to my users. I was reviewing my application and reading security best practises and found below statement in one of the article.</p> <blockquote> <p>Published software should provide the user with the message digest so that user can validate the accuracy and completeness of the software</p> </blockquote> <p>Now, the question is how can I do it practically? How do I sign my MSI package or application? Where I can find the process and steps? How user validate my application accuracy?</p> 2 How does Veracrypt work? Dux 2019-08-15T15:51:37Z 2019-08-16T21:28:40Z <p>I’m a layman in security and was trying to understand how hashes and encryption algorithms are used in Veracrypt/Truecrypt.</p> <p>Reading the documentation, this is what I understood (please, feel free to correct me if I’m wrong):</p> <p>For simplification’s sake, let’s consider a non-system volume, no hidden volumes and no Cascade.</p> <p>An encrypted <strong>HEADER</strong> is generated containing two <strong>Master Keys</strong> (Primary and Secondary). Those <strong>Master Keys</strong> were created using <strong>RNG</strong> based on the <strong>HASH</strong>.</p> <p>To <em>Decrypt</em> the <strong>HEADER</strong>, the correct password must generate a <strong>HEADER KEY</strong> (two keys, actually) using a <em>derivation function</em> from the selected <strong>HASH Algorithm</strong>.</p> <p>This HEADER KEY decrypts the HEADER. In other words, the HEADER is not the HASH itself from which the key is compared with.</p> <p><strong>Edit</strong>: The <a href="" rel="nofollow noreferrer">documentation</a> explains how the <strong>Header Key Derivation</strong> is done:</p> <blockquote> <p>12-bit salt is used, which means there are 2512 keys for each password. This significantly decreases vulnerability to 'off-line' dictionary/'rainbow table' attacks (pre-computing all the keys for a dictionary of passwords is very difficult when a salt is used) [7]. The salt consists of random values generated by the VeraCrypt random number generator during the volume creation process. The header key derivation function is based on HMAC-SHA-512, HMAC-SHA-256, HMAC-RIPEMD-160, or HMAC-Whirlpool (see [8, 9, 20, 22]) – the user selects which. The length of the derived key does not depend on the size of the output of the underlying hash function. For example, a header key for the AES-256 cipher is always 256 bits long even if HMAC-RIPEMD-160 is used (in XTS mode, an additional 256-bit secondary header key is used; hence, two 256-bit keys are used for AES-256 in total).</p> </blockquote> <p>Also, about the <a href="" rel="nofollow noreferrer">decryption</a>, it says:</p> <blockquote> <p>Decryption is considered successful if the first 4 bytes of the decrypted data contain the ASCII string “VERA”, and if the CRC-32 checksum of the last 256 bytes of the decrypted data (volume header) matches the value located at byte #8 of the decrypted data (this value is unknown to an adversary because it is encrypted – see the section VeraCrypt Volume Format Specification). If these conditions are not met, the process continues from (3) again, but this time, instead of the data read in (1), the data read in (2) are used (i.e., possible hidden volume header). If the conditions are not met again, mounting is terminated (wrong password, corrupted volume, or not a VeraCrypt volume).</p> </blockquote> <p>If this is correct, I have some questions:</p> <ol> <li><p>Is the <em>encryption method</em> of the <strong>HEADER</strong> the same of the rest of the volume? And only the keys are different…</p></li> <li><p>If I got it correctly, the two <strong>HEADER Keys</strong> are 256 bit longer. Does those two combined key have the same power as a single 512 bits longer hash? Or is it equivalent to 2^256 + 2^256?</p></li> <li><p>If not for (2), what’s the point of selecting a 512 bits <strong>HASH Algorithm</strong>?</p></li> <li><p>If yes for (2), does the subsequent two <strong>Master Keys</strong> also have 512-bit long equivalent power?</p></li> <li><p>Does the subsequent <strong>two Master Keys</strong> also uses the same <strong>HASH algorithm</strong> that <strong>HEADER Keys</strong> uses? For instance, if I select <em>Whirlpool algorithm</em> in the <em>wizard</em>, does it only affects the HEADER KEY or both?</p></li> </ol> 1 Anonymizing IP addresses using (sha) hashes; how to circumvent rainbow table attacks? Karlo 2019-08-09T11:56:28Z 2019-08-10T11:06:35Z <p>Under GDPR, IP addresses are personal data. I have no need to trace back IP to specific users, but I would like to limit downloads to one per IP.* I do not want to store plain IPs.</p> <p>My first solution would be to hash the IP. I could store the hash:</p> <pre><code>12ca17b49af2289436f303e0166030a21e525d266e209267433801a8fd4071a0 </code></pre> <p>The problem is that hashing all 4 294 967 296 possible IP addresses is simple, and someone will easily find that <code></code> is the stored IP.</p> <p>Adding a salt holds the same problem, you can calculate all the IPs again with this salt and arrive at the same problem.</p> <p>Is there a solution for this?</p> <p><em>* Use case here is simplified, please do not comment on reasons why I want this. ;)</em></p> 0 is possible someone break the algorythm of my dice game with hashes omar omar 2019-08-09T00:55:21Z 2019-08-09T11:15:25Z <p>I just want to know how much secure are these games. I coded my own game and now want to know how much secure is.</p> <p>If for example the hash is visible(before you bet) would be possible decipher this hash trying to break the algorythm and then guess the number in the roll just with this hash? And what i need to learn to know more about this.</p> <p>For example i will provide some examples of the hashes.</p> <pre><code>1.c910a1337bc486f621fc1b1d8bf72ebf99fba1eb20bbc3834151649f5fd59e40 2.bf09437579722a8378e51b06afef30b5af337ec3472ac6aa6d34e6a1bbb0cf09 3.6a3df2709858f3313c6651133fbb9c177b27aa2d5a6736e01f692e45fb44c948 4.7b2963c6d959f81dad5388389e43e047e336092c005b57a5bc684d0cc7cb19de </code></pre> <p>could someone just with the hashes get the algorythm? and how we can protect of this. how much time would take me to get the algorytm.</p> <p>Some idea if would be possible to get the algorythm to guess the number?</p> 0 Is client-side password hashing still useful when using TLS? Is TLS crackable? What about PFS? [duplicate] Char Star 2019-08-07T21:49:13Z 2019-08-08T02:17:18Z <div class="question-status question-originals-of-duplicate"> <p>This question already has an answer here:</p> <ul> <li> <a href="/questions/4936/what-to-transfer-password-or-its-hash" dir="ltr">What to transfer? Password or its hash?</a> <span class="question-originals-answer-count"> 4 answers </span> </li> <li> <a href="/questions/8596/https-security-should-password-be-hashed-server-side-or-client-side" dir="ltr">https security - should password be hashed server-side or client-side?</a> <span class="question-originals-answer-count"> 9 answers </span> </li> <li> <a href="/questions/66475/for-an-https-web-application-is-it-worthwhile-to-encrypt-the-password-before-po" dir="ltr">For an HTTPS web application, is it worthwhile to encrypt the password before POSTing it, to keep a MITM attacker from harversting it?</a> <span class="question-originals-answer-count"> 3 answers </span> </li> </ul> </div> <p>Is client-side password hashing still necessary / useful when using TLS? What about TLS protocols with PFS (perfect forward secrecy) like Diffie-Hellman?</p> <p>Let’s say that I’m running a web application which uses authentication (like most websites). Let's say that I'm already doing server-side hashing. As a developer, I am concerned about sending raw passwords from web clients over the internet to my servers, even if the traffic is encrypted with TLS.</p> <p>In short, I am concerned that an attacker could eavesdrop on these encrypted conversations and eventually crack them. I understand that client-side hashing may still allow rogue clients to impersonate a compromised user, but my customers are most likely re-using their password for my website on other websites. I could at least keep their passwords safe.</p> <p>As far as I can tell, the attackers have all the time in the world to crack these communications. The attackers don’t need to act fast, as is the case for a replay attack or man-in-the-middle attack. Even if I force my users to change their passwords to a new password every month, that doesn’t force them to stop using their old passwords on different websites. Even if the attacker sits around for a decade with a recorded conversation before cracking it, I’d hedge my bet that a good portion of the passwords are still being used on other sites.</p> <p>How easy is it to crack even a single packet in a TLS exchange today? What about ten years from now? Will a TLS conversation recorded today be much more crackable ten years from now? </p> <p>How does the answer change with PFS? As I understand it, each packet would need to be cracked independently, but how difficult is it to guess which packet in a conversation contains a password?</p> <p>And if this is an issue, how much added protection will client-side hashing add? Hashing when done well is pretty damn irreversable, right? Harder to do than cracking TLS?</p> <p>Also, as I understand it, certs / private keys are used only for authentication and not encryption with TLS, so leaking my private keys won’t allow attackers to decrypt old conversations, right?</p> <p>I understand if you think that it isn’t necessarily my responsibility, but in any case, I don’t think that client-side hashing will take much effort. That being said, I’d like to know that it’s worth my while before jumping in.</p> 23 How can I re-use my password and still protect the password if it is exposed from one source? Sinder 2019-08-07T11:41:39Z 2019-08-10T08:17:15Z <p>I know that all servers <strong>should</strong> at least store my credentials as <code>hash(password + salt)</code> + <code>salt</code>, with a secure and well known <code>hash</code> function and a <code>salt</code> unique for me, generated from a secure and well known source.</p> <p>The problem is that servers should do that but may not, so as a user I can't trust them.</p> <p>I am looking for what I can do to my password before sending it to the server, so that if the server is storing plaintext for example, it will not compromise the security my password on other servers.</p> <p>I was thinking of sending <code>hash(password + service)</code> to the servers with the service being <code>"Facebook"</code> or <code>"Amazon"</code> for example. This way if someone get <code>hash(password + service)</code> stored in plain text from that service, that's as if they found the hash of my password + the salt, unique for that service.</p> <p>I already see a problem with that idea: someone could create a rainbow table for each service, making the use of the service as a salt useless.</p> <p>I know the rule <strong>don't invent your own crypto/protocol</strong>, that's why I want to know if there exists a know protocol for a client securing himself?</p> 1 BIOS password hash user213834 2019-08-05T19:54:32Z 2019-08-06T01:03:00Z <p>Is it possible to find the BIOS password hash in a BIOS dump and decrypt it?</p> <p>For instance, a person could use flashrom Live CD to dump the BIOS with flashrom -r but how would you find the BIOS password hash in the bios dump?</p> 1 Cryptographic hash function vs. non-cryptographic hash function examples and compare Daniel Mandelblat 2019-08-04T19:37:58Z 2019-08-06T19:17:57Z <p>I would love to understand at the most basic level what their differences are. When is each one used?</p> <p>Any advantages and disadvantages?</p> 2 Is sha256 a good function to derive 256 bit keys from a secret of sufficient length and entropy? Max L. 2019-07-29T20:18:49Z 2019-07-30T23:28:31Z <p>Assuming I have a secret key of sufficient length and entropy (I get to decide the length and have a good random source).</p> <p>I would like to generate 256 length keys by hashing the root key with the name of each key, ex: </p> <pre><code>key1 = sha256(rootKey +"key1") key2 = sha256(rootKey +"key2") ... keyN = sha256(rootKey +"keyN") </code></pre> <p>Is the sha256 hash a good choice ? </p> <p>If yes, what length should the root secret be ? I'm thinking 256 bit is pretty good, but it wouldn't cost much to make it bigger...</p> 2 Were software "CD key" schemes backdoored or simply misdesigned? smitelli 2019-07-28T22:05:46Z 2019-07-29T04:20:03Z <p>Back in the day, retail software was shipped on physical CDs that often had a printed "CD key" label affixed. The (usually alphanumeric) key on the label was unique to that particular copy of the product, and it needed to be entered during setup for the software to work. The keys had a special property that allowed the installer to determine if the key was valid <em>without contacting a central server of any kind</em>, while still being generally impossible to mash random letters on the keyboard and produce a valid key.</p> <p>Without giving specifically identifiable examples, there are a number of legacy software products and games that I've seen folks discussing installing in recent months, often with missing/lost keys, and common advice is to use keys that look like <code>AAAA-AAAA-AAAA-AAAA</code> or <code>buttheadbutthead</code> during the key entry dialog in the original, pristine installer -- and somehow these keys generally work. Compared to real keys (which looked random, like <code>BWHP-PWJU-VTV1-94M5</code>) these keys are obviously weak and, perhaps most importantly, very easy to memorize.</p> <p>It got me wondering <em>why</em> such keys are accepted in these unmodified retail versions. Is it that these patterns were intentionally installed as "backdoors" by the developers to simplify the development/QA/support process? Or is it more likely that the key validation used some form of home-grown hash/checksum procedure that had blatant but undetected weaknesses that end-users later found and exploited?</p> 1 Would Hashing a Decryption Key Significantly Lower Security? [duplicate] Shawn Eary 2019-07-27T12:59:45Z 2019-07-28T00:10:27Z <div class="question-status question-originals-of-duplicate"> <p>This question already has an answer here:</p> <ul> <li> <a href="/questions/211/how-to-securely-hash-passwords" dir="ltr">How to securely hash passwords?</a> <span class="question-originals-answer-count"> 13 answers </span> </li> </ul> </div> <p>I'm using the Haskell Codec.Crypto.SimpleAES package to create a crude password manager. The password manager <strong>seems</strong> secure but it's unable to warn the user when the decryption key is invalid. If a user supplies a bad decryption key, the program just sends back garbage instead of an "Invalid Decryption Key" error.</p> <p>I want to give the user an error when a bad decryption key is supplied. The easiest way I can think of doing this is to hash the decryption key and save it in a local file when the password manager is initialized. From then on, whenever a user requests a password, the program would then check the supplied decryption key against the hashed value before invoking the decryption algorithm. If the key didn't match the hash, the program would send back an error, but if the key did match, the program would decrypt the requested password and send it back to the user.</p> <p>If the password manager stores a hashed instance of the decryption key in a local file, would that significantly lower security? </p> 2 Is there a password based challenge response authentication scheme with public key cryptography? yacrc 2019-07-22T00:55:28Z 2019-07-22T13:22:02Z <p>I was thinking about an authentication where</p> <ul> <li>the user only has to know a password</li> <li>but no salt, everything else the client retrieves from the server</li> <li>yet a user's password can't be retrieved from the data on the server</li> <li>nor from the communication, meaning not even the server ever gets the password</li> </ul> <p>I thought something like this could be close to the solution:</p> <p>Set up:</p> <ol> <li>the client calculates e=hash(password), p, q primes and n=p*q</li> <li>uses this hash to calculate an RSA decryption key d=(e^(-1) mod phi(n))</li> <li>passes on d and n to the server a way avoiding any man in the middle</li> </ol> <p>Authentication:</p> <ol> <li>the server sends a c=random() challenge and the stored n to the client</li> <li>the client encrypts it and sends r=(c^(hash(password)) mod n) as response</li> <li>the server decrypts a=(r^d mod n) answer and if a==c then the user has been authenticated</li> </ol> <p>Is there a proven authentication scheme similar to this one? If not, would the above be safe with a proper RSA implementation, like OAEP, even though the encryption exponent is not the traditional 65537 but it is actually an intermediate key of the protocol?</p> 0 Is it safe to protect the write permission only with a publicly accessible hashed password? Cinn 2019-07-21T14:41:58Z 2019-07-22T03:38:26Z <p>A user stores a raw information (a comment on a website, a like on a post etc.) in a database. He pairs it with a hashed password and keep the original password safely for him/herself. This password is required to modify or delete this data.</p> <p>Let's say the password is randomly generated, long enough, the hash algorithm is very strong (I know nothing about cryptography).</p> <p>Can this model be considered safe enough to let anymore read the entire database?</p> <p>Such a database would contains only public informations, nothing secret. The password behavior is here just to protect the write permission on any data.</p> 0 How to identify the right hash from a list of salts and pre-given password during authentication? John Smith 2019-07-12T19:58:04Z 2019-07-12T20:40:21Z <p>I apologize for being naive, but I only recently started learning about cryptography and how to go about the security online. </p> <p>From what I've gathered, the safest-without-sacrificing-efficiency way to securely store a password is to add a pepper, generate a random salt, and then hash all three (password + pepper + salt).</p> <p>When a user attempts to login, the program would then check to see if the hash matched the hash in the database associated with the username. Since you need a salt (and hard-coded pepper) to hash the password with any hope of success...</p> <ol> <li><strong>Do you need to try hashing every single salt in your database?</strong></li> <li><strong>If you have a million salts, wouldn't that be very slow?</strong></li> <li><strong>Is there a better way to do this?</strong></li> </ol> 0 Does it increase security to hash a SHA1 hash with a common salt with SHA256 with individual salt [duplicate] Compufreak 2019-07-09T09:13:35Z 2019-07-09T10:37:55Z <div class="question-status question-originals-of-duplicate"> <p>This question already has an answer here:</p> <ul> <li> <a href="/questions/143772/does-rehashing-a-weak-hash-with-a-strong-algorithm-make-it-strong" dir="ltr">Does Rehashing a weak hash with a strong algorithm make it strong?</a> <span class="question-originals-answer-count"> 4 answers </span> </li> </ul> </div> <p>I tried to find a similar question but I did not find a question describing my exact scenario and I am still puzzled if the following actually makes an application more secure.</p> <p>I have legacy passwords stored with SHA1 and a common salt imported to my system. If the user logs in, I am able to rehash the password itself with a stronger algorithm - that's fine. But for the import I want to hash the SHA1-hash again with SHA256 (or better bcrypt) and an individual salt and afterwards remove the SHA1-hash - in my understanding this should increase the security as I increase entropy by adding an individual salt and using a stronger hashing algorithm. Is this correct or does the decreased entropy from SHA1 remain when doing this?</p> 2 Add additional rounds on existing SHA-512 salted hashes without knowing clear text password? LuHa 2019-07-05T15:09:12Z 2019-07-05T15:09:12Z <p>Assuming you have a salted SHA-512 password hash with 5000 rounds. For example:</p> <pre><code>{CRYPT}$6$rounds=5000$6835c5dcf0bb7310$hVod/jy7uONMSa.FVpLHb/2OrWpAj3lB/.RWdvgd3YaQAnzN3rorGhaziswwGsHfOWZYkLwXhHKnCy5By2CKr0 </code></pre> <ul> <li><p>Could one add more rounds (e.g. another 5000 rounds) to this hashed password without knowing the cleartext password such that the hash value still would be valid if a user's cleartext password is verified? </p></li> <li><p>If this is possible as I think it should be, are there existing tools or code to "add more rounds" to this hash value? </p></li> </ul> <p>Btw. the cleartext password for the above hash is "password" but assume would not know this. </p> 3 Password hashing algorithms suitable for IoT devices? Sneekes 2019-07-03T13:36:46Z 2019-07-06T22:15:36Z <p>What password hashing algorithms and other cryptographic hashes (e.g. scrypt, bcrypt, PBKDF2, MD5, SHA-256) are suitable for resource-constrained IoT devices for the consumer-oriented smart home environment?</p> <p>I am looking at a range from ultra-low power CPU devices (most embedded devices) to the devices that have processing power equivalent to a basic Raspberry Pi. This includes the ARM Cortex M3/A8/A9 processors, and low cost chinese SoCs (such as HiSilicon that uses ARM 926).</p> 0 Is it possible to build a partial search mechanism on hashed values? [closed] Shwet Mahalgi 2019-07-03T10:49:58Z 2019-07-04T04:12:47Z <p>I am hashing some sensitive values to support search mechanism as decrypting the values at run-time would be time consuming. I'm using SHA-512 with salt.</p> <p>For now, things look good. I have the hashes of the original values stored in DB that were hashed with a defined salt. Whenever user tries to search with the search parameter, the input value gets hashed with the same salt and I simply match the two hashed values. That suffices my work. </p> <p>But now, I want to offer partial search. So, if I have the hash values of "Hello", "Hi", "Howdy" stored and if the users enters "H", all three values should be matched and retrieved. </p> <p>Is it possible to obtain this functionality?</p> 37 Isn't "Dave's protocol" good if only the database, and not the code, is leaked? Rick 2019-07-01T08:49:09Z 2019-07-30T09:33:32Z <p>I've read <a href="">"Is my developer's home-brew password security right or wrong, and why?"</a>, but there's still a question in my mind:</p> <p>Even if someone uses a bad, home-brewed security algorithm just like Dave, an attacker can't get the real password if the attacker only compromises the database, not the server. <a href="">Mark Burnett's answer</a> to Dave's question seems to prove my guess.</p> <p>Again, take Dave's code as an example. Dave uses insecure/fast hash functions, md5 and sha1, so yes you can crack his password (get the plain text) from the database easily. But you still can't get the real password if his server is not compromised. </p> -2 Which is the weakest hashing algorithm? [closed] Gaurav Mall 2019-06-29T10:42:00Z 2019-06-29T11:06:06Z <p>After studying about hashing algorithms and encryption formulas, I was interested to find which hashing algorithm was the weakest of all. I'm sure it is some weak and old algorithm, but it would be cool to know because I'm planning to make a cracking program and this would be a great starting point. Thanks in advance! </p> 0 Can a hashing function be implemented insecurely? NikxDa 2019-06-28T10:47:34Z 2019-06-28T18:36:22Z <p>After working on a an imaginary security related project, it was decided that the project is going to use the imaginary hashing function X.</p> <p>There are various implementations of the hashing function available as packages, all varying in terms of adoption rates and popularity.</p> <p>Given that any package returns correct hashes for a small amount (<code>n=10</code>) of test cases, are there any serious security implications that could occur? My understanding is that a hashing function should return a irreversible value, and given that any implementation does this correctly, they should all be equally working &amp; therefore secure.</p> <p><strong>Right?</strong></p> 0 What does a hash output (a fingerprint) can be truncated mean? Rick 2019-06-27T05:54:50Z 2019-06-27T06:16:13Z <p>From <a href="" rel="nofollow noreferrer">Public key fingerprint (Wikipedia) </a>:</p> <blockquote> <h2>Creating public key fingerprints</h2> <p>... 3. If desired, the hash function output can be truncated to provide a shorter, more convenient fingerprint.</p> </blockquote> <p>and </p> <blockquote> <h2>Security of public key fingerprints</h2> <p>...<br> While it is acceptable to <strong>truncate</strong> hash function output for the sake of shorter, more usable fingerprints, the <strong>truncated</strong> fingerprints must be long enough to preserve the relevant properties of the hash function against brute-force search attacks.<br> ...<br> In practice, most fingerprints commonly used today are based on <strong>non-truncated</strong> MD5 or SHA-1 hashes.<br> ...<br> However, fingerprints based on SHA-256 and other hash functions with long output lengths are more likely to be <strong>truncated</strong> than (relatively short) MD5 or SHA-1 fingerprints</p> </blockquote> <p>Why would I truncate the hash output? Where do you see truncated hash output? Won't it possibly result in some duplicated value if I truncated it unproperly?</p> 0 How to make the first request which used to create account safe? [duplicate] LoofahBu 2019-06-27T03:13:53Z 2019-07-01T17:56:32Z <div class="question-status question-originals-of-duplicate"> <p>This question already has an answer here:</p> <ul> <li> <a href="/questions/8596/https-security-should-password-be-hashed-server-side-or-client-side" dir="ltr">https security - should password be hashed server-side or client-side?</a> <span class="question-originals-answer-count"> 9 answers </span> </li> </ul> </div> <p>To authorize user, our application defined below steps:</p> <ol> <li>Send user email and password (plain text) through HTTPS.</li> <li>When server received it, generate a salt to hash password and store it.</li> <li>When user wants to login, verify password with salt.</li> </ol> <p>For revoking an user password easier, I choose to generate a salt on server. But my workmate thinks password should be hashed on client before it sends to server.</p> <p>My question is if we hash password on client, it will make password more secure. But we still transmit salt to server or we can't verity it. If anyone get this salt, the password is still insecure. How can I protect this request?</p> 2 Is there any benefit to using a salt when the cleartext is random data? symcbean 2019-06-25T20:25:01Z 2019-07-28T15:35:46Z <p>I understand that using a salt makes it harder to find cleartext using rainbow tables - but in that scenario the clear text is structured / low entropy. If my clear text is generated randomly, then is there any benefit to using a salt?</p> <p>The problem I am trying to solve is that of encrypting http session data serverside. I don't want to persist the decryption key on the server, hence currently I am storing <a href="" rel="nofollow noreferrer">separate cookies for the session identifier and the encryption key</a> at the client. But it occurred to me that if I just stored a single value (the decryption key) at the client, then use the hash of that key as the session identifier, then (in principle) the key cannot be derived from the information stored at the server.</p> 2 Hash value changes after first opening a file FoEvLe 2019-06-25T18:06:31Z 2019-06-25T19:23:58Z <p>Is it possible or normal that the hash value of a file changes just after the first opening/execution of it?</p> <p>I used sha256sum function within Ubuntu terminal to check the hash values before and after the opening/execution of the file.</p> <p>The file has a hash value just after being downloaded (before first execution/opening); and has another hash value just after the first closing it.</p> <p>The type of the file is PDF.</p> 2 Cryptographic requirements for GDPR user210772 2019-06-24T02:29:36Z 2019-06-24T10:15:49Z <p>I'm looking into how to store emails and data regarding GDPR. The reasoning is that it would be beneficial to store users emails linked to certain data (shop data about purchases and questionnaires). E.g.</p> <ul> <li>User u email</li> <li>User u purchased product x</li> <li>User u questionnaire about experience of product x</li> </ul> <p>I've read into how hashing the emails could allow for pseudonymized data, but I'm not sure if this is enough, for example.</p> <p>"Although you no longer have the email addresses of all your users, you could easily compare your database to a list of known email addresses to identify which of those people use your service."</p> <ul> <li><a href="" rel="nofollow noreferrer"></a></li> </ul> <p>There will always be a situation in which people would be able to recover the anonymised data, so my question is, is hashing of emails enough for GDPR? If not then what is the minimum requirement from a cryptographic point of view?</p> 1 When knowing an individual's plaintext password history, how much information is expected to be gained with a new password? Do we know this? gnulynnux 2019-06-21T18:59:53Z 2019-06-21T18:59:53Z <p>The premise: Knowing a persons password history should provide information to help when guessing a new password of theirs.</p> <p>At an extreme end, with a password history of <code>wildcats</code>, <code>wildcats1</code>, then <code>wildcats2</code>, I'd guess there is less than 1 bit of entropy in their next answer.</p> <p>At the other extreme end, someone with randomly generated passwords would lose no information in their history. From an information-theoretic point of view, I imagine this is something we can estimate using the large amounts of password history data available in the world.</p> <p>Somewhere in the middle, a history of "wildcats!Reddit", "crazydogs!Facebook", "locobirds!Stackexchange" would give me some good ideas for a Twitter password, and would greatly reduce the entropy of their hash. Of course, this would be related to the concept of password strength.</p> <p>I'm not so well-read on security, but I assume my idea is not unique. Is there a name for this concept? Do we know any real-world values for the amount of information gained / entropy lost?</p> 0 Estimating Password Cracking Speed Based on GPU? Ryan 2019-06-17T16:26:15Z 2019-06-18T04:20:11Z <p>I was wondering if there was a calculator or formula I could use to find a rough estimation of the time it takes to crack hashes based on GPU. I am trying to assess how much performance I would lose/gain based on different build cases. Specifically, x3-4 RTX 2080's vs. x3-4 RTX 2060's.</p> <p>I've found a few threads or websites about it but they seem more concerned with the actual algorithm and password length/complexity than anything to do with GPU performance (clock speed). Or they say just to run it in hashcat and find out but obviously that's impractical if I'm trying to assess which build case to go with for business justification purposes. </p> <p>I'll be using Hashcat and really don't care about any variables other than the clock speed, so ideally we could make password length, complexity, space, hash type, attack type, etc. constants just so I can have a speed differential to compare GPU models/amounts. </p>