Hot answers tagged

58

A simple answer, NO. It is like asking, if I know, that x%4 = 3, is it possible to find the value of x? No. Surely, there would be infinite values of x satisfying this equation, but you wouldn't simply know which one is correct. Similarly, many(or infinite) video clips could result in a given hash value(obviously, infinite video clips have to be mapped to ...


12

This is not possible no matter how fast your computer is, simply because you cannot recreate the correct information out of practically nothing. You are actually asking for restoring 2 MB from 32 byte (size of SHA-256) or at most 64 byte (SHA-256 for chunk and for total file). This would be an ratio of 1:65536 or 1:32768. Given that video is already ...


7

The Information Commissioner's Office is the relevant public body. You can report a concern online. However, there is no explicit requirement to hash passwords. The Data Protection Act includes eight data protection principles; number is 7: Appropriate technical and organisational measures shall be taken against unauthorised or unlawful processing of ...


6

Let's say you have a computer that has infinite amounts of processing power, and can reliably check every possible message against every possible hash in a short time. Here's the problem you now face: collisions. What's a collision? Many different files can match the exact same signature. Many different messages can match the exact same signature. Hashing ...


6

You could not reproduce the file in any reasonable amount of time. The reason is that the only way to 'reverse' a hash is via brute-force, and considering how large the original file was, it would take you that exact amount of bytes to brute force. Let's say you have a video file that is 100MB large, precisely. 1MB = 1,000,000 bytes 100MB = 100,000,000 ...


6

That question is impossible to answer without understanding your requirement for the hash function. Since we're in security.se, though, I suppose that you're asking for a secure hash function. In that case, I'm afraid the answer is: it can't be done. You see, a hash function is just a mapper: it persistently maps data of arbitrary size to a fixed-length ...


6

The only safe method for a website to transfer a password to the server is using HTTPS/SSL. If the connection itself is not encrypted, an ManInTheMiddle can modify or strip away any JavaScript sent to the client. So you cannot rely on client side hashing. You cannot setup a secure connection between client and server on your own, because there is no already ...


5

Gaining read-only access is a much more likely scenario than write access - after all, read access to an old backup or test server somewhere is nearly as good as read access to the real server. (since people don't change their passwords often enough) Also though, one account nearly anywhere (unless you're a banking site) isn't that valuable. Hundreds of ...


5

If I understand your approach and code correctly then you simply don't use the original passphrase for "encryption" but a key derived from passphrase and a static salt. This approach of not using the original passphrase but a derived key is also called key stretching using a key derivation function. The purpose is to make a "better" key by hiding a not so ...


5

Use a password manager like KeePass. Have it auto-generate a different password for every account you own. This ensures that your passwords are far more complex and far more different than a human brain could possibley handle. It also has the advantage that you don't even know you passwords yourself, protecting you from many social engineering attacks. But ...


4

PBKDF2-HMAC-SHA-256 number of iterations desired = 1024 length of the salt in bytes = 16 length of the derived key in bytes = 4096 Ok - PBKDF2-HMAC-SHA-256 is a solid choice, though if you're running on any modern 64-bit CPU, I would strongly recommend PBKDF2-HMAC-SHA-512 instead, because SHA-512 requires 64-bit operations that reduce ...


4

In security, there is an idea called the "CIA triangle", which stands for three basic security qualities: Confidentiality, Integrity, and Availability. Encryption generally addresses confidentiality, while hashing generally addresses integrity. Encryption is used to ensure confidentiality of communications, whenever confidentiality is important. It ...


4

According to this article, the chosen prefix collision algorithm has been used to produce two executable files with the same MD5 hash, but different behaviors. Unlike the old method, where the two files could only differ in a few carefully chosen bits, the chosen prefix method allows two completely arbitrary files to have the same MD5 hash, by appending ...


4

While I can't think of any reason as to why someone would restrict a hash to 10 bytes, if you really want to, I guess you can. What you could do is something like this answer: What is the best 32bit hash function for short strings (tag names)? where you get the md5 of the string and then truncate it to 10 or however many bytes. Honestly, unless if you can ...


4

MD5-based anti-virus just doesn't work MD5-based anti-malware works decently against static-infections that never change. If it changes even by a little bit, you're screwed. However, MD5 is also vulnerable to collisions, so you're going to have a fair share of false positives. I wouldn't rely on this method at all. SHA-256 would probably be better for ...


4

C:\windows\system32\config\SAM (Registry: HKLM/SAM) System memory The SAM file is mounted in the registry as HKLM/SAM. Windows locks this file, and will not release the lock unless it's shut down (restart, BSOD, etc). However, if you look at the SAM entry in the aforementioned registry section, you will not find the hash. Therefore, it seems more than ...


3

Common reasons I saw: Outdated/insecure learning material: A great deal of books/online sites teaching PHP still teach using unsalted MD5 for passwords instead of bcrypt etc. I remember of about 201x a google search for "php password" returned mostly only such tutorials. Outdated knowledge of the programmer: many programmer don't keep their security ...


3

Am I right to say that this won't work if the password is not stored in plain text on the server? I fail to see how the server could verify the hash if the password is already hashed (with salt and pepper) on the server. This scheme does require the password to be stored in clear-text. Very bad. Can this scheme be extended to work with hashed ...


3

For a login function, you should aim to get the hashing process to take around a second. If you take this post as a guide, 1170ms requires around 8,192 iterations of bcrypt (cost of 13). This means that your iterations add around 13 bits of effective entropy. If you have only 31 bits of entropy in a secret, hashed value, then this bcrypt configuration ...


2

While using a sufficiently long and random salt will prevent a precalculation attack (eg: rainbow tables), it will not protect against a simple dictionary attack on the password. Consider the scenario where an attacker gets a copy of the database. If the passwords are just salted SHA2, it may be worth their effort to go after some number of the passwords. ...


2

Anything what the browser can do without human intervention can be automated. This might be done from outside by looking at the code or one might simply control the normal browser with Selenium or similar tools. Since you will pay users for visiting the page the chances are high that somebody likes to earn easy money and will automate the visits.


2

You are thinking about problem the wrong way. One reason to have the hashes close to the download is to you detect if your download has been corrupted. It's not uncommon to have a corrupt download, so having the hash will verify if you downloaded cleanly. The other reason is that is common to a site host the files on another host, like a Content ...


2

You seem to be confusing authentication with authorisation. OAuth is chiefly about authorisation and has various flows to support different scenarios and use cases, one in particular which overlaps with your question supports user / resource owner password based authentication for authorising the requesting application access to some set of resources. As ...


2

The hash that you posted has 32 hexadecimal characters. Each hexadecimal character is 4 bits, so this is a 128 bit hash (32*4=128). Some of the more common hash functions that produce 128 bit hashes are MD5 and RIPEMD-128. See here for others. However, as some of the other commenters have pointed out, hashes are designed to be difficult (if not ...


2

OpenPGP also hashes the package content's, but additionally cryptographically signs the hash. A simply hash sum only allows to detect transmission problems. It does not allow to detect attacks, at least not as long as the hash is not verified through some secure channel. Given the signer's key was validated and is trusted, OpenPGP provides such a secure ...


2

I guess it depends on what the server does, but it doesn't add much protection either way (or is even worse). (Also, does the average user know how to compute a hash on mobile? Sounds quite a hassle to me.) 1. Server stores hashed password This means client sends H = hash(password) to the server, server looks up clients hashed password H' in the DB and ...


2

There is an additional location where they store cached domain credentials as MSCASH2 hashes: HKEY_LOCAL_MACHINE\Security\Cache So, if you are talking about a domain-joined machine, there are three places that you could find credentials stored. SAM file (need both C:\windows\system32\config\SAM, and C:\windows\system32\config\system) Registry ...


1

Would this increase security? No. Any modern application already stores it's passwords hashed in the database. Whenever an authentication attempt is made, the user input is hashed and compared with whatever's in the database. Mostly this happens with a 1-way encryption (the hash cannot be decrypted back to it's raw value). When you would create a hash on a ...


1

Email addresses are very often built off of easy to construct, common patterns with public data - first initial plus last name @ company, first name dot last name @ company, etc. etc. etc. Further, many actual email addresses have been leaked, and several sets of attackers are going to have stolen or purchased large lists of email addresses to try as well. ...


1

The hashing function is used only to check package integrity for transmission errors (which is done by verifying its checksum). It cannot provide any way to authenticate the maker of the package. PGP can be used to verify the signature of the package (or of any other piece of data) over the maker's public key, hence certifying its provenience.



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