📄 thesis.txt
字号:
BEYOND DES:DATA COMPRESSION AND THE MPJ ENCRYPTION ALGORITHMbyMichael Paul JohnsonB. S., University of Colorado at Boulder, 1980A thesis submitted to theFaculty of the Graduate School of theUniversity of Colorado in partial fulfillmentof the requirements for the degree ofMaster of ScienceDepartment of Electrical Engineering1989Copyright (C) 1989 Michael Paul Johnson.All Rights Reserved.This thesis for the Master of Science degree byMichael Paul Johnsonhas been approved for theDepartment ofElectrical EngineeringbyMark A. WickertCharles E. Fosha, Jr.Rodger E. ZiemerDate Johnson, Michael Paul (M. S., Electrical Engineering)Beyond DES: Data Compression and the MPJ Encryption AlgorithmThesis directed by Assistant Professor Mark A. WickertMany encryption algorithms have come and gone as cryptography, cryptanalysis, and technology have progressed. Today's communication and computer technologies need cryptography to truly secure data in many applications. The demands on the cryptography needed for some commercial applications will exceed the security offered by the National Bureau of Standards Data Encryption Standard (DES) in the near future due to advances in technology, advances in cryptanalysis, and the increasing rewards for breaking such a heavily used algorithm. To meet part of this need, a new block encryption algorithm is proposed. A Pascal program to implement this algorithm is given.One way to further increase security of encrypted data, as well as to achieve storage and/or transmission economy, is by redundancy reduction prior to encryption. A linguistic approach to redundancy reduction, together with an example computer program to implement it, is given for this purpose.LIST OF FIGURES viiiI. INTRODUCTION 1A. Motivation 2B. Approach 4II. HISTORY OF CRYPTOGRAPHY 6III. ELEMENTS OF ENCRYPTION 8A. Substitution 81. Monoalphabetic 82. Polyalphabetic 10B. Permutation 11C. Noise Addition 12D. Feedback & Chaining 131. Plain Text Feedback 132. Cipher Text Feedback 14E. Analog Encryption 15IV. FACTORS RELATED TO ENCRYPTION 17A. Change of Language 17B. Digitization 18C. Compression 18D. Multiplexing 19V. COMPARISON OF SELECTED ALGORITHMS 20A. One-Time Key Tape 20B. Linear Shift Register Feedback 21C. Exponential Encryption 22D. Knapsack 24E. Rotor Machines 24F. Codes 27G. Galois Field and Hill Cryptosystems 28H. DES 30VI. DESIGN CONSIDERATIONS FOR MPJ 33A. Strength Based on Key 33B. Usability of Random Keys 33C. Key Length & Block Size 34D. Effort Required to Break 34E. Computational Efficiency 35F. Communication Channel Efficiency 36G. No Back Doors or Spare Keys 36VII. MPJ ENCRYPTION ALGORITHM 37A. Description 371. Overall Structure of MPJ 372. Substitution Boxes 393. Wire Crossings 394. Key Generation 40B. Implementation in Pascal 441. Exceptions from Standard Pascal 442. Main Program 453. Procedures Encrypt & Decrypt 464. Procedures Permute & Ipermute 475. Procedures Substitute & Isubst 47C. Implementation in Hardware 47D. Strengths & Weaknesses 48VIII. DATA COMPRESSION 50A. Purpose 50B. Linguistic Parsing 53C. Huffman Coding 55D. Pascal Programs 55IX. CONCLUSION 58REFERENCES 59APPENDIXA. MPJ in Pascal 64B. Linguistic Data Compression Programs 72FIGUREIII.B Permutation. 11III.C. Noise Addition 12III.D. Block Cipher Modes. 14III.E. Analog Time & Frequency Encryption 15V.A. One-time key tape (AKA One-time pad) 21V.A.1 Typex Rotor Machine 25V.E.2. Wired Rotors 25V.H.1. DES Enciphering 30V.H.2. DES Nonlinear Function 30V.H.3. DES Internal Key Generation 31VII.A.1. Overall Structure of MPJ 38VII.A.3. Wire Crossings 39I. INTRODUCTIONThe increasing proliferation of digital communication and computer data base storage has brought with it increasing difficulty of maintaining the privacy of that data. There is only one effective way to protect the privacy of communications sent over such channels as satellites, terrestrial microwave, and cellular telephones. This is by encryption. It is clearly impossible to deny unauthorized access by a determined and knowledgeable interceptor to the communications, but it is possible to render the communications totally unintelligible to all but the intended receiver(s).There are many ways to reversibly transform data from its plain form to something that looks unintelligible, but many of these can be figured out (broken) by someone else. The study of how to hide secrets is cryptology. Trying to figure out the secrets that someone else has hidden is cryptanalysis. These two sciences are, of course, very much intertwined. History reveals many examples of cryptology that worked, and that didn't [KAH]. Successful cryptanalysis depends on taking advantage of as many of the following as are available to the cryptanalyst: (1) taking advantage of the redundancy in any natural language to determine the validity of assumptions, (2) clues gained from corresponding plain and cipher text, (3) information that might be known about the algorithm(s) used, (4) the general expected content of the cryptograms, (5) all of the cipher text that is available in
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -