My Question(s)
I am wondering if I have a password (long enough) and I cypher it by itself (let's ignore the salt) in this way:
cy_hash(mypassword)=cypher(text=mypassword,key=mypassword)
Then, is cy_hash
as secure as md5
, sha1
, sha512
, etc?
Also:
- Is there any theoretical comparison between these methods?
- Has this method ever been used in practice? If not, why?
- Is there any research on this hash?
My research efforts
As for my research efforts, I have looked around and found the following Q&As:
- Is it safe to encrypt a string using same string as key? (at StackOverflow)
- how much is secure to encrypt a password using itself (as encryption key) for storing it on a unsecure media? (at Crypto.StackExchange)
but those Q&As do not answer my question. You can safely skip linking to them.
12345blabla
) with the password and when the password is given, try to decrypt it and check that there is no error, i.e. the string is returned.I think the big problems here are that it is more difficult to implement than a "simple" hash and that it is way too fast. A password hash should be slow, whereas encryption algorithms are usually designed to be fast, sometimes even supported by hardware acceleration (AES).
– rugk May 28 '17 at 13:34