A Pseudo-Random Number Generator Using Double Pendulum

A Pseudo-Random Number Generator Using Double Pendulum

Appl. Math. Inf. Sci. 14, No. 6, 977-984 (2020) 977 Applied Mathematics & Information Sciences An International Journal http://dx.doi.org/10.18576/amis/140604 A Pseudo-Random Number Generator Using Double Pendulum Chokri Nouar ∗and Zine El Abidine Guennoun Department of Mathematics, Mohamed V University in Rabat No. 4, Avenue Ibn Battouta B. P. 1014 RP, Rabat, Morocco Received: 15 Oct. 2019, Revised: 3 Apr. 2020, Accepted: 6 May. 2020 Published online: 1 Nov. 2020 Abstract: Chaos in the double pendulum motion has been proved in several studies. Despite this useful cryptographic propriety, this system has not been applied to cryptography yet. This paper presents a new pseudo random number generator based on a double pendulum. Randomness of the numbers generated by the proposed generator is successfully tested by NIST and DIEHARDER tests. The results of the security analysis asserted the appropriateness of the new generator for cryptographic applications. Keywords: Chaotic systems, DIEHARDER, Double Pendulum, NIST, Pseudo-Random Number Generator. 1 Introduction This paper presents a pseudo random number generator based on a double pendulum. The produced Recently, the pseudo random number generators have sequences were subjected to an experimental study to test become a ubiquitous tool used in numerous areas such as randomness and the chaotic behavior of the generator. numerical analysis, statistical sampling, gaming industry, The sequences stream has successfully passed various computer simulations, computer security (keygen, statistical tests, and the generator is highly sensitive to captacha...), cryptography , ... etc. [1]. one bit change in the keys. The rest of this paper is organized as follows. In Chaotic dynamical systems are highly sensitive to section 2, the double pendulum and its motion equations initial conditions and parameters [2]. This propriety are introduced. In section 3, a detailed description of our makes the pseudo random numbers generators based on PRNG is presented. Section 4 is dedicated to the them appropriate for encryption algorithms. The idea of statistical analysis and validation of the number designing a pseudo random numbers generator using sequences generated by our generator. chaotic dynamical systems was proposed by Oishi and Inoue in 1982 . Several pseudo random number generators were suggested in their paper [3]. The double pendulum is a dynamic chaotic system [4] that consists of 2 Double Pendulum two-point masses at the end of light rods. It is a simple physical system that exhibits a strong sensitivity to initial conditions [5]. A double pendulum consists of a mass m1, attached by a The motion of a double pendulum is given by a set of massless rod of length l1 and a mass m2 attached at the ordinary differential equations [6]. First, we change the mass m1 by another massless rod of length l2. The system continuous equations into discrete counterparts using the freely rotates in a vertical plane. This means that the first Euler method with very small steps. Second, we collect pendulum is attached freely at the second but both are the Cartesian coordinates of the second mass; the couples constrained to oscillate in the same plane. See Figure 1. (x,y) of every moment. Then, we extract the numbers starting form the fourth digit after the decimal point. The double pendulum is very sensitive to initial conditions and its motion exhibits chaotic behavior [4]. ∗ Corresponding author e-mail: [email protected] c 2020 NSP Natural Sciences Publishing Cor. 978 C. Nouar, Z. A. Guennoun: A Pseudo-Random number generator using... Fig. 1: Double pendulum Fig. 2: The forces applied to m1 and m2 2.1 The motion equations and when applied to the second mass we have : m x¨ T sin θ (3) Equations of motion are usually deduced using the 2 2 = − 2 ( 2) Lagrangian, Hamiltonian or Newtonian methods. In this m2y¨2 = T2cos(θ2) − m2g (4) paper, we use the Newtonian method. Applying some algebraic manipulations to our The position equations are given by the relations below equations, we find the expressions of θ¨1 and θ¨2. x1 = l1sin(θ1) From (1) and (3): (y1 = −l1cos(θ1) m1x¨1 = −T1sin(θ1) − m2x¨2 x2 = x1 + l2sin(θ2) ⇒ m1x¨1 + m2x¨2 = −T1sin(θ1) (5) (y2 = y1 − l2cos(θ2) from (2) and (4): Speed is the derivative of the position with respect to the time (v = x˙). m1y¨1 = T1cos(θ1) − m2y¨2 − m2g − m1g ⇒ m1y¨1 + m2y¨2 + m2g + m1g = T1cos(θ1) (6) x˙1 = θ˙1l1cos(θ1) ˙ Now from (5) and (6), we have the result (7): (y˙1 = θ1l1sin(θ1) sin(θ1)(m1y¨1 + m2y¨2 + m2g + m1g)= −cos(θ1)m1x¨1 x˙2 = x˙1 + θ˙2l2cos(θ2) ˙ − cos(θ1)m2x¨2 (7) (y˙2 = y˙1 + θ2l2sin(θ2) and the acceleration is the second derivative and from (3) and (4) we have the result (8) (a = v˙ = x¨), so sin(θ2)(m2y¨2 + m2g)= −cos(θ2)(m2x¨2) (8) θ˙ 2 θ θ¨ θ x¨1 = − 1 l1sin( 1)+ 1l1cos( 1) Finally, we replacex ¨ andy ¨ in results (7) and (8) with θ˙ 2 θ θ¨ θ (y¨1 = 1 l1cos( 1)+ 1l1sin( 1) the equations of acceleration. After calculations and some simplifications, the motion equations of the double x¨ = x¨ − θ˙ 2l sin(θ )+ θ¨ l cos(θ ) 2 1 2 2 2 2 2 2 pendulum are given by the following relations: θ˙ 2 θ θ¨ θ (y¨2 = y¨1 + 2 l2cos( 2)+ 2l2sin( 2) We shall denote by : −g(2m1 + m2)sinθ1 − m2gsin(θ1 − 2θ2) T1 : the tension of the first rod, θ¨1 = l1(2m1 + m2 − m2cos(2θ1 − 2θ2)) T2 : the tension of the second rod, m : the mass of m1, 2sin(θ − θ )m2(θ˙ 2l + θ˙ 2l cos(θ − θ )) 1 − 1 2 2 2 1 1 1 2 (9) m2 : the mass of m2, l1(2m1 + m2 − m2cos(2θ1 − 2θ2)) g : the gravitational constant. Applying the second Newton’s law : ∑F = ma θ θ θ˙ 2 ¨ 2sin( 1 − 2)[ 1 l1(m1 + m2) to the first mass we have : θ2 = l2(2m1 + m2 − m2cos(2θ1 − 2θ2)) m1x¨1 = −T1sin(θ1)+ T2sin(θ2) (1) ˙ 2 g(m1 + m2)cos(θ1)+ θ2 l2m2cos(θ1 − θ2)] θ θ + (10) m1y¨1 = T1cos( 1) − T2cos( 2) − m1g (2) l2(2m1 + m2 − m2cos(2θ1 − 2θ2)) c 2020 NSP Natural Sciences Publishing Cor. Appl. Math. Inf. Sci. 14, No. 6, 977-984 (2020) / www.naturalspublishing.com/Journals.asp 979 2.2 Euler method 3.1 The calculation of the initialization values The explicit Euler method is a general principle that The initial conditions l1,l2,m1,m2,θ1,θ2 are calculated allows to discretize first degree and first order differential from a binary string of any length n ≥ 32bits which equations with a given initial value. When the step size represents the key K = (k1k2k3...kn)2. Hence we extract minimizes, accuracy of the Euler method maximizes. 64 bits for each parameter value from the K by a method based on a new technique of initialization. Given an initial value problem : In the first step, the key binaries are divided into four y˙(t)= f (t,y(t)), y(t0)= y0 parts ( i.e. k1,k2,k3 and k4) and from these four parts all Let h be the step size, so tn+1 = tn + h, n ∈ N, and the parameters are built by XOR and concatenation. This differential equation is, as follows: operation stops when we get 64 bits for each part. L1 = k1 ⊕ k2kk1 ⊕ k2k... yn+1 = yn + h f (tn,yn), y(tn)= yn L2 = k1 ⊕ k3kk1 ⊕ k3k... M1 = k1 ⊕ k4kk1 ⊕ k4k... 2.3 The positions suite M2 = k2 ⊕ k3kk2 ⊕ k3k... The present paper focuses on the Cartesian coordinates of T1 = k2 ⊕ k4kk2 ⊕ k4k... the second mass (x2;y2), given that this position depends T2 = k3 ⊕ k4kk3 ⊕ k4k... on the angles θ1 and θ2 by the following relations : R = k1 ⊕ k2kk3 ⊕ k4k... x2 = l1sin(θ1)+ l2sin(θ2) In the second step, all parameters are represented in the binary form as follows (y2 = −l1cos(θ1) − l2cos(θ2) L1 L1 L1 L1 L1 L1 L1 L1 L1 = (k0 k1 k2 k3 ...k60k61k62k63) From the acceleration θ¨1 and θ¨2 we use the explicit ˙ ˙ L2 L2 L2 L2 L2 L2 L2 L2 Euler method to define the speed θ1 and θ2, as well as the L2 = (k0 k1 k2 k3 ...k60k61k62k63) position θ and θ . M M M M M M M M 1 2 M = (k 1 k 1 k 1 k 1 ...k 1 k 1 k 1 k 1 ) We have : 1 0 1 2 3 60 61 62 63 M2 M2 M2 M2 M2 M2 M2 M2 M2 = (k0 k1 k2 k3 ...k60 k61 k62 k63 ) θ˙1,n+1 = θ˙1,n + hθ¨1,n and θ˙2,n+1 = θ˙2,n + hθ¨2,n T1 T1 T1 T1 T1 T1 T1 T1 T1 = (k k k k ...k k k k ) likewise : 0 1 2 3 60 61 62 63 T = (kT2 kT2 kT2 kT2 ...kT2 kT2 kT2 kT2 ) ˙ ˙ 2 0 1 2 3 60 61 62 63 θ1,n+1 = θ1,n + hθ1,n and θ2,n+1 = θ2,n + hθ2,n R R R R R R R R R = (k0 k1 k2 k3 ...k60k61k62k63) Hence, we have the positions suite, as follows: Finally, from this binary representation, we calculate the real values of our parameters by a binary to decimal θ θ x2,n = l1sin( 1,n)+ l2sin( 2,n) conversion. θ θ (y2,n = −l1cos( 1,n) − l2cos( 2,n) 63 L1 63−i 63 L2 63−i ki × 2 ki × 2 l1 = ∑ 63 l2 = ∑ 63 i=0 2 i=0 2 3 The Proposed Generator 63 M1 63−i 63 M2 63−i ki × 2 ki × 2 m1 = ∑ 63 m2 = ∑ 63 This paper presents a new pseudo-random number i=0 2 i=0 2 generator based on a double pendulum; it is a 63 kT1 × 263−i 63 kT2 × 263−i K θ i θ i deterministic generator initialized by a key of more 1 = ∑ 63 2 = ∑ 63 than four characters size whose output is a i=0 2 i=0 2 cryptographically-secured binary sequence.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us