tied - ursuantto E O 13526 MDR Case # 5477 lB J UU liJffi mlB UlDWU l SlDWI S 1 W S S f W W 1wW mliJUUlIJmliJl1 3rd Issue 1989 50 YEARS WITH UNCLE SAM o o o ERRATUM o o o o o o MAPS AS VITAL RECORDS o o o DINOSAURS ARE ALIVE AND WELL PORTABILITY PROBLEMS IN C PROGRllMMING o SPECIAL INTEREST GROUP ON FUSION COGITATIONS OF A CONTUMACIOUS CABALIST LETTERS o o o o o o o o ANSWERS TO TA EXERCISE o o o o o HARDWARE REVIEW THE NeXT COMP FUT ER o 1 o 6 ' 1r------- lI 7 l S 1 12 I 19 20 I BULLETIN BOARD o o o o o o o REVIEW STRUCTURE AND INTERPRETATION OF COMPUTER PROGRAMS CLA ESSAY CONTEST o o o o o o o TA EXERCISE o o o o o o o o o o o 17 I la l 1 o1 I CLASSIFIED BY '- L 86-36 21 28 29 32 33 P SA CSSM 123-2 DECLASSIFY OPt Origil'Httil l9 A Qr l'Y'i O@ t@FR lir lil ti9Fl R@Eflolir@Q NOT RELEASABLE TO CONTRACTORS DOCID 4010025 L 86-36 Published by Pl Techniques and Standards VOL XVI No 3 PUBLISHER o o ABOUT DISTRIBUTION 3rd Issue 1989 1'-- _ BOARD OF EDITORS Editor -1 ---Ik963-1103 Computer5ystemS 1 963-1103 Cryptanalysis o o o o 1 963-5238 Index o o J 963-4814 Information Science ' 1 963-3456 Information Security 972-2122 Language l 963-3057 Mathematics o o 1 963-5566 Puzzles 1 963-6430 Science and Technology 1 963-4958 ' Vera R Filby 968-5043 Special Research Traffic Analysis Robert J Hanyok 963-4351 We had been submitting address changes to Distribution at the eleventh hour just before CRYPTOLOG went to press in an effort to keep up with the last-minute moves of subscribers But ironically it turns out that the Press greatly improved its turn-around time outpacing that of Distribution so the changes were entered well after the eleventh hour And that's why we've been having problems with distribution except for times when CRYPTOLOG was held up at the Press So now we have to go the way of commercial magazines allow six to eight weeks for change Illustrators I ' ' _ _ t963-6234 1 963-6423 of address and close the distribution list well before we're ready to print To submit articles or letters by mail send to Editor CRYPTOLOG Pl NORTH 2N018 If you used a word processor please include the mag card floppy or diskette along with your hard copy with a notation as to what equipment operating system and software you used via PLATFORM mail send to cryptlg@bar1c05 bar-one-c-zero-five note no '0' via ALLIANCE send to PLBROWN note all caps attn CRYPTOLOG Always include your full name organization and secure phone also building and room numbers For Change of Address mail name and old and new organizations to Editor CRYPTOLOG PI NORTH 2N018 Please do not phone Contents of CRYPTOLOG may not be reproduced or disseminated outside the National Security Agency without the permission of the Publisher Inquiries regarding reproduction and dissemination should be directed to the Editor While we're on the subject of distribution let us direct your attention to a paragraph in very small print that appears elsewhere on this page It reads Contents of CRYPTOLOG may not be reproduced or disseminated outside the National Security Agency without the permission of the Publisher Inquiries regarding reproduction and dissemination should be directed to the Editor This means that o copies of CRYPTOLOG may not be forwarded to subscribers in the field o field stations may not pass copies of CRYPTOLOG to their subordinate field entities For further information about the distribution of CRYPTOLOG to the field please write or call the Editor All opinions expressed in CRYPTOLOG are those of the authors They do not represent the official views of the National Security AgencyfCentral Security Service F9R 9FFIGl- tt J lJ8E 9NJ aJPY DOCID 4010025 - - --- ------------------- I f 'l l OY The popular perception of a federal I employee with 50 years of service is that ofa timid colorless person shuffling papers in an I obscure corner of an obsolete government buI reau The protagonist ofthis article is no such thing He is a visionary NSA's own Jules I Verne and Arthur C Clarke whose imaginaI tion was lauded by NSA's first Deputy Director I He is a man 0 f t w ho speak s mtegnty an actw s lout when moved to do so He is a doer wluJ actually gets out in the field to implement his I theories He is a world-class scientist unI known to PBS audiences only because his endeavors and his association with them are I classified Among his many honors is his I election to the prestigious Cosmos Club for original research and publications on the I ionosphere I I I I I I I I D When young N C Nate Gerson returned I from summer training with the Massachusetts i National Guard in 1934 he found a telegram from I the Government Printing Office in Washington I offering a position at $90 a month The country was in the grips of the Great Depression and jobs I were unavailable so his mother was convinced I that President Roosevelt personally made the selection to help the family Thus started a fedI eral career that stretched over half a century l I l D 1938 he transferred to the US Weather I Bureau and subsequently was assigned to San I Juan Puerto Rico There he worked all night In I 2200-0600 and attended the university as a full I time day student 0800-1600 After three years with four hours sleep a day he graduated magna cum laude with a BS in physics Then he began what was to be a series of firsts He completed the first thorough evaluations of pseudo-adiabatic UJ During an exceptional career Nate equations In 1943 in Puerto Rico he made the through his energy enthusiasm and dedicafirst upper air wind determinations using wartime tion to solving the real problems has inspired radar and resonant dipoles suspended below others and broken new ground He has won the radiosonde balloons This technique was implegratitude affection and respect of his colmented for routine observations of upper air leagues here and abroad He is the epitome of a winds He also designed all the thermodynamic visionary scientist and explorer charts needed to evaluate upper air soundings many of which are still in use today by the UJ This tribute was composed by his friends Weather Bureau and by DoD This work was not and admirers and submitted with their very great affection and respect J without peril as Nate reports iL _ 3rd Issue 1989 CRYPTOLOG page 1 SECRE'f nA ij Y Y A GOM lT GHAN tELg ma y DOCID 4010025 SEeM While working at Arecibo the open cable car taking me from the carriage house 500 ft above the antenna to the ground struck the feed structure The car caught and became horizontal as it was haltingly dragged over the structure The car almost dislodged itself from its support cable had it done so it would have plunged to the ground I hugged the only vertical now horizontal strut on the flimsy cable car for dear life After scraping clear the car swung wildly while its support cable oscillated vertically 15-20 feet - all about 500 feet in the air I was glad to reach the ground A $10 override switch in the circuitry would have prevented a mid-air collision course between the cable car and the feed structure I expressed my peevishness to the management as an electronic navigational system for ships and aircraft And another first Nate completed the first analysis of natural LF noise intensities in the subarctic U While doing all of this Nate managed to obtain an MS in physics from New York University and has worked in that field ever since first in thermodynamics then in electrodynamics U In 1948 the Army Air Corps split from the Army and became an independent Service the Air Force Nate was asked to organize a research laboratory devoted to radio wave propa gation Feeling that knowledge of the medium U In 1945 Nate met a beautiful creature in the the ionosphere and atmosphere was essential WAYES She married him before realizing that his he established the Ionospheric Physics Laboraannual salary was only $1620 The Navy during tory still in existence and became its Chief and their honeymoon assigned her to Barracks D with one of the five founders of the Air Force Cambr3999 other women After their return to Washingidge Research Center near Boston Characteriston Nate would visit her in the evening until at tically he took charge at once and reoriented curfew an enormous WAVE wearing an SP armband the USAF radio propagation research from would tap him on the shoulder and say Time to go statistical studies of intensity variations on home sonny point-to-point circuits to an understanding of the physics and dynamics of the ionosphere U One day in 1946 an old professor sauntered into Among his many initiatives during this period the office and told Nate's boss that he wanted Nate was the implementation of a follow-the-sun as to work for the Army Air Corps Listening with the earth rotated airborne observatory to obtain apprehension Nate learned for the first time that his ionospheric soundings over the North Pole it boss appreciated him but the professor won and then became possible to examine arctic ionoNate was shifted to the US Army Air Corps' Watson spheric drifts and to obtain midlatitude airglow Laboratories at Fort Monmouth NJ He left Washspectra ington by train on a Monday moming telling his wife he would return by Friday Thursday moming U Early on Nate revealed his mettle as innohe was given 120-day travel orders later extended vator and goad backed by that single-minded another 120 days He crisscrossed the arctic from purposefulness that is an elemental factor of Hudson's Bay to Alaska and visited under primitive success Between 1948 and 1956 he made pioconditions more of the Canadian north than most neering studies of auroral ionospheric and Canadians ever will see geomagnetic physics and prodded the U S and Canada into becoming world leaders in this U At the Watson Labs Nate assisted in evalufield He won over initial opposition and instruations of 180 kHz experimental Loran navigational mented an airborne laboratory for ionospheric systems in southwestern Canada later implemented and spectrographic measurements a concept as LF LORAN He was responsible for its calibralater copied by the Soviets The plane he sent to tion and acceptable operation at all field sites in the arctic developed mechanical problems Canada and Alaska from 45 N to beyond the Arctic drastically reducing the flying hours over the Circle Its reliability led to its installation globally North Pole which led him to propose and justify 3rd Issue 1989 CRYPfOLOG page 2 SHeRR'f Ib NBLE ViA eO iHtff etM tRffiLS OJoft' EO 1 4 c DOCl L 4 I-l3EUR1025 Sf1CRf1i' the US station at the South Pole In sun-earth geometry the poles provide unique observational points Nate relates his adventures f'6tJO In 1956 he was invited to present a lec- In Antarctica I slipped on an icy hillside and slid 3000 feet free-fall to the bottom On another occasion my Weasel stalled on a very steep icy path I parked and carried the 750-pound dummy load cross country uphill 200 yards through knee-deep iceencrusted snow The flight to the ice from New Zealand was unusual a forward hatch unexpectedly opened and discharged a life raft which automatically inflated and slammed against the tail section The plane was thrown out of control until the life raft finally blew off Unfastened passengers were thrown about like corks I had been sleeping on the cargo and could not reach a bucket seat until grabbed by fnendly hands The pilot recovered less than 1000 feet above the sea We were three hours from McMurdo Sound ture on ionospheric winds at Arlington Hall Sta tion to a group unknown to him - the newly formed National Security Agency Before the meeting ended he was asked to consider a consultantship Shortly afterwards the US National Committee for the International Geophysical Year suggested that he join Deep Freeze II the US Antarctic Expedition as Admiral Byrd's Chief Scientist However by that time he had become hooked on the challenges facing NSA and he became a full-time employee in the old REMPResearch Engineering Math and Physics fOliO Nate's insight into NSA's problems has been extraordinary This probably stems from his stint with the Air Force where he looked at propagation from the point of view of communications at NSA the viewpoint is that of intercepting Now one of his primary concerns is improving the front end of the SIGINT system - intercept And as some of you know all too well Nate speaks his mind even when his comments might be unwelcome For example he discounted rosy estimate 1 ---' Unfortunately he was proven right -the physics just did not permit it w 000 The range of his activities at NSA is astounding Among his many undertakings he examined High Frequency Direction Finding accuracies and system improvements intercept from HF to SHF general search and electromagnetic wave ro a ation in eneral EO 1 4 c P L 86-36 The Roof and Floor of the Earth In the Arctic one December morning when I left the mess hall after breakfast for work I was blown down onto the snow four times during the 3 4 mile walk to the Operations Building Time for the walk was 45 minutes During two summers outdoor temperature 52F the work was so arduous that perspiration soaked through all my clothes to the outside of my parka On several trips I lost 10 pounds during the first week While I was working at isolated outside facilities one summer grazing caribou came within 15 feet On one occasion working alone far from the station I came across fresh wolf tracks in the soft tundra 3rd Issue 1989 CRYPTOLOG page 3 Sf1CRf1i' IW VIA COMHIT cnItN 8 f j4 c P L 86-36 DOCID 4010025 EO 1 4 d SECRI 'f P L Two olthe many congratulatory messages sent to Nate 3rd Issue 19119 CRYPTOLOO page 4 I UT UAP'lf bE WA C -YP'lT CIMP'1P'tEbS mHo Y 86-36 DOCID 4010025 SBCRBT 3ed Issue 1989 CRYPTOLOG page 5 SECRJi T Ih't ffiLE 'ilIA eSMIUf CIM HffiLS SULY EO 1 4 d P L 86-36 EO 1 4 c DOCID 401aQ2536 SJiiCRE'f' 1 - I _ 'fflT At NSA Nate has bounced between DDR and DDO alternating between theoretical science and practical applications as he prefers to do He has regularly visited field sites to gain first hand understanding of the operational system as it is not as it is surmised to be He spent over four years beyond the polar circles and is the only Agency employee sent to both the Antarctic and the Arctic U Like the professor he might have been he is adamant that every project produce a positive or negative final report in good idiomatic English to guide future workers otherwise you flunk the course Moreover the reports must be short and to the point Some unhappy souls discovered too late that Nate has a short fuse for six-pound reports containing only one sentence of value FOUO High on his wish list for NSA is that quality outweigh quantity a close second is that managers be more aggressive in sifting wheat from chaff He urges Engineering to be somewhat more responsive to Operations but he would like to see Research given higher internal status and set higher goals At the same time he insists that proposals be more critically evaluated before adoption As for people the single most valuable attribute anyone can have is integrity U Still a starry-eyed idealist he believes even as he scolds it that R E is comparable to the Lake Woebegone Community all the women are beautiful all the men dedicated and all the Elders wise P L ERRATUM I t 86-36 In 2nd Issue 1989 Compusec Policy for the Intelligence Community by two captions were inadvertently transposed Please replace the published diagram wzth the one shown below CRYPTOLOG regrets the error MODES OF OPERATION All Some Some Some Access All All Some Some Clearance All All Some Need-to-know All unclassified 3rd Issue 1989 o CRYPTOLOG o page 6 SECREl' ItA-lffiLE 'it COMRR' Clt t H'R3 S O q Y DOCID 4010025 MAPS AS VITAL RECORDS '-- F L 86-36 --JIT541 U Two aspects of the emergency preparedness programs were prime factors in the revitalization of the Vital Records program These were a having records available which will ensure the effective conduct of essential United States Government activities and b having sufficient means people equipment and physical plant to manipulate these records as needed FOUO The revitalization began in October 1985 with a memo from the then NSA Records Ireminding all Agency Officei' I elements that the Director had tasked the Agency with designing and building a framework for a survivable SIGINT system under all conditions including general war Through seminars and personal contacts the Senior Key Component Records Officers were apprised of the T54 plans With the assignment of a vital records controller to T5411 planning began in earnest U The element records officers analyzed their element's operational needs and identified the records that they considered vital to their survivability and reconstruction plans Among them were the map requirements These were submitted to the controller evaluation of the Agency's performance during the Joint Chiefs of Staff exercise PRESENT ARMS which concluded that maps and geographic aids' would have greatly assisted the NSA participants in performing their tasks The Controller decided to develop a single file to make all map and related information available to all possible users Thus was born the idea of the Common User Module MAPNEED CUMMN U Several things had to be done before the maps and geographic aids could be indexed into a retrievable data file then shipped to and stored at a Vital Records Depository First was to develop a system of accounting for each item placed into the data file as well as a manual retrieval system Then all maps had to be folded to fit the legal size folders used for shipment and storage The folders were marked with identifying information as depicted in Figure 1 then placed in boxes marked CUMMN ## Chart Sheet # Sheet # Country ies Placename Placename I'igure 1 F'OUO The controller and the T54 Project Officer for Archival Processing developed a file containing a collection of maps and geographic aids that were identified as vital to the Agency teams engaged in reconstruction emergency relocation or critical post-disaster operations This was provided to the element records officers ' OtTO The file took form as maps and geographic aids procured through the T54 Map and Geographic Aids Library began to arrive It includes a machine database called MAPNEED with a backup file called NEWMAP Both the original database and the backup file use the dBASE III PLUS system and show identifying information about the maps and geographic aids contained in the file as well as other identifying data As items that are out-ofstock or out-of-print are procured the file will increase in size 5 044 items are currently indexed into the data file U After analyzing the requirements for maps and geographic aids submitted by the various records officers the controller noted that several U The procedure is virtually self-evident components had a requirement for the same o Enter the data into each field and pres CR materials And just at that time came an 3rd Issue 1989 o CRYPTOLOG o page 7 FOR OFF16IAL USE 9NLY DOCID 4010025 I I I P L U S 0 BAS E S TAR T U P MEN U 3 Use ACCONLOG Programs 4 Use Vital Records Programs Field 1 REC NO CHART 2 PROJECTION 3 4 SCALE LOC INFO 5 BOX-NR 6 ORG 7 COMMENTS 8 O EXIT Explanatory Notes 1 Use NARADEX Programs 2 Use ANSUM Programs Step 1 Select 4 V I TAL 1 R E C 0 R 0 S 1 2 YAKIMA Records MAPNEED Records O EXIT 2 3 4 5 Step 2 Select 2 6 7 MAP NEE D 1 ADD INFORMATION 2 CHANGE INFORMATION 8 3 REMOVE INFORMATION 4 ADD COUNTRY INFORMATION Type Length C C C C 6 50 20 18 80 C C C 7 20 50 C REC_NO indicates the record number CHART is the short title of the specific chart otherwise the long title PROJECTION indicates the type of projection requested by the user if available SCALE is the ratio of units used on the map or chart i e 1 50 000 LOC INFO is the country or geographic area covered by the map or chart or in the case of UTM charts the long title BOX_NR refers to storage ORa is the organizational designator s of the requesting NSA organization Multiple designators are separated by backslash COMMENTS additional descriptive data U 5 PINT OUT FILE Fig 3 Data Structure of MAPNEED and NEWMAP O EXIT All the routines for modifying and accessioning data are just as easy to do It is possible to retrieve information on any the fields shown and to print it out There are procedures for selecting all charts required by a specific organization or user or by a combination of them It is even possible to make a gang selection to include all organizations subordinate to the one cited 0 U Step 3 Select desired action Figure 2 Accessing the data base When all data has been entered press PgDn to move to the next record Press CtrllEnd to save all the new informatIon that has been entered When the computer screen indicates 0 select 0 press CR until a dot prompt appears r ooooooooooooooooooooooooooooooooooooooooooooo CRYPTOLOG At the dot prompt type USE MAPNEED INDEX MAPCHART and press CR Type REINOEX and press CR This command reindexes the file and place the new record containing the new information in its proper place welcomes your letters and comments II ooooooooooooooooooooooooooo 3rd Issue 1989 o CRYPTOLOG o page 8 POR OPPICIAL US 6NLY ' oooooooooooooo 1 DOCID 4010025 DINOSAURS ARE ALIVE AND WELl and living at NSA P L The article Software Acquisition A ReforIIlin 12nd ISsue of Need of Reform byl 1988 prompted me to propose a radically different view from the one proposed in that paper I contend that software acquisition is not so much in need of reform as are the philosophies and practices of those who manage the software acquisition or development Seat of-the-pants software acquisition and development didn't die with the advent of formalized procedures It's thriving at NSA kept alive by archaic software management practices and philosophies that have failed to adapt to the new generation of concepts in the software world IN-HOUSE SOFrWARE DEVELOPMENT Poor management is the main reason for NSA's software development problems This includes inept Software Development Managers who fail to plan and organize the development effort the laissez-faire style of upper management that fails to enforce commitments and has a hear no evil see no evil attitude and apathetic external organizations with no active interest in software development THE CUSTOMER The road to failure doesn't begin with the development organization or the program management office but with the customers' lack of committed involvement and poorly defmed and expressed needs Only when the system is deployed do they take an active interest in the product The pervasive attitude seems to be Here Research and Development perform a miracle with this sparse information and we'll 3rd Issue 1989 talk to you WhEln it's done or when we need a change in the miracle While overstated this situation is real At this juncture the customer is the only one who knows specifically what it needs and what information is necessary to meet those needs Operational organizations should place greater emphasis on conveying those needs as clearly defined objectives and requirements Often requirements are so generic that what takes place is interpretation by misperception i e a mismatch between what the developer understands and what the customer meant Continuous customer involvement during the entire development process is vital to clear concise requirements The technical exchange and direction the customer could provide would help immensely in guiding an errant project UPPER MANAGEMENT The most frustrating obstacle to overcome is upper management's non-receptiveness to issues concerning suspect software development practices You can knock forever on a' deaf man's door says Zorba the Greek The message they're sending is interpreted as nonsupport and indicates a lack of trust in their subordinates This action is hypocritical for an organization espousing the benefits of NSA manuals on software development One wonders from what perspective upper management is viewing the situation One could postulate that the motives are partially financial The measure of an organization's worth has become the size of its budget instead of its efficiency and effectiveness And since the organization is budget-based the normal business definitions for CRYPTOLOG page FGIl GFFlC3It L USB ONL'1 9 86-36 DOCID 4010025 performance and results have changed Performance becomes the ability to maintain or increase the organizational budget while results is the acquisition of a larger budget Drucker By accepting troubled systems the worse off the better management acquires justification for their budget Unfortunately it's justification by non-performance Another perspective using 80's terminology involves male bonding and the good 01' boy upper management fraternity where shunning inter-organizational conflict is all too prevalent Conflict is inevitable and in my opinion necessary in our dynamic working environment Software maintenance organizations have been compromising their ability to maintain newly developed software because of upper management's resistance or inability to take stands on software development issues that cut across organizational boundaries It is amazing that a stance has not been taken in light of some of the recent software disasters Upper management difficulties are not solely internal to the organization problems are also generated by external organizations failing to acknowledge and enforce the responsibilities they approved Management's concurrence on documents has become more of an exercise in form than in substance Corrective measures are rarely taken when identified obligations are not fulfilled There is a definite truism in relating management signatures to the cliche not being worth the paper it is written on He then applies the same technique to a variety of sub-objectives Eventually he is overwhelmed trying to keep track mentally of everything going on So the project that started out with the best of intentions falls into disarray missing schedules and going over budget and turns into a QRC effort - not a Quick Reaction Capability but a Quick Reaction to Chaotic conditions The two are similar in that both are undocumented untested and meet only the minimum requirements Planning by camouflage is used when a boilerplate Software Development Plan is written The document is written in a halfhearted attempt to satisfy an NSA reg but is not periodically updated All the right buzz words are there but unfortunately the document lacks substance Nevertheless the document is waved like a banner in proclamation of good software development techniques Eventually its fragile nature becomes evident as the complexity of software development increases Development collapses because of a false sense of security in having a plan owing to a common but mistaken belief that planning is a one-time event rather than an on-going activity Without adequate planning it is unfair to discuss the organization and integration of project resources Whether the resources are time budget personnel facilities or managerial style success is directly related to the effectiveness of planning On problem projects the software manager is in a reactive rather THE DEVELOPMENT ORGANIZATION initiative mode when it comes to coordinating and utilizing resources In the past it was The lack of proper management practices is possible to compensate for poor planning by nowhere more apparent than on projects with drawing on additional resources for even if the software development problems The use of project came in late and over budget -- who formalizeft software development techniques isn't cared -- the money was there As we move into the root of the problem since in most instances a period of greater austerity this avenue of they are not being used anyway The problem escape will no longer exist Poor project lies in the inconsistent or nonexistent management will become increasingly apparent application of basic management principles planning organizing integrating and More often than not development organizations evaluating Formalized software development become afflicted with software development techniques are nothing more than an advanced amnesia so mistakes made in previous projects application of these basics recur usually in the form of schedule slippages and over-expenditures Critical evaluation of a Planning as I loosely refer to it is usually done project isn't something that is done just at in one of two ways The first is planning by project completion like planning it is an onmental imagery The software development or going activity Evaluation of mistakes provides acquisition manager knows what the overall an opportunity to learn how not to do things as objectives are and begins to visualize and well as how to do them initiate the steps needed to get the ball rolling 3rd Issue 1989 CRYPTOLOG page POR OPPIEURIAL USfi3 ONLJPY 10 DOCID 4010025 SOFTWARE ACQUISITION BY CONTRACTING o Become receptive to bad news during software development Not only must you listen to what is being said ou must act A Janus-faced Is software acquisition more expensive than in- stance on enforcement of Agency standard house software development Not really There software development practices promotes are hidden costs in in-house software organizational inefficiency and ineffectiveness development owing to large adjustments in schedules and our hypocritical attitude toward o Accept and use the Agency's software documentation When software is developed in- development methodology Credibility to deliver acceptable software is being undermined by house schedule slippages lock development personnel in place adding to the initial cost and resistance to using new techniques The track delaying the opportunity to begin new projects record for previously developed software Adding to that cost is documentation that is indicates changes are needed There are non-existent or poor in quality In most cases reasons for the existence of the NSA regs software documents have to be upgraded to a o Provide more opportunities to software support level of acceptability by the life cycle support organizations to develop software Presently by organization using their own personnel or charter most of the Agency's new development contracting the work out is being done by research and development organizations Expanding development Acquisition is not a panacea for the Agency's opportunities will give the customers a choice of software development problems I do not advocate contracted efforts and do not believe developers and make the process Quality then the end product is any better just because it becomes the prime justification for increasing organizational budgets The customers usually was developed by a contractor What I have keep selecting a developer whose projects not found is that acquired systems are better only perform but are timely and cost-effective documented and experience fewer schedule The Agency should no longer keep all of its slippages The reasons for this are contractual and financial Software documents are identified development eggs in one basket as part of the Contract Data Requirements List CONCLUSION and the contractor is motivated by profit to avoid excessive schedule slippages Problems My opinions are based on experiences and surface when the Agency provides inadequate observations in software support My concern is requirements definition in the purchase not for present but for future developments In description or asks for modifications because of most cases it is too late for constructive unforeseen environmental changes Of course suggestions to have an impact on current the contractor is going to ask for more time and projects Even the simple identification of money These risks should already have been problems is often seen by the developer as considered when opting to acquire rather than meddlesome intrusions Changes need to be develop new software made in the way the Agency handles future software development The Agency is too RECOMMENDATIONS dynamic and its software personnel too professional to be sabotaged by archaic software o Don't blame Agency software development development philosophies and practices If the practices and procedures for the project's failures It is a 'poor workman that blames his Agency fails to adapt to the new software tools for shoddy work Instead tailor them to environment it runs the risk of meeting the same fate as the dinosaurs Those large entities meet the size and needs of the project In this were overcome by their failure to adapt case familiarity breeds proficiency Unfortunately too many Agency dinosaurs are o Try to obtain the clearest possible definition still developing software of what the customers really need The ACKNOWEDGEMENTS customers should be as involved in the project as is the developer If they aren't they have 31 Technical only themselves to blame for the type of system My thanks to Writer for her constructive comments delivered I P L 3rd Issue 1989 o CRYPTOLOG o page 11 FQH QFFICU I USE QHI JPY 86-36 DOCID 4010025 f IJ rta II n t f r IJ llll m5 1 i f r IJ ra mm 1 oo o slIlI hllw til slIlI 1I them o P L 86-36 Many portability problems are hidden from the C programmer because C is a h gh-Ievellanguage Some of the flexibility which allows C to be easily implemented on so many machines also allows for variations in a number of well-defined ways A programmer must be aware of these variations in order to be able to write portable code The most important variations are described below WORD SIZE The common word sizes today are 16 and 32 bits with some 8-bit words on aging micro computers and 64-bit words on some super computers In CIUNIX the common word size porting problem comes from using the variable type int An int is defined as the storage class that is most efficient on the given machine On a 16-bit machine an int is 16 bits on a 32-bit machine it is 32 bits Problems arise when you try to go from larger to smaller word sizes and find that an int is no longer large enough to hold your information Problems also arise when you try to write data in the form of an int to a disk file On a 16-bit machine it will take 2 bytes of disk space on a 32-bit machine it will take 4 bytes If a program believes it knows how many bytes of data are on the disk it may be surprised when compiled on a different machine For portability one should use the variable type char for 8-bit data short for 16-bit data and long for data which is 32 bits or more in size Remember too that an unsigned quantity will allow a magnitude twice as large as the original Some examples ofdifferent sizes short 2 int 2 10ng 4 short 2 int 4 10ng 4 short 3 4 int 8 10ng 8 PDP-II AT XENIX 386 SCO-XENIX SUN-3-4 ASH 3bIS 20 CONVEX CRAY Further programs should use the sizeof' compiler construct if they need to reference the size of an int variable Unfortunately there is a lot of code that doesn't use these more portable constructs BYTE ORDER Different machines have different ways of storing 16- and 32-bit quantities Let's first consider the ways a 16-bit value might be stored 3rd Issue 1989 CRYPTOLOG page 12 pelt efi'li'lCtAf l1SF 8N1 Y DOCID 4010025 short variable Ox0102 Ox is notation for hex this may be stored internally as each 2 digit number is 01 02 or ' is a byte 02 01 Now consider the ways in which a 32-bit value might be stored long variable Ox01020304 Ox is notation for hex this may be stored internally as 01 02 03 04 or each 2 digit number is is a byte 04 03 02 01 or 02 01 04 03 There are two kinds of portability issues that arise from this difference The first problem comes from using more than one kind of storage class to access this information For instance suppose you allow a short 16 bits to represent a character on a display screen In the short the Most Significant Byte is the actual character displayed and the Least Significant Byte is its attributes foreground color background color blink underline etc When you initially put a character in this short you will store both the character and the attribute Now suppose that you wish to write over the character but not affect the attribute Most programs will let a character pointer point to this short and then change the first byte This is not portable since it only works on machines with the first byte ordering scheme lfthe second scheme is used the MSB is actually the second byte This problem is even worse when dealing with 32-bit quantities since there are more possible outcomes The second kind of portability issue deals with writing this data to a disk file A file that is created by writing shorts or longs to the disk will not have the same meaning if it is transferred to a different machine with a different byte order This gives rise to interoperability problems between machines and the need to translate structured data files when transferring from machine to machine Some examples of variants with a bytes in order being 0102030405060708 2-byte short 0201 2-byte short 020 2-byte short 0102 3-byte short 06070a 4-byte 4-byte 4-byte a-byte 10ng 02010403 10ng 04030201 10ng 01020304 10ng 0102 0708 PDP-ll AT XENIX 386 SCO XENIX SUN-3-4 ASH 3b15 20 CONVEX CRAY BYTE ALIGNMENT STRUCTURE SIZE Some machines allow a short 16 bits to be aligned in memory on any byte boundary others allow a short to be aligned only on even byte boundaries Further some machines allow a long 32 bits to be aligned on any byte boundary others allow a long to be aligned only on even byte boundaries while still others allow a long to be aligned only on 4 byte boundaries 3rd Issue 1989 I CRYPrOLOG I page 13 FeR eWlc w I JS QM JPY DOCID 4010025 In UNIX you can group related variables into a structure A UNIX structure has as its elements each of the related variables For example struct example char first char short first_short long first_long 8 bits 16 bits 32 bits This defines a structure called example that has 3 elements first_char first_short and first_long On a machine that allows alignment on any byte boundary the elements in the structure will have the following data storage struct example char first_char byte 1 short first_short byte 2 and byte 3 long first_long byte 4 byte 5 byte 6 and byte 7 And its size will be 7 bytes On a machine that allows alignment for shorts and longs on even byte boundaries only the following storage will be in effect struct example char first_char short first_short long first_long byte 1 byte 2 is unused byte 3 and byte 4 byte 5 byte 6 byte 7 and byte 8 And its size will be 8 bytes On a machine that allows alignment only on 4-byte boundaries the following storage will be in effect struct example char first_char short first_short long first_long byte 1 bytes 2 3 and 4 are unused byte 5 and byte 6 bytes 7 and 8 are unused bytes 9 10 11 and 12 And its size will be 12 bytes The problem with this comes when a program makes an assumption about the size of the structure There is a construct sizeofO that will return the size of a structure but not all programs use it Even if they do you can still get into buffer size problems if a struct e gets copied into a buffer and the buffer is large enough to hold the structure on some machines but not on others Structure size arid alignment also lead to the same problems with access by different storage class mechanisms ie character pointers and representation on disk that the byte order differences lead to We looked at some examples of the size of a structure containing a character plus an integer of different types sizeof struct char c short si 3rd Issue 1989 CRYPTOLOG page 14 JPYOR g IHs g z l JPY DOCID 4010025 sizeof struct char c long li sizeof char short 4 sizeof char long 6 sizeof char short 4 sizeof char long 8 sizeof char short 16 sizeof char long 16 PDP-II AT XENIX SUN-3 386 ASH CONVEX SUN-4 CRAY SIGN EXTENSION In UNIX values can be signed or unsigned If a value is signed its Most Significant Bit is used as a sign bit For example an unsigned character can range in values from 0 to 255 while a signed character can range in values from -128 to 127 The same also applies to short 1G-bit and long 32-bit values Some machines will extend the sign bit propagating it to the left when a smaller storage class variable is assigned to a larger one ex long short and others will not In UNIX this happens more often than you might think Every time a subroutine is called its calling arguments are pushed on the stack as integers whose size varies according to the word size of the machine The problem arises when comparisons are made between values IfI have a short 16-bits with a hex 0085 stored in it and a character 8 bits with a hex 85 stored in it and compare them on a machine that does not sign extend they will be equal However on a machine that does sign extend they will not be equal because the 85 stored in the character will be converted to a hex FF85 for the comparison To get around this problem some programs will logically and the character value with hex FF Unfortunately this works on some machines but not on others the SUN 3 will sign extend the result of the logical and the PDP 11 won't The only real way to get around this problem is to use unsigned storage classes when dealing with data that may have the MSB turned on Most programs have some kind of sign extension non-portability built in to them Variations which were found are o We looked at whether typecast ofsmall data types to larger types resulted in a sign extend sign extend all cases PDP-II AT XENIX SC0386 SUN-3-4 CONVEX sign extend short to long but not char to any ASH 3b15 3b20 CRAY o We looked at whether an arithmetic right shift sign extends sign extend short and long sign extend only short not long no sign extend on right shift PDP-II AT XENIX SC0386 ASH 3b15 3b20 CRAY CONVEX SUN-3-4 no machine sign extends an unsigned quantity PDP doesn't allow for unsigned long and restricted experiments CRAY converts short- int before shift so sign extending it first FLOATING POINT FORMAT The format used for internal representation of floating point numbers can vary from machine to machine This can cause the disk file data transfer problems mentioned above and can also cause loss of precision problems to floating point programs CONCLUSION It is probably impossible to give rules which will guarantee a portable program without restricting the 3rd Issue 1989 CRYPTOLOG page 15 FOR OFFICfAI BSE ONI JPY aCID ---------- 4010025 flexibility which a language like C allows you Some hints which might help are a prefer to use long short rather than int and if the object is not a signed integer quantity the type should probably be unsigned b always use sizeofO to discover the size of an object c make all your output and input data ASCII readable rather than binary d avoid using multiple representations of the same data e g use of unions and certain means of type casting We note first that some of these hints are trade-offs between portability and efficiency We also note that the 'lint' program will highlight many potential portability problems The best way to learn the problems is probably to take some small program you have written and port it to as many machines as you can find You will avoid many of the pitfalls with your next program We note that no two of the machines investigated were identical The program supplied as an appendix will run differently on each of the eight machines investigated APPENDIX char 'whatmc ' test one data union char clist 8 short si long Ii mix test two data char c Oxff short si Oxffff long li Oxffffffff test three data struct char c long li combine int i for i O i 8 i mix clist i 'O' i Test one picks out a CRAY and PDP-II if mix si Oxff Ox37 return cray if mix li Ox31303332 return pdp-II Test one splits the rest into two groups if rnix li Ox30313233 int i c Either SUN or ASH or CONVEX if i Oxff return ash if li l Oxefffffff return convex if sizeof combine 6 return sun-3 return sun-4 else Either an AT or a 386 machine running SCQ XENIX sizeof int sizeof short return at return 386 ' Never gets here end of whatmc 3rd Issue 1989 CRYPI'OLOG page16 FeR ePt'FICI 1 l JSfJ 6NL7 if 4010025 COMPUTER INFORMATION SCIENCES INSTITUTE Special Interest Group on DATA FUSION If you use or write software that uses data from multiple sources to track identify or evaluate TARGETS you are doing DATA FUSION and may benefit from exchanging ideas and software with others MEETINGS in EARLY 1990 aU held in 9A135 HQS 0930-1030 Wednesday 24 January Wednesday 28 February Friday 23 March Wednesday 18 April CLEARANCE LEVEL Top Secret Codeword ALL PERSONS WITH GREEN OR GOLD BADGES ARE WELCOME For more infonnation on thd please call 8 Spec1allnterest Group 13 963 5868 0 A2 963-3493 T4 963 4143 W46 963-4702 3rd Issue 1989 CRYPTOLOG o page 17 FeB eFFUJJi Ia USE ' loy P L 86-36 DOCID 4010025 C6NPlBBN'fIAL COGITATIONS of a CONTUMACIOUS CABALIST 6-36 W21 ieTSomeday it will be recognized as a fundamental truth of DDO that each group deserves the analysts it gets Conversely someday it will be admitted that no analyst deserves the group to which he or she is assigned te1' As a veteran observer of the machinations among DDO organizations I delight in belonging to a veritable cabal Throughout the centuries cabals have been seen as covens for witches and warlocks and as secret organizations from whence no good ever came That label--CABAL--is not unlike the cloak of mystery which surrounds those who dwell in the heart of W Group 1 - _ _ i'er Even to dare pronounce the phrase t'W Group in the same breath as job or position is not for the faint of heart For the well-bred sons of DDO the Groups of A B and G cannot abide the ne'er-do-well son W In fact several A and G pundits are quite sure that Wwas not born of the same father at all They firmly believe that W is an imposter at best and illegitimate at worst ow can W the wayward son compete To be sure there is a small linguistic conclave fighting for freedom and the American way as part of Wl But that is a small elite force Most of W is not made up of linguists but of engineers signals analysts computer scientists and mathematicians with a few odd intelligence research analysts thrown in to make the concoction odder still -f6t- With such an eclectic band of workers it is no wonder that most people wonder at W group Try telling the linguist that you study what we affectionately call green worms That alone sparks off titters and cat calls For who hasn't wondered at how the worm gets into the finest tequilla bottles No sense in telling the linguist it is not that kind of nematode for as they are wont to say worms is worms No the plight of the W grouper is worse still because few recognize that ELINT doesn't lie That is to say ELINT won't tell you he or she has turned over a new life and resolved to be on the side of truth justice and the American way while still doubling the defense budget Nay ELINT just llppears out of the sky and bites you when you least expect it Rather like death it shows no discrimination iei The problem with ELINT is that so few people understand it which is why we ELINTers are so sorely misunderstood ELINT is not a class unto itself It is merely another side of that vixen SIGINT Although ELINT is not that scourge 'known as voice it does have melifluous tones and modulations You might even say it can sing as it often chirps It can even illuminate the darkest of hours As such ELINT is just another chapter in the life of the nefarious vixen SIGINT 0 3m Issue 1989 o CRYPTOLOG o page 18 Gg RgE 'I'IA b P L 86-36 DOCID 4010025 P L 86-36 To the Editor This is regarding the derogatory and linguistically meaningless comment i article on Xhosa CRYPrOWG 3rd Issue 1988 to the effect that Afrikaans is a bastardized version of 16th century Dutch sic I Afrikaans as all languages evolved and developed organically incorporating numerous lexical and syntactic features of the languages with which it came into contact during its formative period Afrikaans is in fact the only modern Europeanbased language which evolved on non-European soil adopting many non-Indo-European vocabulary and grammatical features - including those from the Bantu and Khoisanlanguage families as well as from Portuguese and English Its beginnings indeed go back to the 16th century and it was nearly fully developed with the exception of a standardized orthography by the early to mid 1700's As all languages develop from antecedents is it accurate to describe English as bastardized Danish and Norman French Italian and bastardized Latin Yiddish as bastardized German Xhosa as a bastardized Bantu dialect mixing Hottentot and other non-Bantu elements CRYPrOLOG 3rd Issue 1988 pp 14-15 I found his comments on the derivation of the Afrikaans language very useful in expanding on one of the points I had made I do regret however that my reference to Afrikaans as a bastardized version of 16th-century Dutch triggered such an emotional response I would like to assure Mr Day that this comment was not meant to be peIjorative In this particular technical context the word does not have a derogatory meaning as he states but is merely descriptive denoting the rapid simplification of Dutch in its new environment NB Bastardize to reduce from a higher to a lower state or condition In fact the word is frequently used by scholars to classify Afrikaans and the linguistic process Dutch underwent as it evolved into the language we know today In an article with some linguistic pretensions I recommend that a modicum of attention be paid to proper linguistic terminology and accuracy and that the writer's personal prejudices however keenly felt be tempered by some knowledge of '---_ _ Jlpassionate defense of Afrikaans clearly prevailing linguistic theory in the interest of reflects a love of languages which I share I providing the reader with accurate information would like to thank him for providing me with the '--_ _----I G0533 opportunity to comment on this subject Former member German PQE Committee former Chairman Afrikaans PQE Committee present member Dutch PQE Committee '--__--- - IPhD - Ie IR YIPlflD IlID 113 o The author replies I would like to express my appreciation t Drorhiskeenin l'estillmyarticle on Xh --os-a---l o oo wekvmes yvul' letters and comme nts o - --------------------- - - _ 3rd Issue 1989 CRYPTOLOG pag 19 t'61t 6Ji't'letAL tiM 6f LY o o o o o o '- - ' P L o 86-36 G94 DOCID 4010025 'j1 0 S IS1 Jtvii3 J Jfit'WD YIlt S IOJWIl I I8dS HI1I9 S O eSud DO'lO LdA llJ o LB61 enBSI pJ - Meaning of two Q signals QST you change to _ QZY I will change to _ - Four digit groups first digit indicates callsign table used 1 or 2 second digit indicates column receiving callsign is taken from referenced table third digit indicates column transmitting callsign is taken from referenced table forth digit indicates frequency from frequency table only one table used example - 1 472 1 callsign table 1 4 receiving callsign 7 transmitting callsign 2 frequency 1 472 QEY DE CVQ 4700Kcs Callsign tables Frequency table Table-l 1 2 3 5 6 7 890 Z B S QUA C J X D R T WE G L V M F K I N 0 Y H P Q E Z R Table-2 123 4 5 6 789 0 F B K0 G DNJ P S ML R A H U X Q WM E T Z VP Y0 C I G BJI6dS LtillIOI IS 1 4450Kcs 2 4700Kcs 3 4825Kcs 4 4900Kcs 5 4975Kcs 6 5600Kcs 7 5775Kcs 8 5900Kcs 9 6l50Kcs o 6300Kcs DOCID 4010025 Hardware Review Defining a new standard for workstation computing Computer The R535 P L The NeXT Computer is the product of Steve Job's endeavors since leaving Apple Computer It was designed after interviews with numerous universities and research organizations on what their needs and desires were for workstation computing Initially it was to be offered only to educational institutions arrangements have since been made to market it commercially through Businessland Computers The computer embodies new and diverse technologies which have the potential to define a new standard for high performance low-cost interactive workstation computing In sum it appears to offers a refreshing alternative to many workstation solutions which seem to stress only computational performance This paper discusses the important features of the NeXT Computer and will attempt to assess the impact of this technology on Agency applications It will present the important hardware features that were designed into the architecture and how they could be exploited it will the describe robust and dynamic software environment which appears at first glance to be superior to others currently on the market today and finally it will speculate on the significance of this technology for NSA computing architecture l' a high resolution 1120x832 17 2-bit deep monochrome display SCSI peripheral interface 5 25 winchester disk and keyboard with mechanical mouse Though there are many vendors who sell systems with the same basic components they do not offel' the additional hardware features that the NeXT machine provides These features allow for significant functionality not typically included by competitors in standard units MAGNETO-OPTICAL DISK DRIVE The NeXT C jmputer incorporates a magnetooptical disk drive which provides a removable optical disk with up to 256 megabytes of data This is the first instance of optical technology incorporated into the base platform of workstations The drive is slow by comparison to winchester disk technology 96-ms average seek time as compared to 18-ms average times for 5 25 winchester drives but the increased capacity on a random access removable medium is very impressive The complete operating system very rich with bundled software is available on one optical disk The disks are rather expensive about $50 00 per disk but that will probably decline as the device becomes more popular INTEGRATED AUDIO HARDWARE At first glance the NeXT Computer looks just like any other UNIX-based technical workstation It consists of a 25 Mhz Motorola 68030 CPU with a Motorola 68882 floating point unit an Ethernet interface with TCPIIP and Network File System NFS 4-6 Megabytes of RAM memory 32-bit NuBus system bus with 4 slots It provides for high quality audio input and playback with a built-in microphone jack that accepts a high impedance microphone signal The microphone jack is connected to an analogto-digital converter known as the CODEC The CODEC converter produces 8-bit mulaw-encoded samples at a sample rate of 8 kHz CODEC CRYPTOLOG page 21 FOR OFFUJlt 1 lJSIi l ONI JPY 3rd Issue 1989 86-36 4010025 input is roughly equivalent to telephone quality speech and is suitable for a number of sound applications such as voice mail where limiting the size of sound objects is important applications this becomes a serious performance problem which vendors usually address by higher bandwidth busses faster CPU clock cycles and somewhat faster I O controllers While incremental gains are made it still can be a bottleneck especmlly when considering signal or image processing applications NeXT decided that a major emphasis would be to significantly improve sustained system throughput To accomplish this within the defined architecture required two special I O processors whose function was to offload as The NeXT Computer also integrates a Digital much I O from the CPU as possible These two Signal Processor 20 MHz Motorola DSP56001 custom VLSI chips- manage the SCSI interface to process high-quality stereo sound Its the optical disk drive including error-correction primary function is to minimize system the serial ports and the Ethernet logic overhead while processing sound but it can also transfers be programmed to process any type of digital data including signal filtering or image data To make efficient use of these components The DSP can record and play back up to 44 1 kHz samples per second in both the left and required custom DMA hardware between the CPU board and the I O processors There are right channels with 16-bit quantization The currently 12 DMA channels on the CPU board DSP can also process 24-bit image data and is able to perform multiple arithmetic functions on to facilitate I O throughput between devices and data within one instruction cycle of the DSP processors To attain designed performance rates required enhancing the RAM memory to Applications which require real-time data CPU data transfer rates The NeXT computer capture such as voice input can be effectively can perform these transfers in burst mode twice addressed with this processor as fast as other Motorola CPU-based systems The types of sound format currently supported under version 0 9 of the operating system are ERGONOMIC FEATURES The CODEC mu-law encoding is used to save storage space required for storing sound The mu-law encoding allows a 12-bit dynamic range to be stored in only 8-bits The 8-bit mu-Iaw encoded sample will yield the same amplitude resolution as a linear 12-bit sample 16-bit Linear mono or stereo 22 5 kHz or 44 1 kHz 16-bit linear mono 8 kHz 8-bit mu-Iaw mono 8 kHz 8-bit linear mono 22 5 kHz DSP load image was very conscious about the system size and ergonomic features The system consists of a I-foot cube a 17 monitor and a keyboard with a mechanical mouse The system has one power plug which takes standard 1l0-120V power and is sufficient to supply the complete For sound playback the system contains a system There is one 10 ft cable from the speaker built into the NeXT monitor with left system cube to the monitor and one cable from and right channel line-out jacks on the back of the monitor to the keyboard The cube to monitor cable provides power the video signal the monitor Sounds are sent to both the builtin speaker and to the stereo jacks during and audio signals for speaker output and playback microphone input The limited number of cables makes for quick and easy installation The keyboard has keys to control power to the VLSI I O PROCESSORS system video display intensity lighten and The custom VLSI processors handles I O between darken and audio volume This allows all the different system components NeXT studied system interaction to take place from the keyboard and for the remoting of the cube away workstation architectures and discovered that from the desktop if that is desired one significant limitation was in data throughput In most workstations the CPU is The hardware components are very cleanly interrupted to perform I O operations on the integrated into a compact yet expandable cube system bus including network transfer and Few systems available today offer the powerful storage medium interactions In I O-bound 3rd Issue 1989 NeXT CRYPTOLOG page F6R 6FFICIAL USJt3 6NLY 22 4010025 compute platform with the compact packaging that NeXT provides The ultimate criterion will be the effectiveness of the software interface in developing applications which advantage of the unique hardware THE NeXT SOFTWARE ENVIRONMENT research communities This allows theNeXT Computer access to many existing applications and experienced personnel in these communities Second NeXT sought a smaller kernel eliminating functionality that was not pertinent for their environment They also preferred having the ability to extend the system without adding to the kernel which Mach allows Third with the major emphasis on maximizing data throughput the ability to share memory was extremely attractive And finally support for multiprocessing provides NeXT with the possibility of adding more processors to its cube there are three unused bus slots without having to rewrite the operating system The software environment provides an exciting first glance at the future for operating systems and the users' interaction with the system NeXT has pushed the state of the industry by providing one of the first commercial offerings of the MACH operating system It includes several important third party development tools and a user interface with development toolkits to assist in faster application development The Even though the emphasis is placed on Mach the user's perception will still be that the net effect is a dynamic extensible and robust operating system is UNIX The many traditional environment which will appeal to both methods for UNIX hackers to interact are programmers and users provided including the structure and access to the file system When interacting with the We will discuss the software in three phases operating system the commands behave as a the Mach operating system the NextStep Berkeley UNIX system including the network environment and two of the application toolkits support for remote operations NeXT was able to which are available for development take advantage of the work pioneered at Sun Microsystems with the Network File System and THE MACH OPERATING SYSTEM the Yellow Pages utilities to ease the integration into existing network environments The Mach operating system was developed in 1986 at Carnegie Mellon University It was NeXTStep USER ENVmONMENT originally intended as a multiprocessor operating system compatible with Berkeley 4 3 NeXT believes that powerful user interfaces are UNIX It has received significant backing from critical for systems of the nineties Its DARPA Defense Advanced Research Projects proprietary interface called NextStep uses Agency the major funding source for this Display Postscript from Adobe systems for all effort It also developed a mechanism for text and graphics written to the display It making extensions to UNIX without adding to embodies a proprietary window system NeWS the kernel This allows for a smaller kernel similar to the Apple Macintosh in interaction base with system-specific functions executing and behavior which is currently not compatible outside the UNIX kernel It also provides with X-windows or any postscript-based window support for sharing memory between processes system This significantly improves performance when multiple processes are accessing large volumes There is a complete graphical interface to the of data In traditional UNIX these processes operating system and application toolkits would be copying data into each processs' Applications are invoked by double clicking with memory space before accessing In Mach the the mouse on displayed icons and window data is copied once into memory and copied manipulation is performed with the mouse again only when one of the processes attempts pointing to specific areas in the window The to modify it It has been claimed that Mach window system supports hiding applications outperforms UNIX by 15 to 25 percent because which transforms the process into an icon on of these modifications the lower part of the display where it continues to execute The application can be recalled by NeXT adopted Mach for several reasons First double clicking the icon Mach is based on Berkeley UNIX which is widely used in the academic and scientific 3rd Issue 1989 CRYPTOLOG page FOR OFFIGlA b YEll 9Jtll JPY 23 DOCID 4010025 Simplified file system riew dejallltJ Browser with expert view enahled y-si The NextStep environment also provides a directory browser which displays the contents of directories and subdirectories side-by-side as shown in Figure 1 The user selects an item with the mouse if it is a subdirectory its contents will be presented in the column to the right of the current column A graphical icon depicting the selected item is also displayed in the area immediately to the right of the columns A user can easily use this tool to navigate through directories looking for files Windows are manipulated from the border area along the top edge There can be several different icons within the border depending on the type of window used These icons allow for functions like window resizing moving the entire window pane to a new area on the screen or terminating the window Although it is not intuitive for novice users to immediately understand how to manipulate windows it is easy to learn and users very quickly become adept at window interaction The NextStep environment with release 0 9 can be customized by users using the preference tool This tool allows for setting user preferences for such things as key repeat rates mouse scaling etc through a graphical ' 3rd Issue 1989 o CRYPTOLOG o page 24 FeR eFFIGlAEa IJSB eNhY aCID 4010025 Preferences Panel interface and 3 yet it does not limit the complexity of interfaces that can be built APPLICATION TOOLKITS An interface designer builds the visual component of the user interface by picking a graphics object from a set of available objects and then dragging it to the interface building workspace Once an object is in the workspace one can modify it in various ways For example an object can be resized moved copied cut pasted grouped or ungrouped with other objects Grouped objects can all be set to the same size and can be moved together as a single block Tools are provided for aligning objects in rows columns or matrices A major advantage of the NeXT software environment is the inclusion of toolkits to aid developers in building applications on the NeXT Computer These toolkits consist of objectoriented function libraries which perform lowlevel object manipulation Developers use these functions to define new objects required for the application This process takes advantage of the desirable features of object-oriented programming namely extensibility and software reusability NeXT provides an object-oriented language ObjectiveC as part of the standard environment to encourage development with object-oriented programming Following are description of two toolkits provided Interface Builder The Interface Builder on the Next machine offers a powerful easy-to-use tool for constructing user interfaces It allows one to generate the visual component of a user interface without typing a single line of code The interface designer selects graphics objects for the interface either from a set of defined objects or by creating a new graphics object A system for creating and adding new graphical objects is provided although the method is neither defined nor documented well Examples of available graphics objects are buttons slide bars text areas boxes switches fields windows and panels A pop-up menu can also be included in a user interface The Interface Builder also allows one to associate a sound or an icon with most graphics objects This can be done by dragging the 3rd Issue 1989 o CRYPTOLOG o page 25 FOR OFF1SIAb aSH ONLJPY I POClO 4010025 i I Sample ofsiandardioed panels sound or icon object onto the top of the target object The system comes with a set of predefined sounds and icons which can be customized Once an interface has been built it can be easily tested without the associated application This allows one to work on the user interface without worrying about the actual application A programmer and an end user can work together on the user interface for a project They can completely build and test an interface before formally designing and coding the 3rd Issue 1989 application A complex user interface can be bujlt in about five to ten minutes Graphical tools are provided for connecting an interface to an application A programmer specifies how the interface and application components are associated Then the Interface Builder uses this information to generate header and Objective-C codefiles These files may be manipulated as the application is debugged This toolkit as well as others automatically generate UNIX make files to allow for easy compilation of the finished product This is CRYPTOLOG page 26 FeR OFFIEURlAb aSE ON'bJPY DOCID 4010025 extremely useful for developers as they maintain and rebuild software during the development process maximum and minimum amplitudes There are also methods provided for scrolling and zooming in and out of a displayed sound object and selecting portions of a sound with the mouse Sound Toolkit Other Toolkits The Sound Kit for analyzing and manipulating acoustical data consists of two Objective-C classes Sound and SoundView and a wide array of C functions to allow software developers to access the NeXT sound facilities with a minimum of effort The Sound Kit software manages the details of OS communication data access and data buffering that are required during recording and playing sounds The Sound Kit provides the software developer with full access to the digitized samples of a sound object Using the C functions provided simple programs can be written to alter the pitch of a sound or change the playback speed of a sound In addition sounds can he played backwards looped end-to-end or divided into segments and reassembled in a different order There are even software tools provided to digitally splice and mix together different sound objects The Sound class provides the facilities to create and manipulate sound objects Sound objects are manipulated by sending messages to them For example the following lines of code are all that is necessary to create and record 5 seconds of sound Those are just two examples of the powerful toolkits which are available to developers with the NeXT Computer Others provided are the text search toolkit which allows large bodies of text to be keyword indexed searched or scapned for pattern matches the Music Kit which allows for the generation and manipulation of synthesized music the Application Kit to aid in object-oriented software development and database management software Sybase which provides the tools to build and access relational databases CONCLUSIONS The NeXT Computer has the potential to make significant advances in workstation computing within the Agency It offers the most sophisticated integration of hardware and the most advanced software environments all of which are included in the delivered system in the smallest cleanest packaging available today Many of the important tools will be available on final operating system completion Version 1 0 is expected about mid-summer How do we assess this technology The general feeling of the programmers in R535 who have Create a new sound used the NeXT Computer is very positive There id mysound Sound new l Record a sound' is an extensive library of robust applications mysound record We believe that rebuilding the prototypes wait 5 seconds developed on Suns and Apollos would be easier sleep S to do and functionally richer because we would Stop recording begin building the application at a higher level mysound stop But to take advantage of these functionally There are routines to record and play back a sound as well as to read and write sound files rich libraries probably requires that applications be developed in Objective-C This may be a Facilities are also available for basic editing operations such as deleting a portion of a sound problem for those without experience programming with object-oriented languages or inserting part of one sound into another though it is easy to learn in the NeXt step environment A second potential problem might The SoundView class is provided to display be performance-related if the application is not sound objects in a predefined Soundview designed with object-oriented principles The window Soundview windows can be built NeXT software environment continues to evolve using the Interface Builder Using the and with that evolution comes changes to the SoundView class sound objects can be displayed system Applications being developed with the as continuous waveforms such as you would see current 0 9 software release will not be objecton an oscilloscope or as an outline of its code compatible with software release 1 0 3rd Issue 1989 ' CRYPTOLOG ' page 27 FeR eFFICIAJ gl ii QHJ JPY DOCID 4010025 Westpark Hotel Rosslyn Virginia This is an excellent opportunity to meet mathematicians scientists and engineers in other government agencies to network with them and to gain some perspective A highlight of the conference R535 believes the NeXT Computer is appropriate is an exhibit of science projects developed by 9th and 10th grade female students for science for many' types of applications at the Agency fairs held at their schools These students It clearly competes with Apollo and Sun workstations for applications that do not require represent the future NSA women should encourage them to pursue careers in math color displays The tools for managing and and engineering by taking the time to science searching large volumes of text powerful view their projects and yes even recruiting database support and graphical tools for analysis make it appropriate for most analytic and reporting functions The DSP processor and Concurrent workshops will be held Monday through Wednesday and a science tour is audio capabilities with the processing power available make it ideal for signals processing scheduled for Thursday morning Cost for the and transcription operations The numerous full conference which includes three luncheons and an evening reception is $275 One-day fee tools for the software developer including is $135 and two-day fee is $150 both include automatic generation of make files make it appropriate for software development and all events of the day P L 86-36 maintenance The unique capabilities it offers allows for innovative concepts and ideas to be For further iMformation please call or write explored from the research perspective For Federal Women's Program these reasons the real usefulness of the NeXT Manager D8 OPS 2B 963-1103 or your local Computer has yet to be discovered Interest in FWP representative the Agency is growing In the near future we will have a much better idea of how effective FREE LISP MACHINE these machines can be within the Agency P16 is offering a free LISP machine available computing architecture for the taking This is a classic LMI Lambda REFERENCES system The package consists of one processor two terminals a 6250 tape drive software Denning Peter J and Karen A Frenkel A documentation and a support contract Conversation with Steve Jobs Communications Software releases after 1 0 are supposed to be object-code compatible with applications developed at the 1 0 release Developers should be aware of that if developing at 0 9 I of the ACM April 1989 Volume 32 No 4 Fisher Sharon Mach The New UNIX UNIXWORLD March 1989 vol VI No 3 Thompson Tom and Nick Baran The NeXT Computer BYTE November 1988 Vol 13 No 12 NeXT 0 9 1 0 Release Description April 1989 BULLETIN BOARD WISE NATIONAL CONFERENCE The Interagency Committee for Women in Science and Engineering will hold its ninth annual National Training Conference Monday through Thursday 26-29 March 1990 at the The machine can be viewed in the PI machine room accessed through 2NOOI or 2N018 For information call Steve 963-1103 WRITING AND EDITING CRYPTOLOG receives many brochures about conferences seminars and courses on writing and editing The topics include manuals online documentation presenting science to the public newsletters slide and vuegraph presentations proposals procedures pamphlets and brochures proofreading layout interactive instruction handbooks multimedia presentations and so on They are available for consultation as are the textbooks references handbooks and conference proceedings in CRYPTOLOG's library The materials may be consulte1 in 2NOJ 8 For an appointment call the Editor 1 963-1103 '---- ' --' page 28 POR OPPIOIAL USB ONLY 3rd Issue 1989 o CRYPTOLOG P L 86-36 DOCID 4010025 Review Structure and Interpretation of Computer Programs P L 86-36 ReViewedby If anyone wishes to reexamine his preconceptions about the programming language LISP I highly recommend the course Structure and Interpretation of Computer Programs During 4-16 June I attended this course in Harpers Ferry West Virginia It featured videotaped lectures by MIT Professors Harold Abelson and Gerald Sussman on a variety of advanced programming techniques such as datadirected object-oriented stream-based and logic programming The lectures were complemented with lab work Other issues covered during the course included the orders of growth for algorithms contrasting models for the evaluation of procedures procedural and data abstraction the vanishing line between programs and data and the inherent limitations of software engineering be as forward looking as those at a leading technology-based university LISP AND SCHEME LISP is bound to be a vital part of the future of computing At the same time it is as old and resilient as FORTRAN A testament to LISP's dynamism and continued importance is that Steven Jobs considered it worthwhile to bundle LISP with the system software of the NeXT Machine Although Structure and Interpretation of Computer Programs is not a course in LISP but in programming techniques familiarization with LISP is a positive by-product of the course If employees' comfort level with LISP could be increased this would enable us to adopt the latest research advances particularly in the area of natural language processing in which LISP plays a leading role without worrying about lacking adequate support personnel Since LISP is available on a multitude of platforms including SUNs and PCs the excessive maintenance cost of some specialized LISP machines is irrelevant Structure and Interpretation of Computer Programs is a five-credit course at MIT required for all computer science and electrical engineering majors It is based on an outstanding textbook of the same name written by Abelson and Sussman It is significant that the MIT faculty selected LISP to illustrate many of the computer science concepts it considers Abelson and Sussman praised LISP or the essential for further study dialect SCHEME as an ideal language for designing special-purpose languages appropriate The National Cryptologic School offers this to the task at hand An example of this was course both in an intensive two-week live-in that in the section on logic programming format and in regularly scheduled daytime SCHEME was used to approximate PROLOG classes spread over an entire semester I They called this capability meta-linguistic believe that instruction of this material in abstraction While LISP per se may not be well either configuration should be given highest for any particular task it provides the suited priority because our computer scientists should page 29 FQR QFFlmAL 1 JSB 9f Vl 3rd Issue 1989 o CRYPTOLOG DOCID 4010025 building blocks necessary to design higher-level languages optimized for a given task Since this table guides the generic operator to the appropriate code the format of the data is transparent to the user SCHEME which is distributed by Texas Instruments is described by the vendor as a simple modern LISP It is also inexpensive and small enough to run on the PC In the laboratory we used mM-compatible laptop computers from Zenith SCHEME is also available on the SUN and Macintosh Abelson and Sussman illustrated data-directed programming by designing a program to perform arithmetic operations on complex numbers that were alternatively stored according to the polar or rectangular coordinate systems The complex number package was one component of a large system for symbolic One of the advantages of SCHEME over other mathematics including symbolic differentiation dialects of LISP is that it enables the that was examined in detail during'the course programmer to pass procedures as first-class The symbolic mathematics system gave concrete objects to other procedures This means that a expression to a multitude of concepts besides procedure name can appear without any special data-directed programming For example it syntax anywhere in another procedure to which was shown that recursion made it possible for this procedure name has been passed and still the coefficients of polynomials to be themselves be applied properly This is an elegant addition polynomials or complex numbers without to the lambda notation--found in every version disturbing the generic operators for of LISP--which makes it possible for procedures manipulating mathematical expressions to create and return other procedures It also Object-oriented programming is ideal for exemplifies SCHEME's simple design modeling situations that can be described by a Key Concepts collection of objects that can be called upon to perform various actions This is done by A key concept in the course was the abstraction passing messages to the objects requesting that of procedures and data Procedural abstraction they perform such actions The code for is the notion that a procedure is just a name for performing the actions is contained in the a piece of code that performs some specific task objects themselves thereby erasing the line How this is done is intentionally concealed from between procedures and data Objects also the rest of a program so that higher level contain local state variables that describe their procedures invoking this procedure do not need condition at a given moment This raises to be concerned with the implementation details another issue how a computational object can There is an abstraction barrier between the change and yet maintain its identity Abelson code's implementation and its use Data and Sussman p 168 abstraction is analogous to procedural abstrad 'on It is defined as a methodology Much as signal processing focuses on signal that em 1es us to isolate how a compound data flow so does stream-based programming or object is d from the details of how it is stream processing focus on data flow A stream construct -u from more primitive data objects is a theoretically infinite sequence of data Abelson and Sussman p 74 Data constructors objects Abelson and Sussman p 242 Stream and selectors are used to keep the issues of data processing gives us an alternative to format and use separate When data come in conventional algorithms which concentrate on different formats they carry a label describing the order of events in a computation rather their format Such data are called typed data than on the flow of data Abelson and Sussman p 245 From the perspective of Data abstraction provided a departure point for stream processing many computations can be a discussion of data-directed programming reduced to a series of processes specifically Data-directed programming is used to enumeration filtering mapping and manipulate typed data with generic operators accumulation Most programs combine these Data-directed programs work with a twoprocesses blindly thus obscuring the dimensional table that contains the possible commonality that underlies many typical operators on one axis and the possible types on computations Abelson and Sussman p 243 the other axis Abelson and Sussman p 137 By using this approach the programmer can The body of the table contains the code reduce significantly the amount of code needed corresponding to each pair of operator and type 3rd Issue 1989 o CRYPTOLOG o page 30 YQg QYYICU b g K QP'fbJPY DOCID 4010025 for a set of problems and make the necessary code much more understandable Abelson and Sussman gave logic programming and PROLOG mixed reviews They believe that declarative programming where the programmer describes what he wants done not how he wants it done is an important paradigm but that implementations of logic programming such as PROLOG have several defects Some of the defects are restrictions on the placement of not clauses infinite loops and the closed world assumption that a program is aware of all information relevant to a query The two professors held that not clauses were only useful as a filter to screen the possible answers already generated by the preceding clauses in a logical rule They could not be placed in the first position among a series of clauses because they would not generate answers themselves and consequently would ensure that the rule would never return a positive response The professors also maintained that a commutative rule e g if X is married to Y then Y is married to X combined with a fact to trigger the rule e g Minnie is married to Mickey would cause an endless loop summarized by this rule to apply a compound procedure to arguments evaluate the body of the procedure with each formal parameter replaced by the corresponding argument Abelson and Sussman p 184 Once an assignment operator had been introduced though the substitution model broke down and had to be replaced by the environment model of evaluation According to the environment model expressions are evaluated with respect to the bindings in a series of frames called an environment In a hierarchy of frames bindings are inherited at lower levels but they can be reassigned there without affecting-the bindings in higher level frames This permits assignment and local state with the accompanying complications Abelson and Sussman generated some controversy by criticizing software engineering for promoting inflexibility They stated that the product of software engineering is an elaborate edifice that performs the assigned task but cannot be easily modified to perform other tasks They also maintained that it is impossible for a program module to serve more than one purpose under the software engineering approach although this would be Several reservations should be stated about this highly efficient Despite these criticisms critique of PROLOG Some believe that MIT is however Abelson and Sussman implicitly biased against PROLOG because it wasn't endorsed top-down design--a key characteristic of software engineering--by decomposing problems developed there although LISP was The infinite loops were confirmable in a commercial and referring to as yet non-existent code as version of PROLOG but they were not confirmed wishful thinking in a PROLOG-based knowledge engineering tool REACTIONS TO THE COURSE The same tool provided a flag for the user to select either an open or closed world Reactions to the course among fellow students assumption The approximation of PROLOG in varied widely There were three main SCHEME was much slower than PROLOG itself criticisms and could not eliminate duplicate responses Incidently Abelson and Sussman acknowledged The prerequisites for the course should that some excellent compiler work had gone into have stated that to be successful one needed the design of PROLOG However the a strong foundation in LISP and mathematics approximation was good enough to prove the at least through one semester of Calculus point about LISP's capacity for meta-linguistic abstraction The material was too much to cover in two weeks and Along with abstraction barriers and programming paradigms another theme was The course was unrelated to work models for the evaluation of functions Initially responsibilities the substitution model sufficed because there A crash tutorial in LISP was offered beforehand was no need to introduce an assignment operator into the language before the discussion to students without a background in LISP but I believe that those with strong backgrounds in of object-oriented programming with its LISP were at an advantage There is some requirement for local state variables and thus dispute about this though because some assignment The substitution model can be 3rd Issue 1989 CRYPTOLOG page 31 6ft 6 ICIAL USE 6NLY ------------ 4010025 students without any background in LISP ended up excelling while others already proficient in LISP used their knowledge as a crutch to avoid learning the material as presented In any event the initial advantage eventually dissipated As for math it certainly would be helpful to review or become familiar with the basics of differentiation logarithms and the conversions between the polar and rectangular coordinate systems beforehand since the professors relied on examples involving this level of math to illustrate many important principles Whether calculus should be an absolute prerequisite is open to debate because arguably symbolic differentiation for example was only a means to explain a concept not an end in itself many of us displayed various forms of burn-out I take exception however to the criticism that the course was unrelated to work responsibilities Even if one does not program in LISP many of the concepts and techniques presented in the course can be transferred to other languages and to a wide range of applications But if these techniques are not being used at work then that along with an antagonism to LISP is precisely what we should seek to change Endnotes Abelson Harold and Sussman Gerald Jay Structure and Interpretation of Computer Programs MIT Press and McGraw Hill Book Company 1985 That the material was too much to cover in two weeks is indisputable By the second week ESSAY CONTEST closes COB 22 April 1990 START WRITING NOWl DON'T DELAY Money prizes go to the first second and third place winners Honorable mentions may also be awarded RULES The contest is open to Green and Orange badge holders o Essays must have language or linguistics as a major theme Essays may be unclassified or classified no higher than TSC compartmented submissions cannot be accepted o While topics pertaining to language as it relates to culture business academic pursuits and other general themes are eligible greater weight will be given to essays more closely pertaining to NSA applications Submit your entries to -Attn 1 C L A Essay Contest 2405 Ops 2 Room 2B5110 963-3863 P L 86-36 3rd Issue 1989 o CRYPTOLOG page 32 FeR eFF1EURIAL USE eNLY 4010025 SReRR SpaKR U Shown below are examples of the Q signals and four-digit groups followed by the call-ups and the frequencies used after they were sent by control or outstations TA EXERCISE RECONSTRUCT THE SIGNAL PLAN U See if you can recover the system Control changes to call-up and frequencies listed below after sending QZY XlXXX QZY QZY QZY QZY QZY QZY QZY QZY QZY QZY QZY 30 seconds each leg 1 472 2 615 1 747 1 934 2 128 2 393 1 281 2 586 2 939 2 240 1 352 Control L QST QST QST QST QST QST QST QST QST QST 86-36 2 476 1 561 1 629 2 757 2 845 1 128 1 373 1 842 2 963 2 020 QEY DUY ZRI XFZ FME KRZ BTN GHP PWI BLT SWO DE DE DE DE DE DE DE DE DE DE DE CVQ FME QEY SWO BLT PWI JME JQC KRZ OAV UGH 4700Kcs 4975Kcs 5775Kcs 4900Kcs 5900Kcs 4825Kcs 4450Kcs 5600Kcs 61S0Kcs 6300Kcs 4700Kcs changes after receiving QST XlXXX OAV UGH ALP DUY JQC ZRI SWO ZRI PWI SMG DE DE DE DE DE DE DE DE DE DE NXO ALP BTN GHP OAV BTN CVQ QEY DUY BLT S600Kcs 44S0Kcs 61S0Kcs S775Kcs 4975Kcs 5900Kcs 4825Kcs 4700Kcs 4825Kcs 6300Kcs -tSeTOutstation changes after sending QZY XlXXX iSeT During the early 1960's a Viet Cong Vietnamese Communist radio group operating in what was then the Eastern Nam Bo Region of South Vietnam near the Cambodian border usea a signal plan th t was different from other Vietnamese Communist VC communications in South Vietnam The control authority was located close to the VC Central Office for South Vietnam and its outstations were located in the same general area We could not make firm identifications of these entities but we suspected that they may have represented logistic elements QZY QZY QZY QZY QZY QZY QZY QZY QZY QZY QZY 1 016 2 602 1 157 2 579 1 421 1 083 2 458 2 970 1 292 2 746 1 324 DKR DUY ZRI GHP QEY DRR OVA PWI BTN NXO SWO DE DE DE DE DE DE DE DE DE DE DE ZRI SMG UGH NXO BTN JME GHP NXO XFZ OAV BTN 5600Kcs 4700Kcs 5775Kcs 61S0Kcs 4450Kcs 4825Kcs 5900Kcs 6300KCS 4700Kcs 5600Kcs 4900K cs Outstation changes after receiving QST XlXXX QST 2 370 KRZ DE NXO 6300Kcs QST 1 014 DRR DE ZRI 4900Kcs The group was active or at least QST 2 605 DUY DE SMG 4975Kcs continuity was maintained for about 18 months QST 1 261 BTN DE ALP 4450Kcs During that period it did not undergo an overall QST 2 486 OAV DE JQC 5600Kcs QST 1 090 ORR DE XFZ 6300Kcs communications change but random changes of QST 1 763 CVQ DE ALP 4825Kcs call-ups and frequencies Each time a change QST 2 148 FME DE OAV 5900Kcs occurred one of two Q signals was sent QST 1 905 XFZ DE DKR 4975Kcs QST 1 839 JME DE SWO 6150Kcs followed by four digits the first and second QST 2 397 KRZ DE PWI 5775Kcs digits were always separated by a slash Finally we recovered the system used to allocate the callsigns and frequencies The reconstructed signal plan appears on page 20 3rd Issue 1989 CRYPTOLOG page SR6RI3 SPOIEI3 33 DOCID 4010025 j CJ_ _- 'fIllS BOCUl fEN'f' CON'f'AINS COB WORB t 4N Rlf -SEGRHNOT RELEASABLE TO CONTRACTORS This document is from the holdings of The National Security Archive Suite 701 Gelman Library The George Washington University 2130 H Street NW Washington D C 20037 Phone 202 994-7000 Fax 202 994-7005 nsarchiv@gwu edu