视觉密码
异或 vcs
今天准备写第一篇文章了。
本人主要研究方向(老师的研究方向)是视觉密码,为了毕业要发一篇论文,老师要我看关于异或的视觉密码的论文,鄙人数学太弱,希望在整理时能理顺一些自己的思路。
研究的主要方向是基于异或的VCS。
几个概念:
1. 复杂度:
O(f(n))
O
(
f
(
n
)
)
2.
m
m
: 像素扩展度
3. : 相对差
其中:
(m,α,O(f(n)))−VCS
(
m
,
α
,
O
(
f
(
n
)
)
)
−
V
C
S
为一个视觉密码方案。
(m,1,O(f(n)))−VCS ( m , 1 , O ( f ( n ) ) ) − V C S | 相对差无失真的视觉密码方案。 |
---|---|
(1,1,O(n))−VCS ( 1 , 1 , O ( n ) ) − V C S | 完全恢复的视觉密码方案。 |
存取结构
记参与者集合
P={1,2,...,n}
P
=
{
1
,
2
,
.
.
.
,
n
}
,其幂集记为
2P
2
P
,授权集合
ΓQ={q1,q2,...,q|ΓQ|}
Γ
Q
=
{
q
1
,
q
2
,
.
.
.
,
q
|
Γ
Q
|
}
,其中
qi
q
i
为授权子集,若授权集合满足
ΓQ={A∈ΓQ|∀B⊂A⇒B∉ΓQ}
Γ
Q
=
{
A
∈
Γ
Q
|
∀
B
⊂
A
⇒
B
∉
Γ
Q
}
,禁止集合满足
ΓF={2P−cl(ΓQ)}
Γ
F
=
{
2
P
−
c
l
(
Γ
Q
)
}
,称
Γ=(ΓQ,ΓF)
Γ
=
(
Γ
Q
,
Γ
F
)
为参与者集合P之上的存取结构。
其中
cl(ΓQ)
c
l
(
Γ
Q
)
为授权集合
ΓQ
Γ
Q
的闭包。
相对无失真方案
循环算子 Z(p,M) Z ( p , M )
- 当 p≤k−p p ≤ k − p 时,将所有长度为n且汉明重量为 q=p q = p 的列向量加入矩阵M中。
- 当 p>k−p p > k − p 时,将所有长度为n且汉明重量为 q=p+n−k q = p + n − k 的列向量加入矩阵M中。
基矩阵的构造
- 将矩阵 B0,B1 B 0 , B 1 初始化为空矩阵。
- 对于所有偶数 p∈[0,k] p ∈ [ 0 , k ] 调用循环算子 Z(p,B0) Z ( p , B 0 ) 。
- 对于所有奇数 p∈[0,k] p ∈ [ 0 , k ] 调用循环算在 Z(p,B1) Z ( p , B 1 ) 。
- 从 B0,B1 B 0 , B 1 中任取 k k 行得到子矩阵,判断 B′0,B′1 B 0 ′ , B 1 ′ 除去Step2,Step3所产生的形成黑白对比的偶奇数列外,剩余列向量是否均相同,若不相同进入Step5,否则进入Step6。
- 对 B0,B1 B 0 , B 1 进行相互补充,若 B′0 B 0 ′ 包含 B′1 B 1 ′ 中没有的汉明重量为p的奇数列,则调用 Z(p,B1) Z ( p , B 1 ) ;若 B′1 B 1 ′ 包含 B′0 B 0 ′ 中没有的汉明重量为p的偶数列,则调用 Z(p,B0) Z ( p , B 0 ) ,并返回Step4。
- 结束。
方案流程
对每一个像素执行如下操作:
1. 选择分享矩阵,从基矩阵中选择。
2. 随机列变换。
3. 将矩阵的第i行作为第i个共享份对应的像素点。这里可以将第i行的像素点以 r×t r × t 的形式排列。
秘密恢复
计算 B1 B 1 中任意取k行进行异或操作得到行向量的汉明重量 h h 。
对参与秘密恢复的k个共享份进行异或操作,得到恢复图像。对每做如下处理。
1. 计算待处理的 r×t r × t 个像素块的汉明重量 h′ h ′ 。
2. 若 h′≥h h ′ ≥ h ,则将其转化为一个黑色像素点,否则转化为一个白色像素点。
3. 结束。