throbber
k
`
`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
`
`.
`.
`.
`.
`.
`-
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket