`
`ri
`
`F
`
`Oracle-1032 p. 1
`Oracle v. Teleputers
`|PR2021-00078
`
`Oracle-1032 p. 1
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`Someday all terminals will be smart.......
`
`* 128 Functions-software controlled
`+ 7 x 12 matrix, Lipper/lower case letters
`* 50 to 38,400 baud-selectable
`
`* 82 x 16 or 92 x 22 format-plus graphics
`* Printer output port
`+ "CH ERRY" keyboard
`
`CT-82 Intelligent Terminal, assembled and tested.
`
`.
`
`.
`
`.
`
`.
`
`. .$795.00 ppd in Cont. U.S.
`
`BT! SAN ANTONIO, TEXAS 78216
`
`OT UM, I A=Circle 350 on inquiry card.
`
`SOUTHWEST TECHNICAL PRODUCTS CORPORATION
`219 VV. RHAPSODY
`
`Oracle-1032 p. 2
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`111March 1979
`Volume 4, Number 3
`
`66 THE STANDARD DATA ENCRYPTION ALGORITHM, Part 1: An Overview,by Robert VMeushaw
`A detailed description of a "trap door" algorithm
`
`94 DESIGNING WITH DOUBLE SIDED PRINTED CIRCUIT BOARDS,by DavidLamkins
`This do-it-yourself technique can save you space
`
`114 DESIGNING A ROBOT FROM NATURE, Part 2: Constructing the Eye, by Andrew Filo
`Design details of the robot's eye in the second of this 2 part article
`
`142 A STEPPING MOTOR PRIMER, PART 2, by Paul Giacomo
`Interfacing to your computer, and other considerations
`
`150 BUILD A COMPUTER CONTROLLED SECURITY SYSTEM FOR YOUR HOME, Part 3, by Steve Ciarcia
`Ultrasonics, infrared beams and other exotic ways to make your home secure
`
`196 THE POWER OF THE HP-67 PROGRAMMABLE CALCULATOR, Part 1, by Robert CArp Jr
`Learn to use one of the most powerful programmables
`
`Background
`12 BUILDING THE HEATH H8 COMPUTER, byDrPaul RPoduska
`A review of a popular computer kit
`
`14
`
`32
`
`A MAP OF THE TMS-9900 INSTRUCTION SPACE, by Henry Melton
`5 legal instructions
`Organizing one's approach to a machine with 2
`
`page 174
`
`FILES ON PARADE, Part 2: Using Files, by Mark Klein
`File protection systems and sundry other matters
`
`46 A MICROPROCESSOR FOR THE REVOLUTION: THE 6809, Part 3, by Terry Ritter and Joel Boney
`Final thoughts about the successor to the Motorola 6800 processor
`
`56 CRYPTOGRAPHY IN THE FIELD, Part 1: An Overview, by John P Costas, Phd
`A brief historical look at cryptography
`
`80
`
`PREVIEW OF THE Z-8000, by Ira Rampil
`A look at Zilog's new 16 bit processor
`
`170 COMMON MISTAKES USING WARNIER-ORR DIAGRAMS, by David Higgins
`Avoiding pitfalls when using this alternate flowcharting method
`
`194 PASSWORD PROTECTION FOR YOUR COMPUTER, by R Jordan Kreindler
`How to keep data and information "for your eyes only"
`
`230 WHAT IS AN INTERRUPT? by R Travis Atkins
`Learn how to use peripherals efficiently with interrupts
`
`a
`
`page 150
`
`238 HISTORY OF COMPUTERS: THE IBM 650, by Keith S Reid-Green
`A glance at a past favorite
`
`u
`
`6 Don't Overlook LISP
`10
`Letters
`26
`Desk Top Wonder: Race Car for the SR-52
`42 Book Review
`53 Event Queue
`92 Programming Quickie: Inverse Trig Functions
`92 Machine Language Puzzler: Odd Tones
`107
`BYTE News
`
`Nudeus
`182 Technical Forum
`206 Nybbles: Computer Assisted Flight Planning
`222 Clubs and Newsletters
`224
`BYTE's Bits
`241 What's New?
`270 Unclassified Ads
`272 BOMB
`272 Reader Service
`
`Cover Art:
`THROUGH THE TRAP DOOR
`by Robert Tinney.
`
`BYTE is published monthly by BYTE Publications Inc. 70 Main St. Peterborough NH 03458. Address all mail except subscriptions to above address; phone (603) 924-7217. Address sub-
`scriptions, change of address, USPS Form 3579, and fulfillment questions to BYTE Subscriptions, PO Box 590, Martinsville NJ 08836. Second class postage paid at Peterborough NH 03458 and
`at additional mailing offices-USPS Publication No. 102410 (ISSN 0360-5280). Subscriptions are $15 for one year, $27 for two years, and $39 for three years in the USA and its possessions. In
`Canada and Mexico. $17.50 for one year, $32 for two years, $46.50 for three years. $25 for one year air delivery to Europe. $25 surface delivery elsewhere. Air delivery to selected areas at addi-
`tional rates upon request. Single copy price is $2 in the USA and its possessions, $2.40 in Canada and Mexico. $3.50 in Europe, and $4 elsewhere. Foreign subscriptions and sales should be re-
`mitted in United States funds drawn on a US bank. Printed in United States of America.
`Address all editorial correspondence to the editor at the above address. Unacceptable manuscripts will be returned if accompanied by sufficient first class postage. Not responsible for lost
`manuscripts or photos. Opinions expressed by the authors are not necessarily those of BYTE. Entire contents copyright
`)1979 by BYTE Publications Inc. All rights reserved.
`is available in microform from University Microfilms International, 300 N Zeeb Rd, Dept PR, Ann Arbor MI 48106 USA or 18 Bedford Row, Dept PR, London WC1R 4EJ
`BYTE
`ENGLAND,
`
`Subscription WATS Line: (800) 258-5485
`
`Marchl1979 (DBYTE Publications Inc
`
`3
`
`Oracle-1032 p. 3
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`The Heath H8 is part of the family
`of Heath computer kits. Dr Paul R
`Poduska describes his experience of
`assembling this well-documented kit in
`Building the Heath H8 Computer.
`page 12
`
`One way
`the Texas
`to see what
`Instruments TMS-9900 processor can
`do is to cover the instruction set using
`A Map of the TMS-9900 Instruction
`Space by Henry Melton as a guide. His
`short article gives a summary of the
`available operations plus details for all
`the possible operation codes of the
`machine.
`page 14
`
`After setting up a computer system
`with
`the hardware and software
`to
`handle files, how do you use
`it?
`In
`part 2 of Files on Parade, Mark Klein
`describes
`file management and pro-
`gramming techniques using files.
`page 32
`
`In A Microprocessor for the Re-
`volution: The 6809, Part 3: Final
`Thoughts, 6809 architects Terry Ritter
`and Joel Boney of Motorola discuss
`clock speed, timing signals, condition
`codes and software design philosophy
`as they apply to the 6809.
`page 46
`
`In Crytography in the Field, Part 1,
`Dr J P Costas gives a brief history of
`the fascinating world of cryptography,
`to be concluded next month with a
`programmable calculator encryption
`page 56
`and decryption program.
`
`Robert V Meushaw's article de-
`scribes the workings of and some of
`the theory involved with The Standard
`
`Data Encryption Algorithm, o
`class of algorithms known a
`door" algorithms.
`
`is Zilog's nc\
`The Z-8000
`into the field of 16 hit proces
`impressive spe
`addition
`to its
`Z-8000
`in conjunction with
`board memory management
`allows programmers to cmploy
`memory techniques. Read abc
`Ira Ram pil 's Preview of the Z-8
`
`000.
`page 80
`
`If you'd like to double yoi
`sure and double your fun, try
`ig with
`two printed circuil
`sides instead of one. David
`L
`shows you how to get more
`money in Designing with Doubl
`Printed Circuit Boards. Perha
`topology Course you took migl
`in handy after all.
`
`pr Plea-
`design-
`board
`amkins
`or your
`[e Sided
`ps that
`It come
`page 94
`
`Andrew
`Concludes his
`Fib
`Designing a Robot from Natu
`an overall description of the
`as well
`as Construrction Clet,
`a net convexity d
`building
`which mimics
`the
`frog's abi
`detect insect flight patterns.
`
`article
`re with
`system
`for
`ails
`etector,
`lity to
`page 774
`
`This month Pal Giacom
`cluces his 2 part Stepping
`Primer with a look at interfac
`stepping motor
`to
`a compr
`well as a discussion of damping
`aid other related topics.
`
`0 con-
`Motor
`ing the
`iter as
`, inertia
`142
`
`This month Steve Ciarcia completes
`his 3 part article Build a Computer
`Controlled Security System for Your
`Home with a discussion of burglar
`alarms,
`intrusion detectors, and the
`rest of the circuitry you'll need
`to
`page 150
`make your home secure.
`
`First time users of Warnier-Orr dia-
`grams consistently have many ques-
`tions about the correct usage of the
`technique. David A Higgins describes
`some conceptual errors and other
`Common Mistakes Using Warnier-Orr
`Diagrams.
`page 170
`
`If many people have access
`to
`your computer, you may want
`to
`protect
`the
`information
`contained
`within
`it. One way
`is to implement
`Password
`Protection
`for
`Your
`Coiputer as described by R Jordan
`Kreindler.
`page 194
`
`This month Robert C Arp Jr begins
`a 2 part article about The Power of
`the HP-67 Programmable Calculator.
`Part 1
`is a review of the features and
`perforrmarnce of
`this powerful desk
`top wonder.
`page 196
`
`What Is an Interrupt? In brief, it is
`the act of safely stopping one process
`and causing your computer to start
`(resume) another process. For some
`background information
`orr
`interrupt
`processing, see R Travis Atkins' tu-
`tonal in this issue.
`page 230
`
`Keith S Reid-Green continues his
`History of Computers with a discus-
`sion of one of the early minicorputers,
`The IBM 650.
`page 238
`prge
`
`Publishers
`Virginia Londoner
`Gordon R Williamson
`Vice-President Periodicals
`John E Hayes
`Assistant
`Jill E Callihan
`Editorial Director
`Carl T Helmers Jr
`Executive Editor
`Christopher P Morgan
`Editor in Chief
`Raymond G A Cote
`Senior Editor
`Blaise W Liffick
`Editor
`Richard Shuford, N4ANG
`Editorial Assistant
`Gale Britton
`New Products Editor
`Clubs, Newsletters
`Laura A Hanson
`Drafting
`Jon Swanson
`
`Production Manager
`Karen Gregory
`Production Editors
`David William Hayward
`Peter Perin
`Typographers
`Cheryl A Hurd
`Stephen Kruse
`Production Art
`Ellen Bingham
`Wai Chiu Li
`Christine Dixon
`Advertising Director
`Patricia E Burgess
`AdvlProd Coordinator
`Thomas Harvey
`Assistant
`Ruth M Walsh
`Advertising Billing
`Noreen Bardsley
`Don Bardsley
`
`Receptionist
`Jacqueline Earnshaw
`
`Circulation Manager
`Gregory Spitzfaden
`Assistants
`Pamela R Heaslip
`Ann Graves
`Agnes E Perry.
`Melanie Bertoni
`Dealer Sales
`Ginnie F Boudrieau
`Anne M Baldwin
`
`Book Division:
`Publisher
`Edmond C Kelly Jr
`Production Editors
`Patricia Curran
`William Hurlin
`
`Traffic Managers
`Rick Fuette
`Mark Sandagata
`
`Printing
`The George Banta Company
`
`Comptroller
`Kevin Maguire
`Assistant
`Mary E Fluhr
`National Advertising
`Sales Representatives:
`Hajar Associates Inc
`East
`280 Hillside Av
`Needham Heights MA 02194
`(617) 444-3946
`521 Fifth Av
`New York NY 10017
`(212) 682-5844
`Midwest
`664 N Michigan Av
`Suite 1010
`Chicago IL 60611
`(312) 337-8008
`West, Southwest
`1000 Elwell Ct
`Suite 227
`Palo Alto CA 94303
`(415) 964-0706/(714) 540-3554
`
`Distributors:
`Eastern Canada
`RS-232 Distribution Company
`186 Queen St W, Suite 232
`Toronto ONTARIO M5V-1Z1
`Western Canada
`Kitronic Ltd
`26236 26th Av RR 5
`Aldergrove BC VOX 1AD
`
`Drafting
`Techart Associates
`Typography
`Goodway Graphics
`Photography
`Ed Crabtree
`
`Editorial Associate
`Daniel Fyistra
`Associates
`Walter Banks
`Steve Ciarcia
`David Fyistra
`Ira Rampil
`
`4
`
`March 1979 0 BYTE Publications Inc
`
`Oracle-1032 p. 4
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`The Standard
`Data Encryption Algorithm
`
`Part 1: An Overview
`
`Recently, I have seen many articles de-
`scribing new commercial encryption equip-
`ment using the Standard Data Encryption
`recent
`Algorithm. There have also been
`announcements of integrated circuits, like
`the Intel 8294, which implement the stand-
`ard. The Standard Data Encryption Algo-
`rithm has been published by the National
`for use in the protec-
`Bureau of Standards
`tion of computer data. The algorithm
`is
`described in FIPS Publication 46, available
`the US Department of Commerce.
`from
`After months of being bombarded with
`publicity regarding the encryption method,
`it finally struck me that I had found a per-
`fect project for my KIM. The challenge
`became
`to implement the algorithm with
`the basic memory provided and to achieve
`to make
`it
`sufficient processing speed
`practical for use by others. Along the way,
`I hoped to investigate the advantages and
`disadvantages of the 6502 in performing
`the necessary tasks.
`
`Cryptography Basics
`
`the use of a
`involves
`Cryptography
`scheme to transform intelligible text into an
`unintelligible form and to later recover the
`original text. The transformation process is
`known as encryption and the recovery pro-
`cess is known as decryption. Cryptographic
`techniques have been used for centuries to
`allow
`individuals to communicate without
`fear of outsiders discovering what they are
`saying. The
`individuals who communicate
`generally possess a cryptographic key which
`
`controls the encryption and decryption pro-
`cess. Unless someone knows the key used to
`encrypt the data, he or she will not be able
`to correctly decrypt the data. The number
`of possible keys
`is usually made so large
`that it is impractical to try decrypting the
`data using all key possibilities. It must be
`clear that the critical factor in protecting
`the data is the secrecy of the key used.
`The cryptographic technique employed in
`the Standard Data Encryption Algorithm is
`known as a codebook. In this case, a 64 bit
`block of data is transformed
`to a corre-
`sponding 64 bit block of data known as a
`cipher. Each time a particular set of data is
`provided as input, the same cipher will result:
`assuming the same key is used. The Standard
`Data Encryption Algorithm uses a 56 bit key
`to control the encryption. As mentioned
`before, this was chosen to give a
`large num-
`ber of possible keys (ie: 256). Some esti-
`mates have been made that it would require,
`on the average, approximately 2500 years on
`a general purpose computer significantly
`faster than a CDC 7600 to examine all 256
`(ie: 7.2 X 1016) possible keys in order to
`determine the particular key used to encrypt
`a block of data.
`
`Restrictions
`
`The National Bureau of Standards posi-
`tion on the implementation of the Standard
`Data Encryption Algorithm is that software
`implementations are not in compliance with
`the standard. The standard, however, applies
`to use on federal systems, not private com-
`
`Robert V Meushaw
`4188 Brittany Dr
`Ellicott City MD 21043
`
`66
`
`March 19790 BYTE Publications Inc
`
`Oracle-1032 p. 5
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`If you have any reservations con-
`puters.
`cerning your intended use of this method,
`check the applicable regulations.
`
`PLAINTEXT
`
`Algorithm Overview
`
`A very simple diagram of the operations
`involved
`in
`the encryption algorithm
`is
`shown in figure 1. The input (plaintext) is
`first subjected to an initial permutation op-
`eration, which reorders the bits. Most of the
`work of the encryption is done in the box
`labeled product transformation. Details of
`this transformation will be described later.
`The block transformation
`is a simple ex-
`change of the left and right 32 bits of data.
`The
`last step
`is a permutation operation
`which is the inverse of the initial permuta-
`tion operation. The output of this step is
`the ciphertext.
`In case you're wondering where the key
`comes in, it is the controlling factor in the
`product transformation. Note also the rela-
`tionship of the
`initial permutation
`to its
`inverse. The
`fact
`that
`they are
`inverses
`means
`that
`if you perform an operation
`using a
`function and
`then
`reorder again
`using the inverse of the function, the result
`will be the original word. Of course the same
`thing occurs if the inverse and then the func-
`tion is applied to the word. Tables 1 a and lb
`show the permutation tables for the initial
`permutation and its inverse. The permuta-
`interpreted as
`tion operation should be
`follows: proceeding from left to right, bit 1
`of the permuted word is bit 58 of the input,
`bit 2 of the permuted word is bit 50 of the
`input, etc. I was originally confused about
`the numbering scheme chosen for the bits,
`since I was accustomed
`to bits being num-
`bered 0 thru 7 going from right to left. The
`correspondence between the Standard Data
`Encryption Algorithm numbering scheme
`and typical computer numbering is depicted
`in figure 2.
`
`Algorithm Operation
`
`A more detailed diagram of the encryp-
`tion algorithm is provided in figure 3. The
`basic operations are quite straightforward.
`What is shown is basically an expansion of the
`product transformation box from figure 1.
`Let's look at the basic operations involved
`after the initial permutation. The 64 bits of
`permuted input are split into two groups of
`32 bits each, called left (L) and right (R).
`The subscripts on L and R indicate the itera-
`tion of the algorithm. The first thing that
`occurs is the generation of K1. Ki is known
`
`CIPHERTEXT
`
`Figure 1: An overview of the Standard Data Encryption Algorithm.
`
`(7 a)
`
`(1 b)
`
`58
`60
`62
`64
`57
`59
`61
`63
`
`50
`52
`54
`56
`49
`51
`53
`55
`
`42
`44
`46
`48
`41
`43
`45
`47
`
`34
`36
`38
`40
`33
`35
`37
`39
`
`26
`28
`30
`32
`25
`27
`29
`31
`
`18
`20
`22
`24
`17
`19
`21
`23
`
`10
`12
`14
`16
`9
`11
`13
`15
`
`2
`4
`6
`8
`1
`3
`5
`7
`
`Table 1: Permutation tables for the initial and inverse initial permutation (la
`and lb respectively). The initial permutation table is read as follows: bit 1 of
`the input goes to bit 58 of the output, bit 2 of the input goes to bit 50 of the
`input, etc.
`
`S2 3...
`
`...
`
`62 63 64
`
`STANDARD DATA
`ENCRYPTION NOTATION
`
`7
`
`07
`
`07
`
`07
`
`07
`
`0
`
`BYTE O
`IjJ
`
`BYT
`
`I
`
`YTE 6
`I ~ NOTATION
`
`BYTE77
`
`TYPICAL COMPUTER
`
`Figure 2: Corresponding numbering between the Data Encryption Standard
`and typical microcomputer bit numbering.
`
`March 1979 0 BYTE Publications Inc
`
`67
`
`Oracle-1032 p. 6
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`PI AINTFYT
`
`CIPHERTEXT
`
`68
`
`March 1979@BYTE Publications Inc
`
`as the subkey, and is generated directly from
`the encryption key. In fact, each Ki
`is gen-
`erated from the key. Don't worry yet about
`it comes
`exactly what each Ki is or where
`that will soon be explained. A func-
`from
`tion, f(RO, KI), is now generated using Ki
`and RO as inputs (again, the details will be
`explained shortly). The next operation is the
`(ie: exclusive OR) of
`modulo 2 addition
`f(RO, KI) to LO. Therefore, LO e f(RO, K1)
`replaces the old LO. Finally, the current left-
`most 32 bits are exchanged with the current
`rightmost 32 bits. This completes one itera-
`tion of the algorithm and
`involves all the
`basic operations. To complete the product
`transformation, the steps above are repeated
`as shown in figure 3. The encryption process
`is completed by performing the block trans-
`formation and
`the
`inverse
`initial permuta-
`tion operation.
`An
`important fact about the modulo 2
`addition step
`is
`that it is reversible. This
`reversibility allows
`the decryption process
`to recover the original plaintext. In fact, as
`I will show, you can use the same algorithm
`steps to do the decryption as you used for
`encryption.
`
`Something for Nothing?
`
`In case my arguments of the simplicity
`of the Standard Data Encryption Algo-
`rithm haven't convinced you, I should point
`out that it wouldn't be fair to expect 2500
`years of protection from an algorithm which
`wasn't somewhat involved. Figures 4a and
`4b provide
`illustrative examples of the
`encryption and decryption processes. I have
`used only
`two
`iterations in
`the product
`transformation, but the principle is the same
`for 16 iterations. Note in particular how the
`same algorithm is used for decryption, ex-
`cept that the subkeys are applied in reverse
`sequence.
`In figure 4b, the results of each
`transform are shown after the modulo 2
`addition. For example, the first transform
`results of Li are obtained by computing
`R2 G f(L2, K2) =
`[LI e
`f(R1, K2)] e
`f(R1, K2) = Li. Remember how modulo 2
`
`3: A detailed operation of the Standard Data
`ption Algorithm encryption process. Note
`that
`low diagram
`(and the following flow diagrams)
`t use standard flowchart symbology.
`
`Oracle-1032 p. 7
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`(4a)
`
`(4 b)
`
`TRANSFORM
`
`SWAP
`
`TRANSFORM
`
`SWAP
`
`Figure 4: A simplified encryption and decryption process using the Standard Data Encryption Algo-
`rithm. Figure 4a shows a plaintext message being processed into a ciphertext and figure 4b shows the
`inverse process. Although only two iterations of transformation and swapping are shown, 16 are actually
`performed.
`
`March 19790 BYTE Publications Inc
`
`69
`
`Oracle-1032 p. 8
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`addition works. Following the decryption
`figure 4b, you can see how the
`through
`encryption steps are reversed. The result is
`the original plaintext.
`
`Algorithm Details
`
`In order to program the encryption algo-
`the
`to understand
`it is necessary
`rithm,
`details of two operations that I have alluded
`to. The first is the generation of the subkeys
`KlI, K2, . . . K16; the second is the generation
`of the function f (R,K).
`Subkey generation is depicted in figure 5.
`The process starts with the 64 bit key that
`you provide for the encryption. Actually,
`only 56 of these bits are used; the remaining
`eight can be used as parity bits. The first
`transformation of the key is called permuted
`choice 1. Permuted choice 1 permutes the
`56 bit key and also regroups it into two 28
`bit words, called CO and DO. The generation
`is done by circular shifting
`of subkey K]
`both CO and DO
`then permuting
`left and
`
`70
`
`March 19790 BYTE Publications inc
`
`Circle 66 on inquiry card.
`
`Figure 5: A process flow diagram showing
`how subkeys Ki thru Kl6 are produced
`from a single key.
`
`Oracle-1032 p. 9
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`G NEW 2nd Edition
`r Data Directory..........
`E!! (A $6.00 value!)
`ded w
`ith
`ds of
`like
`re
`
`I
`
`15
`
`st Edition
`till Available
`Only $5.98 ppd.
`
`aIu IIIdIIIg It LU us. LJU It tUUdy. uner expires
`
`IvIny lo, IUIU
`
`Second edition will be printed and mailed Summer 1979
`
`Foreign orders (except Can-
`ada) must include $2.00 for
`postage.
`
`Offer void where prohibited
`
`mummm-mm
`
`-mm
`
`-
`
`- -
`
`Please limit:
`One book per family
`Companies - one per department
`(one per questionnaire)
`
`Questionnaire
`
`- Please type or print clearly -----
`
`- -
`
`Send to:
`The Computer Data Directory
`P. 0. Box 598
`Cleveland, Ohio 44107
`(216) 221-5440
`mm mmemm mmmmN
`
`Name
`
`Company
`
`Address
`
`City
`
`Signature
`
`State
`
`-Zip
`
`Title
`
`Phone
`
`a Business
`
`L Home
`
`Date
`
`You must answer all questions for FREE offer
`
`Occupation :
`A. Li Professional
`B. Li Engineer
`C. Oi Business
`D. Li Education
`
`E.
`iO Student
`F. iU Hobbyist
`G. LI Other
`
`My system brandnames include:
`Processor
`Mainframe
`Software
`
`Memory
`Disk
`Other
`
`Approximate investment to date:
`My system is/will be used for:
`A. O Business only*
`D. L Education
`E. Li Research and Development
`B.
`i Hobby only
`C. O Business & Hobby
`F. Li
`*
`If for business, what applications do you use now?
`D.
`A. O Accounting/Inventory
`iO Legal
`E.
`Li Engineering
`B. Li Word Processing
`C. L Medical
`F. u
`* Which ones do you plan for the future:
`A. L
`B. O C. Li D. l
`E. l
`F.LO
`
`What type of business?
`
`Main interest:
`A.
`l Hardware
`
`B. O Software
`
`C. Li Both
`
`Do you write your own software?
`C. L Some
`A. O1 All
`B. O Most
`
`D. o None
`
`In order of preference, what would you like to see in our
`new shopping guide?
`A.
`Advertisements
`B.
`Product Descriptions
`C.
`Product Photos
`D.
`Suggested Systems
`
`E._ Computer Stores
`F._ Computer Clubs
`G.
`Reader Service Card
`H.
`
`What will you use our guide foi
`A. Li Product Comparison
`B. Oi Price Comparisons
`
`r?
`s
`
`C. Li Research
`D. O Marketing
`
`Which of these magazines do you read?
`A. i Byte
`G. o On-Line
`B. L Creative Computing
`H. O1 Personal Computing
`C. Li Computer Dealer
`I.
`l Computerworld
`D. I Computer Retailing
`J.
`l Computer Decisions
`E. l Kilobaud
`K. Li Small Business Computers
`F.
`i Interface Age
`L. o
`
`How many employees?
`
`Tell a Friend
`Companies..Do we have your product information:
`Call or write today!
`
`Circle 69 on inquiry card.
`
`BYTE March 1979
`
`71
`
`Oracle-1032 p. 10
`Oracle v. Teleputers
`IPR2021-00078
`
`(
`$
`
`
`64 Bit Key
`
`57
`1
`1 0
`19
`
`49
`58
`2
`11
`
`41
`50
`59
`3
`
`33
`42
`51
`60
`
`25
`34
`43
`52
`
`17
`26
`35
`44
`
`9
`18
`27
`36
`
`63
`7
`14
`21
`
`55
`62
`6
`13
`
`47
`54
`61
`5
`
`39
`46
`53
`28
`
`31
`38
`45
`20
`
`23
`30
`37
`12
`
`15
`22
`29
`4
`
`(2a)
`-
`
`Table 2: Tables for using
`1 and
`permuted choice
`permuted choice 2 (table
`2a and 2b respectively).
`The permuted choice
`7
`table (table 2a) is used to
`develop CO and DO from
`the key. Bits 8, 16, 24, 32,
`40, 48, 56, and 60 of the
`key are not used. The
`permuted choice 2 table
`(table 2b)
`to
`is used
`develop subkey Ki from Ci
`and Di.
`
`(2b)
`
`Ci
`28 Bits
`
`Di
`28 Bits
`
`14
`3
`23
`16
`41
`30
`44
`46
`
`17
`28
`19
`7
`52
`40
`49
`42
`
`I-
`
`24
`6
`4
`20
`37
`45
`56
`36
`
`11
`15
`12
`27
`31
`51
`39
`50
`
`Subkey Ki
`48 Bits
`
`1
`21
`26
`13
`47
`33
`34
`29
`
`5
`10
`8
`2
`55
`48
`53
`32
`
`DO
`28 Bits
`
`Iteration
`Number
`
`Number
`of Circular
`Left Shifts
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`11
`12
`13
`14
`15
`16
`
`1
`1
`2
`2
`2
`2
`2
`2
`1
`2
`2
`2
`2
`2
`2
`1
`
`R
`
`32 BITS
`
`SELECT E
`
`Table 3: A summary of the number of left
`circular shifts applied to Ci and Di at each
`iteration of subkey generation.
`
`)
`
`M
`
`S2
`
`U
`
`S3
`
`M
`
`S4
`
`S5
`
`S6
`
`S7
`
`S
`
`M
`
`U
`
`(:t
`
`M
`
`(i
`
`UM.(
`
`PERMUTATION
`
`P
`
`32 BIT RESULT
`
`f (R, Ki)
`
`Figure 6: Details of the
`f(R, Ki). Note
`function
`that each mapping func-
`tion Si thru S8 changes a
`6 bit input to a 4 bit
`Output.
`
`72
`
`March 1979 0 BYTE Publications Inc
`
`Oracle-1032 p. 11
`Oracle v. Teleputers
`IPR2021-00078
`
`,
`.
`
`
`C- and D1 using permLted choice 2 to form
`a 48 bit subkey. Permuted choice 1 and
`permlIted choice 2 are shown
`in tables 2a
`and 2b. Each successive subkey is generated
`in the same way: by shifting Ci and Di left
`(by one or two bits) and then usingpermuted
`choice 2. Table 3 shows the number of left
`shifts to be applied to Ci and Di for each
`iteration in the subkey generation.
`Once Ki, K2, . .. , K16 have been gen-
`erated, it is not necessary to generate them
`again until the key is changed. The same
`set of subkeys is used for each encryption
`and decryption operation shown in figures
`4a and 4b.
`is
`to understand
`The
`final operation
`figure 6. The first
`(R,K), depicted
`in
`f
`operation is called select E. This is really a
`
`permutation operation similar to the initial
`permutation operation previously discussed,
`except that the result has more bits than the
`input. Table 4 shows the select E permuta-
`tion table. The 48 bit result of this operation
`is
`then added modulo 2
`to the subkey.
`to a 32 bit result
`This
`result
`is reduced
`using a set of mapping functions known as
`S I, S2, . . .,S8. These are used as shown in
`figure 6. Each group of six bits, going left
`to right, is mapped into a 4 bit word using a
`distinct mapping
`function. The mapping
`figure 5, and an
`functions are shown
`in
`example of how they are used is shown in
`figure 6. The six bits input to each S map-
`ping function are used to generate a row
`address and column address as shown. The
`selected matrix entry is converted from its
`
`Table 4: The Select E
`permutation
`table.
`The
`output contains more bits
`than the input in order to
`match length of subkey.
`
`14
`o
`4
`15
`
`15
`3
`0
`13
`
`10
`13
`13
`1
`
`7
`13
`10
`3
`
`4
`15
`1
`12
`
`1
`13
`14
`8
`
`0
`7
`6
`10
`
`13
`8
`6
`15
`
`13
`7
`14
`8
`
`8
`4
`7
`10
`
`9
`0
`4
`13
`
`14
`11
`9
`0
`
`1
`4
`8
`2
`
`14
`7
`11
`1
`
`14
`9
`9
`0
`
`3
`5
`0
`6
`
`2
`14
`13
`4
`
`6
`15
`10
`3
`
`6
`3
`8
`6
`
`0
`6
`12
`10
`
`15
`2
`6
`9
`
`11
`2
`4
`15
`
`3
`4
`15
`9
`
`6
`15
`11
`1
`
`11
`13
`2
`1
`
`3
`8
`13
`4
`
`15
`6
`3
`8
`
`9
`0
`7
`13
`
`S1
`
`8
`1
`11
`7
`
`s2
`
`4
`14
`1
`2
`
`S3
`5
`10
`0
`7
`
`S4
`
`10
`3
`13
`8
`
`S5
`
`3
`10
`15
`5
`
`9
`12
`5
`11
`
`1
`2
`11
`4
`
`1
`4
`15
`9
`
`6
`12
`9
`3
`
`2
`1
`12
`7
`
`12
`5
`2
`14
`
`8
`2
`3
`5
`
`12
`11
`7
`14
`
`13
`10
`6
`12
`
`7
`14
`12
`3
`
`5
`12
`14
`11
`
`5
`9
`3
`10
`
`12
`6
`9
`0
`
`11
`12
`5
`11
`
`11
`1
`5
`12
`
`13
`3
`6
`10
`
`9
`5
`10
`0
`
`0
`9
`3
`5
`
`4
`11
`10
`5
`
`12
`10
`2
`7
`
`0
`9
`3
`4
`
`0
`3
`5
`6
`
`5
`11
`2
`14
`
`2
`15
`14
`2
`
`4
`14
`8
`2
`
`14
`8
`0
`5
`
`7
`8
`0
`13
`
`10
`5
`15
`9
`
`8
`1
`7
`12
`
`15
`9
`4
`14
`
`9
`6
`14
`3
`
`3
`15
`12
`0
`
`3
`13
`4
`1
`
`9
`5
`6
`0
`
`3
`6
`10
`9
`
`15
`10
`5
`9
`
`4
`14
`10
`7
`
`7
`12
`8
`15
`
`14
`11
`13
`0
`
`14
`0
`1
`6
`
`5
`2
`0
`14
`
`5
`0
`15
`3
`
`7
`11
`13
`0
`
`10
`15
`5
`2
`
`0
`14
`3
`5
`
`5
`3
`11
`8
`
`6
`8
`9
`3
`
`12
`9
`5
`6
`
`11
`8
`6
`13
`
`1
`6
`2
`12
`
`7
`2
`8
`11
`
`13
`
`10
`
`14
`
`12
`3
`15
`5
`
`956
`
`12
`
`2
`14
`4
`11
`
`12
`10
`9
`4
`
`4
`13
`1
`6
`
`13
`1
`7
`2
`
`12
`11
`2
`8
`
`1
`15
`14
`3
`
`11
`0
`4
`11
`
`2
`15
`11
`1
`
`4
`2
`1
`12
`
`10
`4
`15
`2
`
`2
`11
`11
`13
`
`8
`13
`4
`14
`
`1
`12
`11
`7
`
`15
`2
`5
`12
`
`14
`7
`13
`8
`
`4
`8
`1
`7
`
`7
`4
`10
`1
`
`9
`7
`2
`9
`
`15
`4
`12
`1
`
`6
`10
`9
`4
`
`10
`7
`13
`14
`
`2
`12
`8
`5
`
`0
`9
`3
`4
`
`15
`3
`12
`10
`
`11
`13
`7
`2
`
`6
`9
`12
`15
`
`8
`1
`7
`10
`
`11
`7
`14
`8
`
`6
`1
`8
`13
`
`S6
`
`8
`5
`3
`10
`
`S
`
`7
`
`13
`10
`14
`7
`
`8
`5
`15
`6
`
`0
`6
`7
`11
`
`3
`14
`10
`9
`
`S8
`
`1
`4
`2
`13
`
`10
`12
`0
`15
`
`Table 5: Matrices for the selection functions
`bit input into a 4 bit output.
`
`Sl thru 58. Each Si maps a 6
`
`March 1979 0 BYTE Publications Inc
`
`73
`
`Oracle-1032 p. 12
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`0
`
`1 000 1
`
`Input to S1
`
`0
`
`00 14
`
`1
`
`4
`
`01
`
`0
`
`15
`
`2
`
`13
`
`7
`
`3
`
`1
`
`4
`
`4
`
`2
`
`14
`
`5
`
`15
`
`2
`
`6
`
`11
`
`13
`
`7
`
`8
`
`1
`
`8
`
`3
`
`10
`
`9
`
`10
`
`6
`
`10
`
`6
`
`12
`
`11
`
`12
`
`11
`
`12
`
`13
`
`14
`
`15
`
`5
`
`9
`
`9
`
`5
`
`0
`
`3
`
`7
`
`8
`
`Column Number
`
`Row
`Numbe
`
`Table 6: Illustration of the
`use of Sl mapping func-
`tion. The middle four bits
`of input give the column
`index. The first and last
`bits are the row index. The
`binary value of the se-
`lected table entry is out-
`put.
`
`Table 7: Table for pemu-
`tation P.
`
`r
`
`02
`
`4
`
`1
`
`03 15
`
`12
`
`14
`
`8
`
`8
`
`2
`
`13
`
`4
`
`6
`
`2
`
`1
`
`11
`
`7
`
`15
`
`5
`
`12
`
`11
`
`9
`
`3
`
`7
`
`3
`
`10
`
`14
`
`10
`
`0
`
`5
`
`6
`
`0
`
`13
`
`10 10
`
`Output from S1
`
`to binary. A final
`representation
`decimal
`32 bit permutation, P, is
`then performed
`figure 6
`as shown
`in
`to give the output
`f (R,K). Table 7 shows this permutation
`table.
`This completes the details of the Standard
`Data Encryption Algorithm and should
`allow you to develop your own implementa-
`tion. My particular implementation for the
`6502 on the basic KIM-1
`is given
`in part
`2. It should provide you with some interest-
`ing insights into program optimization.0
`
`Everything you always wanted
`to plug into your PET,
`PRHRWARE APPLE or TRS-80*
`
`(*butwere afraid you couldn't afford)
`
`W W W
`@0
`0
`
`*
`
`0
`
`0
`
`SOFTWARE
`Centronics 150 Ipm, of 20, 40
`1. Data Management/Report Gen-
`S
`or 80 char.(Upper/ ower case).
`Package (L l16K Tape~ System:
`ator ,
`P1 Parallel Model (cabi
`$200; Disk System: $300. Give your
`ware, add $50)
`.
`.
`.
`.
`S1 Serial Model (cable
`TRS-80
`the editing
`features of
`a
`ware add $50).
`$4000+ Burrough's TD800 series ter-
`An derson-Jacobsen I/O S
`minal. Automatic data entry and cus-
`.
`.
`. .
`Bidirectional. .
`complete
`reports. Generate
`tom
`PET Graphics Ball
`. .
`screen graphics with full cursor con-
`RS 232C Serial Option,
`trol. 2. MICROCHESS
`(LI or 11-4K)
`TRS Graphics Ball
`0 0 Expandor 123P
`$19.95. 3 difficulty levels. 3. State-
`impact
`tractor feed .
`. .
`.
`.
`.
`ment renumbering and cross reference.
`000 Integral Data
`IP-125
`1. Joystick
`Microchess-
`Upper/lower case .
`.
`* 0
`(needs dual
`joystick package)-$19.95
`Pet, TRS-80 graphics
`Play against an opponent while your
`with 4 char. sizes, tract
`$1195, Pet Modem, $3;
`PETchecks and saves moves. Options:
`*
`Int. $98,
`Sial
`(Apple
`Play by phone, play against your PET.
`Apple Modem.
`. Astrology:$14.95. 3. Statement
`re-
`MEMORY (Save $100 oi
`0 16K Dynamic RAM C
`umbering
`and cross
`reference:$9.95.
`A 1. 3 Dimensional Maze (16K)
`Is
`Specify keybd. or exp. ir
`Ibi~ MI~iboad, Optio ~~
`ion.... . Maciotronix disc system seen by TRS-WO D th NJ 8414.9. 2 Hi-Rs Grphc
`..
`AddtioBnaldK.ar
`(16K) $17.95
`Addiiona 8K . . .. .20
`Editor
`CONNECTORS, ETC.
`CASEr FAN, 16 4hP pWR.UlP ....... $299
`TRS-80 40 pin edge. $9.95.
`It LL tINIFLQFP1EE.
`!N-CL TRS-13OX
`i
`Exp, mt. Ext. cord$19.95+2*(Ft 2)
`SHUAeRT SA498 R]10 HCl
`R916'.1
`5347-
`Cassette w/cover ...
`$...4.95
`.IOPO4LIE-
`0 Dual Stereo Cassette Deck Ideal
`IVE CABLE. ... ...
`4 DRl
`..
`..
`5
`I SINGLE DRVE fNLY 'fW/CASE, PHR.UP H9.
`0:for micro tapes w/prompting$250.
`1 COMPATIBLE
`.
`. $1.49
`C-10 Blank cassettes .
`(5")..$4.95 10 for$40
`L Cal o wrte fr fee rochre. Excusiv JOSTIK pakag mirotr nix801-523-455111
`Cash~~~~~~brn
`74 Marc 1979 ~ BYTE ,,b~icajo,,~
`
`M inimun shipping $2.50. Pa. residents add 6%. Post Office Box (1, Dept. C Philadelphia, PA 19105
`
`74
`
`March 197908 YTE Publication Inc,
`
`Circle 226 on inquiry card.
`
`ic
`
`CiLe 22FREE uiycad
`
`3. Statement renum-
`bering $9.95 (8K)
`
`MICROLINE for:
`OdrTS8
`Tech. Newsletter
`$9.95s
`(8K) a rei arsacetd
`fMinidisks
`ue
`
`Oracle-1032 p. 13
`Oracle v. Teleputers
`IPR2021-00078
`
`.
`.
`.
`.
`.
`-
`