編者按:網(wǎng)絡(luò)空間安全的本質(zhì)就是攻防對(duì)抗?!鞍踩珜?duì)抗”又分為兩大類:盲對(duì)抗和非盲對(duì)抗。在本系列之二《安全通論》(2)--攻防篇之盲對(duì)抗中,對(duì) “盲對(duì)抗”已經(jīng)有所介紹,并給出了黑客(紅客)攻擊(防守)能力的精確極限,針對(duì)“非盲對(duì)抗”,文章繼續(xù)引用經(jīng)典游戲來(lái)進(jìn)行分析。在該文中,酒友們?cè)谘鐣?huì)上常玩的“猜拳”和“劃拳”等勸酒令,也成了《安全通論》的研究?jī)?nèi)容,仍然采用統(tǒng)一的“信道容量方法”,給出了“贏酒杯數(shù)”和“罰酒杯數(shù)”的理論極限,還給出了醉鬼獲勝的調(diào)整技巧。當(dāng)然,這些內(nèi)容也是《安全通論》不可或缺的組成部分。文章還針對(duì)所有“輸贏規(guī)則線性可分”的“非盲對(duì)抗”,給出了統(tǒng)一的解決方案。為與本刊風(fēng)格一致,我們對(duì)文字略作了一些微調(diào)。
教授,博士生導(dǎo)師,災(zāi)備技術(shù)國(guó)家工程實(shí)驗(yàn)室主任,北京郵電大學(xué)信息安全中心主任,教育部網(wǎng)絡(luò)攻防重點(diǎn)實(shí)驗(yàn)室主任,《微型機(jī)與應(yīng)用》編委,主要研究方向:網(wǎng)絡(luò)空間安全、現(xiàn)代密碼學(xué)和糾錯(cuò)編碼等。
鈕心忻
博士,教授,博士生導(dǎo)師。北京郵電大學(xué)學(xué)士和碩士學(xué)位,香港中文大學(xué)電子工程系博士學(xué)位。1997年起在北京郵電大學(xué)信息工程學(xué)院(現(xiàn)計(jì)算機(jī)學(xué)院)從事教學(xué)與科研工作。主要研究方向:網(wǎng)絡(luò)與信息安全、信號(hào)與信息處理等。
0引言
以網(wǎng)絡(luò)空間安全、經(jīng)濟(jì)安全、領(lǐng)土安全等為代表的所有安全問(wèn)題的核心就是“對(duì)抗”!所以,無(wú)論花多少篇幅,都必須把它研究透徹,至少是要盡可能透徹。哪怕是多次變換角度,甚至利用古老游戲和時(shí)髦娛樂(lè)項(xiàng)目,來(lái)全面深入地研究安全對(duì)抗問(wèn)題,都是值得的。
“安全經(jīng)絡(luò)”是《安全通論》的第一塊基石,文獻(xiàn)[1]已經(jīng)打好了這塊基石。
“安全對(duì)抗”是《安全通論》的第二塊基石。“安全對(duì)抗”分為兩大類:盲對(duì)抗、非盲對(duì)抗。為了打好這第二塊基石,我們已經(jīng)在文獻(xiàn)[2]中,統(tǒng)一研究了“盲對(duì)抗”,并給出了黑客(紅客)攻擊(防守)能力的精確極限。針對(duì)“非盲對(duì)抗”,雖然已經(jīng)找到了統(tǒng)一的研究方法(信道容量法),但是,由于“非盲對(duì)抗”的模型千變?nèi)f化,我們只好“見(jiàn)招拆招”。比如,分別在文獻(xiàn)[3]和[4]中,以“石頭剪刀布游戲”、“猜正反面游戲”和“手心手背游戲”為對(duì)象,研究了“非盲對(duì)抗”的三個(gè)有趣實(shí)例,給出了輸贏極限和獲勝技巧。本文對(duì)酒桌上著名的兩個(gè)實(shí)例(劃拳、猜拳)進(jìn)行分析,仍然采用統(tǒng)一的“信道容量方法”,給出了“贏酒杯數(shù)”和“罰酒杯數(shù)”的理論極限,還給出了醉鬼獲勝的調(diào)整技巧。當(dāng)然,這些內(nèi)容也是《安全通論》不可或缺的組成部分。此外,針對(duì)“非盲對(duì)抗”的很大一個(gè)子類(輸贏規(guī)則線性可分的情況),我們給出了統(tǒng)一的解決方案。
1“猜拳”贏酒
“猜拳”是宴會(huì)上主人和客人鬧酒的游戲形式之一。其游戲規(guī)則是:在每個(gè)回合中,主人和客人同時(shí)獨(dú)立亮出如下4種手勢(shì)之一:蟲(chóng)子、公雞、老虎、棒子,然后,雙方共同根據(jù)如下“勝負(fù)判定規(guī)則”來(lái)決定該罰誰(shuí)喝一杯酒:
“蟲(chóng)子”被“公雞”吃掉;“公雞”被“老虎”吃掉;“老虎”被“棒子”打死;“棒子”被“蟲(chóng)子”蛀斷。
除此之外,主客雙方如果平局,則互不罰酒。
一個(gè)回合結(jié)束后,主客雙方再進(jìn)行下一回合的“猜拳”。
將此“猜拳游戲”用數(shù)學(xué)方式表示出來(lái)便是:設(shè)主人和客人分別用隨機(jī)變量X和Y來(lái)表示,它們的可能取值有4個(gè):0,1,2,3。具體如下:
當(dāng)主人(或客人)亮出“蟲(chóng)子”時(shí),記X=0(或Y=0);
當(dāng)主人(或客人)亮出“公雞”時(shí),記X=1(或Y=1);
當(dāng)主人(或客人)亮出“老虎”時(shí),記X=2(或Y=2);
當(dāng)主人(或客人)亮出“棒子”時(shí),記X=3(或Y=3)。
如果某回合中,主人亮出的是x(即X=x,0≤x≤3),而客人亮出的是y(即Y=y,0≤y≤3),那么,本回合主人贏(即罰客人一杯酒)的充分必要條件是:(x-y)mod4=1;客人贏(即罰主人一杯酒)的充分必要條件是:(y-x)mod4=1;否則,本回合為“平局”,即主客雙方互不罰酒,接著進(jìn)行下一回合的“斗酒”。
這個(gè)“猜拳”游戲顯然是一種“非盲對(duì)抗”。主人和客人到底誰(shuí)輸誰(shuí)贏?最多會(huì)被罰多少杯酒?他們?cè)鯓硬拍茏寣?duì)方多喝,而自己少喝?下面就用《安全通論》的“信道容量法”來(lái)回答這些問(wèn)題。
由概率論中的大數(shù)定律,頻率趨于概率,所以,根據(jù)“主人(X)”和“客人(Y)”的習(xí)慣,即過(guò)去他們“斗酒”的統(tǒng)計(jì)規(guī)律(如果他們是初次見(jiàn)面,那么不妨讓他們以“熱身賽”方式先“斗酒”一陣子,然后記下他們的習(xí)慣),就可以分別給出X和Y的概率分布,以及(X,Y)的聯(lián)合概率分布:
0<Pr(X=i)=pi<1,i=0,1,2,3;p0+p1+p2+p3=1;
0<Pr(Y=i)=qi<1,i=0,1,2,3;q0+q1+q2+q3=1;
0<Pr(X=i,Y=j)=tij<1,i, j=0,1,2,3;∑0≤i,j≤3tij=1;
px=∑0≤y≤3txy,x=0,1,2,3;
qy=∑0≤x≤3txy,y=0,1,2,3。
為了分析“主人”贏酒情況,我們構(gòu)造一個(gè)隨機(jī)變量Z=(Y+1)mod4。然后,再用隨機(jī)變量X和Z構(gòu)成一個(gè)信道(X;Z),稱它為“猜拳主人信道”,即該信道以X為輸入、Z為輸出。
下面來(lái)分析幾個(gè)事件等式。如果某回合中,主人亮出的是x(即X=x,0≤x≤3),而客人亮出的是y(即Y=y,0≤y≤3),那么:
如果本回合“主人”贏,則有(x-y)mod4=1,即,y=(x-1)mod4,于是,z=(y+1)mod4=[(x-1)+1]mod4=xmod4=x,換句話說(shuō),此時(shí),“猜拳主人信道”的輸出Z始終等于輸入X,也就是說(shuō),一個(gè)“比特”被成功地從輸入端X發(fā)送到了輸出端Z。
反過(guò)來(lái),如果在“猜拳主人信道”中,一個(gè)“比特”被成功地從輸入端X發(fā)送到了輸出端Z,那么,此時(shí)就有“輸出z始終等于輸入x,即z=x”,也就有(x-y)mod4=(z-y)mod4=[(y+1)-y]mod4=1mod4=1,于是,根據(jù)“猜拳”規(guī)則,就該判“主人贏”,即客人罰酒一杯!
結(jié)合上述正反兩種情況有:
引理1:在“猜拳”游戲中,“主人贏一次”就等價(jià)于“1個(gè)“比特”被成功地從“猜拳主人信道”(X;Z)的輸入端發(fā)送到了輸出端”。
由引理1,再結(jié)合仙農(nóng)信息論的著名“信道編碼定理”[56]:如果“猜拳主人信道”的容量為C,那么,對(duì)于任意傳輸率k/n≤C,都可以在譯碼錯(cuò)誤概率任意小的情況下,通過(guò)某個(gè)n比特長(zhǎng)的碼字,成功地把k個(gè)比特傳輸?shù)绞招哦?。反過(guò)來(lái),如果“猜拳主人信道”能夠用n長(zhǎng)碼字,把S個(gè)比特?zé)o誤差地傳輸?shù)绞招哦耍敲?,一定有S≤nC。把這段話翻譯一下,便有如下定理:
定理1(猜拳主人贏酒定理):設(shè)由隨機(jī)變量(X;Z)組成的“猜拳主人信道”的信道容量為C,那么,在剔除掉“平局”的情況后有:(1)如果主人想罰客人k杯酒,那么,他一定有某種技巧(對(duì)應(yīng)于仙農(nóng)編碼),使得他能夠在k/C個(gè)回合中,以任意接近1的概率達(dá)到目的。反過(guò)來(lái),(2)如果主人在n回合中,贏了S次,即,罰了客人S杯酒,那么,一定有S≤nC。
由該“猜拳主人贏酒定理”可知,只要求出“猜拳主人信道”的信道容量C,那么,主人“贏酒”的“杯數(shù)”極限就確定了。下面就來(lái)求信道容量C。
首先,(X,Z)的聯(lián)合概率分布為:
Pr(X=i,Z=j)=Pr(X=i,(Y+1)mod4=j)=Pr(X=i,Y=(j-1)mod4)=ti(j-1)mod4,i,j=0,1,2,3,4
所以,“猜拳主人信道”(X;Z)的信道容量就是:
C=Max[I(X,Z)]=Max{∑0≤i,j≤3[ti(j-1)mod4]
log[ti(j-1)mod4]/(piqj)}
這里的最大值Max是針對(duì)滿足如下條件的實(shí)數(shù)而取的:0<pi,tij<1, i,j=0,1,2,3;p0+p1+p2+p3=1;∑0≤i,j≤3tij=1;px=∑0≤y≤3txy。所以,這個(gè)C實(shí)際上是滿足條件q0+q1+q2+q3=1和0<qi<1,i=0,1,2,3的正實(shí)數(shù)變量的函數(shù),即,可以記為C(q0,q1,q2,q3),其中,q0+q1+q2+q3=1。
同理,可以分析“客人贏酒”的情況,此處不再贅述。
可見(jiàn),“主人”贏酒的多少(C(q0,q1,q2,q3)),其實(shí)取決于“客人”的習(xí)慣(q0,q1,q2,q3)。如果主客雙方都固守他們的習(xí)慣,那么,他們的輸贏已經(jīng)“天定”了;如果“主人”或“客人”中有一方見(jiàn)機(jī)行事(即調(diào)整自己的習(xí)慣),那么,當(dāng)他調(diào)整到其信道容量大過(guò)對(duì)方時(shí),他就能夠整體上贏;如果“主人”和“客人”雙方都在調(diào)整自己的習(xí)慣,那么,他們最終將達(dá)到動(dòng)態(tài)平衡。
2“劃拳”贏酒
“劃拳”比“猜拳”更復(fù)雜,是宴會(huì)上主人和客人鬧酒的另一種游戲形式。
該游戲規(guī)則是:在每個(gè)回合中,主人(A)和客人(B)各自同時(shí)獨(dú)立地在手上亮出0~5這6種手勢(shì)之一,并在嘴上吼出0~10這11個(gè)數(shù)之一。也就是說(shuō),每個(gè)回合中,“主人A”是一個(gè)2維隨機(jī)變量,即A=(X,Y),其中,0≤X≤5是“主人”手上顯示的數(shù),而0≤Y≤10是“主人”嘴上吼出的數(shù)。同樣,“客人B”也是一個(gè)2維隨機(jī)變量,即B=(F,G),其中,0≤F≤5是“客人”手上顯示的數(shù),而0≤G≤10是“客人”嘴上吼出的數(shù)。
如果在某個(gè)回合中,“主人”和“客人”的2維數(shù)分別是(x,y)和(f,g),那么,“劃拳”游戲的罰酒規(guī)則是:
如果,x+f=y,那么,“主人”贏,罰“客人”喝一杯酒;如果,x+f=g,那么,“客人”贏,罰“主人”喝一杯酒;如果上述兩種情況都不出現(xiàn),則為“平局”,主客雙方互不罰酒,接著進(jìn)行下一回合。具體來(lái)說(shuō):雙方嘴上吼的數(shù)一樣(即g=y)時(shí),“平局”出現(xiàn);雙方雖然吼的數(shù)各不相同,但是,他們“手上顯示的數(shù)之和”不等于“任何一方嘴上吼的數(shù)”時(shí),“平局”也出現(xiàn)。
這個(gè)“劃拳”游戲顯然也是一種“非盲對(duì)抗”。下面就用《安全通論》的“信道容量法”來(lái)研究游戲雙方的輸贏問(wèn)題。
與前文“猜拳”游戲類似,由概率論中的大數(shù)定律,頻率趨于概率,根據(jù)“主人(A)”和“客人(B)”的習(xí)慣,即過(guò)去他們“斗酒”的統(tǒng)計(jì)規(guī)律,就可以分別給出A和B及其分量X、Y、F、G的概率分布,以及4個(gè)隨機(jī)變量(X,Y,F(xiàn),G)的聯(lián)合概率分布:
“主人”手上顯示x的概率:0<Pr(X=x)=px<1,0≤x≤5;x0+x1+x2+x3+x4+x5=1;
“客人”手上顯示f的概率:0<Pr(F=f)=qf<1,0≤f≤5;f0+f1+f2+f3+f4+f5=1;
“主人”嘴上吼y的概率:0<Pr(Y=y)=ry<1,0≤y≤10;∑0≤y≤10ry =1;
“客人”嘴上吼g的概率:0<Pr(G=g)=sg<1,0≤g≤10;∑0≤g≤10sg =1;
“主人”手上顯示x,嘴上吼y的概率:
0<Pr[A=(x,y)]=Pr(X=x,Y=y)=bxy<1,0≤y≤10,0≤x≤5,∑0≤y≤10,0≤x≤5bxy =1;
“客人”手上顯示f,嘴上吼g的概率:
0<Pr[B=(f,g)]=Pr(F=f,G=g)=hfg<1,0≤g≤10,0≤f≤5,∑0≤g≤10,0≤f≤5hfg =1;
“主人手上顯示x,嘴上吼y;同時(shí),客人手上顯示f,嘴上吼g”的概率:
0<Pr[A=(x,y),B=(f,g)]=Pr(X=x,Y=y,F=f,G=g)=txyfg<1,這里,0≤y,g≤10,0≤x,f≤5,∑0≤y,g≤10,0≤x,f≤5txyfg =1。
為了分析“主人”贏酒情況,構(gòu)造一個(gè)2維隨機(jī)變量:Z=(U,V)=(Xδ(G-Y),X+F),這里的δ函數(shù)定義為:δ(0)=0;δ(x)=1,如果x≠0。于是:
Pr[Z=(u,v)]=∑x+f=v,xδ(g-y)=utxyfg=:duv,這里,0≤v≤10,0≤u≤5。
然后,再用隨機(jī)變量A和Z構(gòu)成一個(gè)信道(A;Z),稱它為“劃拳主人信道”,即,該信道以A為輸入,以Z為輸出。
下面來(lái)分析幾個(gè)事件等式。如果某回合中,主人手上亮出的是x(即X=x,0≤x≤5),主人嘴上吼的是y(即Y=y,0≤y≤10);而客人手上亮出的是f(即F=f,0≤f≤5),客人嘴上吼的是g(即G=g,0≤g≤10)。那么,根據(jù)“劃拳”的評(píng)判規(guī)則有:
如果本回合“主人”贏,那么,x+f=y,同時(shí)y≠g。于是,δ(g-y)=1,進(jìn)一步就有:Z=(u,v)=(xδ(g-y),x+f)=(x,y)=A,換句話說(shuō),此時(shí),“劃拳主人信道”的輸出Z始終等于輸入A,也就是說(shuō):一個(gè)“比特”被成功地從輸入端A發(fā)送到了輸出端Z。
反過(guò)來(lái),如果在“劃拳主人信道”中,一個(gè)“比特”被成功地從輸入端A發(fā)送到了輸出端Z,那么,此時(shí)就有“輸出z=(u,v)=(xδ(g-y),x+f)始終等于輸入(x,y)”,也就有:xδ(g-y)=x同時(shí)x+f=y,即,y≠g且x+f=y,于是,根據(jù)“劃拳”規(guī)則,就該判“主人贏”,即,客人罰酒一杯!
結(jié)合上述正反兩種情況,便有:
引理2:在“劃拳”游戲中,“主人贏一次”就等價(jià)于“1個(gè)“比特”被成功地從“劃拳主人信道”(A;Z)的輸入端,發(fā)送到了輸出端”。
由引理2,再結(jié)合仙農(nóng)信息論的著名“信道編碼定理”[56]:如果“劃拳主人信道”的容量為D,那么,對(duì)于任意傳輸率k/n≤D,都可以在譯碼錯(cuò)誤概率任意小的情況下,通過(guò)某個(gè)n比特長(zhǎng)的碼字,成功地把k個(gè)比特傳輸?shù)绞招哦恕7催^(guò)來(lái),如果“劃拳主人信道”能夠用n長(zhǎng)碼字,把S個(gè)比特?zé)o誤差地傳輸?shù)绞招哦?,那么,一定有S≤nD。把這段話翻譯一下,便有如下定理:
定理2(劃拳主人贏酒定理):設(shè)由隨機(jī)變量(A;Z)組成的“劃拳主人信道”的信道容量為D。那么,在剔除掉“平局”的情況后有:(1)如果主人想罰客人k杯酒,那么,他一定有某種技巧(對(duì)應(yīng)于仙農(nóng)編碼),使得他能夠在k/D個(gè)回合中,以任意接近1的概率達(dá)到目的。反過(guò)來(lái),(2)如果主人在n回合中贏了S次,即,罰了客人S杯酒,那么,一定有S≤nD。
由該“劃拳主人贏酒定理”可知,只要求出“劃拳主人信道”的信道容量D,那么,主人“贏酒”的“杯數(shù)”極限就確定了。下面就來(lái)求信道容量D:
D=Max[I(A,Z)]
=Max{∑a,zPr(a,z)log[Pr(a,z)/[Pr(a)Pr(z)]]}
=Max{∑x,y,f,gPr(x,y,xδ(g-y),x+f)log[Pr(x,y,xδ(g-y),x+f)/[Pr(x,y)Pr(xδ(g-y),x+f)]]}
=Max{∑x,y,f,gtx,y,xδ(g-y),x+flog[tx,y,xδ(g-y),x+f/
?。踒xydxδ(g-y),x+f]]}
這里的最大值是針對(duì)滿足如下條件的正實(shí)數(shù)而取的:
0≤y≤10;∑0≤y≤10ry=1;
0≤y≤10,0≤x≤5,∑0≤y≤10,0≤x≤5bxy =1;
0≤g≤10,0≤f≤5,∑0≤g≤10,0≤f≤5hfg =1。
所以,“劃拳主人信道”的容量D其實(shí)是滿足條件0≤f≤5;f0+f1+f2+f3+f4+f5=1;0≤g≤10;∑0≤g≤10sg =1的fi,gj的函數(shù),0≤i≤5,0≤j≤10。
同理,可以分析“客人贏酒”的情況,此處不再贅述。
可見(jiàn),“劃拳主人”贏酒的多少(D(gj,fi)),其實(shí)取決于“客人”的習(xí)慣(gj,fi)。如果主客雙方都固守他們的習(xí)慣,那么,他們的輸贏已經(jīng)“天定”了;如果“主人”或“客人”中有一方見(jiàn)機(jī)行事(即,調(diào)整自己的習(xí)慣),那么,當(dāng)他調(diào)整到其信道容量大過(guò)對(duì)方時(shí),他就能夠整體上贏;如果“主人”和“客人”雙方都在調(diào)整自己的習(xí)慣,那么,他們最終將達(dá)到動(dòng)態(tài)平衡。
3線性可分“非盲對(duì)抗”的抽象模型
設(shè)黑客(X)共有n招來(lái)發(fā)動(dòng)攻擊,即隨機(jī)變量X的取值共有n個(gè),不妨記為{x0,x1,…xn-1}={0,1,2,…,n-1},這也是黑客的全部“武器庫(kù)”。
設(shè)紅客(Y)共有m招來(lái)抵抗攻擊,即隨機(jī)變量Y的取值共有m個(gè),不妨記為{y0,y1,…ym-1}={0,1,2,…,m-1},這也是紅客的全部“武器庫(kù)”。
注意:在下面推導(dǎo)中,將根據(jù)需要在“招xi,yj”和“數(shù)i,j”之間等價(jià)地變換,即:xi=i,yj=j,其目的在于,既把問(wèn)題說(shuō)清楚,又在形式上簡(jiǎn)化。
在非盲對(duì)抗中,每個(gè)黑客武器xi(i=0,1,…,n-1)和每個(gè)紅客武器yj(j=0,1,…,m-1)之間,存在著一個(gè)紅黑雙方公認(rèn)的輸贏規(guī)則,于是,一定存在2維數(shù)集{(i,j),0≤i≤n-1, 0≤j≤m-1}的某個(gè)子集H,使得“xi勝yj”當(dāng)且僅當(dāng)(i,j)∈H。如果這個(gè)子集H的結(jié)構(gòu)比較簡(jiǎn)單,那么,我們就能夠構(gòu)造某個(gè)信道,使得“黑客贏一次”等價(jià)于“1比特信息被成功地從該通信信道的發(fā)端傳輸?shù)搅耸斩恕保缓?,再利用著名的仙農(nóng)信道編碼定理即可。比如:
在“石頭剪刀布”游戲中,H={(i,j):0≤i,j≤2,(j-i)mod3=2};
在“猜正反面”游戲中,H={(i,j):0≤i=j≤1};
在“手心手背”游戲中,H={(i,j,k):0≤i≠j=k≤1};
在“猜拳”游戲中,H={(i,j):0≤i,j≤3,(i-j)mod4=1};
在“劃拳”游戲中,H={(x,y,f,g):0≤x,f≤5;0≤g≠y≤10;x+f=y}。
在文獻(xiàn)[3,4]和本文中,已經(jīng)針對(duì)以上各H構(gòu)造出了相應(yīng)的通信信道。但是,對(duì)一般的H,卻很難構(gòu)造出這樣的通信信道,不過(guò),有一種特殊情況還是可以有所作為的,即,如果上面的集合H可以分解為H={(i,j):i=f(j), 0≤i≤n-1, 0≤j≤m-1}(即,H中第一個(gè)分量j是其第二個(gè)分量的某種函數(shù)),那么,我們就可以構(gòu)造一個(gè)隨機(jī)變量Z=f(Y)。然后,考慮信道(X;Z),于是便有如下事件等式:
如果在某個(gè)回合中,黑客出擊的招是xi,而紅客應(yīng)對(duì)的招是yj,那么:
如果“黑客贏”,則有i=f(j),也就是說(shuō),此時(shí)信道(X;Z)的輸出便是Z=f(yj)=f(j)=i=xi,即,此時(shí)信道的輸出與輸入相同,即1個(gè)比特被成功地從信道(X;Z)的輸入端發(fā)送到了輸出端。
反過(guò)來(lái),如果“1個(gè)比特被成功地從信道(X;Z)的輸入端發(fā)送到了輸出端”,那么,此時(shí)就該有“輸入=輸出”,即“i=f(j)”,這也就意味著“黑客贏”。
結(jié)合上述正反兩個(gè)方面,得到如下定理:
定理3(線性非盲對(duì)抗極限定理):在“非盲對(duì)抗”中,設(shè)黑客X共有n種攻擊法{x0,x1,…xn-1}={0,1,2,…,n-1};設(shè)紅客Y共有m種防御法{y0,y1,…ym-1}={0,1,2,…,m-1},又設(shè)紅黑雙方約定的輸贏規(guī)則是:“xi勝yj”當(dāng)且僅當(dāng)(i,j)∈H。這里H是矩形集合{(i,j),0≤i≤n-1, 0≤j≤m-1}的某個(gè)子集。
如果H關(guān)于黑客X是線性的,即,H可以表示為H={(i,j):i=f(j), 0≤i≤n-1, 0≤j≤m-1}(即,H中第一個(gè)分量i是其第二個(gè)分量j的某種函數(shù)f(.)),那么,便可以構(gòu)造一個(gè)信道(X;Z),其中Z=f(Y),使得若C是信道(X;Z)的信道容量,則有:
?。?)如果黑客想贏k次,那么,他一定有某種技巧(對(duì)應(yīng)于仙農(nóng)編碼),使得他能夠在k/C個(gè)回合中,以任意接近1的概率達(dá)到目的;
(2)如果黑客在n個(gè)回合中贏了S次,則一定有S≤nC。
如果H關(guān)于紅客Y是線性的,即,H可以表示為H={(i,j):j=g(i), 0≤i≤n-1, 0≤j≤m-1}(即,H中第二個(gè)分量j是其第一個(gè)分量i的某種函數(shù)g(·)),那么,便可以構(gòu)造一個(gè)信道(Y;G),其中G=g(X),使得若D是信道(Y;G)的信道容量,則有:
?。?)如果紅客想贏k次,那么,他一定有某種技巧(對(duì)應(yīng)于仙農(nóng)編碼),使得他能夠在k/D個(gè)回合中,以任意接近1的概率達(dá)到目的;
(2)如果紅客在n個(gè)回合中贏了S次,則一定有S≤nD。
4結(jié)束語(yǔ)
“石頭剪刀布”、“手心手背”、“猜正反面”、“猜拳”和“劃拳”等游戲,其實(shí)它們的輸贏規(guī)則集H都是線性可分的,因此,它們?nèi)潜疚亩ɡ?(線性非盲對(duì)抗極限定理)的特例而已。至于H為不可分情況,相應(yīng)的信道構(gòu)造就無(wú)從下手了,這個(gè)問(wèn)題就作為公開(kāi)問(wèn)題,留待今后解決吧。
為了加深大家的印象,我們對(duì)“盲對(duì)抗”和“非盲對(duì)抗”再做一些形象的描述:
所謂“盲對(duì)抗”,就是在每個(gè)攻防回合后,攻防雙方都只知道自己的“自評(píng)結(jié)果”,而對(duì)敵方的“他評(píng)結(jié)果”一無(wú)所知。像大國(guó)斗智、戰(zhàn)場(chǎng)搏殺、網(wǎng)絡(luò)攻防、諜報(bào)戰(zhàn)等比較慘烈的對(duì)抗,通常都屬于“盲對(duì)抗”。這里的“盲”,與是否面對(duì)面無(wú)關(guān),比如,“兩潑婦互相罵街”就是典型的面對(duì)面的“盲對(duì)抗”,因?yàn)椋肮シ健笔欠窳R到了“守方”的痛處,只有“守方”自己才知道,而且,被罵者通常還要極力掩蓋其痛處,不讓“攻方”知道自己的弱點(diǎn)在哪。當(dāng)然,“一群潑婦互相亂罵”,更是盲對(duì)抗了。
所謂“非盲對(duì)抗”,就是在每個(gè)攻防回合后,雙方都知道本回合的一致的“勝敗結(jié)果”。比如,像古老的“石頭剪刀布”游戲中,一旦雙方的手勢(shì)亮出后,本回合的勝敗結(jié)果就一目了然。像許多賭博游戲、體育競(jìng)技等項(xiàng)目都屬于“非盲對(duì)抗”。家喻戶曉的童趣游戲“猜正反面游戲”、“手心手背游戲”和本文中的“劃拳”和“劃拳”等,也都是“非盲對(duì)抗”,只不過(guò),在“手心手背游戲”中彼此對(duì)抗的人,不再是兩個(gè),而是三個(gè)。
更加形象地說(shuō),“潑婦罵架”是“盲對(duì)抗”,但是,“兩流氓打架”卻是“非盲對(duì)抗”了。因?yàn)?,人的身體結(jié)構(gòu)都相似,被打的痛處在哪,誰(shuí)都知道,而且結(jié)論也基本一致,所以,“打架”是“非盲的”,當(dāng)然,“打群架”也是“非盲對(duì)抗”。但是,人的心理結(jié)構(gòu)卻千差萬(wàn)別,被罵的痛點(diǎn)會(huì)完全不同,所以,“罵架”是“盲的”。
?。ㄖ轮x:本文中的“劃拳”和“猜拳”游戲,由北京CA總經(jīng)理詹榜華博士提供,特此致謝。)
參考文獻(xiàn)
?。?楊義先,鈕心忻.安全通論(1)--經(jīng)絡(luò)篇[J].微型機(jī)與應(yīng)用,2016,35(15):1-4.
?。?楊義先,鈕心忻.安全通論(2)--攻防篇之“盲對(duì)抗”[J].微型機(jī)與應(yīng)用,2016,35(16):1-5.
?。?楊義先,鈕心忻.安全通論(3)--攻防篇之“非盲對(duì)抗”之“石頭剪刀布”[J].微型機(jī)與應(yīng)用,2016,35(17):1-3.
[4楊義先,鈕心忻.安全通論(4)--攻防篇之“非盲對(duì)抗”之“童趣游戲”[J].微型機(jī)與應(yīng)用,2016,35(18):3-5,9.
?。?COVER T M, THOMAS J A,著.信息論基礎(chǔ)[M].阮吉壽,張華,譯.北京:機(jī)械工業(yè)出版社,2007.
?。?Shu Lin, COSTELLO D J,JR.著,差錯(cuò)控制碼[M].晏堅(jiān),何元智,潘亞漢,等,譯.北京:機(jī)械工業(yè)出版社,2007.