Top Banner
Cryptography Security Cryptography vs. Steganography Steganography Error-correcting and Covering Codes Steganographic Systems from Error-correcting Codes The F5 Stegosystem Steganography in the Modern World An Analysis of the F5 Steganographic System Kyle Tucker-Davis Department of Mathematics United States Naval Academy Honors Presentation Kyle Tucker-Davis An Analysis of the F5 Steganographic System
27

An Analysis of the F5 Steganographic System

Jan 04, 2017

Download

Documents

dangkhanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

An Analysis of the F5 Steganographic System

Kyle Tucker-Davis

Department of MathematicsUnited States Naval Academy

Honors Presentation

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 2: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Outline

1 Cryptography

2 Security

3 Cryptography vs. Steganography

4 Steganography

5 Error-correcting and Covering Codes

6 Steganographic Systems from Error-correcting Codes

7 The F5 Stegosystem

8 Steganography in the Modern World

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 3: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Cryptography

• Alice/Bob• Eve• Plaintext/Ciphertext• Encryption/Decryption• Key• Cryptosystem

Eve Tries to Learn Plaintext fromCryptosystem used by Alice and Bob

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 4: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Security

1 SecrecyInformation available only to authorized readers

2 Integrity (watermarking)No third party alterations

3 Non-repudiation/Authentication (digital signature)Verification of identities

4 ImperceptibilityInability to detect manipulations

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 5: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Cryptography vs. Steganography

Cryptography vs. Steganography

BEAT ARMY⇓

CFBU BSNZ

Stegocover Containing Another Image

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 6: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

The Basic Goal of Steganography

’Attack at Daylight’OR

?−→

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 7: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Steganographic Systems

A steganographic system S can be formally defined as

S = {C,M, emb, rec},

where(i) C is a set of all possible covers(ii) M is a set of all possible messages(iii) emb : C ×M→ C is an embedding function(iv) rec : C →M is a recovery functionand

rec(emb(c,m)) = m.

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 8: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Error-correcting Codes

We will construct a steganographic system fromerror-correcting codes.

DefinitionA linear error-correcting code is a subspace C ofGF (q)n for some n > 1, with a fixed basis.n is called the length of C.

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 9: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Error-correcting Codes

DefinitionFor any two x , y ∈ GF (q)n, let the Hamming distance d(x , y)denote the number of coordinates where x and y differ:

d(x , y) = |{1 ≤ i ≤ n | xi 6= yi}|.

Example

d((1,0,1), (1,0,0)) = 1

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 10: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Error-correcting Codes

DefinitionThe weight wt of v ∈ GF (q)n is the number of non-zero entriesof v .

Example

(1,0,1,0,0) has wt = 2

DefinitionThe minimum distance d of a code C is the smallest weightany non-zero code word.

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 11: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Error-correcting Codes

DefinitionLet B be a basis of k code words of the [n, k ,d ]q code C. Thevectors of B are rows of a k × n generator matrix G of C.

DefinitionA check matrix H of C is any full rank matrix such thatC = kerH. This is a (n − k)× n matrix over GF (q).

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 12: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Error-correcting Codes

Example

G =

1 0 0 0 0 1 10 1 0 0 1 0 10 0 1 0 1 1 00 0 0 1 1 1 1

H =

0 1 1 1 1 0 01 0 1 1 0 1 01 1 0 1 0 0 1

H is a check matrix for a [7,4,3]2 code C with generator matrix G.

G = (Ik | A)⇐⇒ H = (−At | In−k )

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 13: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Error-correcting Codes

DefinitionLet r be a positive integer.Let H be an r × (2r − 1) matrix whose columns are thedistinct non-zero vectors of GF (2)r .Then, a binary Hamming code is one having H as itscheck matrix.

d(C) = 3 for Hamming codes.

Hamming codes are denoted Ham(r ,2). Previous slide isHam(3,2)

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 14: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Error-correcting Codes

DefinitionA coset of C is a subset of GF (q)n of the form C + v for somev ∈ GF (q)n.

Let S be a coset of C.

DefinitionA coset leader of S is an element of S having smallest weight.

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 15: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Error-correcting Codes

TheoremCoset leaders of Hamming codes have wt ≤ 1

Proof.Size of the ambient space is qn = 2n = |GF (q)n|Size of the code is qk = 2k = |C|.Size of any coset is|S| = |GF (q)n|/|C| = 2n−k = 2r = n + 1.

Claim: Each coset contains a coset leader of wt≤ 1 and nonecontains more than one. �

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 16: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Error-correcting Codes

Claim: Each coset of a Hamming code contains a coset leaderof wt≤ 1 and none contains more than one.

Proof.By inspection, if either w1, w2 have wt= 0, the claim holds

By contradiction: let w1 6= w2 of wt= 1 be in the coset v + C

⇒ w1 = v + c1, w2 = v + c2

⇒ w1 − w2 = c1 − c2 ∈ C

Yet, wt(w1 − w2) = 2 and d(C) = 3 for Hamming codes.Contradiction. �

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 17: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Error-correcting Codes

DefinitionCovering radius: ρ = maxx∈GF (q)n d(x ,C).

DefinitionA perfect code is one for which ρ = [(d − 1)/2].

A covering code is one with a ‘good’ covering radius.Perfect codes give rise to more efficient steganographicsystems.

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 18: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Error-correcting Codes

TheoremHamming codes are perfect

Proof.Claim: Since d(C) = 3, ρ = [(d − 1)/2] = 1.By contradiction, assume d(x ,C) > 1 for some x ∈ GF (q)n, orρ > 1.From previous theorem, each coset x + C must contain a cosetleader of wt ≤ 1, a contradiction.⇒ ρ = 1. �

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 19: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Stegocodes

Let C = GF (2)n andM = GF (2)k

emb : GF (2)n ×GF (2)k → GF (2)n

emb(c,m) = c+‘noise’

rec : GF (2)n → GF (2)k

rec(c′) = error correction decoding

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 20: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Notation

Let c = (c1, c2, . . . , cn) ∈ C be the coverLet emb(c,m) = c′ = (c′1, c

′2, . . . , c

′n) ∈ C be the stegocover

For any positive integer m, [m]2 is the binary representationFor any binary vector x , [x ]10 is the associated positiveinteger

Example

[(1,0,1,0,1,0)]10 = 21 and [21]2 = (1,0,1,0,1,0)

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 21: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

F5 Steganographic System

Let C = GF (2)n andM = GF (2)k

emb : GF (2)n ×GF (2)k → GF (2)n

emb(c,m) = c + e([m +

∑ni=1 ci [i]2

]10)

rec : GF (2)n → GF (2)k

rec(c′) =∑n

i=1 c′i [i]2

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 22: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

F5 Steganographic System

Theorem

For emb and rec as defined, for all c ∈ GF (2)n and m ∈ GF (2)k ,rec(emb(c,m)) = m

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 23: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

F5 Example

tank 1 (cover) =

1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 11 1 1 1 0 0 1 1 11 0 0 0 0 0 0 1 11 0 0 0 0 0 0 0 11 0 0 0 0 0 0 1 11 0 0 1 1 0 0 1 1

Cover

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 24: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

F5 Example

m = (1,0,1,0,1,0) ∈M

tank 2 (stegocover) =

1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 11 1 0 1 0 0 1 1 11 0 0 0 0 0 0 1 11 0 0 0 0 0 0 0 11 0 0 0 0 0 0 1 11 0 0 1 1 0 0 1 1

Stegocover

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 25: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

F5 Example

Cover Stegocover

(63, 6, 1) Stegocode Matrix (H for [63, 57, 3]2 Hamming code))

1 0 1 . . . 0 1 0 1 0 1 0 . . . 1 0 1 0 1 0 10 1 1 . . . 1 1 0 0 1 1 0 . . . 0 1 1 0 0 1 10 0 0 . . . 0 0 1 1 1 1 0 . . . 0 0 0 1 1 1 10 0 0 . . . 0 0 0 0 0 0 1 . . . 1 1 1 1 1 1 10 0 0 . . . 1 1 1 1 1 1 1 . . . 1 1 1 1 1 1 10 0 0 . . . 0 0 0 0 0 0 0 . . . 1 1 1 1 1 1 1

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 26: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Modern Use

Mikhail Semenko Anna Chapman Cover from TechnicalMujahid, Issue #2

Kyle Tucker-Davis An Analysis of the F5 Steganographic System

Page 27: An Analysis of the F5 Steganographic System

CryptographySecurity

Cryptography vs. SteganographySteganography

Error-correcting and Covering CodesSteganographic Systems from Error-correcting Codes

The F5 StegosystemSteganography in the Modern World

Questions?

Kyle Tucker-Davis An Analysis of the F5 Steganographic System