000 05968nam a22004573i 4500
001 EBC4503164
003 MiAaPQ
005 20240729130430.0
006 m o d |
007 cr cnu||||||||
008 240724s2015 xx o ||||0 eng d
020 _a9781593277178
_q(electronic bk.)
020 _z9781593276669
035 _a(MiAaPQ)EBC4503164
035 _a(Au-PeEL)EBL4503164
035 _a(CaPaEBR)ebr11250535
035 _a(OCoLC)919509027
040 _aMiAaPQ
_beng
_erda
_epn
_cMiAaPQ
_dMiAaPQ
050 4 _aQA76.5.S6663 2015
082 0 _a005.3
100 1 _aSpraul, V. Anton.
245 1 0 _aHow Software Works :
_bThe Magic Behind Encryption, CGI, Search Engines, and Other Everyday Technologies.
250 _a1st ed.
264 1 _aSan Francisco :
_bNo Starch Press, Incorporated,
_c2015.
264 4 _c©2015.
300 _a1 online resource (217 pages)
336 _atext
_btxt
_2rdacontent
337 _acomputer
_bc
_2rdamedia
338 _aonline resource
_bcr
_2rdacarrier
505 0 _aIntro -- About the Author -- About the Technical Reviewer -- Brief Contents -- Contents in Detail -- Acknowledgments -- Introduction -- Who This Book Is For -- Topics Covered -- Behind the Magic -- Chapter 1: Encryption -- The Goal of Encryption -- Transposition: Same Data, Different Order -- Cipher Keys -- Attacking the Encryption -- Substitution: Replacing Data -- Varying the Substitution Pattern -- Key Expansion -- The Advanced Encryption Standard -- Binary Basics -- AES Encryption: The Big Picture -- Key Expansion in AES -- AES Encryption Rounds -- Block Chaining -- Why AES Is Secure -- Possible AES Attacks -- The Limits of Private-Key Encryption -- Chapter 2: Passwords -- Transforming a Password into a Number -- Properties of Good Hash Functions -- The MD5 Hash Function -- Encoding the Password -- Bitwise Operations -- MD5 Hashing Rounds -- Meeting the Criteria of a Good Hash Function -- Digital Signatures -- The Problem of Identity -- Collision Attacks -- Passwords in Authentication Systems -- The Dangers of Password Tables -- Hashing Passwords -- Dictionary Attacks -- Hash Tables -- Hash Chaining -- Iterative Hashing -- Salting Passwords -- Are Password Tables Safe? -- Password Storage Services -- A Final Thought -- Chapter 3: Web Security -- How Public-Key Cryptography Solves the Shared Key Problem -- Math Tools for Public-Key Cryptography -- Invertible Functions -- One-Way Functions -- Trapdoor Functions -- The RSA Encryption Method -- Creating the Keys -- Encrypting Data with RSA -- RSA Effectiveness -- RSA Use in the Real World -- RSA for Authentication -- Security on the Web: HTTPS -- Handshaking -- Transmitting Data Under HTTPS -- The Shared Key Problem Solved? -- Chapter 4: Movie CGI -- Software for Traditional Animation -- How Digital Images Work -- How Colors Are Defined -- How Software Makes Cel Animations.
505 8 _aFrom Cel Animation Software to Rendered 2D Graphics -- Software for 3D CGI -- How 3D Scenes Are Described -- The Virtual Camera -- Direct Lighting -- Global Illumination -- How Light Is Traced -- Full-Scene Anti-Aliasing -- Combining the Real and the Fake -- The Ideal of Movie-Quality Rendering -- Chapter 5: Game Graphics -- Hardware for Real-Time Graphics -- Why Games Don't Ray Trace -- All Lines and No Curves -- Projection Without Ray Tracing -- Rendering Triangles -- The Painter's Algorithm -- Depth Buffering -- Real-Time Lighting -- Shadows -- Ambient Light and Ambient Occlusion -- Texture Mapping -- Nearest-Neighbor Sampling -- Bilinear Filtering -- Mipmaps -- Trilinear Filtering -- Reflections -- Faking Curves -- Distant Impostors -- Bump Mapping -- Tessellation -- Anti-Aliasing in Real Time -- Supersampling -- Multisampling -- Post-Process Anti-Aliasing -- The Rendering Budget -- What's Next in Game Graphics -- Chapter 6: Data Compression -- Run-Length Encoding -- Dictionary Compression -- The Basic Method -- Huffman Encoding -- Reorganizing Data for Better Compression -- Predictive Encoding -- Quantization -- JPEG Images -- A Different Way to Store Colors -- The Discrete Cosine Transformation -- The DCT for Two Dimensions -- Compressing the Results -- JPEG Picture Quality -- Compressing High-Definition Video -- Temporal Redundancy -- MPEG-2 Video Compression -- Video Quality with Temporal Compression -- The Present and Future of Video Compression -- Chapter 7: Search -- Defining the Search Problem -- Putting Data in Order -- Selection Sort -- Quicksort -- Binary Search -- Indexing -- Hashing -- Searching the Web -- Ranking Results -- Using the Index Effectively -- What's Next for Web Search -- Chapter 8: Concurrency -- Why Concurrency Is Needed -- Performance -- Multiuser Environments -- Multitasking -- How Concurrency Can Fail.
505 8 _aMaking Concurrency Safe -- Read-Only Data -- Transaction-Based Processing -- Semaphores -- The Problem of Indefinite Waits -- Orderly Queues -- Starvation from Circular Waits -- Performance Issues of Semaphores -- What's Next for Concurrency -- Chapter 9: Map Routes -- What a Map Looks Like to Software -- Best-First Search -- Reusing Prior Search Results -- Finding All the Best Routes at Once -- Floyd's Algorithm -- Storing Route Directions -- The Future of Routing -- Index.
520 _aHow Software Works explains everyday software to the non-programmer.
588 _aDescription based on publisher supplied metadata and other sources.
590 _aElectronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
650 0 _aComputer software.
655 4 _aElectronic books.
776 0 8 _iPrint version:
_aSpraul, V. Anton
_tHow Software Works
_dSan Francisco : No Starch Press, Incorporated,c2015
_z9781593276669
797 2 _aProQuest (Firm)
856 4 0 _uhttps://ebookcentral.proquest.com/lib/orpp/detail.action?docID=4503164
_zClick to View
999 _c109246
_d109246