Dragon Crypto – an Innovative Cryptosystem

Dragon Crypto – an Innovative Cryptosystem

International Journal of Computer Applications (0975 – 8887) Volume 176 – No. 29, June 2020 Dragon Crypto – An Innovative Cryptosystem Awnon Bhowmik Unnikrishnan Menon Department of Mathematics and Computer Science Department of Electrical and Electronics Engineering CUNY York College Vellore Institute of Technology, Vellore 94 – 20 Guy R. Brewer Blvd Tamil Nadu 632014 Jamaica, NY 11451 ABSTRACT around with twin dragon, tetra dragon and septa dragon In recent years cyber-attacks are continuously developing. curves, which was generated as a fun part of this project and This means that hackers can find their way around the named the rainbow dragon (Bhowmik & Menon, Rainbow traditional cryptosystems. This calls for new and more secure Dragon, 2020) since each part was given a color of the cryptosystems to take their place. This paper outlines a new VIBGYOR. cryptosystem based on the dragon curve fractal. The security level of this scheme is based on multiple private keys, that are 2. THE DRAGON FRACTAL crucial for effective encryption and decryption of data. This A fractal is just a repetition of an initial geometric shape. This paper discusses, how core concepts emerging from fractal is generated by something known as the Iterative Function geometry can be used as a trapdoor function for this System (IFS). The dragon curve is one such fractal. There are cryptosystem. multiple ways to generate this fractal. General Terms 2.1 Generating the Dragon Fractal Data Security, Recreational Cryptography This dragon curve fractal, or its generation algorithm forms the basis of this cryptosystem, and hence the proposed name Keywords Dragon Crypto. Here, an arbitrary string of characters is Dragon curve, dragon fractal, dragon curve fractal, heighway passed through the Koblitz Encoder to obtain the starting dragon curve, heighway dragon fractal, cryptography, point for the IFS. cryptosystem, crypto system, secure encryption, Iterative The iterations of the dragon curve can easily be generated by Function System, IFS, iteration, iteration, precision, trapdoor folding a strip of paper 푛 number of times. A strip of paper is function. taken and folded in half, to the right. This process is repeated, folded in half again to the right. The process is continued as 1. INTRODUCTION many times as required, which is usually many times. It can Fractals are just a self-replication of a pattern. There are many be easily noticed that it will be hard to fold the strip after a fractals that are found in nature. One such fractal curve is certain point. Suppose the strip is folded twice. When known as Heighway Dragon, or simply the Dragon Curve. unfolded and relaxed, it is observed that every bend/corner of Because this is a fractal, hence it requires an IFS (Iterated the strip has a 90∘ turn. It is now the second iteration of the Function System). In simple words, an initial simple pattern is dragon curve. If it is folded again and opened, it would be the made and thrown into a recursive function, before running a third iteration and so on. Following is a visual of what is loop and calling the function repeatedly until the required described here… objective is accomplished. The idea of this cryptosystem came up due to the blog post (Bhowmik & Menon, 2018) about coding up a dragon curve fractal and recently while playing Figure 1. Paper folding method Now all that’s left to do is to visualize a turtle walking along If the 푛푡ℎ iteration is known, then the 푛 + 1 푡ℎ iteration can these lines and it should be able to predict how to move. Let F be predicted in the following way. Suppose the objective is to = forward, L = left, R = right. The following sequences are derive the third iteration from the second iteration associated with the respective iterations… The last element of the sequence if ignored for the 1st iteration – F L F L moment (F L F L F R F). In the remaining elements, nd the L’s and R’s are switched. The sequence now 2 iteration – F L F L F R F L becomes (F R F R F L F R) rd 3 iteration – F L F L F R F L F L F R F R F L Now the elements about the midpoint are flipped. 37 International Journal of Computer Applications (0975 – 8887) Volume 176 – No. 29, June 2020 The sequence turns into (R F L F R F R F) Appending the result of step 4 to the 1st iteration will generate the 3rd iteration. The last element which was ignored in the first step is appended to the sequence (R F L F R F R F L) Using the same logic, the next iterations can be predicted. A fractal curve generated with 15 iterations is as follows… Figure 2. Dragon Curve Fractal 3. KOBLITZ ENCODING AND Thus, the message 푀 is encoded as an element of the Abelian group 퐺 = 퐸 픽 . The following is performed for decryption. DECODING ALGORITHM 푝 The encoding algorithm (Brady, Davis, & Tracy, 2010) is as Considering each point 푥, 푦 and setting follows 푥 − 1 푚 = Given a message 푀, convert each character 푚푘 into 푘 16 a number 푎푘 using Unicode, where 푏 = 2 and 푚 16 Which is essentially means 푎 = 푚표푑 푏. Thus, 0 < 푎푘 < 2 푘 푏푘−1 each character is recovered and concatenated to produce Convert the message 푀 into an integer using the original message 푀. 푛 푘−1 4. EQUIVALENCE CLASS MODULO 4 푚 = 푎푘 푏 푘=1 Any number divided by 4 can result in remainders 0,1,2,3 . So, any number divided by 4 is one of 4푟, 4푟 + 1,4푟 + 2,4푟 + In practice an 푛 ≤ 160 is chosen such that 푚 3. However, if only odd numbers are considered, they are of satisfies the form 4푟 + 1 or 4푟 + 3. Numbers of these forms are useful 푚 ≤ 216⋅160 < 푝 in figuring out important information regarding the dragon curve and could be an element of penetration attempt by an 푝 A number 푑 is fixed such that 푑 ≤ . In practice the interceptor. This is described in detail at a later section. 푚 prime 푝 is chosen large enough so that 푑 = 100 can Theorem 1. Let 푅 ⊆ 푆 × 푆 be an equivalence class on a set 푆. be allowed. Then the set of ℛ-classes constitutes the whole of 푆. For integers 푗 = 0,1,2, … 푑 − 1, the following are Proof. performed ∀푥 ∈ 푆: 푥 ∈ 푥 ℛ Definition of equivalence class 푥 coordinate of a point on the elliptic curve is computed as ¬ ∃푥 ∈ 푆: 푥 ∉ 푥 ℛ Assertion of universality 푥푗 ¬ ∃푥 ∈ 푆: 푥 ∉∪ 푥 Definition of set union 푥 = 푑푚 + 푗 푚표푑 푝 where 푚 = ℛ 푗 푑 ∀푥 ∈ 푆: 푥 ∈∪ 푆/ℛ Assertion of universality 3 Compute 푠푗 = 푥푗 + 퐴푥 + 퐵 푚표푑 푝 푆 ⊆∪ 푆/ℛ Definition of a subset 푝+1 2 If 푠푗 ≡ 푠푗 푚표푑 푝, then 푦 coordinate of a point Also: on the elliptic curve is defined as 푦푗 = 푝+1 ∀푋 ∈ 푆/ℛ: 푋 ⊆ 푆 Definition of equivalence class 푠 4 푚표푑 푝. Return the point 푥 , 푦 . 푗 푗 푗 ∪ 푆/ℛ ⊆ 푆 Assertion of universality 38 International Journal of Computer Applications (0975 – 8887) Volume 176 – No. 29, June 2020 By definition of set equality 푥푗 , 푦푗 is stored into another list. ∪ 푆/ℛ ⊆ 푆 c. A special padding is applied on the list of end points And so, the set of all ℛ-classes constitutes the whole of 푆. as follows (Union of Equivalence Classes is Whole Set, n.d.) "푋푥1푋푥2 ⋯ 푋푥푛 푋푌푦1푌푦2 ⋯ 푦푛 푌" 5. TRAPDOOR FUNCTION This turns it into a string. This string is the A trapdoor function is a highly useful concept in modern encrypted cipher text. cryptography. These are functions that are easy to compute in 3. Decryption one direction but extremely hard to compute in reverse if a. Padding is removed and points are regenerated. The certain parameters or critical information for reversal is string is parsed through and split into two sequences lacked. The main novelty of this cryptosystem is the use of the about the "푋푌" mark. So now there are two strings Heighway Dragon Fractal as a trapdoor function. The algorithm starts off with a secret message that needs to be 푋푥1푋푥2 ⋯ 푋푥푛 푋 and 푌푦1푌푦2 ⋯ 푦푛 푌 encrypted (called the plainText). Next, the ordered set 푥 , 푦 of endpoints are recovered by The Koblitz Encoder accepts the plainText along with the 푗 푗 curve parameters (obtained from the private key). The Koblitz parsing through the two strings. Encoder spits out an encoded point in 2D Cartesian space for b. The list of end point coordinates is taken and based each character present in the plainText with the help of curve on the parameters present in the private key (size, parameters. These points are now the starting point of the iterations, angle), a dragon curve fractal is generated dragon curve fractals. For each character, a corresponding in reverse by initializing the turtle at an endpoint starting point and a dragon fractal are generated. facing the correct direction based on the angle. If Now the components of the private key (including size, the private key parameters are all correct, this iterations, angle) are used to generate the fractal for each reverse tracing means the fractal will end at the character from their corresponding starting points. initial starting point. This process is repeated for all characters. The points obtained are stored in a list. 5.1 Private key parameters The list of points obtained from previous step is The following are the private keys involved in the c.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    5 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