13.07.2015 Views

An Operating Systems Vade Mecum

An Operating Systems Vade Mecum

An Operating Systems Vade Mecum

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

168 Transput Chapter 54 DATA MODIFICATIONData sent to a device need not be an identical copy of the data found in main store. Threedistinct kinds of modification may be performed, each for a different reason.4.1 Data compactionWhen a great deal of information is to be sent across an expensive transmission line,modifying the data to occupy fewer bits is worthwhile. Similarly, if data must be savedfor a long time on an expensive medium, it will be cheaper if the data can be crammedinto fewer bits.There are often obvious ways to save space. For example, a file that represents acomputer program may have many space characters. Instead of sending all the spaces,each blank region can be encoded by a count of how many spaces there are. This methodis an example of run-length encoding. Television pictures are large arrays of intensityvalues. Instead of sending a 6-bit intensity value for each element of the array, a 3-bitdifference between that element and the previous one often suffices. Some escapemechanism can be used when the difference cannot be represented in 3 bits. This methodis an example of difference encoding. More sophisticated coding methods exist, such asHuffman codes, which assign often-used characters a short code, and less used ones alonger code.4.2 Data encryption<strong>An</strong>other sort of transformation can be applied to data to hide their contents. Actually,secrecy (can anyone else read the data?) is only one part of a larger set of security considerationsthat includes authentication (who generated the data?) and protection (cananybody modify the data?). The transformation used for these purposes is called encryption.Data before the transformation is applied are in cleartext form. The encrypteddata are in ciphertext form. A particular encryption algorithm may have an associateddecryption algorithm that is used to transform ciphertext back into the original cleartext.You might think that an encryption algorithm that has no decryption would be useless.Actually, such trap-door encryption algorithms have an important use in authentication.Many operating systems identify each user by a user name and a password,which the user is expected to keep secret. <strong>An</strong>y person who knows that name and passwordhas all the privileges of that user. Most operating systems store the passwords in afile; anyone with access to that file can therefore learn everyone’s password. This situationis very vulnerable because any loss of security endangers everyone’s security, andsecurity depends on powers entrusted to humans.A far better approach (taken by Unix) is to encrypt each password with a trap-doorfunction and to store the encrypted passwords in a publicly accessible file. The

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!