Tag Info

Hot answers tagged

8

Randomness is not a property of strings of bits (or characters of any sort). Rather it is a property of the process that generates those strings. However, it is convenient to conflate the string with the thing that produced the string, and thus to speak about strings being 'random' or 'not random'. The string '00000', for example, is random if it was the ...


8

"Cycles" are CPU instruction cycles. Cycles per byte roughly measures how many instructions, in a given instruction set, are needed to produce each byte of output. They're a reasonably-good relative measure of the performance of different algorithms. Generally, when you measure an algorithm's cycles per byte, you use carefully controlled conditions. You ...


7

In this context 'security margin' is a measure for how much better we need to get at analyzing a cipher to break it. Such advances in cryptoanalysis require new ideas of how one might attack a cipher. Thus estimating how strong a cipher is, is hard. Ultimately we can only tell something is broken, after we've broken it. We typically look at a few ...


7

There are multiple metrics for work or effort needed: Amount of operations it takes (one operations is, for instance, one invocation of hash function or number of modular multiplication operations) Amount of money it takes Amount of memory it takes Amount of time it takes Strength in bits Amount of operations Usually, if amount of operations is large ...


7

Thought I'd begin with some references for you that might be of interest. These terms are used as key 'selling points' for a number of schemes, including many of the CAESAR submissions. Some examples using the terms specifically are given below - most of which are from CAESER because I have the zoo in-front of me: "Online": OCB, Ascon, CBA, APE, NORX ...


6

This is a simple substitution cipher, specifically a mixed/deranged alphabet cipher. See wikipedia's description: Substitution of single letters separately—simple substitution—can be demonstrated by writing out the alphabet in some order to represent the substitution. This is termed a substitution alphabet. The cipher alphabet may be shifted or reversed ...


6

In my practice (Smart Cards, often using DES and increasingly AES) Key Expansion is often used to designate production of subkeys in a block cipher. This process is often a mere bit extraction, as part of the algorithm's Key Schedule. Key Diversification is, almost exclusively, the process of producing a device key from its serial number (or other ...


6

The Diffie-Hellman key exchange is a public-key technology. It is (by itself) not an encryption algorithm (or signature algorithm), though. Here is the basic function: (All calculations here happen in a discrete group of sufficient size, where the Diffie-Hellman problem is considered hard, usually the multiplicative group modulo a big prime (for classical ...


6

According to J.-P. Aumasson (who's one of the authors of another SHA-3 finalist, BLAKE, and who participated in the cryptanalysis of Keccak), the name "Keccak" is a variant spelling of "Kecak", a type of Balinese dance. So far, that's the most authoritative reference I've been able to come up with. It should be noted that naming crypto primitives after ...


6

As noted in this answer and this answer to another question, permutation is just a mathematical term for a function $\sigma:X{\rightarrow}X$ that maps a finite set $X$ onto itself, in such way that for each $y \in X$ there exists exactly one $x \in X$ such that $\sigma(x) = y$. This is also equivalent to how the term substitution is used in cryptography, so ...


5

A mode of operation is an explicit method by which we use a block cipher (eg AES) to do more than just encrypt one block of data. For example, it may allow us to encrypt multiple blocks of data (eg ECB,CBC etc), provide us with some authenticated encryption (eg GCM) or a method for encrypting disc storage (eg XTS). Rijndael,DES etc are block ciphers. That ...


5

Fair exchange protocols aren't new by any means, but there is a lack of layman-friendly material out there, unfortunately. I think the high prevalence of theoretical cryptography in fair exchange protocols may be partially responsible for that. At any rate, here is the basic idea behind a fair exchange protocol. Suppose you have two parties, Alice and Bob, ...


4

Many block ciphers are defined by specifying a round and then running that specification multiple times. For example, in AES, a round consists of the operations SubBytes, ShiftRows, MixColumns, AddRoundKey. That is one round and, to get AES, you run that multiple times (plus some setup and some post-processing). Thus a round is defined by each cipher and ...


4

As @CodesInChaos explains: It might refer to blind signatures. It also might refer to a method to harden (typically) RSA implementations against timing/side-channel attacks, by blinding the data before operating on it. Example: suppose you are writing code to decrypt data, i.e., to compute $y=x^d \bmod n$, given the input $x$. The naive way to do is just ...


4

I have seen that used in the context of session keys, to describe how a key is tied to an identity without any certificate relative to that key could only be known by another identified party, without assurance that this party ever held that key. For example, one generates a random symmetric key, encrypts it using (say) RSA and a public key, and sends the ...


4

I don't have my copy of Katz & Lindell in front of me, but using the term "simulator" in the context of, say, an IND-CPA definition, is not exactly in line with standard usage in current literature. (But still an ok choice of words which is excusable for a textbook.) Here's the breakdown of "game-based" vs. "simulation-based" definitions: Both styles ...


4

A "cipher" is the algorithm which encrypts and decrypts data, while the "cipher-mode" defines how the cipher encrypts and decrypts it. In other words: ciphers are the cryptographic algorithms that you use to encrypt/decrypt data, while cipher-modes define the "mode of operation" for applying the cipher. Both are complementary and can be chosen separately. ...


4

To be concise, true randomness boils down to the selected data being causally unrelated. That is, if each piece of data is the result of no common cause, then there is no relation by which the rest of the data can be predicted or inferred. So being unpredictable is a consequence of being truly random, but it is the lack of causal relationship that is the ...


3

Hard-core bits are related to one-way functions. For some intuition on what hard-core bits are, consider a one-way function $f$. SInce it's a one-way function, it's hard to invert: that is, if I select a random $x$ in the function's domain and give you $f(x)$, you cannot find a $x'$ such that $f(x) = f(x')$ with non-negligible probability in probabilistic ...


3

Quoting from "On beating the hybrid argument" (by Bill Fefferman, Ronen Shaltiel, Christopher Umans and Emanuele Viola; 2012): The hybrid argument allows one to relate the distinguishability of a distribution (from uniform) to the predictability of individual bits given a prefix. The argument incurs a loss of a factor k equal to the bit-length of the ...


3

Randomness is the information loss of any causal relationship between events. The universe needn't be a clockwork universe for the assumption of pervasive causality - if events are "sticky" and accrue localised causality in the same way that a molecular cloud accretes into stars and planets. The underlying cause of the speed of light might also be the prime ...


3

In general, a cipher is simply any algorithm for encrypting data. It's a really broad term, and might cover anything from ancient substitution ciphers like the Caesar cipher to modern-day public-key ciphers like RSA. In modern cryptography, there are two commonly encountered types of symmetric (i.e. not public-key) ciphers: block ciphers and stream ...


3

It's sometimes called a keyword cipher. As dr jimbob notes, it's a particular type of monoalphabetic substitution cipher. Ps. See also this recent question about breaking such ciphers.


3

Protocol refers to a highly structured mode of operation. A protocol acts in a very specific way which is laid out, it is not possible to deviate from a protocol without failure. Scheme refers to a more generalised set of solutions to a problem, not defining any particular way that it should be done. For example, A cryptographic communication scheme ...


3

As @mikeazo correctly states, I don't think there is any formal or precise definition for the term "scheme". It is probably used loosely in a way that might well mean a "protocol", "mode of operation", "cryptosystem", "cryptographic algorithm", or even something else entirely.


3

The protocol outlined in the question is Diffie-Hellman key exchange with artificially small $p$. Beware that one thing is misleading in this exposition: for $p$ of practical interest, that is of some thousand(s) bits, when computing $g^a\bmod p$, one does not computes $g^a$ then reduce $\bmod p$ as shown, because $g^a$ is too huge. Instead, one reduces ...


3

With this amount of information it is hard to advice. Previously when somebody asked about new algorithm he had produced, he was answered: Answer to Where could I submit my algorithm?. No matter what kind of cryptographic work, generally large part of that answer applies. If we knew anything about the work (like on which existing algorithms or problems you ...


2

Scheme would be more like the plan, design, or program of action to be followed. It differs from protocol in this context because it might not effect or manipulate any data or other tangible asset. Protocol relates more to the conventions and treatment surrounding the formatting of the data used in electronic communications systems


2

In a signature scheme with appendix (such as RSASSA-PSS), the signature $s=Sign(M,PrivateKey)$ of the message $M$ is usually appended to the unmodified message $M$, forming $(M,s)$. This is effectively sent, and verified; the signature is an appendix to the message. Signature scheme with appendix opposes to signature scheme with message recovery (such as ...


2

Unified addition means that the formula you use for adding two points doesn't depend on whether they are equal. Simplifying point addition in the Weierstrass form somewhat $s=(y_A-y_b)/(x_A-x_b)$ when $A\neq B$ - this is "Adding". Otherwise $s=(3x_A^2-p)/{2y_A}$ when doubling a point. The implementation of these steps would normally involve different code ...



Only top voted, non community-wiki answers of a minimum length are eligible