Hot answers tagged

14

The example is using a shorthand notation for the rotors that somewhat obscures the way they actually work. For example, the first rotor in your example, BDFHJLCPRTXVZNYEIWGAKMUSQO, actually applies the following permutation of the alphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZ ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ BDFHJLCPRTXVZNYEIWGAKMUSQO Applying this rotor in the ...


9

I'll review the standard mathematical notations used for $H_1:\{0,1\}^*\times\mathbb Z_p^∗\to\mathbb Z_q^∗$ , going from the bottom up. Hopefully, that will make the rest evident. $\{0,1\}$ is the set with the two elements $0$ and $1$, known as Booleans. $\{0,1\}^k$ (for some non-negative integer $k$ ) is the set of tuples with $k$ Booleans, or ...


8

The symbol of the circle with the + in it is one of many symbols for exclusive-or. XOR, EOR, EXOR, ⊻, ⊕, ↮, and ≢. Binary OR is true when either input is true; binary XOR is true when exactly one input is true. If both inputs are true, the XOR result is false. One property of this is that if either input bit flips, the output bit will also flip. That's sort ...


6

This example is correct. The inversed versions are the inverse permutation; that is, if the forward direction is the permutation $P$, then the inverse permutation $P^{-1}$ has the property that $P^{-1}(P(X)) = X$ for all $X$. That is, if $X$ is a plaintext letter, and we run it through in the forward direction (giving us $P(X)$), and then run it through in ...


3

It's exclusive or (or XOR), corresponds to $x \oplus y := x+y \pmod 2$ for single bits, i.e., scalars. It is sometimes used for binary vectors as well, whereby two bitvectors of length $n$ $$ \mathbf{x}=(x_1,\ldots,x_n)$$ and $$ \mathbf{y}=(y_1,\ldots,y_n)$$ result in $$ \mathbf{x}\oplus \mathbf{y}=(x_1\oplus y_1,\ldots,x_n \oplus y_n) $$ i.e., a bitwise ...


3

There is no standard way, and I think it's impossible to find universal agreement. However, it is pretty common to use lowercase letters for integers and uppercase letters for elliptic curve points. And it is very common to indicate as p the prime defining the field $\mathbb F_p$ over which the curve is defined. For the order of the curve you can use ...


2

This is string notation: $J_i^0=0^{i-1}10^{k-i}$ means i-1 consecutive 0's followed by a 1 (we don't write $1^1$) which is then followed by k-i consecutive 0's. So $0^{3}10^{4}$ is $00010000$. As for $S^t[i,x]=\langle J_i^t,x\rangle$, with $t\in \{0,1\}$ this is an inner product of $J_i^t$ with $x=(x_1,\ldots,x_k) \in \{0,1\}^k$ so in general $S^t[i,x]=x_i$ ...


1

As Ricky Demer already mentioned, $h$ is a hash function. In the realms of cryptography, it mostly points to a secure hash function. But in the end, it doesn’t matter if it’s a secure hash or not… $h$ is standard notation for “hash”.


1

There is no standard (let alone correct) notation for elliptic curves, or anything else for that matter. It is up to each author to precisely state which notation is used for what.



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