首页
社区
课程
招聘
[原创]The XOR Secret in Our Computer System
2009-5-5 02:46 54532

[原创]The XOR Secret in Our Computer System

2009-5-5 02:46
54532
收藏
免费 7
打赏
分享
最新回复 (84)
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
rockinuk 8 2013-3-4 17:41
76
0
We proved the formula 2 years ago.
Thank you for the contributions.
雪    币: 62
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
publickey 2013-3-5 04:41
77
0
以下结论也成立:
1、 A ⊕ B = (-A) ⊕ (-B)的充分必要条件是:A地位0的个数 = B低位0的个数。
2、对于随机A、B,A ⊕ B = (-A) ⊕ (-B)成立的概率(极限值)是1/3。

对于1,还需要证明A、B为一奇一偶时, A ⊕ B = (-A) ⊕ (-B)一定不成立;
对于2,直接利用1可以证明。
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
rockinuk 8 2013-3-15 19:34
78
0
你在这个证明~有不完备之处~
雪    币: 62
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
publickey 2013-3-16 11:46
79
0
"A、B为一奇一偶时, A ⊕ B = (-A) ⊕ (-B)一定不成立"证明如下:
若A ⊕ B = (-A) ⊕ (-B)成立,则A ⊕ B ⊕ (-A) ⊕ (-B) = 0;不妨设A为奇数,B为偶数,则:
A ⊕ B ⊕ (-A) ⊕ (-B)  = A ⊕ (-A) ⊕ B ⊕ (-B) = (A ⊕ ~A ) ⊕ 1 ⊕ (B  ⊕ (~B + 1)) = ~(B ⊕ (~B + 1)⊕1)
将B表达成B = m*2^t,其中m为奇数,t>0;则~B + 1 = (~m)*2^t + (2^t - 1) + 1 = (~m)*2^t + 2^t = (~m+1) *2^t = (~m⊕1)*2^t;
故:A ⊕ B ⊕ (-A) ⊕ (-B)  = ~((m*2^t) ⊕ ((~m⊕1)*2^t)⊕1) = ~((m⊕~m⊕1)*2^t ⊕ 1) = (2^t-1)*2 != 0 证毕。

上述证明同时也证明了A、B均为奇数时,A ⊕ B = (-A) ⊕ (-B),因为B为奇数,则t=0,(2^t-1)*2=0。
雪    币: 62
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
publickey 2013-3-16 11:57
80
0
“A ⊕ B = (-A) ⊕ (-B)的充分必要条件是:A低位0的个数 = B低位0的个数”证明如下:
充分性:若A低位0的个数 = B低位0的个数,则A、B可表达如下:
A = a*2^t,B = b*2^t,于是
A ⊕ B ⊕ (-A) ⊕ (-B)  = (A ⊕ (~A + 1) ⊕ (B  ⊕ (~B + 1)) = (a⊕~a⊕1)*2^t ⊕(b⊕~b⊕1)*2^t =((~1)*2^t )⊕((~1)*2^t ) = 0.
必要性:若A ⊕ B = (-A) ⊕ (-B),设A = a*2^t,B = b*2^s则由A ⊕ B ⊕ (-A) ⊕ (-B)  = 0可以得出:
((~1)*2^t )⊕((~1)*2^s ) = 0,故t = s。
雪    币: 62
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
publickey 2013-3-16 12:03
81
0
“对于随机A、B,A ⊕ B = (-A) ⊕ (-B)成立的概率(极限值)是1/3”证明如下:
设A、B低位有t个0,出现这个情况的概率为1/4^(t+1),故对于随机A、B,A ⊕ B = (-A) ⊕ (-B)成立的概率S = (1/4)^1 + (1/4)^2 + ... (1/4)^3 + ... = 1/3.
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
rockinuk 8 2013-3-17 19:37
82
0
1)
在 http://bbs.pediy.com/showpost.php?p=692833&postcount=38 里的  【分享+讨论】对 XOR_password 及XOR_cryptanalyiss 等相关论文研讨。(No. 2) (http://bbs.pediy.com/showthread.php?p=692661#post692661) 之中
, 里面有一 paper.pdf ,可以下载参考, 那是中文版的证明

2)

http://www.sciencedirect.com/science/article/pii/S1876610212004845 里,
有英文版的证明, 这个更完整.

不过, 这两个方法, 都是利用布尔代数法 (Boolean Algebra) 来证明; 当初,会用这个方法, 也是因为简单方便, 还有数字电路的异或问题。

3)
原本的方法, 不够正规与规范,虽然结果与推论正确, 但是在数学界的角度来看,还是有点距离; 因此,我们重新把这些公式,用数论的方法重新证明, 里面也补上了二补码系统的证明内容,
也就是说,我们把原本的证明转化成在 Golisd Field (p)的模式下, 描述了一遍, 这样看起来就比原本的更无完备了一些。

4)
我曾写信给 The Cramer-Shoup Strong-RSA Signature Scheme Revisited 论文的作者 Marc Fischlin 教授, 请教他 关于他论文里, 第 118-119 页的两个问题.
Email 内容如下 :

===== 信开始 =====
发件人:rockinuk@qq.com>           
时   间:2012年12月10日 凌晨1:55       
收件人:marc.fischlin <marc.fischlin@gmail.com>

Dear Prof. Marc Fischlin,
     I am sorry to bother you for a couple minutes.   
I had read your paper 'The Cramer-Shoup Strong-RSA Signature Scheme Revisited' where it published on PKC 2003, LNCS 2567, pp. 116-129, 2003.
I may misinterpretation some thing.
May I have some questions to ask you please?
  
Q1:
In page 118. Signing: To sign a message m compute the l-bit hash value H(m) with a collision-intractable hash function H(·).
  
Does hash function value H(.) a string or a number (integer)?
  
Q2:
In page 119. Signing: To sign a message m calculate the l-bit hash value H(m) with a collision-intractable hash function H(·). Pick a random (l+1)-bit prime e, a random l-bit string α and compute a representation (-\alpha,-(\alpha xor H(m)), y) of x with respect to h1, h2, e, n, i.e.,
y^{e}= xh_{1}^{\alpha}h_{2}^{\alpha xor H(m)}\pmod{n}.
  
If hash function value is a number (integer), how did bitwise two different data types H(.) and \alpha?

As you know, only when the parameter α transferred to number (or H(.) transferred to string type), two strings can do bitwise operating.
And then using string-to-intger function (\alpha xor H(.)) changed to the integer (number).
  
Thank you who had more patient to read my email.
I am looking forward to hear you reply near future.
Best regards and Merry X'mas to you.
  
  
Rock.

===== 信结束 =====

后来, Marc Fischlin 教授 回我 email 如下

===== 信开始 =====
发件人:marc.fischlin <marc.fischlin@gmail.com>           
时   间:2012年12月19日 晚上9:21 (UTC+01:00 阿姆斯特丹、柏林、罗马时间)       
收件人:rockinuk@qq.com

Hi,

> Q1:
> In page 118. Signing: To sign a message m compute the l-bit hash value
> H(m) with a collision-intractable hash function H(·).
> Does hash function value H(.) a string or a number (integer)?

I'm not quite sure if I understand correctly. It's an l-bit hash, so
it's a bit string.
(I think all modern hash functions like  SHA-1 are defined over strings.)

> Q2:
> In page 119. Signing: To sign a message m calculate the l-bit hash
> value H(m) with a collision-intractable hash function H(·). Pick a
> random (l+1)-bit prime e, a random l-bit string α and compute a
> representation (-\alpha,-(\alpha xor H(m)), y) of x with respect to
> h1, h2, e, n, i.e.,
> y^{e}= xh_{1}^{\alpha}h_{2}^{\alpha xor H(m)}\pmod{n}.
> If hash function value is a number (integer), how did bitwise two
> different data types H(.) and \alpha?
>
> As you know, only when the parameter α transferred to number (or H(.)
> transferred to string type), two strings can do bitwise operating.
> And then using string-to-intger function (\alpha xor H(.)) changed to
> the integer (number).
Again, I'm not sure if I understand. The values \alpha and H(m) are
originally bit strings, ie,
\alpha xor H(m) is the bitwise exclusive-or of these two strings. Once
you use it in the exponent,
this string needs to be converted to an integer. This is done in the
usual way, the string x=x1..xn
is converted to an integer via x1 + x2 *2 + ..+ xn*2^{n-1}. (Otherwise,
I think that the value h_2
to a string is not really defined, at least I wouldn't know how to
compute h_2^{some string}.)

Does this answer the questions?

Marc Fischlin
===== 信结束 =====

显然, 连 Marc Fischlin 教授 也不能确定他是否真得知道真正的答案。
他只能就大家所接受的那些定义来理解我所提出的问题,并做解释。

我是这样想的,
不管是 bit string 也好, integer 也罢, 在 memory 里都是 一传长串的 data type,
不同的系统,可能解释不同,但本质上的内容还是一样地,
所以, 任何的 bit string , 不论其 data type 是 character 还是 number, 都能转化成 GF(2^{n}) 的型态,
所以, 以这角度来看这个你曾在 74 楼回帖 http://bbs.pediy.com/showpost.php?p=1145202&postcount=74
" 对于构造HASH碰撞很有意义" 就是相同的思路及观点。

讲到这里, 不知道是我理解有错,
还是我的描述,没办法让那些大师及专家正确的理解,
我自己都不知道了。

以上, 是我所知道的部份,欢迎 publickey 提出卓越见解。
雪    币: 496
活跃值: (281)
能力值: ( LV13,RANK:400 )
在线值:
发帖
回帖
粉丝
tishion 9 2013-3-17 19:48
83
0
而 CPU instruction Set 本身就存在CPU內部,可看成是CPU內部的指令


这种说法欠佳。
CPU指令集只是CPU对外提供的编程接口集合的总称。
CPU内部指令是指采用微程序控制器的CPU内部的微指令。

CPU的内部的控制器分为两种:微程序控制器,组合逻辑控制器。
第一种是软件实现,一条CPU指令,对应若干微伪指令。
第二种是硬件实现,一条CPU指令对应一种数字电路的状态。
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
rockinuk 8 2013-3-17 22:48
84
0
是的~因为讲的很白话, 所以不严谨~
你提供的说法, 比较正规~也是微机原理里面所使用的标准讲法~
谢谢提出指正~
雪    币: 16
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
oovvoo 2013-11-16 18:28
85
0
下了看看先~~
游客
登录 | 注册 方可回帖
返回