Overflow
error that results when the number of bits is not enough to hold the number, like a car's odometer "rolling over"
Round-off
error that results when the number of bits is not enough to represent the actual number, like 3 digits to represent π as 3.14
Lossy
Compressing data in a way that throws some data away and makes it almost impossible to recover the original, great compression, like JPEG images
Lossless
Compressing data in a way that preserves all data away and allows full recovery of the original, good compression -- usually not as good as lossy, like PNG images
Metadata
data about data, like a camera storing the location, aperture, shutter speed, etc. for a digital photo
Sequencing
code flows line by line, one after another, like a recipe
Selection
a boolean condition to determine which of two algorithmic paths are taken, aka if-then
Iteration
using a looping control structure, like while, for, foreach, repeat, repeat-until, etc.
Reasonable Time
polynomial in the number of steps an algorithm takes in the worst case based on the input size
Not reasonable time
Usually exponential in the number of steps, like doubling every time your input grows by one
Heuristic
using a "rule" to guide an algorithm, like always walking toward the north star if you were stuck in a forest
Undecidable
A problem that is so difficult, we can't ever create an algorithm that would be able to answer yes or no for all inputs, like determining if a user's program run on some input would always stop and not run forever
Linear Search
Going one by one vs starting in the middle and going left/right like looking for a word in the dictionary
Binary Search
requires the list to be sorted in order and then cutting the list in half
APIs
Application Programming Interface
Citizen Science
Lots of people to help with a scientific project, like asking everyone around the world to count the butterflies they see one day
Cloud Computing
Using distributed calculations and/or storage for big data or a web application
Crowdsourcing
Asking lots of users online to help with something, like funding a project, or running SETI@Home to help look for extraterrestrial signals
Creative Commons
An alternative to copyright that allows people to declare how they want their artistic creations to be shared, remixed, used in noncommercial contexts, and how the policy should propagate with remixed versions
Open Access
A policy that allows people to have read access to things, e.g., libraries or online data
Moore's Law
The # of transistors on a chip doubles every two years
Peer-to-peer Networks
A system where one user's computer connects through the Internet to another user's computer without going through an intermediary "centralized" computer to manage the connection
Digital Divide
The idea that some communities / populations have less access to computing than others
ISP
Internet Service Provider
How does internet communication arrive at its destination?
Speech on the Internet goes from the source to an ISP, into the cloud, out of the cloud to another ISP, and to its destination
How can the government control speech on the Internet?
It can try to control the speaker or the speaker's ISP, by criminalizing certain kinds of speech. But that won't work if the speaker isn't in the same country as the listener. 2)It can try to control the listener, by prohibiting possession of certain kinds of materials. In the U.S., possession of copyrighted software without an appropriate license is illegal, as is possession of other copyrighted material with the intent to profit from redistributing it.
The government can try to control the intermediaries.
How can Internet posters evaded being convicted for defamation/slander on the Web?
The posters could evade responsibility as long as they remained anonymous, as they easily could on the Internet.
What has Congress given ISPs relating to an Internet Defamation case?
Congress had given the ISPs a complete waiver of responsibility for the consequences of false and damag- ing statements, even when the ISP knew they were false.
Internet Protocol Hourglass
Each protocol interfaces only to those in the layers immediately above and below it, and all data is turned into IP bit packets in order to pass from an application to one of the physical media that make up the network. -Email, Web, Phone -SMTP, HTTP -TCP, UDP -IP -Wire, Fiber, Radio
TCP
Transmission Control Protocol Guarantees reliable transmission by breaking messages into packets, keeping track of which packets have been received successfully, resending any that have been lost, and specifying the order for reassembling the data on the other end.
UDP
User Datagram Protocol provides timely but unreliable message delivery
HTTP
HyperText Transport Protocol which is used for sending and receiving web pages
SMTP
Simple Mail Transport Protocol used for sending email.
What does "End to End" mean in regards to the Internet?
"End to End," in the Internet, means that the switches making up the core of the network should be dumb—optimized to carry out their single limited function of passing packets.
RFC
Request for Comment Standards adopted through a remarkable process of consensus- building, nonhierarchical in the extreme. Someone posts a proposal, and a cycle of comment and revision, of buy-in and objection, eventually converges on something useful, if not universally regarded as perfect.
Shortcut for going from binary to hexadecimal
To translate a binary numeral (like 11010111012) to hexadecimal, start by splitting it into groups of four bits, from right-to-left (like this: 11 0101 1101).
Then determine the value of each group and write the corresponding hex digit.
Internet
A network of independent but connected devices all over the world.
World Wide Web
The collection of interlinked website documents (such as HTML files) that you can view with a web browser by typing addresses like http://bjc.berkeley.edu/website/privacy.html.
HTML
Hypertext markup language Most web pages are written with ________
URL
Uniform Resource Locator An address for accessing specific web data located on a server
Server
A computer hosting data for others to access
Protocol
the standard for communication between browsers and servers (usually "http" or "https") Sometimes not visible in browsers like Google Chrome
Domain Name
The name of the server that hosts the data (bjc.berkeley.edu)
Path
the location of the data in a hierarchy of folders on the server (Website/privacy.html)
Protocols
Standards for communication
IP
Internet Protocol An addressing system that finds paths to distant computers Specifies how a router handles a request for another IP address.
Redundant
There are multiple pathways among the physical connections of the Internet to create redundancy. Even if one pathway is unavailable, there is still another way to transmit a message from sender to receiver
Hiearchial
There are two ____________ Internet addressing systems, domain names and IP addresses. These address ______________ works much like the postal system, which locates people first by state, then city, then street, then house number, then apartment, and then finally person.
Fault Tolerance
ability to work around problems
Scalability
the ability of the net to keep working even as the size of the network and the amount of traffic over the network increase.
Virus
A kind of malware that tries to spread itself over the network to other computers.
Antivirus Software
Helps protect against virus attacks
Phishing
An attacker sends you an email that appears to be from some official organization (such as your bank) and tricks you into giving information to the attackers (such as your bank password).
DDoS
Distributed Denial of Service -Consists of sending a lot of requests to a server at the same time. This can overload the server's network bandwidth. -Causes a temporary inability to reach the targeted server so other users of that server are denied service.
Which protocols are used to keep secure HTTP connections?
Transport Layer Security (TLS) or maybe an older version called Secure Sockets Layer (SSL) With these protocols, the site you are visiting sends its public key, and your browser uses it to encrypt the information you send.
Certificate Authorities
Used by many websites for encryption to protect files and information that is transmitted over the Internet. They issue certificates to verify the identity of a user or computer.
Public IP Address
The IP address that is logged by various servers/devices when you connect to them through your internet connection.
Private IP Address
An IP address that's reserved for internal use behind a router or other Network Address Translation (NAT) device, apart from the public.
IP v4
This address is big enough to support 2^32 computers. That's about four billion (4 · 109), but there are more than seven billion people on Earth, so there aren't enough IP addresses to go around. Each of the four numbers in a typical IP address today is an eight-bit byte with a value between 0 and 255
IP v6
The long-term solution is to increase the length of an IP address. The new IP addresses are 128 bits wide, which is enough to support 2^128 (about 1038) computers.
Routers
The "connection points" of the Internet. Networking devices that route traffic between subnetworks on the Internet.
Packets
When you send a message over the Internet, your computer divides it into small chunks called __________ that it sends individually, each on its own path. A __________ can include any kind of data: text, numbers, lists, etc.
Packet Switching Network
A digital networking communications method that groups all transmitted data into suitably sized blocks, called packets, which are transmitted via a medium that may be shared by multiple simultaneous communication sessions. Example : Internet
Hierarchy of Abstractions
Manages the complexity of the Internet by hiding the details of lower levels of the system. The highest level of abstraction includes the most general features of the Internet that have to work the same across all devices. At lowers levels of abstraction, things get more device-specific.
Application Layer Protocols
The highest level of abstraction because they manage how data is interpreted and displayed to users. These protocols give meaning to the bits sent by lower-level protocols; user and server computers must agree on what the bits mean, and application protocols (like HTTP) offer this.
Transport Layer Protocols
Manage the breakdown of a message into packets to be transmitted by lower level protocols and also the reconstruction of the message from the packets upon arrival.
Internet Layer Protocols
Manage the pathways that the data packets travel across networks. These protocols treat the Internet like one large network even though the physical reality on the lower level is one of many tiny subnetworks.
Network Interface Hardware
Also known as Link Layer All Internet devices connect through a physical interface that uses a protocol to manage the connection to the local network. These local protocols are the least abstract because they deal directly with your physical hardware.
DNS
Domain Name System The hierarchical addressing protocol that is human-readable
Who is in charge of the Internet?
The computers on the Internet and the connections among them don't belong to any one organization.
ICANN
the Internet Corporation for Assigned Names and Numbers Controls the DNS hierarchy and the allocation of IP addresses.
For how long has the U.S. dominated the Internet and why?
The U.S. has "controlled" the Internet up until 2009. The Advanced Research Project Agency (ARPA) first developed the Internet in 1969.
Open Protocols
Standards that are not owned by a company
IETF
(The Internet Engineering Task Force) and the Internet Society oversee Internet protocols
What does the Internet rely on to operate properly?
The internet relies on the cooperation of many different elements.
Firewall
Used to limit the kinds of connections (HTTP requests, incoming mail, etc.) outsiders can make to your computer.
Cipher
The set of rules you are using to encode the information
Key
What tells you how to arrange the cipher's rules. _______ is applied using an algorithm to a string or block of unencrypted text to produce encrypted.
Deciphering
Analyzing the code and working back from it
Monoalphabetic Cipher
A class of ciphers where the code is based on one letter of the alphabet standing for another letter consistently throughout the message
Brute force
Trying all the possible ways to crack a code
Frequency Analysis
Based on the idea that every language has its own specific patterns. The study of the frequency of letters or groups of letters in a ciphertext.
Crib
Words, letters, and phrases that are so common that it is hard to form a sentence without them Examples: e and the
Polyalphabetic Cipher
The way you scramble the alphabet actually changes throughout the message Example: Vigenère cipher
Vigenère Square
Alphabet goes up on the top and also to the side in order to help write a code.
How can you crack Vigenère cipher?
By using a type of frequency analysis developed by Charles Babbage. Babbage realized that some patterns in a long message may still show up and he counted how many letters separated those repeated patterns.
One time pad encryption
Only way to create an unbreakable cipher. Uses the key that is as long as the message itself. Once a sheet is used for a message you destroy it. Then you use the next sheet for the next message so you never repeat a key. As long as you keep the pad safe, no one can ever decrypt the message.
The Enigma Machine
An example of a one time pad encryption device.
The British Bombe
Device developed by Alan Turing used by the British military to crack the enigma machine. As long as this device knew 20 characters of the message it could crack the code.
Prime number
Numbers only divisible by themselves and one. Very useful for internet security because of this trait.
Public Key
A code that is available for anyone to use.
Private Key
A code that must remain confidential to its respective owner.
How does Public Key/Private Key Cryptography work?
Example: If Bob wants to send sensitive data to Alice, and wants to be sure that only Alice may be able to read it, he will encrypt the data with Alice's Public Key. Only Alice has access to her corresponding Private Key and as a result is the only person with the capability of decrypting the encrypted data back into its original form. As only Alice has access to her Private Key, it is possible that only Alice can decrypt the encrypted data. Even if someone else gains access to the encrypted data, it will remain confidential as they should not have access to Alice's Private Key.
Encryption
Works by converting information or data into a language that cannot be understood in one glance. Usually, the information is sent to a person who can decrypt it using a key only they have access, keeping the information's privacy intact.
Three principles of Encryption?
Authentication
Integrity
Non-repudation
Authentication
Helps to verify that original author of the code is what he or she claims to be.
Integrity
Essential towards maintaining the privacy of the message because it must be known that the message was not tampered with in any way, shape, or form.
Non-repudiation
Where the user sends a message to another person but later denies he or she actually sent the message, causing confusion and bringing the integrity of the message into question.
Three types of encryption?
secret key cryptography
public key cryptography
hash functions
Secret key cryptography
Where a single key is sent with the message to another user for the receiver to decode the message.