John R. Vacca

Total Page:16

File Type:pdf, Size:1020Kb

John R. Vacca Network and System Security This page intentionally left blank Network and System Security Editor John R. Vacca AMSTERDAM • BOSTON • HEIDELBERG • LONDON NEW YORK • OXFORD • PARIS • SAN DIEGO SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYO Syngress is an imprint of Elsevier Syngress is an imprint of Elsevier 30 Corporate Drive, Suite 400, Burlington, MA 01803, USA The Boulevard, Langford Lane, Kidlington, Oxford, OX5 1GB, UK Network and System Security # 2010 Elsevier Inc. All rights reserved. Material in the work originally appeared in the Computer and Information Security Handbook, edited by John R. Vacca (Elsevier, Inc. 2009). No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publisher’s permissions policies and our arrangements with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions. This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein). Notices Knowledge and best practice in this field are constantly changing. As new research and experience broaden our understanding, changes in research methods, professional practices, or medical treatment may become necessary. Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information, methods, compounds, or experiments described herein. In using such information or methods they should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility. To the fullest extent of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/or damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods, products, instructions, or ideas contained in the material herein. Library of Congress Cataloging-in-Publication Data Vacca, John R. Network and system security / by John R. Vacca. p. cm. Includes bibliographical references and index. ISBN 978-1-59749-535-6 (alk. paper) 1. Computer networks—Security measures. I. Title. TK5105.59.V34 2010 005.8—dc22 2009052077 British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library. ISBN: 978-1-59749-535-6 Printed in the United States of America 1011121310987654321 Elsevier Inc., the author(s), and any person or firm involved in the writing, editing, or production (collectively “Makers”) of this book (“the Work”) do not guarantee or warrant the results to be obtained from the Work. For information on rights, translations, and bulk sales, contact Matt Pedersen, Commercial Sales Director and Rights; email [email protected] For information on all Syngress publications visit our Web site at www.syngress.com This book is dedicated to my wife Bee v This page intentionally left blank Contents Foreword ........................................................................................................XV Acknowledgments ..........................................................................................XVII About the Editor ............................................................................................XIX List of Contributors ........................................................................................XXI Introduction .................................................................................................XXIII Chapter 1: Building a Secure Organization.......................................................... 1 1. Obstacles to Security............................................................................................... 1 Security Is Inconvenient.............................................................................................2 Computers Are Powerful and Complex ....................................................................2 Computer Users Are Unsophisticated........................................................................2 Computers Created Without a Thought to Security .................................................3 Current Trend Is to Share, Not Protect .....................................................................3 Data Accessible from Anywhere ...............................................................................4 Security Isn’t About Hardware and Software ...........................................................4 The Bad Guys Are Very Sophisticated .....................................................................5 Management Sees Security as a Drain on the Bottom Line ....................................5 2. Ten Steps to Building a Secure Organization........................................................ 6 A. Evaluate the Risks and Threats ............................................................................7 B. Beware of Common Misconceptions....................................................................9 C. Provide Security Training for IT Staff—Now and Forever ..............................11 D. Think “Outside the Box” ....................................................................................13 E. Train Employees: Develop a Culture of Security..............................................17 F. Identify and Utilize Built-In Security Features of the Operating System and Applications.....................................................................................18 G. Monitor Systems..................................................................................................22 H. Hire a Third Party to Audit Security..................................................................25 I. Don’t Forget the Basics ......................................................................................26 J. Patch, Patch, Patch ..............................................................................................28 vii viii Contents Chapter 2: A Cryptography Primer................................................................... 33 1. What Is Cryptography? What Is Encryption? ...................................................... 34 How Is Cryptography Done? ...................................................................................34 2. Famous Cryptographic Devices ............................................................................ 35 The Lorenz Cipher ...................................................................................................35 Enigma......................................................................................................................36 3. Ciphers ................................................................................................................... 37 The Substitution Cipher ...........................................................................................37 The Shift Cipher.......................................................................................................38 The Polyalphabetic Cipher.......................................................................................44 The Kasiski/Kerckhoff Method................................................................................46 4. Modern Cryptography ........................................................................................... 47 The Vernam Cipher (Stream Cipher) ......................................................................47 The One-Time Pad ...................................................................................................48 Cracking Ciphers......................................................................................................49 Some Statistical Tests for Cryptographic Applications by Adrian Fleissig...........50 The XOR Cipher and Logical Operands.................................................................51 Block Ciphers ...........................................................................................................53 5. The Computer Age................................................................................................ 54 Data Encryption Standard ........................................................................................55 Theory of Operation.................................................................................................55 Implementation .........................................................................................................56 Rivest, Shamir, and Adleman (RSA) ......................................................................57 Advanced Encryption Standard (AES or Rijndael) ................................................57 Chapter 3: Preventing System Intrusions ........................................................... 59 1. So, What Is an Intrusion? ................................................................................... 60 2. Sobering Numbers ............................................................................................... 60 3. Know Your Enemy: Hackers versus Crackers................................................... 61 4. Motives ................................................................................................................ 63 5. Tools of the
Recommended publications
  • Strider Web Security
    Adversarial Web Crawling with Strider Monkeys Yi-Min Wang Director, Cyber-Intelligence Lab Internet Services Research Center (ISRC) Microsoft Research Search Engine Basics • Crawler – Crawling policy • Page classification & indexing • Static ranking • Query processing • Document-query matching & dynamic ranking – Diversity • Goals of web crawling – Retrieve web page content seen by browser users – Classify and index the content for search ranking • What is a monkey? – Automation program that mimics human user behavior Stateless Static Crawling • Assumptions – Input to the web server: the URL • Stateless client – Output from the web server: page content in HTML • Static crawler ignores scripts Stateful Static Crawling • We all know that Cookies affect web server response • HTTP User-Agent field affects response too – Some servers may refuse low-value crawlers – Some spammers use crawler-browser cloaking • Give crawlers a page that maximizes ranking (=traffic) • Give users a page that maximizes profit Dynamic Crawling • Simple crawler-browser cloaking can be achieved by returning HTML with scripts – Crawlers only parse static HTML text that maximizes ranking/traffic – Users’ browsers additionally execute the dynamic scripts that maximize profit • Usually redirect to a third-party domain to server ads • Need browser-based dynamic crawlers to index the true content Search Spam Example: Google search “coach handbag” Spam Doorway URL = http://coach-handbag-top.blogspot.com http://coach-handbag-top.blogspot.com/ script execution led to redirection
    [Show full text]
  • Stage De Master 2R
    STAGE DE MASTER 2R SYSTEMES ELECTRONIQUES ET GENIE ELECTRIQUE PARCOURS SYSTEMES ELECTRONIQUES ANNEE UNIVERSITAIRE 2006/2007 CRYPTO-COMPRESSION BASED ON CHAOS OF STILL IMAGES FOR THE TRANSMISSION YIN XU École Polytechnique de l’Université de Nantes Laboratoire IREENA Encadrants du stage : Safwan EL ASSAD Vincent RICORDEL Stage effectué du (05/02/2007) au (09/07/2007) Acknowledgments I would like to express my gratitude to my supervisors Professor Safwan EL ASSAD and Professor Vincent RICORDEL, who have been giving me direction with great patience. As the tutor of the first part of my internship, Prof. RICORDEL coached me on the study of JPEG 2000 systems and I benefited a lot from his tutorials. His constructive suggestions on my research and careful correction of my submitted materials are deeply appreciated. And as the tutor of the second part of my internship, Prof. EL ASSAD pointed out a clear direction of the subject that I should follow, which spare me from the potential wasting of time. He was always encouraging me and thus providing me with more confidence to achieve the objects of the internship. Doctor. Abir AWAD helped me a lot on the program-performance comparisons of C++ and MATLAB and she also gave me many useful materials on my subject. I am really thankful. I would also give my thankfulness to Professor Joseph SAILLARD and Professor Patrick LE CALLET for attending my final defense as a member of the jury despite the busy occupation of their own work. Of course also send great thankfulness to my two supervisors Prof. EL ASSAD and Prof.
    [Show full text]
  • Symmetric Key Ciphers Objectives
    Symmetric Key Ciphers Debdeep Mukhopadhyay Assistant Professor Department of Computer Science and Engineering Indian Institute of Technology Kharagpur INDIA -721302 Objectives • Definition of Symmetric Types of Symmetric Key ciphers – Modern Block Ciphers • Full Size and Partial Size Key Ciphers • Components of a Modern Block Cipher – PBox (Permutation Box) – SBox (Substitution Box) –Swap – Properties of the Exclusive OR operation • Diffusion and Confusion • Types of Block Ciphers: Feistel and non-Feistel ciphers D. Mukhopadhyay Crypto & Network Security IIT Kharagpur 1 Symmetric Key Setting Communication Message Channel Message E D Ka Kb Bob Alice Assumptions Eve Ka is the encryption key, Kb is the decryption key. For symmetric key ciphers, Ka=Kb - Only Alice and Bob knows Ka (or Kb) - Eve has access to E, D and the Communication Channel but does not know the key Ka (or Kb) Types of symmetric key ciphers • Block Ciphers: Symmetric key ciphers, where a block of data is encrypted • Stream Ciphers: Symmetric key ciphers, where block size=1 D. Mukhopadhyay Crypto & Network Security IIT Kharagpur 2 Block Ciphers Block Cipher • A symmetric key modern cipher encrypts an n bit block of plaintext or decrypts an n bit block of ciphertext. •Padding: – If the message has fewer than n bits, padding must be done to make it n bits. – If the message size is not a multiple of n, then it should be divided into n bit blocks and the last block should be padded. D. Mukhopadhyay Crypto & Network Security IIT Kharagpur 3 Full Size Key Ciphers • Transposition Ciphers: – Involves rearrangement of bits, without changing value. – Consider an n bit cipher – How many such rearrangements are possible? •n! – How many key bits are necessary? • ceil[log2 (n!)] Full Size Key Ciphers • Substitution Ciphers: – It does not transpose bits, but substitutes values – Can we model this as a permutation? – Yes.
    [Show full text]
  • Escape from Monkey Island: ? Evading High-Interaction Honeyclients
    Escape from Monkey Island: ? Evading High-Interaction Honeyclients Alexandros Kapravelos1, Marco Cova2, Christopher Kruegel1, Giovanni Vigna1 1 UC Santa Barbara {kapravel,chris,vigna}@cs.ucsb.edu 2 University of Birmingham, UK {m.cova}@cs.bham.ac.uk Abstract. High-interaction honeyclients are the tools of choice to detect mali- cious web pages that launch drive-by-download attacks. Unfortunately, the ap- proach used by these tools, which, in most cases, is to identify the side-effects of a successful attack rather than the attack itself, leaves open the possibility for malicious pages to perform evasion techniques that allow one to execute an at- tack without detection or to behave in a benign way when being analyzed. In this paper, we examine the security model that high-interaction honeyclients use and evaluate their weaknesses in practice. We introduce and discuss a number of possible attacks, and we test them against several popular, well-known high- interaction honeyclients. Our attacks evade the detection of these tools, while successfully attacking regular visitors of malicious web pages. 1 Introduction In a drive-by-download attack, a user is lured into visiting a malicious web page, which contains code that exploits vulnerabilities in the user’s browser and/or its environment. If successful, the exploits can execute arbitrary code on the victim’s machine [33]. This ability is typically used to automatically download and run malware programs on the compromised machine, which, as a consequence, often becomes part of a botnet [31]. Drive-by-download attacks are one of the most pervasive threats on the web, and past measurements have found millions of malicious web pages [3, 32].
    [Show full text]
  • Tracking and Mitigation of Malicious Remote Control Networks
    Tracking and Mitigation of Malicious Remote Control Networks Inauguraldissertation zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften der Universität Mannheim vorgelegt von Thorsten Holz aus Trier Mannheim, 2009 Dekan: Prof. Dr. Felix Christoph Freiling, Universität Mannheim Referent: Prof. Dr. Felix Christoph Freiling, Universität Mannheim Korreferent: Prof. Dr. Christopher Krügel, University of California, Santa Barbara Tag der mündlichen Prüfung: 30. April 2009 Abstract Attacks against end-users are one of the negative side effects of today’s networks. The goal of the attacker is to compromise the victim’s machine and obtain control over it. This machine is then used to carry out denial-of-service attacks, to send out spam mails, or for other nefarious purposes. From an attacker’s point of view, this kind of attack is even more efficient if she manages to compromise a large number of machines in parallel. In order to control all these machines, she establishes a malicious remote control network, i.e., a mechanism that enables an attacker the control over a large number of compromised machines for illicit activities. The most common type of these networks observed so far are so called botnets. Since these networks are one of the main factors behind current abuses on the Internet, we need to find novel approaches to stop them in an automated and efficient way. In this thesis we focus on this open problem and propose a general root cause methodology to stop malicious remote control networks. The basic idea of our method consists of three steps. In the first step, we use honeypots to collect information.
    [Show full text]
  • Network Security H B ACHARYA
    Network Security H B ACHARYA NETWORK SECURITY Day 2 NETWORK SECURITY Encryption Schemes NETWORK SECURITY Basic Problem ----- ----- ? Given: both parties already know the same secret How is this achieved in practice? Goal: send a message confidentially Any communication system that aims to guarantee confidentiality must solve this problem NETWORK SECURITY slide 4 One-Time Pad (Vernam Cipher) ----- 10111101… ----- = 10111101… 10001111… = 00110010… 00110010… = Key is a random bit sequence as long as the plaintext Decrypt by bitwise XOR of ciphertext and key: ciphertext key = (plaintext key) key = Encrypt by bitwise XOR of plaintext (key key) = plaintext and key: plaintext ciphertext = plaintext key Cipher achieves perfect secrecy if and only if there are as many possible keys as possible plaintexts, and every key is equally likely (Claude Shannon, 1949) NETWORK SECURITY slide 5 Advantages of One-Time Pad Easy to compute ◦ Encryption and decryption are the same operation ◦ Bitwise XOR is very cheap to compute As secure as theoretically possible ◦ Given a ciphertext, all plaintexts are equally likely, regardless of attacker’s computational resources ◦ …if and only if the key sequence is truly random ◦ True randomness is expensive to obtain in large quantities ◦ …if and only if each key is as long as the plaintext ◦ But how do the sender and the receiver communicate the key to each other? Where do they store the key? NETWORK SECURITY slide 6 Problems with One-Time Pad Key must be as long as the plaintext ◦ Impractical in most realistic
    [Show full text]
  • “Network Security” Omer Rana Cryptography Components
    “Network Security” Omer Rana CM0255 Material from: Cryptography Components Sender Receiver Ciphertext Plaintext Plaintext Encryption Decryption Encryption algorithm: Plaintext Ciphertext • Cipher: encryption or decryption algorithms (or categories of algorithms) • Key: a number (set of numbers) – that the cipher (as an algorithm) operates on. • To encrypt a message: – Encryption algorithm – Encryption key Ciphertext – Plaintext 1 Three types of keys: Symmetric -key Secret Key Cryptography Public Key shared secret key Alice Bob Private Key Plaintext Ciphertext Plaintext Encryption Decryption •Same key used by both parties •Key used for both encryption and decryption •Keys need to be swapped beforehand using a secure mechanism Asymmetric -key To everyone (public) Bob’s public Cryptography key Alice Bob Bob’s private key Ciphertext Plaintext Plaintext Encryption Decryption Differentiate between a public key and a private key Symmetric-Key Cryptography • Traditional ciphers: – Character oriented – Two main approaches: • Substitution ciphers or • Transposition Ciphers • Substitution Ciper: – Substitute one symbol with another – Mono-alphabetic : a character (symbol) in plaintext is changed to the same character (symbol) in ciphertext regardless of its position in the text If L O, every instance of L will be changed to O Plaintext: HELLO Ciphertext: KHOOR – Poly-alphabetic : each occurrence can have a different substitute. Relationship between a character in plaintext to ciphertext is one-to-many (based on position being in beginning, middle
    [Show full text]
  • Data Encryption Standard (DES)
    6 Data Encryption Standard (DES) Objectives In this chapter, we discuss the Data Encryption Standard (DES), the modern symmetric-key block cipher. The following are our main objectives for this chapter: + To review a short history of DES + To defi ne the basic structure of DES + To describe the details of building elements of DES + To describe the round keys generation process + To analyze DES he emphasis is on how DES uses a Feistel cipher to achieve confusion and diffusion of bits from the Tplaintext to the ciphertext. 6.1 INTRODUCTION The Data Encryption Standard (DES) is a symmetric-key block cipher published by the National Institute of Standards and Technology (NIST). 6.1.1 History In 1973, NIST published a request for proposals for a national symmetric-key cryptosystem. A proposal from IBM, a modifi cation of a project called Lucifer, was accepted as DES. DES was published in the Federal Register in March 1975 as a draft of the Federal Information Processing Standard (FIPS). After the publication, the draft was criticized severely for two reasons. First, critics questioned the small key length (only 56 bits), which could make the cipher vulnerable to brute-force attack. Second, critics were concerned about some hidden design behind the internal structure of DES. They were suspicious that some part of the structure (the S-boxes) may have some hidden trapdoor that would allow the National Security Agency (NSA) to decrypt the messages without the need for the key. Later IBM designers mentioned that the internal structure was designed to prevent differential cryptanalysis.
    [Show full text]
  • Hakin9 Extra Followers, We [email protected] Are Giving You the Latest Fruit of Our Labour
    Szukaj nas takze na www.ashampoo.com Pwn Plug. The Industry’s First Commercial Air Freshener? Pentesting Drop Box. Printer PSU? ...nope FEATURES: % Covert tunneling % SSH access over 3G/GSM cell networks % NAC/802.1x bypass % and more! Discover the glory of Universal Plug & Pwn @ pwnieexpress.com t) @pwnieexpress e) [email protected] p) 802.227.2PWN pwnplug - Dave-ad3-203x293mm.indd 1 1/5/12 3:32 PM To hack or not to hack Managing: Michał Wiśniewski – that is [email protected] the question Senior Consultant/Publisher: Paweł Marciniak Editor in Chief: Grzegorz Tabaka ear Hakin9 Extra Followers, we [email protected] are giving you the latest fruit of our labour. Honeypots are our le- Art Director: itmotiv this month. Especially for Marcin Ziółkowski Dyou, our dear followers, we have selected the choicest articles within the topic of Ho- DTP: neypots/Honeynets. I sincerely hope that we Marcin Ziółkowski sufficiently expanded on the topic to satisfy www.gdstudio.pl your needs and we quenched your appetite for Hakin9 knowledge. I am also very happy Production Director: that we managed to have an exclusive inte- Andrzej Kuca rview with Dr. Fred Cohen – the „father” of [email protected] computer viruses and that, once again, our respected authors helped us with their con- Marketing Director: tributions. This month: Jeremiah Brott will, Grzegorz Tabaka in great detail, tell you about different ty- [email protected] pes of honeypots and their use. Roberto Saia is going to present you „Proactive Network Proofreadres: Defence Through Simulated Networks”. Hari Bob Folden, I.
    [Show full text]
  • COS433/Math 473: Cryptography Mark Zhandry Princeton University Spring 2017 Previously
    COS433/Math 473: Cryptography Mark Zhandry Princeton University Spring 2017 Previously Pseudorandom Functions and Permutaitons Modes of Operation Pseudorandom Functions Functions that “look like” random functions Syntax: • Key space {0,1}λ • Domain X (usually {0,1}m, m may depend on λ) • Co-domain/range Y (usually {0,1}n, may depend on λ) • Function F:{0,1}λ × XàY Pseudorandom Permutations (also known as block ciphers) Functions that “look like” random permutations Syntax: • Key space {0,1}λ • Domain X (usually {0,1}n, n usually depends on λ) • Range X • Function F:{0,1}λ × XàX • Function F-1:{0,1}λ × XàX Correctness: ∀k,x, F-1(k, F(k, x) ) = x Pseudorandom Permutations Security: λ b Challenger x∈X y b’ Pseudorandom Permutations Security: λ b=0 Challenger k ß Kλ x∈X y y ß F(k,x) b’ PRF-Exp0( , λ) Pseudorandom Permutations Security: λ b=1 Challenger HßPerms(X,X) x∈X y y = H(x) b’ PRF-Exp1( , λ) Theorem: A PRP (F,F-1) is secure iff F is a secure as a PRF Theorem: There are secure PRPs (F,F-1) where (F-1,F) is insecure Strong PRPs λ b=0 Challenger k ß K x∈X λ y y ß F(k,x) x∈X ß -1 y y F (k,x) b’ PRF-Exp0( , λ) Strong PRPs λ b=1 Challenger x∈X HßPerms(X,X) y y ß H(x) x∈X ß -1 y y H (x) b’ PRF-Exp1( , λ) Theorem: If (F,F-1) is a strong PRP, then so is (F-1,F) PRPs vs PRFs In practice, PRPs are the central building block of most crypto • Also PRFs • Can build PRGs • Very versatile Today Constructing PRPs Today, we are going to ignore negligible, and focus on concrete parameters • E.g.
    [Show full text]
  • Introduction to Modern Symmetric-Key Ciphers Objectives
    Introduction to Modern Symmetric-key Ciphers Objectives ❏ To distinguish between traditional and modern symmetric-key ciphers. ❏ To introduce modern block ciphers and discuss their characteristics. ❏ To explain why modern block ciphers need to be designed as substitution ciphers. ❏ To introduce components of block ciphers such as P-boxes and S-boxes. Objectives (Continued) ❏ To discuss product ciphers and distinguish between two classes of product ciphers: Feistel and non-Feistel ciphers. ❏ To discuss two kinds of attacks particularly designed for modern block ciphers: differential and linear cryptanalysis. ❏ To introduce stream ciphers and to distinguish between synchronous and nonsynchronous stream ciphers. ❏ To discuss linear and nonlinear feedback shift registers for implementing stream ciphers. MODERN BLOCK CIPHERS A symmetric-key modern block cipher encrypts an n-bit block of plaintext or decrypts an n-bit block of ciphertext. The encryption or decryption algorithm uses a k-bit key. 1 Substitution or Transposition 2 Block Ciphers as Permutation Groups 3 Components of a Modern Block Cipher 4 Product Ciphers 5 Two Classes of Product Ciphers 6 Attacks on Block Ciphers Figure A modern block cipher Example How many padding bits must be added to a message of 100 characters if 8-bit ASCII is used for encoding and the block cipher accepts blocks of 64 bits? Solution Encoding 100 characters using 8-bit ASCII results in an 800- bit message. The plaintext must be divisible by 64. If | M | and |Pad| are the length of the message and the length of the padding, Substitution or Transposition A modern block cipher can be designed to act as a substitution cipher or a transposition cipher.
    [Show full text]
  • An Efficient VHDL Description and Hardware Implementation of The
    An Efficient VHDL Description and Hardware Implementation of the Triple DES Algorithm A thesis submitted to the Graduate School of the University of Cincinnati In partial fulfillment of the requirements for the degree of Master of Science In the Department of Electrical and Computer Engineering Of the College of Engineering and Applied Sciences June 2014 By Lathika SriDatha Namburi B.Tech, Electronics and Communications Engineering, Jawaharlal Nehru Technological University, Hyderabad, India, 2011 Thesis Advisor and Committee Chair: Dr. Carla Purdy ABSTRACT Data transfer is becoming more and more essential these days with applications ranging from everyday social networking to important banking transactions. The data that is being sent or received shouldn’t be in its original form but must be coded to avoid the risk of eavesdropping. A number of algorithms to encrypt and decrypt the data are available depending on the level of security to be achieved. Many of these algorithms require special hardware which makes them expensive for applications which require a low to medium level of data security. FPGAs are a cost effective way to implement such algorithms. We briefly survey several encryption/decryption algorithms and then focus on one of these, the Triple DES. This algorithm is currently used in the electronic payment industry as well as in applications such as Microsoft OneNote, Microsoft Outlook and Microsoft system center configuration manager to password protect user content and data. We implement the algorithm in a Hardware Description Language, specifically VHDL and deploy it on an Altera DE1 board which uses a NIOS II soft core processor. The algorithm takes input encoded using a software based Huffman encoding to reduce its redundancy and compress the data.
    [Show full text]