Skip to main content

Deepak Kumar Cryptographic Algorithm - Explained with Example

Deepak Kumar Cryptographic Algorithm - Explained

        Now we will get into detailed working of this algorithm, with an example, and understanding the Variables in the Code to run the simulation.

First, we will consider sending the text “Hi”, [ Stored as EncryptText in the Code ] from Machine A to Machine B. This text is parsed and first “H” is sent from Machine A to Machine B. We can take the ASCII value of H, which has three digits. Let’s suppose, consider it as ( 516 ), [ Stored in array InputValues[ ] in the Code ] for convenience. Now we will take the input value of First Digit 5 to be sent from Machine A to Machine B as in Figure 2.



To transfer digit 5 [ Stored as InputValues [0] in the Code ], First Machine B pokes Machine A with a Random Number 3 [ Stored as MacBRandomNumber in the Code ]. Input Value in Machine A [ Stored as MacAInput in the Code ] is 6, which is obtained from Random Number 3 and Machine A Key [0] [ Stored as MacAKeys [0] in the Code]. Input Value 6 is obtained from the position of Random Number 3 [ Stored as MacARandomNumber in the Code ] in Machine A Key [0].

With Input Value 6, we have to do a Permutation ( as explained earlier with the Formula ) on Machine A Key [0] to obtain Machine A Key [1] [ Stored as MacAKeys[1] in the Code ]. Now, we get the value Position [ Stored as Position in the Code ]. Position holds the Digit 5, which has to be transmitted from Machine A to Machine B. Now we calculate the Jumbled [0] [ Stored as the array Jumbled [0] in the Code ]. Jumbled [0] is calculated by jumbling all values of the Machine A Key [1], except the Position of 5. This Jumbled [0] is sent from Machine A to Machine B. 

On Machine B, We calculate the Same Permutation on Machine B Key [0] [ Stored as MacBKeys[0] ], with the same Input Value 6 [ Stored as MacBInput in the Code ]. This Input Value 6, is obtained from the position of Random Number 3 [ Stored as MacBRandomNumber in the Code ]. 

Now Jumbled [0] is sent from Machine A to Machine B. When we compare Jumbled [0] with Machine B Key [1], we get a Match [ Stored as Match in the Code ] only at Position 5. This Position 5 is the Data received by Machine B from Machine A.

Similarly, We send the Next Digit 1 from Machine A to Machine B, as illustrated in Figure 3




  Similarly, Digit 6 is also sent from Machine A to Machine B. On Receiving the three digits ( 5,1,6), we calculate Text ‘H’, from the three digits transferred.

Acknowledgment and Hash Functions 

On receiving Data from Machine A, Machine B acknowledges that it has received the Data. Hash Function is performed on the Input Text and the hash value is sent from Machine A to Machine  B with the same DK Cryptographic algorithm. Hash Value is verified by Machine B, and acknowledgment sent back to Machine A.

Handling Error 

When an Error value is received by Machine B ( Explained in Cryptanalysis ), Machine B reverts back one Key and performs the same process again. If it again gets an Error Value, reverts back two Keys. It does not reverse back more than 5 consecutive keys ( Design Consideration ) and if it reaches one value after Initial Cryptographic Key. Connection is dropped and a new Session Key is created. 

Cryptanalysis 

First, we will see, what happens if someone interrupts the communication and messes with the Data. 

 ● By getting the whole Communication Exchange between Machine A and Machine B, no Information can be derived, because it is always a Jumbled Array and a Random Number. 

 ● By altering the Communication Exchange between Machine A and Machine B, none can be achieved, because alteration of digit value in the Jumbled Array will result in Error. Because, it has to be a valid key, with distinct values from [0-9]. 

 ● Even if the intruder alters the Data with a new valid Jumbled Array, none can be achieved. Because When Machine B receives the Jumbled Array, Machine B will compare it with its Machine B Key. If a wrong match is found, the Hash Data ( or Acknowledging every Character Sent, based on Design Consideration ) will be different, when that Data is verified. 

 ● Even if an intruder tries a Brute Force attack on Jumbled Array, Error will be detected, on even one single altered Jumbled array. 

 ● An intruder can’t send any data across Machine A and Machine B, because, He does not know, which Jumbled Array to use to send a digit across from Machine A to Machine B. 

 ● Altering Random Number is of no use. Because Mismatch will occur and it corrupts the Data Sent, which can be found on Hash verification.

Now, we will get into different types of attacks that can take place.

Ciphertext only attacks 

As explained earlier, Obtaining Cipher Text Only will be of no use. Because it is always a Jumbled Array of distinct digits from [0-9]. Frequency analysis can not be performed on the Cipher Text, because it is always a Jumbled Array.  

Known Plaintext attacks 

Even if we have both Plain Text and Cipher Text, Key can’t be detected as it changes every time a Data is sent and there is no clue left in the Cipher Text, that can help to detect the Key.

Chosen Plaintext Attack and Chosen Ciphertext Attack will be of no use, as explained above.

Man-in-the-Middle Attack 

Man in the Middle Attack will be of no use. Since Capturing the Key value in Key Exchange will not happen as the Exchange is secured by DK Cryptographic Algorithm.

Quantum Computing 

Now, we can securely transfer data between Machines, without bothering about any Quantum Computers or any other Super Computers that will ever come. Processing power is helpless with Deepak Kumar’s Cryptographic Algorithm.

Comments

Popular posts from this blog

DK Cryptographic Algorithm to withstand attacks from Quantum Computers

In this article, I propose a Cryptographic Algorithm, called DK Cryptographic Algorithm, which is so reliable and robust that even Quantum Computers will not be able to break it. E very time,  data is sent as a combination of numbers from 0 to 9, between the sender and the receiver, with no clue about the content of it. Since it simply involves the jumbling of numbers between 0 and 9, it can be implemented even by the simplest devices like Mobile phones. Deepak Kumar Cryptographic Algorithm Overview This is a simple symmetric key cryptographic algorithm, which uses a simple [0-9] Decimal array to transfer data from one machine to another.  It can withstand attacks by attackers using Quantum Computers, or any other sophisticated computers. Goals The goal of this algorithm is to send a text from Machine A to Machine B, even if intruders disrupt the communication, with huge computing abilities. Specifications This cryptographic algorithm establishes communication between two Mach...

Security Feature for your Devices

This article is about a way to completely stop your devices from being stolen. The device can be anything from Mobile Phones to Laptops. The idea is to register your device with an Aadhaar Card when you buy it. When you lose your device, go to the service center, and give your biometric verification along with Aadhaar, like scanning your eye and giving your fingerprints. Upon receiving the complaint, the device firm will block the device, which can only be switched on when the firm gets back the device. Devices should be designed in a way, that re-installation of the Operating System, by erasing the old ones should not be allowed, when the device is blocked by the firm. Buy with Registration Whenever you buy a device, from Mobile Phones to Laptops, Even Smart TVs, Earphones, or Tablets, it should be registered with your Aadhaar Card. The process is simple, you don't need to keep records of your bill. Because most can't keep their purchase bill (Invoice) for years. All you need ...

Bus Timing Calculator System for Metro and Cosmopolitan City Buses

               City Buses in Metro and Cosmopolitan cities like Chennai and Bangalore need Bus Timing calculator Systems that allow them to track the timing of their buses. A passenger waiting for a bus needs to know when a particular bus will reach his bus stop so that he can plan his visit to the bus stop accordingly. He needs to know whether Bus 1 will come sooner to reach a destination or whether he can take Bus 2 through other routes to reach his destination. He needs to know how long he has to wait for a bus to come. He needs to know whether a bus will come to a bus stop or not. We need to design a Bus Tracking System that informs the customer about all these. Steps to follow to find the timings Step 1 : Install a GPS in every Bus in Metro and Cosmopolitan Cities. Most of them already have.  Step 2 : Let the bus travel on all routes as usual during the day and night and calculate the timings of the bus. The calculations are what...