First of all excuse me for my inexperience on the topic (I am new to cryptography). I am currently studying for my Master thesis and am am looking for hash function on which I can modify them so thy can be dynamical (meaning the method on which the algorithm is processed is changing on different conditions) by using chaos theory.

I then looked into simple (not real life usable) hash algorithms on which I can do my prof-of-concept. I found the CHA-1 which in my previous post: Is there any code available online for CHA-1? users kindly explained that is a method that shall not be used.

Now I would like to be more descriptive on the topic so you can further understand. I am applying this method on the blockchain and I would like to create a proof-of-concept on which every time a new block is created then the hash algorithm changes as well.

My first thought is to modify the CHA-1 algorithm by making a new tree on which it will produce new values for logistic map's initial conditions from the previous block hash. As a result in order to calculate a new hash you will need the previous block hash, as a key, to calculate the new one, which changes every time a new block is created. I am confident that this method can be applied in mining.

I would like to ask your opinion on which hashing algorithm i can use for this method (that can support my study)?

  • 1
    $\begingroup$ What is your goal for changing the algorithm rather than just the input? Is this about mining or the actual block chain technology? Please note that your post currently doesn't contain a concise question. Without a concise question it is not a good fit for this Q/A site. Please edit your post to include one. $\endgroup$ – Maarten Bodewes Sep 2 '20 at 7:50
  • 2
    $\begingroup$ "hash function on which I can modify them so th(e)y can be dynamical; meaning the method on which the algorithm is processed is changing on different conditions" seems to be functionally what HMAC does. It turns SHA-256 or SHA-512 into hashes parameterized by a key. SHA-3 makes it even simpler (just hash the appropriately padded key before the message). The "by using chaos theory" part of the requirement is often considered as suspicious pseudo-science in mainline crypto academia. $\endgroup$ – fgrieu Sep 2 '20 at 9:43
  • $\begingroup$ Thank you for your reply @fgrieu. The requirement of HMAC is for the parties to know (secretly) the key correct? My approach is for the key to be public available, and the role that it serves is to change the conditions on which the algorithm works. In the case of blockchain, if the users use HMAC and they are informed (publicly) for the key every time a new block mining starts isn't that going to compromise the security? If no then is what i want. :) I hope I was understood. $\endgroup$ – econ Sep 2 '20 at 12:23
  • $\begingroup$ There is nothing in HMAC that asks to share the key. It's OK for a user to draw a secret, never share it, and use it as a HMAC key. Then this user's HMAC behaves as a hash algorithm unique to this user. The key "changes the conditions on which the algorithm works" which looks like what you are trying to achieve. The modern interpretation of Kerckhoff's principle in cryptography asks that algorithms are fixed, well studied, and public; whatever makes instances different is a key (or Initialization Vector). $\endgroup$ – fgrieu Sep 2 '20 at 14:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.