Cryptography in Embedded Systems CRYPTOGRAPHY in EMBEDDED SYSTEMS

Total Page:16

File Type:pdf, Size:1020Kb

Cryptography in Embedded Systems CRYPTOGRAPHY in EMBEDDED SYSTEMS Cryptography in Embedded Systems CRYPTOGRAPHY IN EMBEDDED SYSTEMS 1INDERJIT SINGH, 2KHUSHBOO JHINGRAN, 3JEENAL SHAH Department of Electronics Engineering , Fr. Conceicao Rodrigues College of Engineering , Mumbai University Fr. Agnel Ashram, Bandstand, Bandra (W), Mumbai Abstract— It is widely recognized that data security will play a central role in the design of future IT systems. Many of those IT applications will be realized as embedded systems, which rely heavily on security mechanisms. Examples include security for wireless phones, wireless computing, pay-TV, and copy protection schemes for audio/video consumer products and digital cinemas. Note that a large share of those embedded applications will be wireless, which makes the communication channel especially vulnerable. All modern security protocols use symmetric-key and public key algorithms. This contribution surveys several important cryptographic concepts and their relevance to embedded system applications. The security requirements, such as authentication, confidentiality and integrity, always make computationally intensive processes and can easily become the bottleneck of the related applications. This paper presents implementation of KKJEIN algorithm on the ATMEL Microprocessor AT89C51. It shows how cryptography can be implemented for data transfer between two microprocessors using serial ports. Keywords— Cryptography, symmetric key cryptography, public key cryptography. The important criterion to check on a symmetric I. INRODUCTION encryption algorithm was the efficiency of the cipher Now a days embedded systems are increasingly in different platforms, including microcontrollers. used in many distributive applications due to which Since 2001, various implementations have the need for them to communicate among themselves consequently been proposed, exploring the different and other peripherals has risen in the same possible design tradeoffs ranging from the highest magnitude. This communication essentially happens throughput (the speed of the algorithm) to the in an open media, where the data becomes vulnerable smallest area. Each of those implementations usually and hence, any private information communicated focuses on a particular understanding of "efficiency". between any two may be known to others. The necessity to provide digital data security in open II. CRYPTOGRAPHY OVERVIEW access channel invites the science of secret writing called cryptography. In simple words, any procedure Cryptography is where security engineering meets that performs some mathematical operations between mathematics [1]. It provides us with the tools that the data to be communicated (plain text) and a underlie most modern security protocols. It is character string of length K-bits (key) to produce the probably the key enabling technology for protecting result (cipher text) may be called as encryption and distributed systems, yet it is surprisingly hard to do the reverse operation that brings back the plain text is right. Figure 1, shows the block diagram of called decryption in the world of cryptography. cryptography. A new blend of hardware and software is currently being used for encryption in order to combine the best features of both. This provides a considerable speed advantage and security. Additionally, it provides for ease of programming. The need for secure data not only applies to wired and wireless communications, but also is important in applications where access control, data integrity, confidentiality, and authentication are required. For this reason, cryptography will find its way into a host of common devices, including banks, ATMs, kiosks, information Figure 1. Block diagram of cryptography portals, video surveillance equipment, building access controls, etc. The input to an encryption process is commonly This paper describes a hardware system using called the plaintext, and the output the cipher text. AT89C51 to implement KKJEIN algorithm which is There are a number of cryptographic primitives-basic a combination of ceaser cipher and XOR cipher. Even building blocks, such as block ciphers, stream though nowadays this method is not considered as ciphers, and hash functions. Block ciphers may either secure, it helps us to understand various other have one key for both encryption and decryption, in symmetric key cryptography algorithms. which case they’re called shared key (also secret key Proceedings of SARC-IRAJ International Conference, 22nd June 2013, New Delhi, India, ISBN: 978-81-927147-6-9 24 Cryptography in Embedded Systems or symmetric), or have separate keys for encryption Generic PKC employs two keys that are and decryption, in which case they’re called public mathematically related although knowledge of one key or asymmetric. A digital signature scheme is a key does not allow someone to easily determine the special type of asymmetric crypto primitive. other key. One key is used to encrypt the plaintext and the other key is used to decrypt the cipher text. III. TYPES OF CRPTOGRAPHY The important point here is that it does not matter ALGORITHMS which key is applied first, but that both keys are required for the process to work (Figure 3). Because a There are several ways of classifying pair of keys is required, this approach is also called cryptographic algorithms [2]. For purposes of this asymmetric cryptography. paper, they will be categorized based on the number In PKC, one of the keys is designated the public of keys that are employed for encryption and key and may be advertised as widely as the owner decryption, and further defined by their application wants. The other key is designated the private key and use. The three types of algorithms that will be and is never revealed to another party. discussed are: A. Secret Key Cryptography (SKC) C. Hash Function Figure 4. Hash function Figure 2. Secret key cryptography Hash functions, also called message digests and With secret key cryptography, a single key is used one-way encryption, are algorithms that, in some for both encryption and decryption. As shown in sense, use no key (Figure 4). Instead, a fixed-length Figure 2, the sender uses the key (or some set of hash value is computed based upon the plaintext that rules) to encrypt the plaintext and sends the cipher makes it impossible for either the contents or length text to the receiver. The receiver applies the same key of the plaintext to be recovered. Hash algorithms are (or rule set) to decrypt the message and recover the typically used to provide a digital fingerprint of a plaintext. Because a single key is used for both file's contents often used to ensure that the file has functions, secret key cryptography is also called not been altered by an intruder or virus. Hash symmetric encryption. functions are also commonly employed by many With this form of cryptography, it is obvious that operating systems to encrypt passwords. Hash the key must be known to both the sender and the functions, then, provide a measure of the integrity of receiver. The biggest difficulty with this approach, of a file. course, is the distribution of the key. Secret key cryptography schemes are generally IV. KKJEIN ALGORITHM categorized as being either stream ciphers or block ciphers. Stream ciphers operate on a single bit (byte KKJEIN algorithm combines ceaser cipher and or computer word) at a time and implement some XOR cipher. When used individually these ciphers form of feedback mechanism so that the key is are very easy to hack but when used together they constantly changing. A block cipher is so-called give better results. This paper will further discuss because the scheme encrypts one block of data at a both the methods. time using the same key on each block. In general, D. Ceaser Cipher the same plaintext block will always encrypt to the same cipher text when using the same key in a block cipher whereas the same plaintext will encrypt to different cipher text in a stream cipher. B. Public Key Cryptography (PKC) Figure 5. Ceaser cipher In cryptography, a Caesar cipher, the shift cipher, is one of the simplest and most widely known encryption techniques. It is a type of substitution Figure 3. Public key cryptography cipher in which each letter in the plaintext is replaced Proceedings of SARC-IRAJ International Conference, 22nd June 2013, New Delhi, India, ISBN: 978-81-927147-6-9 25 Cryptography in Embedded Systems by a letter some fixed number of positions down the V. SIMULATION AND RESULTS alphabet. For example (Figure 5), with a shift of 3, A would be replaced by D, B would become E, and so F. Simulation and Testing on. The method is named after Julius Caesar, who used it in his private correspondence. The encryption The purpose of the simulation at this stage was to step performed by a Caesar cipher is often verify the functionality of the design [3]. When the incorporated as part of more complex schemes. As results of the simulation confirmed the correctness of with all single alphabet substitution ciphers, the the functionality of the design, the whole design Caesar cipher is easily broken and in modern practice functionality was verified. We use multi-software for offers essentially no communication security. testing and simulation i.e. PROTEUS. E. Xor Cipher PROTEUS software is used for testing the incoming and out-coming data. It is also testing on the communication link between the used modules. Simulation for the encryption and Decryption algorithms is achieved using the circuit simulation in PROTEUS. PROTEUS is a complete electronics design system, which lets you simulate entire microprocessor designs running actual processor machine code in real-time. Figure 6. XOR cipher G. Communication Establishment In cryptography, the simple XOR cipher is a type This paper presents a simulation of KKJEIN of additive cipher, an encryption algorithm that algorithm on AT89C51 using serial communication. operates according to the principles: Some important points need to be considered while A 0 = A, simulating any circuit in PROTEUS. Firstly we need A A = 0, to set the baud rates of all the selected devices.
Recommended publications
  • A Cipher Based on the Random Sequence of Digits in Irrational Numbers
    https://doi.org/10.48009/1_iis_2016_14-25 Issues in Information Systems Volume 17, Issue I, pp. 14-25, 2016 A CIPHER BASED ON THE RANDOM SEQUENCE OF DIGITS IN IRRATIONAL NUMBERS J. L. González-Santander, [email protected], Universidad Católica de Valencia “san Vicente mártir” G. Martín González. [email protected], Universidad Católica de Valencia “san Vicente mártir” ABSTRACT An encryption method combining a transposition cipher with one-time pad cipher is proposed. The transposition cipher prevents the malleability of the messages and the randomness of one-time pad cipher is based on the normality of "almost" all irrational numbers. Further, authentication and perfect forward secrecy are implemented. This method is quite suitable for communication within groups of people who know one each other in advance, such as mobile chat groups. Keywords: One-time Pad Cipher, Transposition Ciphers, Chat Mobile Groups Privacy, Forward Secrecy INTRODUCTION In cryptography, a cipher is a procedure for encoding and decoding a message in such a way that only authorized parties can write and read information about the message. Generally speaking, there are two main different cipher methods, transposition, and substitution ciphers, both methods being known from Antiquity. For instance, Caesar cipher consists in substitute each letter of the plaintext some fixed number of positions further down the alphabet. The name of this cipher came from Julius Caesar because he used this method taking a shift of three to communicate to his generals (Suetonius, c. 69-122 AD). In ancient Sparta, the transposition cipher entailed the use of a simple device, the scytale (skytálē) to encrypt and decrypt messages (Plutarch, c.
    [Show full text]
  • Stream Ciphers) Ppfdrof
    CS-630: Cyyyber and Network Security Lecture # 2: Introduction to Cryptography and Symmetric Ciphers (Stream Ciphers) PPfDrof. Dr. SSfiufian HHdameed Department of Computer Science FAST-NUCES FAST-NUCES Cryptog rap hy FAST-NUCES Examples FAST-NUCES Cryptosystem FAST-NUCES Attacks against Cryptosystems 1.))p Cipher text-only: Attacker ppgypossesses a string y of the cipher text 2. ) Known plaintext: Attacker possesses a string x of the plaintext and the corresponding cipher text y. The problem now is to find out the key which produces y from x 3.) Chosen plaintext: Attacker has access to the encryption machinery. Hence he can chose a plaintext string x and construct the corre spondi ng ci phe r te xt st ri ng y. 4.))p Chosen cipher text: Attacker has access to the decryption machinery. Hence, he can chose a cipher text string y and construct the corresponding plaintext string x. FAST-NUCES Security of Keys FAST-NUCES Cryptography is everywhere Secure communication: y web traffic: HTTPS y wireless traffic: 802.11i WPA2 (and WEP), GSM, Bluetooth EtiEncrypting files on dis k: y EFS (Encrypting File System) y TrueCrypt (open-source disk encryption software) Content protection y DVD --- Content Scramble System (CSS) is a Digital Rights Managg()ement (DRM) and encryp ypytion system em pyployed on almost all commercially produced DVD-Video y Easy to break y Blu-Ray --- Advance Access Content System (AACS) User authentication … and much much more FAST-NUCES Things to remember Cryptography is: y A tremendous tool y The basis for many security mechanisms
    [Show full text]
  • Modern Cryptanalysis.Pdf
    Contents Acknowledgments Introduction Chapter 1: Simple Ciphers 1.1 Monoalphabetic Ciphers 1.2 Keying 1.3 Polyalphabetic Ciphers 1.4 Transposition Ciphers 1.5 Cryptanalysis 1.6 Summary Exercises References Chapter 2: Number Theoretical Ciphers 2.1 Probability 2.2 Number Theory Refresher Course 2.3 Algebra Refresher Course 2.4 Factoring-Based Cryptography 2.5 Discrete Logarithm-Based Cryptography 2.6 Elliptic Curves 2.7 Summary Exercises References Chapter 3: Factoring and Discrete Logarithms 3.1 Factorization 3.2 Algorithm Theory 3.3 Exponential Factoring Methods 3.4 Subexponential Factoring Methods 3.5 Discrete Logarithms 3.6 Summary Exercises References Chapter 4: Block Ciphers 4.1 Operations on Bits, Bytes, Words 4.2 Product Ciphers 4.3 Substitutions and Permutations 4.4 Substitution–Permutation Network 4.5 Feistel Structures 4.6 DES 4.7 FEAL 4.8 Blowfish 4.9 AES / Rijndael 4.10 Block Cipher Modes 4.11 Skipjack 4.12 Message Digests and Hashes 4.13 Random Number Generators 4.14 One-Time Pad 4.15 Summary Exercises References Chapter 5: General Cryptanalytic Methods 5.1 Brute-Force 5.2 Time–Space Trade-offs 5.3 Rainbow Tables 5.4 Slide Attacks 5.5 Cryptanalysis of Hash Functions 5.6 Cryptanalysis of Random Number Generators 5.7 Summary Exercises References Chapter 6: Linear Cryptanalysis 6.1 Overview 6.2 Matsui’s Algorithms 6.3 Linear Expressions for S-Boxes 6.4 Matsui’s Piling-up Lemma 6.5 Easy1 Cipher 6.6 Linear Expressions and Key Recovery 6.7 Linear Cryptanalysis of DES 6.8 Multiple Linear Approximations 6.9 Finding Linear Expressions
    [Show full text]
  • Xor Decoder with Key
    Xor Decoder With Key In the x64 XOR encoder, there are several different suggestions for making signature-based detection of the encoder more difficult: Swapping registers—Using a non-hardcoded register to store the XOR key may make it more challenging to write signatures for the encoder, since the MOV RBX instruction would no longer be a permanent component. There is a slight problem with this. , a disk sector). After JMP-CALL- POP, we are inside the loop which runs over the whole encrypted shellcode (25 bytes). So the least significant bit is the output bit. So now we have 3 values, x, y and z which we can then send to our friend. Then based on knowledge of most frequent char and using frequency analysis it will be able to guess the key used to encrypt the data. Here Mudassar Ahmed Khan has explained with an example, how to encrypt and store Username or Password in SQL Server Database Table and then fetch, decrypt and display it in ASP. 101010101010101 (Encryption Key) 101100101100001 (Encoded) Breaking this down we get 10110 01011 00001, which gives the encoded word, VKA. // ksize is the key size. Therefore, the encoder encodes 2n input lines with 'n' bits. The key's SHA256 hash is saved in the input file, so that it can be compared with the provided password for decryption. For that, the software uses a secret key can be a number, a word, or just a string of random letters aiming at changing the content in a particular. Cipher import DES. The Morse code decoder can listen to your computer's microphone, extract any Morse code sound and write down what it hears.
    [Show full text]
  • Classic Ciphers (Mathematical Version)
    Cryptology Part I: Classic Ciphers (Mathematical Version) Klaus Pommerening Fachbereich Physik, Mathematik, Informatik der Johannes-Gutenberg-Universit¨at Saarstraße 21 D-55099 Mainz October 25, 1999|English version October 5, 2013|last change January 19, 2021 K. Pommerening, Classic Ciphers 1 Preliminary Note This text is somewhat incomplete. It focusses on the mathematical back- ground of Cryptology. People without mathematical ambitions may browse the HTML pages|these are informal and hopefully self-contained. Also for historical or motivational stuff I often refer to the accompanying web pages http://www.staff.uni-mainz.de/pommeren/Cryptology/ Motivational Hints Classical cryptography considers ciphers in use up to the 1970's, that is, in the precomputer era. Today no one seriously uses these ciphers. Why does it make sense dealing with them? • We get a feeling for the security of the basic encryption steps that are in use as components of the more complex ciphers of today. • The complexity of modern techniques becomes perspicuous. • Most of the mathematical foundations are relevant also for modern cryptologic techniques. • We may learn a lot from the failures of the past|many of the com- monly accepted principles of cryptology arose a long time ago. In short: The algorithms are out-of-date, the methods and principles are up-to- date. • Classical cryptology makes a good part of general education, not only for mathematicians or computer scientists. In particular it provides many interesting project ideas for undergraduates or even school chil- dren. • Classical cryptology provides intellectual challenges|better than chess, poker, or war games [:-)]. The puzzle corners of journals often contain puzzles whose cryptological background shines through.
    [Show full text]
  • An Efficient Symmetric Cipher Algorithm for Data Encryption
    International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056 Volume: 03 Issue: 05 | May-2016 www.irjet.net p-ISSN: 2395-0072 An Efficient Symmetric Cipher Algorithm for Data Encryption Prosper Kandabongee Yeng1, Joseph KobinaPanford2, James Ben Hayfron-Acquah3, Frimpong Twum4 1 Head of IT, IT, C and J Medicare Hospital, Accra, Ghana 2Lecturer, Computer Science, Kwame Nkrumah University of Science and Technology (KNUST), Kumasi, Ghana 3Senior Lecturer, Computer Science, Kwame Nkrumah University of Science and Technology (KNUST), Kumasi, Ghana 4Lecturer, Computer Science,Kwame Nkrumah University of Science and Technology (KNUST), Kumasi, Ghana ---------------------------------------------------------------------***-------------------------------------------------------------------- Abstract-This paper presents an efficient algorithm for a 1.0 INTRODUCTION symmetric cipher named, “YC1” that employs key spaces of varying lengths to encrypt and decrypt a plain text. Information Technology plays a very pivotal role in our The means to ensuring that parties maintain confidentiality businesses such as accomplishing complex tasks, speedy and privacy is by means of cryptography, even in the processing and many others but one very challenging presence of an adversary with access to the communication concern today has to do with security in data channel. One of the central goals of cryptography is to communications. Data security in databases can be maintain privacy. There are other goals of communication maintained by
    [Show full text]