Short info: AES
AES is a family of permutations like any block cipher. A block cipher has a short block size like AES has 128-bit. In order to operate you need a mode of operation.
Short info: Hash functions
Hash functions are one-way, deterministic, and in some sense have an unpredictable output ( untiluntil one calculates). They are mainly built for collision resistance and pre-image resistance (first and second).
A. The key of the AES is never exposed. (Without knowing the key, I believe there is no possibility of decryption and hence one-way function as a hash)
B. For some applications, the input size is always fixed. In this case, if someone uses AES encryption as the purpose of hash, do any possible problems exist?
The output size is the first problem. For example; for an integrity check, a good 512-bit hash function is enough. With encryption, there is no integrity without a proper mode of operation and those are not part of encryption like CBC-MAC, HMAC, KMAC, NMAC, GCM, Poly1305, etc.
One needs the key to verify, on the other hand, hashing is free. Consider you build a password from a hash function than without the key you can verfityverify the password. With encrypted passwords, one needs the key to verify.
You want to sign documents and hashing before signing is part of the security since the first true RabimRabin-signature scheme. How do you consider reducing the size to 256 or 512-bit to sign the document with encryption?
File comparison; one can simply exchange the hash of the files to check the equality; right just 512-bits. Do you want to send the 5GB file encrypted then compared it?
There is a method to make a hash function based on the block cipher.
This is MerleMerkle-Damgard (MD) based construction that uses block cipher on Devies-Mayer method to build a compression function. Unfortunately, there are two major problems for AES to be used in MD
- AES has related-key attacks that enable building collision if used in MD
- The block size is 128 and this makes the output of the hash function is 128-bit. Not secure enough to find the collisions!