Hot answers tagged

95

The password hashes for MS Office 97-2003 are vulnerable to collision attacks. That is, multiple passwords exist that should be able to open the document. That also means that the password "iemuzqau" is not necessarily the original password that was set by the author. It is just one of the passwords that should be accepted, because it matches the internal ...


51

Actually, it's as bad as a full hash leak. Hash-cracking is done by: Generating password candidates Hashing them Comparing the resulting hashes to the hash you want to crack None of those steps will be slower in case of a partial hash leak, so this is very similar to a full hash leak speed-wise. Please note that if the partial hash output is not long ...


34

Actually, you are tackling it the opposite way. It is true that doing hash(salt + password) would allow you to precompute the salt (but see note below) and only hash each password candidate for all those trials. The cost be the same you would bear if you were not using a salt at all. However, the goal of the salt is not to make bruteforcing a single hash ...


25

Many recommendations for storing passwords recommend hash(salt + password) rather than hash(password + salt). Those recommendations are evidently bad, because what they should be telling you is to use a password hashing function that's been specially designed for the purpose, like (in rough order of newer and betterish to older and worse-ish): Argon2 (best)...


16

Hash functions recommended for password use do not have this advantage - I'm not sure that any non-trivial hashing functions do, in fact, but wouldn't want to make a blanket statement there. Instead, hashing functions mix parts from the whole input in each stage. For example, given the input ABCDEFGHIJKLMNOPQRSTUVWXYZ, the first step could be something like ...


14

It depends on how good the password is, and the size of the hash prefix. Large prefix / bad password If we assume this is a hash of an average Joe's password which contains say 30 bits of entropy ("mySuperSecretPassword123" almost certainly contains less entropy than this), and to be conservative we follow Kerckhoffs's principle and assume the attacker ...


4

If you only have half a 160 bit hash, then that means you have 80 unknown bits. This results in $2^80 = 1.2089258196146292e+24$ possible hashes left. That means that your password can be hashed to one of those, and that does exponentially reduce the number of possible passwords (2^80 times less), but an attacker CANNOT find your password only based on this, ...


2

While the above answers do raise some valid points they do not seem to be entirely correct and it should be noted that there do in fact exist weaknesses in certain hash functions that make a significant difference in the cracking speeds for "$pass.$salt" or "$salt.$pass". See for example md5. According to atom (https://hashcat.net/forum/thread-8365.html), ...


2

ThoriumBR answer provides a neat solution about how a system with the desired properties could work. However, it is quite crude for the students. You would ideally want an application built upon that that abstracted all the storing prior versions and applying the patches. Rather than creating a new program for this, I would encourage using a version ...


2

If you hash the google ID you must then rely on the hash function having no collisions, also as you need to use a plain hash like SHA256 not a salted hash like Bcrypt2, because for lookups you need a hash that can be repeated with zero information. For passwords you want a salted hash like Bcrypt2 to prevent rainbow-table attacks. Hashing the google id (...


2

Yes, a program can change a file intentionally or accidentally(ie a bug). There's nothing preventing that assuming it has write permissions, even if you're only opening/closing it. And that will, of course, change the hash value. You can run diff <(xxd pdf_just_downloaded.pdf) <(xxd pdf_just_opened.pdf) to see the byte changes between the two versions ...


2

Unless the content of the file changes in any way, it is not possible. Hashing algorthims rely on the content of the file to determine the hash of the file. Unless the file has changed its own content upon execution, or you have written to the file in some way (even metadata within the file itself), then the hash will not change. One flipped bit in a file ...


1

The GDPR does not contain any technical details, or information regarding specific implementations. Here's recital 26 of the GDPR about pseudonymous and anonymous data: The principles of data protection should apply to any information concerning an identified or identifiable natural person. Personal data which have undergone pseudonymisation, which could ...


1

As was mentioned, getting exact number of hashes per second is impossible, but some benchmarks should give you an idea of scaling if the coolling and other variables are equal or adequate. Now I would avoid mentioning precise numbers and keep in mind that while comparing NVIDIA RTX 2060 and 2080 sgould give you a decent idea, comparing NVIDIA and AMD or ...


1

No. The secret is password, not user ID. Hashing any user IDs has no sense. Furthermore, is seems you store hashed Google passwords. It makes no sense. Normal users will not tell you (your application) their Google passwords.


1

Yes, it can be done. You will need public keys and patches. Student A create original.txt, sign it, and send it to Student B. In turn, Student B checks the signature, edits this document, uses diff to create a patch, signs the student_b.patch and sends it along with original.txt. Student C checks all signatures again, and if they validate applies student_b....


1

Veracrypt is supporting multiple hash algorithms, which are listed in the documentation. It supports the following Hash Algorithms: RIPEMD-160 SHA-256 SHA-512 Whirlpool Streebog


1

The Argon2 spec gives very detailed information. How does one "figure out" how many threads should be used? If only one thread is used, is it unsafe? The maximum number of threads you want is the number of hardware threads on your system. A 4 physical core Intel CPU Hyper-Threading to give it 8 logical cores should be be running Argon2 with 8 threads. ...


1

Sounds like you need the Responsible Disclosures method https://en.m.wikipedia.org/wiki/Responsible_disclosure in which a vulnerability is disclosed only after a period of time that allows for the vulnerability or issue to be patched So contact the maintainer of the package first , and allow them time to fix it before publishing your findings


Only top voted, non community-wiki answers of a minimum length are eligible