|
Glossary
|
How It Works
|
|
|
|
adaptive-chosen-ciphertext - A version of the chosen-ciphertext attack where the cryptanalyst can choose ciphertexts dynamically. A cryptanalyst can mount an attack of this type in a scenario in which he or she has free use of a piece of decryption hardware, but is unable to extract the decryption key from it. adaptive-chosen-plaintext - A special case of the chosen-plaintext attack in which the cryptanalyst is able to choose plaintexts dynamically, and alter his or her choices based on the results of previous encryptions. adversary - Commonly used to refer to the opponent, the enemy, or any other mischievous person that desires to compromise one's security. AES - The Advanced Encryption Standard that will replace DES (The Data Encryption Standard) around the turn of the century. algebraic attack - A method of cryptanalytic attack used against block ciphers that exhibit a significant amount of mathematical structure. algorithm - A series of steps used to complete a task. Alice -The name traditionally used for the first user of cryptography in a system; Bob's friend. ANSI - American National Standards Institute. API - Application Programming Interface. Assurance Protocol - a set of steps designed to prove or disprove the integrity of either the procedures or the data in a system. Codel Audit Trail Protection is an example. attack - Either a successful or unsuccessful attempt at breaking part or all of a cryptosystem. See algebraic attack, birthday attack, brute force attack, dictionary attack, chosen ciphertext attack, chosen plaintext attack, differential cryptanalysis, known plaintext attack, linear cryptanalysis, man in the miiddle attack. authentication - The action of verifying information such as identity, ownership or authorization. big-O notation - Used in complexity theory to quantify the long-term time dependence an algorithm with respect to the size of the input. biometrics - The science of using biological properties to identify individuals; for example, finger prints, a retina scan, and voice recognition. birthday attack - A brute-force attack used to find collisions. It gets its name from the surprising result that the probability of two or more people in a group of 23 sharing the same birthday is greater than 50%. bit - A binary digit, either 1 or 0. blind signature scheme - Allows one party to have a second party sign a message without revealing any ( or very little) information about the message to the second party. block - A sequence of bits of fixed length; longer sequences of bits can be broken down into blocks. block cipher - A symmetric cipher which encrypts a message by breaking it down into blocks and encrypting each block. block cipher based MAC - MAC that is performed by using a block cipher as a keyed compression function. Bob - The name traditionally used for the second user of cryptography in a system; Alice's friend. boolean expression - A mathematical expression in which all variables involved are either 0 or 1; it evaluates to either 0 or 1. brute force attack - This attack requires trying all (or a large fraction of all) possible values till the right value is found; also called an exhaustive search. Statistically, the chances are that a brute force attack will find its match, on average, about half way through the keyspace. For example, take a simple combination lock with 9,999 possible combinations. On average, the right combination will be found by sequential analysis in around 5,000 attempts. CA - See certifying authority CAPI - Cryptographic Application Programming Interface. Capstone - The U.S. government's project to develop a set of standards for publicly available cryptography, as authorized by the Computer Security Act of 1987. See Clipper, DSA, DSS, and Skipjack. CDR - Compact Disk Recordable (or Compact Disk Read Only Memory) CDRs have the major advantage of being a superb WORM storage system. All files uploaded to Codel will be burned onto CDRs (or possibly DVDRs if demand reaches that level) prior to being uploaded to the online database. We will probably use something like this. certificate - A widely used mechanism for delegating or distributing Trust. Usual, in the context of secure communications, the certificate is a digital document issued by a Certifying Authority (a Trusted Third Party) which purports to guarantee that a particular public key belongs to a particular individual. certificate revocation list - A list of certificates that have been revoked before their expiration date. Certifying Authority (CA) - A person or organization that creates certificates. The CA should itself be a Trusted Third Party and it is that trust which underpins its certificates. Alice may not trust Bob, but if she trusts Charles and he verifies that Bob is who he claims to be, then she can now afford to trust Bob. certification hierarchy - A model
of trust for certificates in which certification paths are created through
the establishment of parent-child relationships between certification
authorities. See also certification authority; certification path. certification path - An unbroken chain
of trust from a certificate to the root certification authority in a certification
hierarchy. See also certification hierarchy; certificate. challenge response - A common authentication technique whereby an individual is prompted (the challenge) to provide some private information (the response). Most security systems that rely on smart cards are based on challenge-response. A user is given a code (the challenge) which he or she enters into the smart card. The smart card then displays a new code (the response) that the user can present to log in. checksum - Used in error detection, a checksum is a computation done on the message and transmitted with the message; similar to using parity bits. chosen ciphertext attack - An attack where the cryptanalyst may choose the ciphertext to be decrypted. chosen plaintext attack- A form of cryptanalysis where the cryptanalyst may choose the plaintext to be encrypted. cipher - Any encryption - decryption algorithm. ciphertext - Encrypted data. The result of applying the cipher or the to the plaintext ciphertext-only attack - A form of cryptanalysis where the cryptanalyst has some ciphertext but nothing else. Clipper - Clipper is an encryption chip developed and sponsored by the U.S. government as part of the Capstone project. collision - Two values x and y form a collision of a (supposedly) one-way function F if x<>y but F(x) = F(y). In the case of creating hash digests of two different documents, there is a very small probability that the two documents will produce the same hash. This is known as Collision. In Codel's case, when creating our VRs, we avoid the problem by checking for uniqueness of both the VR and its hash value before uploading to the central database. collision free - A hash function is collision free if collisions are hard to find. The function is weakly collision free if it is computationally hard to find a collision for a given message x. That is, it is computationally infeasible to find a message y x such that H(x) = H(y). A hash function is strongly collision free if it is computationally infeasible to find any messages x, y such that x y and H(x) = H(y). The probability of collisions occurring is inversely proportional to the exponent of the number of bits the hash function creates. In other words, you are much more likely to find collisions using the older MD4 or MD5 functions (128 bits - probability 1 in 2128) than you are using SHA1 (160 bits - probability 1 in 2160). Safer still is SHA-256 (256 bits - probability of collision 1 in 2256) and it is now possible to create SHA hashes of up to 768 bits. collision search - The search for a collision of a one-way function. commutative - When a mathematical operator yields the same result regardless of the order the objects are operated on. For example if a, b are integers then a+b = b+a, that is, the addition operator acting on integers is commutative. commutative group - A group where the operator is commutative, also called an Abelian group. computational complexity - Refers to the amount of space (memory) and time required to solve a problem. Computation Theory recognises several classes of computational problem: P - Polynomial. Refers to the running time of the best known algorithm solving a particular problem. Considered to be computationally trivial, in mathematics (of which cryptography is a branch), a polynomial problem is one which increases in size in direct proportion to the size of the input variables. i.e. if you double the size of the variables, you double the size of the problem. In contrast, an exponential problem increases in proportion to the power of the increase in size. Given a set of problems where the best known algorithm solving it runs in polynomial time; such a problem is said to be "P" or "in P". NP - Nondeterministic Polynomial. Refers to the running time of the best known algorithm for solving a particular problem. A set of problems where the best-known algorithm solving it would run in polynomial time on a nondeterministic computer; such problems are said to be "NP" or "in NP". NP-complete - A problem is NP-complete if any NP problem can be reduced (transformed) to it, and it is itself NP. space - Referring to spatial (memory) constraints involved in a certain computation. time - Referring to the temporal constraints involved in a certain computation. computationally infeasible - too complex for a computer to perform in any reasonable timescale. Brute forcing a VR, for example, would take millions of years. compression function - A function that takes a fixed length input and returns a shorter, fixed length output. See also hash functions. compromise - The unintended disclosure or discovery of a cryptographic key or secret. concatenate - To place two (or more) things together one directly after the other. For example, treehouse is the concatenation of the words tree and house. covert channel - A hidden communication medium. See also subliminal channel. CRL - Certificate Revocation List. cryptanalysis - The art and science of breaking encryption or any form of cryptography. See attack. Cryptographic Hash Function - a hash function of sufficient output complexity to resist cryptanalysis. To all intents and purposes, the strength of the function can be measured by the number of bits it produces. MD5, for instance, creates a 128 bit hash. SHA1 is the minimum Codel uses and it produces a 160 bit hash. SHA-256 is our preferred option and creates a 256 bit hash. SHA256 is thus enormously (2 to the power 128 times) more resistant to attacks or collisions than MD5. cryptography - The art and science of using mathematics to secure information and create a high degree of trust in the electronic realm. See also public-key, secret-key, symmetric-key, and threshold cryptography. cryptology - The branch of mathematics concerned with cryptography and cryptanalysis. cryptosystem - An encryption decryption algorithm (cipher), together with all possible plaintexts, ciphertexts and keys. Data Encryption Standard - See DES. decryption - The inverse (reverse) of encryption. DES - Data Encryption Standard, a block cipher developed by IBM and the U.S. government in the 1970's as an official standard. See also block cipher. dictionary attack - A brute force attack that tries passwords and or keys from a precompiled list of values. This is often done as a precomputation attack. Diffie-Hellman key exchange - A key exchange protocol allowing the participants to agree on a key over an insecure channel. differential cryptanalysis - A chosen plaintext attack relying on the analysis of the evolution of the differences between two plaintexts. digest - Commonly used to refer to the output of a hash function, e.g. message digest refers to the hash of a message. digital cash - See electronic money digital envelope - A key exchange protocol that uses a public-key cryptosystem to encrypt a secret key for a secret-key cryptosystem. digital fingerprint - See digital signature. digital signature - The encryption of a message digest with a private key. digital timestamp - A record mathematically linking a document to a time and date. discrete logarithm - Given two elements d, g, in a group such that there is an integer r satisfying gr = d, r is called the discrete logarithm. discrete logarithm problem -The problem of given d and g in a group, to find r such that gr = d. For some groups, the discrete log problem is a hard problem that can be used in public-key cryptography. distributed key - A key that is split up into many parts and shared (distributed) among different participants. See also secret sharing. DMS - Defense Messaging Service. DOD – USA Department of Defense. DSA - Digital Signature Algorithm. DSA is a public-key method based on the discrete log problem. DSS - Digital Signature Standard. DSA is the Digital Signature Standard. DVDR - (Digital Video Disk Recordable) DVDRs are massively more efficient as data stores than CDRs. Despite being the same size, the DVD stores 4.7 Gb against the CDR's humble 500-750 Mb. However, the current generation of DVDRs can't support packet writing or even multiple sessions. We have to write the entire 4.7 Gb in one go. Which, to us, means that we can't begin to burn any data onto the DVD until we have 4.7 Gb queued for storage. Clearly the longer we leave data unburned, the bigger the opportunity for illicit amendment. Data uploads must, therefore, be burned on in real time (as we receive the data or as soon as possible thereafter), in order to minimise the risk of attack while they're held in cache. At the moment CDRs are the only economic option because they support packet writing and can thus be recorded incrementally in small chunks until the disk is full. Standard hardware allows us to write as little as a single sector (2k) which means we can burn every upload as it happens. Clever software might even let us record byte by byte. In any case, DVDRs won't be that flexible until the next generation. Until that happens, or some completely new WORM technology arises, CDRs will remain our storage medium of choice. ECC - Elliptic Curve Cryptosystem; A public-key cryptosystem based on the properties of elliptic curves. ECDL - See elliptic curve discrete logarithm. EDI - Electronic (business) Data Interchange. electronic commerce (e-commerce) - Business transactions conducted over the Internet. electronic mail (e-mail) - Messages sent electronically from one person to another via the Internet using standard email Protocols (POP3, IMAP etc) electronic money - Electronic mathematical representation of money. elliptic curve - The set of points (x, y) satisfying an equation of the form y2 = x3 + ax + b, for variables x, y and constants a, b. elliptic curve cryptosystem - See ECC. elliptic curve discrete logarithm (ECDL) problem - The Problem of given two points P and Q on an elliptic curve, to find m satisfying mP = Q, assuming such an m exists. elliptic curve (factoring) method - A special-purpose factoring algorithm that attempts to find a prime factor p of an integer n by finding an elliptic curve whose number of points modulo p is divisible by only small primes. encryption - The transformation of plaintext into an apparently less readable form (called ciphertext) through a mathematical process. The ciphertext may be read by anyone who has the key that decrypts (undoes the encryption) the ciphertext. entropy - in cryptography, entropy is the measure of how unpredictable each bit or character is within the keystream. entropy gathering - the process of sampling the real world for unpredictable events and using these as the basis for creating a keystream. Software can do this on your personal computer by taking note of various events which take place all the time. In themselves the events are not truly random, but unless someone is monitoring the exact state of your machine from millisecond to millisecond, then many of these events are truly unpredictable. For example, the software might take note of the exact time you click the left mousebutton. It will obtain a time from the system clock along the lines of 54,825.647. This represents the exact number of seconds since midnight. If you double clicked the mouse, the second reading might be something like 54,825.813 Clearly the numbers before the decimal point are too predictable. Even the first decimal is fairly predictable. The second decimal is fairly arbitrary but, with practice you might be able to learn to double click at a rate consistent enough to allow us to guess the second decimal on the second click about 70% of the time. No one, on the other hand, is going to be able to doubleclick sufficiently consistently to allow anyone to guess the third decimal. Thats the part of the data the entropy gatherer will "harvest". This is what they mean when they talk of using the "least significant bit". It is that part of the data which changes most rapidly. Typically, even a relatively dormant computer has thousands of events going on within it at any time, so there are many events and timings which can be harvested to create the unpredictable keystream. exclusive or - See XOR. exhaustive search - Checking every possibility individually till the right value is found. See also attack. expiration date - Certificates and keys may have a limited lifetime; expiration dates are used to monitor this. exponential function - A function where the variable is in the exponent of some base, for example, bN where N is the variable, and b is some constant. exponential running time - If the running time, given as a function of the length of the input, is an exponential function, the algorithm is said to have exponential running time. export encryption - Encryption, in any form, which leaves its country of origin. For example, encrypted information or a computer disk holding encryption algorithms that is sent out of the country. factor - Given an integer N, any number that divides it is called a factor. factoring - The breaking down of an integer into its prime factors. This is a hard problem. factoring methods - See elliptic curve method, multiple polynomial quadratic sieve, number field sieve, Pollard p-1 and Pollard p+1 method, Pollard rho method, quadratic sieve. FBI - Federal Bureau of Investigation, a U.S. government law enforcement agency. Feistel cipher - A special class of iterated block ciphers where the ciphertext is calculated from the plaintext by repeated application of the same transformation called a round function. field - A mathematical structure with multiplication and addition that behave as they do with the real numbers. A mathematical structure with the following algebraic properties. A nonempty set F is a field if: 1)F is closed under two binary operators denoted by + and * usually referred to as addition and multiplication respectively. Closure means that for any two elements f, h in F, f+h and f*h are in F. 2)F forms a commutative group (see the definition of a group) with respect to +. 3)F - {0} forms a commutative group (see the definition of a group) with respect to *. 4)The operator * distributes over the operator +, that is a*(b+c) = a*b+a*c. FIPS - Federal Information Processing Standards. See NIST. flat keyspace - See Linear Key Space. function - A mathematical relationship between two values called the input and the output, such that for each input there is precisely one output. Galois field - A finite field. general-purpose factoring algorithm - An algorithm whose running time depends only on the size of the number being factored. See special purpose factoring algorithm. Goppa code - A class of error correcting codes, used in the McEliece public-key cryptosystem. graph - In mathematics, a set of points called nodes (or vertices) and a set of lines connecting them or some subset of them to one another called edges. graph coloring problem - The problem of determining whether a graph can be colored with a fixed set of colors such that no two adjacent vertices have the same color and producing such a coloring. group - A mathematical structure in which elements are combined. A nonempty set G is a group if: 1) The set G is closed under the binary operator *, that is, for any two elements g, h in G, g*h is in G. 2) The operator * is associative, that is, for any a, b, c in G, a*(b*c) = (a*b)*c. 3) There exists an identity element e in G, such that for any element g in G, g*e = e*g = g. 4) For every element g in G there is an inverse h in G such that, g*h = h*g = e, the identity. GSS-API - generic security service application program interface. hacker - A person who tries and/or succeeds at defeating computer security measures. Hamiltonian path problem - A Hamiltonian path is a path through a graph that passes through each vertex exactly once. The associated problem is given a graph G is there a Hamiltonian path. This is a hard problem. handshake - A protocol two computers use to initiate a communication session. hard problem - A computationally-intensive problem; a problem that is computationally difficult to solve. hash-based MAC - MAC that uses a hash function to reduce the size of the data it processes. hash function - Any function that takes a variable sized input and has a fixed size output. For the purpose of generating Codel Hash values, we are particularly interested in Cryptographic Hash Functions such as SHA1, SHA256 or stronger in order to ensure that even a brute force attack on the hash is computationally infeasible HMAC - see MAC. hyperplane - A mathematical object which may be thought of as an extension (into higher dimensions) of a 3 dimensional plane passing through the point (0,0,0). IEEE - Institute of Electrical and Electronics Engineers, a body that creates some cryptography standards. iKP - Internet Keyed Payments Protocol. ISO - International Standards Organization, creates international standards, including cryptography standards. identification - A process through which one ascertains the identity of another person or entity. IMAP – A more recent email protocol (see POP3). IMAP stands for “Internet Messaging ?? Protocol”. It is primarily designed to allow email to be stored and accessed on a secure web based server rather than on a personal workstation. The security risks must be weighed against the advantages of being able to access the email service from anywhere on the planet. impersonation - Occurs when an entity pretends to be someone or something it is not. import encryption - Encryption, in any form, coming into a country. index calculus - A method used to solve the discrete log problem. integer programming problem - The problem is to solve a linear programming problem where the variables are restricted to integers. interactive proof - A protocol between two parties in which one party, called the prover, tries to prove a certain fact to the other party, called the verifier. This is usually done in a question response format, where the verifier asks the prover questions that only the prover can answer with a certain success rate. Internet - The connection of computer networks from all over the world forming a worldwide network. intractable - In complexity theory, referring to a problem with no efficient means of deriving a solution. ITAR - International Traffic in Arms Regulations. ITEF - Internet Engineering Task Force. ITU-T - International Telecommunications Union - Telecommunications standardization sector. Kerberos - An authentication service developed by the Project Athena team at MIT. key - A string of bits used widely in cryptography, allowing people to encrypt and decrypt data; a key can be used to perform other mathematical operations as well. Given a cipher, a key determines the mapping of the plaintext to the ciphertext. See also distributed key, private key, public key, secret key, session key, shared key, sub key, symmetric key, weak key. key agreement - A process used by two or more parties to agree upon a secret symmetric key. key distribution problem/s - the first problem is that of distributing secure keys to 3rd parties with whom you wish to communicate securely. In short, if you have a secure means of distributing the keys, why not use the same method for communicating the message in the first place? The short answer to which is that the cost of distributing keys securely can be spread across several thousand messages. The second problem is the sheer number of keys one needs to maintain, securely, to be able to hold private conversations with a number of different individuals. One secure pair of keys is required per entry in your address book. The best solution to both problems so far is Public Key Cryptography which allows us to issue a single key for all communications from third parties. They too issue a single key. This essentially halves the number of keys we need to manage and eliminates the need for a secure channel for initial key distribution. More detail is contained here, including how it affects Codel. key escrow - The process of having a third party hold onto encryption keys. key exchange - A process used by two more parties to exchange keys in cryptosystems. key expansion - A process that creates a larger key from the original key. key generation - The act of creating a key. key management - The various processes that deal with the creation, distribution, authentication, and storage of keys. key pair - The full key information in a public-key cryptosystem, consisting of the public key and private key. key recovery - A special feature of a key management scheme that allows messages to be decrypted even if the original key is lost. key schedule - An algorithm that generates the subkeys in a block cipher. keyspace - The collection of all possible keys for a given cryptosystem. See also flat keyspace, linear key space, nonlinear key space, and reduced key space. keystream - the sequence of characters or bits produced by a cipher and used to encrypt the plaintext. knapsack problem - A problem that involves selecting a number of objects with given weights from a set, such that the sum of the weights is maximal but less than a pre-specified weight. known plaintext attack - A form of cryptanalysis where the cryptanalyst knows both the plaintext and the associated ciphertext. This allows the attacker to compute the original keystream and is thus particularly powerful against prng based ciphers. If you know a part of the keystream, and the prng algorithm being used, you can try different seeds to discover if any subsequent keystream contains the portion you have decrypted. If it does, then you can now break the rest of the secret message using that keystream. This is particularly plausible if the keystream was generated using weak seeds. If the seeds are long and strong, then this attack can become infeasible. lattice - A lattice can be viewed as an N-dimensional grid. LEAF - Law Enforcement Agency Field a component in the Clipper Chip. leak - allow a secret to escape, either by poor system design or poor security (manual or machine) life cycle - The length of time a key can be kept in use and still provide an appropriate level of security. linear complexity - Referring to a sequence of 0's and 1's, the size of the smallest linear feedback shift register (LFSR) that would replicate the sequence. See also linear feedback shift register. linear cryptanalysis - A known plaintext attack that uses linear approximations to describe the behavior of the block cipher. See known plaintext attack. linear keyspace - A key space where each key is equally strong. LFSR - linear feedback shift register. Used in many keystream generators because of its ability to produce sequences with certain desirable properties. MAC - See message authentication code. meet-in-the-middle attack - A known plaintext attack against double encryption with two separate keys where the attacker encrypts a plaintext with a key and "decrypts" the original ciphertext with another key and hopes to get the same value. Message Authentication Code (MAC) - A MAC is a function that takes a variable length input and a key to produce a fixed-length output. See also hash-based MAC, stream-cipher based MAC, and block-cipher based MAC. message digest - The result of applying a hash function to a message. MHS - Message Handling System. Man in the Middle (middle-person) attack - A person who intercepts keys and impersonates the intended recipients. MIME - Multipurpose Internet Mail Extensions. MIPS - Millions of Instructions Per Second, a measurement of computing speed. MIPS -Year - One year's worth of time on a MIPS machine. mixed integer programming - The problem is to solve a linear programming problem where some of the variables are restricted to being integers. modular arithmetic - A form of arithmetic where integers are considered equal if they leave the same remainder when divided by the modulus. modulus - The integer used to divide out by in modular arithmetic. multiple polynomial quadratic sieve(MPQS) - A variation of the quadratic sieve that sieves on multiple polynomials to find the desired relations. MPQS was used to factor RSA-129. NIST - National Institute of Standards and Technology , a United States agency that produces security and cryptography related standards (as well as others); these standards are published as FIPS documents. non-repudiation - A property of a cryptosystem. Non-repudiation cryptosystems are those in which the users cannot deny actions they performed. nondeterministic - Not determined or decided by previous information. nondeterministic computer - Currently only a theoretical computer capable of performing many computations simultaneously. nondeterministic polynomial running time(NP) - If the running time, given as a function of the length of the input, is a polynomial function when running on a theoretical, nondeterministic computer, then the algorithm is said to be NP. nonlinear keyspace - A key space comprised of strong and weak keys. NSA - National Security Agency. A security-conscious U. S. government agency whose mission is to decipher and monitor foreign communications. number field sieve - A method of factoring, currently the fastest general purpose factoring algorithm published. It was used to factor RSA-130. number theory - A branch of mathematics that investigates the relationships and properties of numbers. OAEP - Optimal Asymmetric Encryption Padding; a provably secure way of encrypting a message. one-time pad - A secret-key cipher in which the key is a truly random sequence of bits that is as long as the message itself, and encryption is performed by XORing the message with the key. This is theoretically unbreakable. one-way function - A function that is easy to compute in one direction but quite difficult to reverse compute (compute in the opposite direction.) one-way hash function - A one-way function that takes a variable sized input and creates a fixed size output. patent - The sole right, granted by the government, to sell, use, and manufacture an invention or creation. PKI - Public-key Infrastructure. PKIs are designed to solve the key management problem. See also key management. padding - Extra bits concatenated with a key, password, or plaintext. password - A character string used as a key to control access to files or encrypt them. PKCS - Public-Key Cryptography Standards. A series of cryptographic standards dealing with public-key issues, published by RSA Laboratories. plaintext - The message or data to be encrypted. plane - A geometric object defined by any three non-colinear points, containing every line passing through any two of them. Pollard p-1 and Pollard p+1 methods - Algorithms that attempt to find a prime factor p of a number N by exploiting properties of p-1 and p+1. See also factoring, prime factor, prime number. Pollard Rho method - A method for solving the discrete logarithm and elliptic curve discrete logarithm. polynomial - An algebraic expression written as a sum of constants multiplied by different powers of a variable, for example anxn + an-1xn-1 + … + a1x1 + a0, where the aj are the constants and x is the variable. polynomial running time - If the running time, given as a function of the length of the input is a polynomial the algorithm is said to have polynomial running time. Polynomial running time algorithms are sub-exponential, but not all sub-exponential algorithms are polynomial running time. POP3 – the most common (in 2002) email protocol in use on the internet. POP stands for “Post Office Protocol”. It dictates the rules an electronic message must follow in order to be handled correctly by the network and the recipient. More detail here (external) precomputation attack - An attack where the adversary precomputes a look-up table of values used to crack encryption or passwords. See also dictionary attack. primality testing - A test that determines, with varying degree of probability, whether or not a particular number is prime. prime factor - A prime number that is a factor of another number is called a prime factor of that number. prime number - Any integer greater than 1 that is divisible only by 1 and itself. privacy - The state or quality of being secluded from the view and or presence of others. private exponent - The private key in the RSA public-key cryptosystem. private key - In public-key cryptography, this key is the secret key. It is primarily used for decryption but is also used for encryption with digital signatures. prng - Pseudo Random Number Generator. Software (usually) which produces a pseudorandom sequence. Several prngs are considered to be sufficiently strong to be used in cryptographic applications. Their weakness is a vulnerability to known plaintext attack and the possibility of weak or reused seeds. proactive security - A property of a cryptographic protocol or structure which minimizes potential security compromises by refreshing a shared key or secret. probabilistic signature scheme(PSS) - A provably secure way of creating signatures using the RSA algorithm. protocol - A series of steps that two or more parties agree upon to complete a task. provably secure - A property of a digital signature scheme stating that it is provably secure if its security can be tied closely to that of the cryptosystem involved. See also digital signature scheme. pseudorandom number - A number extracted from a pseudorandom sequence. pseudorandom sequence - A deterministic function which produces a sequence of bits with qualities similar to that of a truly random sequence. Cryptographically strong prngs can produce sequences which pass all reasonable tests for randomness such as the Diehard tests created by George Marsaglia. The weakness with pseudorandom sequences is that they are vulnerable to known plaintext attacks and weak or reused seeds unless you use a hash generator based prng PSS - See probabilistic signature scheme. public exponent - The public key in the RSA public-key cryptosystem. public key - In public-key cryptography this key is made public to all, it is primarily used for encryption but can be used for verifying signatures. public-key cryptography - Cryptography based on methods involving a public key and a private key. Currently this is the most widespread secure communications technique. Its main advantage is its handling of the Key Distribution problem. Its main disadvantage is the need for a comprehensive infrastructure - particularly of Key Servers and Trusted Third Parties - to support it, together with cumbersome and less than intuitive software to control it. quadratic sieve - A method of factoring an integer, developed by Carl Pomerance. quantum computer - A theoretical computer based on ideas from quantum theory; theoretically it is capable of operating nondeterministically. RFID - Radio Frequency Identification Device. Most familiarly they are the devices used by some shops to tag expensive items and prevent shoplifting. The are two categories of RFID, active (with their own power source) and passive (no power source, they extract the energy they need to respond from the radio wave broadcast itself). Passive are much cheaper than active, but much less versatile and much lower detection range (typically a few centimetres, though some now claim ranges up to 2 metres - in contrast the range of an active RFID can be tens of miles/kilometres). If a passive RFID could be manufactured for a fraction of a cent or penny, and have a range of around 2 metres, and store around 32 bytes of data, the Codel system could be used to prevent virtually all shoplifting. RSA algorithm - A public-key cryptosystem based on the factoring problem. RSA stands for Rivest, Shamir and Adleman, the developers of the RSA public-key cryptosystem and the founders of RSA Data Security, Inc. random number - As opposed to a pseudorandom number, a truly random number is a number produced independently of its generating criteria. For cryptographic purposes, only numbers based on certain quantum events, such as the timing of radioactive decay events are considered truly random. However, the importance of randomness is that the keystream it produces must be beyond human or digital computation. That is a somewhat lower hurdle to pass. reduced keyspace - When using an n bit key, some implementations may only use r < n bits of the key; the result is a smaller (reduced) key space. relatively prime - Two integers are relatively prime if they have no common factors, i.e. (14, 25). reverse engineer - To ascertain the functional basis of something by taking it apart and studying how it works. root certificate - A self-signed certification authority certificate.
It is called a root certificate because it is the certificate for the
root authority. The root authority must sign its own certificate because
there is no higher certifying authority in the certification hierarchy.
See also certificate; certification authority; root certification authority.
rounds - The number of times a function, called a round function, is applied to a block in a Feistel cipher. running time - A measurement of the time required for a particular algorithm to run as a function of the input size. See also exponential running time, nondeterministic polynomial running time, polynomial running time, and sub-exponential running time. S-HTTP - Secure HyperText Transfer Protocol, a secure way of transferring information over the World Wide Web. S/MIME - Secure Multipurpose Internet Mail Extensions. SSL - Secure Socket Layer. A protocol used for secure Internet communications. SWIFT - Society for Worldwide Interbank Financial Telecommunications. salt - A string of random (or pseudorandom) bits concatenated with a key or password to foil precomputation attacks by extending the keyspace the attacker has to search. satisfiability problem - Given a Boolean expression determine if there is an assignment of 1's and 0's such that the expression evaluates to 1. This is hard problem. secret key - In secret-key cryptography, this is the key used both for encryption and decryption. secret sharing - Splitting a secret (e.g. a private key) into many pieces such that any specified subset of N pieces may be combined to form the secret. secure channel - A communication medium safe from the threat of eavesdroppers. seed - a typically random bit sequence used to generate another, usually longer pseudorandom bit sequence. Examples of weak seeds include those generated by a human users, or those based on system timers. Human beings are not good at creating strong passwords or random seeds and tend to re-use them. If a weak seed is used to create a keystream from a known prng is known then the keystream is much more likely to be compromised. self-shrinking generator - A stream cipher where the output of an LFSR is allowed to feed back into itself. self-synchronous - Referring to a stream cipher, when the keystream is dependent on the data and its encryption. session key - A key for symmetric-key cryptosystems which is used for the duration of one message or communication session SET - Secure Electronic Transaction. MasterCard and Visa developed (with some help from industry) this standard jointly to insure secure electronic transactions. shared key - The secret key two (or more) users share in a symmetric-key cryptosystem. shrinking generator - A stream cipher built around the interaction of the outputs of two LFSRs. See also stream cipher and linear feedback shift register. Skipjack - The block cipher contained in the Clipper chip designed by the NSA. SMTP - Simple Mail Transfer Protocol. smartcard - A card, not much bigger than a credit card, that contains a computer chip and is used to store or process information. special-purpose factoring algorithm - A factoring algorithm which is efficient or effective only for some numbers. See also factoring and prime factors. standards - Conditions and protocols set forth to allow uniformity within communications and virtually all computer activity. stream cipher - A secret-key encryption algorithm that operates on a bit at a time. stream cipher based MAC - MAC that uses linear feedback shift registers (LFSR's) to reduce the size of the data it processes. strong prime - A prime number with certain properties chosen to defend against specific factoring techniques. sub-exponential running time - The running time is less than exponential. Polynomial running time algorithms are sub-exponential, but not all sub-exponential algorithms are polynomial running time. sub key - A value generated during the key scheduling of the key used during a round in a block cipher. subset sum problem - A problem where one is given a set of numbers and needs to find a subset that sums to a particular value. S/WAN - Secure Wide Area Network. symmetric cipher - An encryption algorithm that uses the same key is used for encryption as decryption. symmetric key - See secret key. synchronous - A property of a stream cipher, stating that the keystream is generated independently of the plaintext and ciphertext. tamper resistant - In cryptographic terms, this usually refers to a hardware device that is either impossible or extremely difficult to reverse engineer or extract information from. TCSEC - Trusted Computer System Evaluation Criteria. threshold cryptography - Splitting a secret (for example a private key) into many pieces such that only certain subsets of the N pieces may be combined to form the secret. timestamp - see digital timestamp tractable - A property of a problem, stating that it can be solved in a reasonable amount of time using a reasonable amount of space. trap door one-way function - A one-way function that has an easy-to-compute inverse if you know certain secret information. This secret information is called the trap door. traveling salesman problem - A hard problem. The problem is: given a set of cities, how does one tour all the cities in the minimal amount of distance traveled. trustees - A common term for escrow agents. Turing machine - A theoretical model of a computing device, devised by Alan Turing. verification - The act of recognizing that a person or entity is who or what it claims to be. Vernam cipher - See one-time pad. volatile key - A volatile key exists only in electronic memory and only for a short time. If the software using or generating the key is designed properly, it should be impossible (or at least very difficult) for the key to leak or be copied to the hard disk or swapfile of the machine on which it exists. WAN - Wide Area Network. The Web is the largest example of a WAN but when the term is used it rarely refers to the Web but rather to a private WAN such as retail chains set up between their stores and their administrative centres. weak key - A key giving a poor level in security, or causing regularities in encryption which can be used by cryptanalysts to break codes. WORM - Write Once Read Many devices can be written to once only, and read until the media wears out. This provides a valuable link in the security chain. It means that we can have a reliable permanent record of what data we are uploading to the online database. The WORM media we'll be using are CDs or DVDs but electronic WORMs are also available (ROMs (Read Only Memory) were once written to!). And of course, clay tablets, paper and ink and one or two other WORM devices have been around for a while. WWW - World Wide Web. XOR - A binary bitwise operator yielding the result "one" if the two values are different and "zero" otherwise. zero knowledge proofs - An interactive proof where the prover proves to the verifier that he or she knows certain information without revealing the information. Our online VR validation is an example |
|
|
(Thanks to Ben Lamb for much of the Crypto glossary which
was copied from his site |
||
![]() |