没有合适的资源?快使用搜索试试~ 我知道了~
矩阵编码-Matrix Embedding for Large Payloads,1
需积分: 0 0 下载量 112 浏览量
2022-08-04
12:33:23
上传
评论
收藏 225KB PDF 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/86324103/0001-65732423d9ea31ebd352152d22a2fa4f_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
12页
1. Type of cover media 2. Method for selection of places within the cover that m
资源详情
资源评论
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/86324103/bg1.jpg)
Matrix Embedding for Large Payloads
Jessica Fridrich
a
and David Soukal
b
a
Department of Electrical and Computer Engineering;
b
Department of Computer Science;
SUNY Binghamton, Binghamton, NY 13902-6000, USA
ABSTRACT
Matrix embedding is a general coding method that can be applied to most steganographic schemes to improve
their embedding efficiency—the number of message bits embedded per one embedding change. Because smaller
number of embedding changes is less likely to disrupt statistic properties of the cover object, schemes that employ
matrix embedding generally have better steganographic security. This gain is more important for long messages
than for shorter ones because longer messages are easier to detect. Previously introduced approaches to matrix
embedding based on Hamming codes are, however, not efficient for long messages. In this paper, we present
novel matrix embedding schemes that are efficient for embedding messages close to the embedding capacity. One
is based on a family of codes constructed from simplex codes and the second one on random linear codes of
small dimension. The embedding efficiency of the proposed methods is evaluated with respect to theoretically
achievable bounds.
Keywords: steganography, covering codes, matrix embedding, simplex codes
1. INTRODUCTION
Statistical undetectability is the main requirement for a steganographic scheme. By undetectability, we under-
stand the inability of an attacker to distinguish between stego and cover objects with success rate better than
random guessing, given the knowledge of the embedding algorithm and the source of cover media. There are
four main factors that influence the steganographic security
1. Type of cover media
2. Method for selection of places within the cover that might be modified
3. The embedding operation
4. The number of embedding changes
If two different embedding schemes share 1)–3), the one that introduces fewer embedding changes will be less
detectable because it is less likely to disturb the statistics of the cover to trigger detection.
Matrix embedding improves embedding efficiency—the expected number of random message bits embedded
with one embedding change. Matrix embedding was discovered by Crandall
1
in 1998 and analyzed by Bierbrauer.
2
It was also independently re-discovered by Willems et al.
3
and Galand et al.
4
Westfeld
5
was the first one to
incorporate matrix embedding in his F5 algorithm. Intuitively, it is clear that the gain in embedding efficiency
is larger for short messages than for longer ones. However, improving the embedding efficiency for increasingly
shorter messages becomes progressively less important for the overall security because short messages are more
difficult to detect than longer ones. Matrix embedding based on binary Hamming codes
5
is, however, far from
theoretically achievable bounds for payloads larger than 67% of embedding capacity.
In this paper, we attempt to remedy this situation and propose two coding methods that enable efficient
matrix embedding for long messages. The first method uses simplex codes and codes derived from them, while
Further author information:
J.F.: E-mail: fridrich@binghamton.edu, Telephone: +1 607 777 6177
![](https://csdnimg.cn/release/download_crawler_static/86324103/bg2.jpg)
the second method uses codes of small dimension with random generator matrix. Section 2 introduces the
necessary basic concepts from coding theory. The embedding mechanism of matrix embedding based on binary
Hamming codes is reviewed in Section 3. Relating covering codes with steganography enables us to derive upper
bounds on achievable embedding efficiency in Section 4. In Section 5, matrix embedding based on simplex codes
and random linear codes with small dimension is explained. The code designs and coding algorithms are supplied
with pseudo-codes to ease the code implementation for practitioners. The paper is concluded in Section 6.
2. BASIC CONCEPTS
In this section, we introduce a few elementary concepts from coding theory and some simple facts that will be
needed in the rest of the paper. A good introductory text to this subject is, for example, the book by Sloane et
al.
6
Throughout the text, boldface symbols denote vectors or matrices while the caligraphiccalligraphic font is
reserved for sets.
The space of all n-bit column vectors x = (x
1
, . . . , x
n
)
t
, where ()
t
denotes the matrix transpose, will be
denoted F
n
2
. A binary code C is any subset of F
n
2
. The vectors in C are called codewords. The set F
n
2
is a
linear vector space if we define the sum of two vectors x, y ∈ F
n
2
and a multiplication of a vector by scalar
a ∈ {0, 1} using the usual arithmetics in the finite field GF(2) = {0, 1}. Note that in binary arithmetics, sum
is the same as difference. The Hamming weight w(x) of a vector x is defined as the number of ones in x, i.e.,
w(x) = x
1
+ · · · + x
n
. The distance between two vectors x and y is defined as d(x, y) = w(x − y). We denote
as B(x, r) the ball with center x ∈ F
n
2
and radius r,
B(x, r) = {y ∈ F
n
2
|d(x, y) ≤ r}.
The distance between x and subset C ⊂ F
n
2
is defined as d(x, C) = min
c∈C
d(x, c) = d(c, c
0
) for some c
0
∈ C. The
covering radius R of C is defined as
R = max
x∈F
n
2
d(x, C).
The covering radius is determined by the vector most distant from C. In this text, we will need one more concept
called the “average distance to code,”
R
a
= 2
−n
X
x∈F
n
2
d(x, C),
which is the average distance between a randomly selected vector from F
n
2
and C. It follows directly from the
definitions that R
a
≤ R.
For any subset C and vector x, x + C = {y ∈ F
n
2
|y = x + c, c ∈ C}. The redundancy r of a code C is defined
as r = log
2
2
n
|C|
, where |C| is the cardinality of C.
Codes that form a linear vector subspace of F
n
2
are called linear codes. If the vector subspace C has dimension
k, we say that C is a linear code of length n and dimension k (and codimension n − k). We can also say that
C is an [n, k] code. Since there are 2
k
codewords in an [n, k] code, the redundancy of a linear code is equal to
its codimension r = n − k. Each [n, k] code has a basis consisting of k vectors. By writing the basis vectors as
rows of an k × n matrix G, we obtain a generator matrix of C. Each codeword can be written as a unique linear
combination of rows from G.
Given two vectors x, y ∈ F
n
2
, their dot product is defined as x · y = x
1
y
1
+ · · · + x
n
y
n
, all operations
in GF(2). The vectors x and y are orthogonal if x · y = 0. The orthogonal complement of C is defined as
C
⊥
= {x ∈ F
n
2
|x ·c = 0 for all c ∈ C}, which is an [n, n − k] code. It is called the dual code to C and its generator
matrix H has n − k rows and n columns. From orthogonality, Hx = 0 for each x ∈ C. The matrix H is called
the parity check matrix of C.
For any x ∈ F
n
2
, the vector s = Hx ∈ F
n
2
is called the syndrome of x. For each syndrome s ∈ F
n−k
2
, the set
C(s) = {x ∈ F
n
2
|Hx = s} is called a coset. Note that C(0) = C. It should be clear that cosets associated with
different syndromes are disjoint. From elementary linear algebra, every coset can be written as C(s) = x + C,
where x ∈ C(s) is arbitrary. Therefore, there are total of 2
n−k
disjoint cosets, each consisting of 2
k
vectors. Any
member of the coset C(s) with the smallest Hamming weight is called a coset leader and will be denoted as e
L
(s).
![](https://csdnimg.cn/release/download_crawler_static/86324103/bg3.jpg)
The following two simple lemmas will be needed in the text.
Lemma 2.1. Given a coset C(s), for any x ∈ C(s), d(x, C) = w(e
L
(s)). Moreover, if d(x, C) = d(x, c
0
) for some
c
0
∈ C, the vector x − c
0
is a coset leader.
Proof. d(x, C) = min
c∈C
w(x − c) = min
y∈C(s)
w(y) = w(e
L
(s)). The second equality follows from the fact
that if c runs through C, x − c goes through all members of the coset C(s).
Lemma 2.2. If C is [n, k] with an (n − k) × n parity check matrix H and covering radius R, then any syndrome
s ∈ F
n−k
2
can be written as a sum of at most R columns of H and R is the smallest such number. Thus, the
covering radius can also be defined as the maximal weight of all coset leaders while the average distance to code
is equal to the average weight of coset leaders.
Proof. Any x ∈ F
n
2
belongs to exactly one coset C(s). We know from Lemma 2.1 that d(x, C) = w(e
L
(s)).
But the weight w(e
L
(s)) is the smallest number of columns in H that must be added to obtain s.
Lemma 2.3. (Sphere-covering bound) For any code C ⊂ F
n
2
with covering radius R
|C| ≥
2
n
V (n, R)
, (1)
where V (n, R) is the volume of a ball of radius R in F
n
2
, V (n, R) =
P
R
i=0
n
i
. Moreover, for R < n/2,
log
2
V (n, R) ≤ nH(R/n), (2)
where H(x) = −x log
2
x − (1 − x) log
2
(1 − x) is the binary entropy function.
Proof. Each ball with radius R covers V (n, R) vectors. The balls with centers at codewords cover the whole
space but they may have non-empty intersection. Thus, we must have |C|V (n, R) ≥ 2
n
. The upper bound (2)
is a frequently used inequality in coding and its proof is not essential for understanding the rest of this paper.
The reader is referred to Lemma 2.4.4 in Ref. 7.
3. MATRIX EMBEDDING USING BINARY HAMMING CODES
In this section, we describe binary Hamming codes and explain how they can be used for matrix embedding.
Binary Hamming codes are [2
p
− 1, 2
p
− 1 − p] linear codes with parity check matrix H of dimensions p × (2
p
− 1)
whose columns are binary expansions of numbers 1, . . . , 2
p
−1. For example, the parity check matrix H for p = 3
is
H =
0 0 0 1 1 1 1
0 1 1 0 0 1 1
1 0 1 0 1 0 1
.
For any syndrome s ∈ F
p
2
, let dec(s) be the integer whose binary expansion is s. It is easy to see that for any
non-zero syndrome s, the vector e
L
(s) = (0, . . . , 0, 1, 0, . . . , 0)
t
with 1 at the dec(s)-th place is the leader of the
coset C(s) because He
L
(s) = s.
Let us assume that the cover object is an image consisting of N pixels. Most steganographic schemes assign
a bit to each possible pixel value, for example, as the LSB of the grayscale value. The embedding then usually
proceeds by changing the pixel values to match their assigned bits to the desired message bits. To do so, one
might for example flip the LSB of the pixel grayscale value. Assuming the embedded message is a random
bit-stream, the probability that each pixel will have to be changed is 1/2. Thus, on average we embed 2 bits per
embedding change. We can also say that the scheme has embedding efficiency of 2.
To improve the embedding efficiency using matrix embedding, we divide the cover image into N/n subsets,
each consisting of n pixels, where n is the length of an appropriately chosen code. For matrix embedding using
the binary Hamming code, n = 2
p
−1. We now show that we can embed p message bits in each subset by making
at most one embedding change.
剩余11页未读,继续阅读
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![avatar](https://profile-avatar.csdnimg.cn/f0552c2ae1d7495389fb9d2ece3acaf7_weixin_35813719.jpg!1)
鲸阮
- 粉丝: 19
- 资源: 303
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- Color-Transformer introduction
- FastStone Capture屏幕长截图软件包
- Table IoT物联网工具,简单快速的搭建物联网服务平台
- zheng2020 ecg new dataset-12 lead-add-label
- """YOLOv5-specific modules Usage: $ python path/to/models/y
- onnx-while-test.cpython-37
- 基于MapReduce的招聘数据清洗项目(免费提供源码)
- 微笑话-搜索-小程序-html
- 10kv-10支路机柜-集装箱系统-布局图202240418.dwg
- elastic-distributed-sampler
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0