aarjaneiro/planetmath huggingface dataset:
Merkle-Hellman scheme

Merkle-Hellman scheme

The

Merkle-Hellman

cryptosystem

was one of the earliest examples of

public key cryptography

, and depends on the

NP-complete problem

“SUBSET SUM” for its security.

Suppose Bob wants to send Alice a message.

Alice generates private key

a

1

,

a

2

,

…

⁢

a

n

which is a

superincreasing sequence

. She then picks

d

≫

∑

i

=

1

n

a

i

and

h

comprime with

d

. Using the

euclidean algorithm

, she finds

h

-

1

such that

h

⁢

h

-

1

≡

1

(

mod

⁢

d

)

.

Alice now generates her public key

b

1

,

b

2

,

…

⁢

b

n

where

b

i

=

h

⁢

a

i

(

mod

⁢

d

)

and sends this to Bob.

Bob breaks up his message into binary strings of length

n

. To send the string

m

1

⁢

m

2

⁢

…

⁢

m

n

to Alice, he forms

C

=

∑

i

=

1

n

m

i

⁢

b

i

and sends

C

to Alice.

On receiving

C

, Alice forms

V

=

h

-

1

⁢

C

(

mod

⁢

d

)

. Now, since

b

i

=

h

⁢

a

i

(

mod

⁢

d

)

, we have that

V

=

∑

i

=

1

n

m

i

⁢

a

i

. Since

a

i

is a superincreasing sequence, it is easy to recover the

m

i

if you know

V

and

a

i

, and it takes

O

⁢

(

n

)

arithmetic operations

.

In 1982, a fast

algorithm

was found for recovering the message knowing only the public key and the cryptogram

C

. It takes advantage of the fact that the public key

b

i

is not generated in a random way, but comes from a superincreasing sequence.

Title

Merkle-Hellman scheme

Canonical name

MerkleHellmanScheme

Date of creation

2013-03-22 15:12:40

Last modified on

2013-03-22 15:12:40

Owner

aoh45 (5079)

Last modified by

aoh45 (5079)

Numerical id

5

Author

aoh45 (5079)

Entry type

Definition

Classification

msc 94A60

Synonym

Merkle-Hellman cryptosystem

Generated on Sat Feb 10 13:42:51 2018 by

LaTeXML
public key cryptography

public key cryptography

The basic idea behind

public key cryptography

, is that a user can publish (for instance on the internet) all the

information

needed to send them an encypted message, but for this information to be insufficient to decrypt the message in

reasonable time

. In general, this time requirement is taken to that, if the public key has length

n

(over a particular

alphabet

), then the message cannot be decrypted in time

≤

p

⁢

(

n

)

for any polynomial

p

.

The information published to all users is called the

public key

, and the additional information needed to decrypt a message is a users

private key

.

Public key cryptography was first conceived by James Ellis in 1969, and a workable scheme was developed in 1973. This was kept secret however, and it was not until 1978 that two schemes were announced publicly. These were the

Merkle-Hellman

scheme, and the

RSA

scheme.

Title

public key cryptography

Canonical

name

PublicKeyCryptography

Date of creation

2013-03-22 15:12:38

Last modified on

2013-03-22 15:12:38

Owner

aoh45 (5079)

Last modified by

aoh45 (5079)

Numerical id

4

Author

aoh45 (5079)

Entry type

Definition

Classification

msc 94A60

Generated on Sat Feb 10 13:42:52 2018 by

LaTeXML
RSA

RSA

RSA

is an example of

public key cryptography

. It is a widely used system, relying for its security on the difficulty of

factoring

a large number.

Alice forms her public and private keys as follows:

•

Chooses large primes

p

and

q

, then form

n

=

p

⁢

q

.

•

Chooses e

coprime

with

ϕ

⁢

(

n

)

=

(

p

-

1

)

⁢

(

q

-

1

)

.

•

Publishes

(

n

,

e

)

as her public key.

•

Computes private key

d

such that

d

⁢

e

≡

1

mod

⁢

ϕ

⁢

(

n

)

.

To encrypt a message

M

(where

M

<

n

) the user Bob forms

C

=

M

e

mod

⁢

n

.

To decrypt the message, Alice forms

d

⁢

(

C

)

=

C

d

mod

⁢

n

.

This recovers message

M

because:

d

⁢

(

C

)

=

C

d

mod

⁢

n

=

(

M

e

+

r

⁢

n

)

d

mod

⁢

n

for some

⁢

r

=

(

M

(

p

-

1

)

)

t

⁢

(

q

-

1

)

⁢

M

mod

⁢

n

for some

⁢

t

≡

(

1

+

s

⁢

p

)

t

⁢

(

q

-

1

)

⁢

M

mod

⁢

p

for some

⁢

s

≡

M

mod

⁢

p

So

d

⁢

(

C

)

≡

M

mod

⁢

p

and similarly,

d

⁢

(

C

)

≡

M

mod

⁢

q

so by the

Chinese remainder theorem

,

d

⁢

(

C

)

≡

M

mod

⁢

n

, and since we know

M

<

n

we know that

M

=

d

⁢

(

C

)

.

Title

RSA

Canonical name

RSA

Date of creation

2013-03-22 15:14:50

Last modified on

2013-03-22 15:14:50

Owner

aoh45 (5079)

Last modified by

aoh45 (5079)

Numerical id

5

Author

aoh45 (5079)

Entry type

Definition

Classification

msc 94A60

Synonym

RSA cryptosystem

Generated on Sat Feb 10 13:42:54 2018 by

LaTeXML
traditional names for roles in cryptography

traditional names for roles in cryptography

In the field of

cryptography

, protocols are described and analysed to allow a number of parties to achieve certain goals like communication, authentication, voting etc. Initially these protocol descriptions used single letter

variables

in the style “Let A and B be parties trying to communicate with the help of a mutually trusted entity C.”. This gave rise to a lot of repetition so a sort of pseudo-standard has arisen that uses first names for some of the standard roles.
Common are Alice and Bob as the first two parties in a protocol. If more parties are needed, the following ones are Carol and Dave. Eve is a passive attacker, an eavesdropper. Mallory is an active attacker. Trent is a trusted third party like a mutually known key server. In the field of prove carrying code, there’s Peggy the prover and Victor the verifier. The list at wikipedia (http://en.wikipedia.org/wiki/Characters_in_cryptography) contains even more elements from this bestiary.

Title

traditional names for roles in cryptography

Canonical

name

TraditionalNamesForRolesInCryptography

Date of creation

2013-03-22 15:13:41

Last modified on

2013-03-22 15:13:41

Owner

lieven (1075)

Last modified by

lieven (1075)

Numerical id

6

Author

lieven (1075)

Entry type

Definition

Classification

msc 94A60

Generated on Sat Feb 10 13:42:56 2018 by

LaTeXML
Heaps’ law

Heaps’ law

Heaps’ law

describes the portion of a vocabulary which is represented by an

instance

document (or set of instance documents) consisting of words chosen from the vocabulary. This can be formulated as

V

R

⁢

(

n

)

=

K

⁢

n

β

Where

V

R

is the portion of the vocabulary

V

(

V

R

⊆

V

) represented by the instance text of size

n

.

K

and

β

are free

parameters

determined empirically.

With English text corpuses, typically

K

is between 10 and 100, and

.4

≤

β

≤

.6

.

(generated by GNU Octave and gnuplot)

Figure 1:

A typical Heaps-law plot. The y-axis represents the text size, and the x-axis represents the number of distinct vocabulary

elements

present in the text. Compare the values of the two axes.

Heaps’ law means that as more instance text is gathered, there will be diminishing returns in terms of discovery of the full vocabulary from which the distinct terms are drawn.

It is interesting to note that Heaps’ law applies in the general case where the “vocabulary” is just some set of distinct types which are

attributes

of some

collection

of objects. For example, the objects could be people, and the types could be country of origin of the person. If persons are selected randomly (that is, we are not selecting based on country of origin), then Heaps’ law says we will quickly have representatives from most countries (in proportion to their population) but it will become increasingly difficult to cover the entire set of countries by continuing this method of sampling.

1

References

•

Baeza-Yates and Ribeiro-Neto,

Modern Information Retrieval

, ACM Press, 1999.

Title

Heaps’ law

Canonical

name

HeapsLaw

Date of creation

2013-03-22 13:01:56

Last modified on

2013-03-22 13:01:56

Owner

akrowne (2)

Last modified by

akrowne (2)

Numerical id

6

Author

akrowne (2)

Entry type

Definition

Classification

msc 94A99

Classification

msc 68P20

Classification

msc 60E05

Generated on Sat Feb 10 13:42:57 2018 by

LaTeXML
automorphism group (linear code)

automorphism group (linear code)

Let

𝔽

q

be the finite field with

q

elements

. The group

ℳ

n

,

q

of

n

×

n

monomial matrices

with entries in

𝔽

q

acts on the set

ℭ

n

,

q

of

linear codes

over

𝔽

q

of
block length

n

via the

monomial transform

: let

M

=

(

M

i

⁢

j

)

i

,

j

=

1

n

∈

ℳ

n

,

q

and

C

∈

ℭ

n

,

q

and set

C

M

:=

{

(

∑

i

=

1

n

M

i

⁢

1

⁢

c

i

,

…

,

∑

i

=

1

n

M

i

⁢

n

⁢

c

i

)

∣

(

c

1

,

…

,

c

n

)

∈

C

}

.

This definition looks quite complicated, but since

M

is , it
really just means that

C

M

is the linear code obtained from

C

by
permuting its

coordinates

and then multiplying each coordinate with
some nonzero element from

𝔽

q

.

Two linear codes lying in the same orbit with respect to this action
are said to be

equivalent

. The

isotropy subgroup

of

C

is its

automorphism group

, denoted by

Aut

⁡

(

C

)

. The elements
of

Aut

⁡

(

C

)

are the

automorphisms

of

C

.

Sometimes one is only interested in the action of the

permutation
matrices

on

ℭ

n

,

q

. The permutation matrices form a

subgroup

of

ℳ

n

,

q

and the resulting subgroup of the automorphism group

Aut

⁡

(

C

)

of a linear code

C

∈

ℭ

n

,

q

is called the

permutation group

. In the case of binary codes, this doesn’t
make any

difference

, since the finite field

𝔽

2

contains only
one nonzero element.

Title

automorphism group (linear code)

Canonical name

AutomorphismGrouplinearCode

Date of creation

2013-03-22 15:18:40

Last modified on

2013-03-22 15:18:40

Owner

GrafZahl (9234)

Last modified by

GrafZahl (9234)

Numerical id

5

Author

GrafZahl (9234)

Entry type

Definition

Classification

msc 94B05

Synonym

automorphism group

Related topic

LinearCode

Defines

monomial transform

Defines

equivalent

Defines

equivalent code

Defines

automorphism

Defines

permutation group

Generated on Sat Feb 10 13:43:00 2018 by

LaTeXML
dual code

dual code

Let

C

be a linear code of block length

n

over the

finite field

𝔽

q

. Then the set

C

⟂

:=

{

d

∈

𝔽

q

n

∣

c

⋅

d

=

0

⁢

for all

⁢

c

∈

C

}

is the

dual code

of

C

. Here,

c

⋅

d

denotes either the
standard

dot product

or the

Hermitian dot product

.

This

definition

is reminiscent of

orthogonal complements

of

http://planetmath.org/node/5398

finite
dimensional

vector spaces

over the real or

complex numbers

. Indeed,

C

⟂

is also a linear code and it is true that if

k

is the

http://planetmath.org/node/5398

dimension

of

C

, then the of

C

⟂

is

n

-

k

. It is, however,

not

necessarily true that

C

∩

C

⟂

=

{

0

}

. For example, if

C

is the binary code of block
length

2

http://planetmath.org/node/806

spanned by the codeword

(

1

,

1

)

then

(

1

,

1

)

⋅

(

1

,

1

)

=

0

,
that is,

(

1

,

1

)

∈

C

⟂

. In fact,

C

equals

C

⟂

in this
case. In general, if

C

=

C

⟂

,

C

is called

self-dual

. Furthermore

C

is called

self-orthogonal

if

C

⊆

C

⟂

.

Famous examples of self-dual codes are the extended binary Hamming
code of block length

8

and the

extended binary Golay code

of block
length

24

.

Title

dual code

Canonical

name

DualCode

Date of creation

2013-03-22 15:13:29

Last modified on

2013-03-22 15:13:29

Owner

GrafZahl (9234)

Last modified by

GrafZahl (9234)

Numerical id

6

Author

GrafZahl (9234)

Entry type

Definition

Classification

msc 94B05

Related topic

LinearCode

Related topic

OrthogonalComplement

Defines

self-dual

Defines

self-orthogonal

Generated on Sat Feb 10 13:43:02 2018 by

LaTeXML
even code

even code

A

binary code

is called

even

if the

Hamming weight

of all its

codewords

is even. Furthermore, a binary code is called

doubly-even

if the Hamming weight of all its codewords is

divisible

by

4

. An

even code

which is not doubly-even is said to be

strictly

even

.

Examples of doubly-even codes are the extended binary

Hamming code

of
block length

8

and the

extended binary Golay code

of block length

24

. These two codes are, in

addition

,

self-dual

.

Title

even code

Canonical

name

EvenCode

Date of creation

2013-03-22 15:15:42

Last modified on

2013-03-22 15:15:42

Owner

GrafZahl (9234)

Last modified by

GrafZahl (9234)

Numerical id

4

Author

GrafZahl (9234)

Entry type

Definition

Classification

msc 94B05

Related topic

LinearCode

Defines

doubly-even code

Defines

strictly even code

Generated on Sat Feb 10 13:43:03 2018 by

LaTeXML
linear code

linear code

Often in coding , a code’s

alphabet

is taken to be a finite field. In particular, if

A

is the finite field with two (resp. three, four, etc.) elements, we call

C

a binary (resp. ternary, quaternary, etc.) code. In particular, when our alphabet is a finite field then the set

A

n

is a

vector space

over

A

, and we define a

linear code

over

A

of block length

n

to be a

subspace

(as opposed to merely a subset) of

A

n

. We define the

dimension

of

C

to be its dimension as a vector space over

A

.

Though not sufficient for unique

classification

, a linear code’s block length, dimension, and minimum distance are three crucial

parameters

in determining the strength of the code. For referencing, a linear code with block length

n

, dimension

k

, and minimum distance

d

is referred to as an

(

n

,

k

,

d

)

-code.

Some examples of linear codes are

Hamming Codes

,

BCH codes

, Goppa codes, Reed-Solomon codes, and the

Golay code

(

http://planetmath.org/BinaryGolayCode

).

Title

linear code

Canonical

name

LinearCode

Date of creation

2013-03-22 14:21:24

Last modified on

2013-03-22 14:21:24

Owner

mathcam (2727)

Last modified by

mathcam (2727)

Numerical id

7

Author

mathcam (2727)

Entry type

Definition

Classification

msc 94B05

Related topic

CyclicCode

Related topic

WeightEnumerator

Related topic

DualCode

Related topic

EvenCode

Related topic

AutomorphismGroupLinearCode

Defines

binary code

Defines

ternary code

Defines

quaternary code

Defines

dimension of a linear code

Generated on Sat Feb 10 13:43:07 2018 by

LaTeXML
cyclic code

cyclic code

Let

C

be a

linear code

over a

finite field

A

of block length

n

.

C

is called a

cyclic code

, if for every

codeword

c

=

(

c

1

,

…

,

c

n

)

from

C

, the word

(

c

n

,

c

1

,

…

,

c

n

-

1

)

∈

A

n

obtained by a right shift of is also a codeword from

C

.

Sometimes,

C

is called

the

c

-cyclic code, if

C

is the smallest cyclic code containing

c

, or, in other words,

C

is the linear code generated by

c

and all codewords obtained by shifts of its .

For example, if

A

=

𝔽

2

and

n

=

3

, the codewords contained in the

(

1

,

1

,

0

)

-cyclic code are precisely

(

0

,

0

,

0

)

,

(

1

,

1

,

0

)

,

(

0

,

1

,

1

)

⁢

and

⁢

(

1

,

0

,

1

)

.

Trivial examples of cyclic codes are

A

n

itself and the code containing only the zero codeword.

Title

cyclic code

Canonical name

CyclicCode

Date of creation

2013-03-22 15:12:56

Last modified on

2013-03-22 15:12:56

Owner

GrafZahl (9234)

Last modified by

GrafZahl (9234)

Numerical id

6

Author

GrafZahl (9234)

Entry type

Definition

Classification

msc 94B15

Related topic

LinearCode

Related topic

Code

Generated on Sat Feb 10 13:43:09 2018 by

LaTeXML
Hamming distance

Hamming distance

1

Hamming Distance

In comparing two bit patterns, the

Hamming distance

is the count of bits different in the two patterns. More generally, if two ordered lists of items are compared, the Hamming distance is the number of items that do not identically agree. This

distance

is applicable to encoded information, and is a particularly simple metric of comparison, often more useful than the

city-block distance

or

Euclidean distance

.

The Hamming distance is a true metric, as it induces a metric space on the set of ordered lists of some fixed length.

References

1

The Data Analysis Briefbook,

http://rkb.home.cern.ch/rkb/titleA.html

http://rkb.home.cern.ch/rkb/titleA.html

Title

Hamming distance

Canonical

name

HammingDistance

Date of creation

2013-03-22 12:07:05

Last modified on

2013-03-22 12:07:05

Owner

Mathprof (13753)

Last modified by

Mathprof (13753)

Numerical id

11

Author

Mathprof (13753)

Entry type

Definition

Classification

msc 94C99

Classification

msc 05C12

Related topic

Metric

Related topic

HammingMetric

Generated on Sat Feb 10 13:43:20 2018 by

LaTeXML
numerable set

numerable set

Let

X

be a set. An

enumeration

on

X

is a

surjection

from the set of natural numbers

ℕ

to

X

.

A set

X

is called

numerable

if there is a

bijective

enumeration on

X

.

It is easy to show that

ℤ

and

ℚ

are numerable.

It is a standard fact that

ℝ

is not numerable. For, if we suppose that the numbers [0,1] were

countable

, we can arrange them in a list (given by the supposed bijection).

Representing them in a binary form, it is not hard to construct an

element

in [0,1], which is not in the list.

This

contradiction

implies that [0,1]

⊂

ℝ

is not numerable.

Remark

. If the enumeration

ℕ

→

X

is furthermore a

computable function

, then we say that

X

is

enumerable

. There exists numerable sets that are not enumerable.

Title

numerable set

Canonical name

NumerableSet

Date of creation

2013-03-22 16:01:32

Last modified on

2013-03-22 16:01:32

Owner

juanman (12619)

Last modified by

juanman (12619)

Numerical id

11

Author

juanman (12619)

Entry type

Definition

Classification

msc 97A80

Related topic

Calculus

Related topic

TopicsOnCalculus

Related topic

Denumerable

Related topic

Countable

Defines

enumeration

Defines

enumerable

Generated on Sat Feb 10 13:45:00 2018 by

LaTeXML
absolute value inequalities

absolute value inequalities

Let

a

,

b

,

c

∈

ℝ

and

f

⁢

(

x

)

∈

ℝ

⁢

[

x

]

. There is a

mnemonic device

that is useful for solving

inequalities

of the following forms:

a

⁢

|

f

⁢

(

x

)

|

+

b

≤

c

c

≥

a

⁢

|

f

⁢

(

x

)

|

+

b

a

⁢

|

f

⁢

(

x

)

|

+

b

<

c

c

>

a

⁢

|

f

⁢

(

x

)

|

+

b

a

⁢

|

f

⁢

(

x

)

|

+

b

≥

c

c

≤

a

⁢

|

f

⁢

(

x

)

|

+

b

a

⁢

|

f

⁢

(

x

)

|

+

b

>

c

c

<

a

⁢

|

f

⁢

(

x

)

|

+

b

Before using the mnemonic device, the

expression

|

f

⁢

(

x

)

|

should be and on the left hand of the inequality. Once this is accomplished, the

absolute value

must be dealt with: One statement should look to the previous one, the only being that the absolute value are dropped. The other statement should also have the absolute value dropped, but the inequality needs reversed and the number (on the ) needs to be negated.

The two statements as described above should be using either

or

or

and

. The mnemonic that aids in remembering which one to use is

greator less thand

. That is, when the inequality before splitting up has

>

or

≥

, the connector

or

should be used; when the inequality before splitting up has

<

or

≤

, the connector

and

should be used.

Here is an example:

8

>

3

+

|

2

⁢

x

-

7

|

5

>

|

2

⁢

x

-

7

|

|

2

⁢

x

-

7

|

<

5

Since the inequality is

<

,

and

should be used.

2

⁢

x

-

7

<

5

and

2

⁢

x

-

7

>

-

5

2

⁢

x

<

12

and

2

⁢

x

>

2

x

<

6

and

x

>

1

1

<

x

<

6

I would like to thank Mrs. Sue Millikin, who taught me absolute value inequalities in this manner.

Title

absolute value inequalities

Canonical

name

AbsoluteValueInequalities

Date of creation

2013-03-22 15:59:20

Last modified on

2013-03-22 15:59:20

Owner

Wkbj79 (1863)

Last modified by

Wkbj79 (1863)

Numerical id

7

Author

Wkbj79 (1863)

Entry type

Definition

Classification

msc 97D40

Related topic

InequalityWithAbsoluteValues

Defines

greator less thand

Generated on Sat Feb 10 13:45:05 2018 by

LaTeXML
alternative definition of the natural logarithm

alternative definition of the natural logarithm

The

natural logarithm

function

(

http://planetmath.org/NaturalLogarithm2

)

log

⁡

x

can be defined by an

integral

, as shown in the entry to which this entry is attached. However, it can also be defined as the

inverse function

of the

exponential function

exp

⁡

x

=

e

x

.

In this entry, we show that this definition of

log

⁡

x

yields a function that

satisfies

the

logarithm

laws

log

⁡

x

⁢

y

=

log

⁡

x

+

log

⁡

y

and

log

⁡

x

r

=

r

⁢

log

⁡

x

hold for any positive real numbers

x

and

y

and any

real number

r

. We also show that

log

⁡

x

is

differentiable

with respect to

x

on the

interval

(

1

,

∞

)

with

derivative

1

x

. Note that the logarithm laws imply that

log

⁡

1

=

0

. The

mean-value theorem

implies that these properties characterize the

logarithm function

.

The proof of the first logarithm law is straightforward. Let

x

and

y

be positive real numbers. Then using the fact that

e

x

and

log

⁡

x

are inverse functions, we find that

e

log

⁡

x

⁢

y

=

x

⁢

y

=

e

log

⁡

x

⋅

e

log

⁡

y

=

e

log

⁡

x

+

log

⁡

y

.

Since

e

x

is an

injective function

, the equation

e

log

⁡

x

⁢

y

=

e

log

⁡

x

+

log

⁡

y

implies the first logarithm law.

For the second logarithm law, observe that

e

log

⁡

x

r

=

x

r

=

(

e

log

⁡

x

)

r

=

e

r

⁢

log

⁡

x

.

Since

e

x

and

log

⁡

x

are inverse functions and

e

x

is differentiable, so is

log

⁡

x

. We can use the

chain rule

to find a

formula

for the derivative:

1

=

d

⁢

x

d

⁢

x

=

d

d

⁢

x

⁢

[

e

log

⁡

x

]

=

e

log

⁡

x

⁢

d

d

⁢

x

⁢

[

log

⁡

x

]

=

x

⁢

d

d

⁢

x

⁢

[

log

⁡

x

]

.

Hence,

d

d

⁢

x

⁢

[

log

⁡

x

]

=

1

x

.

Title

alternative definition of the natural logarithm

Canonical name

AlternativeDefinitionOfTheNaturalLogarithm

Date of creation

2013-03-22 16:11:10

Last modified on

2013-03-22 16:11:10

Owner

CWoo (3771)

Last modified by

CWoo (3771)

Numerical id

17

Author

CWoo (3771)

Entry type

Topic

Classification

msc 97D40

Related topic

DerivativeOfExponentialFunction

Related topic

DerivativeOfInverseFunction

Related topic

Logarithm

Generated on Sat Feb 10 13:45:07 2018 by

LaTeXML