Using states of a double pendulum as a one-way function Hello,

as a non-professional (at all) but a fan of cryptography, I have one idea and I would love to hear your input on it.

As I understand cryptographic functions they should have following attributes:


from private to public part - fast and easy
from public to private - hard 


Ok, thats the basis premises I will try to follow. 

This works for RSA and elliptic curves and so on... If I understand it right.

Now to the idea: 

I have checked a documentary on double pendulum and chaos theory and I find it a very nice idea so I thought like, why not using similar one?

For some details on double pendulum examples see:
http://www.tapdancinggoats.com/double-pendulum 

Ok as output there would be the states of pendulums after simulation. 

And as for input there would be initial: position, amount, mass of the pendulums and length of the simulation.

It should not be a problem of simulation the process with initial data, but there should be a problem on finding the correct initial state.

What do you think? Is this idea worth looking into? :) 

Thank you

Oliver
It's an interesting idea, but I don't think it offers any advantages over current one-way function candidates and may be worse. For one thing, specifying the initial data of the simulation specifies a lot of properties of the dynamical system that will remain invariant (conservation of energy, horizontal component of momentum, et cetera). There are also constraints on the phase space of the coupled pendulums that never change over time either. I'd want the scheme to not have lots of internal constraints and symmetries for an adversary to exploit.

With a dynamical system like this, assuming the adversary can just look at the pendulums, she could just "look at the internals" of your scheme at any time, set up her own Lagrangian or Hamiltonian. By just observing the motion, the state of your one-way function is "leaked".



Also, since floating-point numbers are involved in the numerical solution of the system of equations, if you and I use slightly different numerical integrators, even for the same initial state, we may get different final states / "public keys" due to rounding or Runge-Kutta methods. In fact, you will have to specify the initial position and momentum extremely well, since any small changes in this data will cause wildly different subsequent states: chaos in a nutshell.