亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? setupservergm.nc

?? 無線傳感器密鑰管理算法
?? NC
字號:
/*									tab:4
 *
 *
 * Copyright (C) 2004 by North Carolina State University.  
 * All rights reserved.
 *
 * Permission to use, copy, modify, and distribute this software and its
 * documentation for any purpose, without fee, and without written agreement is
 * hereby granted, provided that the above copyright notice, the following
 * two paragraphs and the author appear in all copies of this software.
 * 
 * IN NO EVENT SHALL THE NORTH CAROLINA STATE UNIVERSITY BE LIABLE TO ANY PARTY 
 * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING 
 * OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE NORTH
 * CAROLINA STATE UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * 
 * THE NORTH CAROLINA STATE UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
 * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
 * ON AN "AS IS" BASIS, AND THE NORTH CAROLINA STATE UNIVERSITY HAS NO OBLIGATION 
 * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
 *
 * Authors: Rongfang Li
 * Date:    4/25/04
 */

includes PolyOne;

module SetupServerGM { 
  provides {
	 interface SetupServer;
  }
  uses {
	 interface Primitive;
	 interface Random;
  }
}

implementation {  
    	
    uint16_t seedr[4];
    uint16_t seedc[4];
    
    uint16_t Af_poly16(uint16_t *b,uint16_t x){         
     
	uint16_t b2,s1=0,s2=0;	
	uint32_t s;
	uint8_t i,j;
	uint16_t md0,mdv;

	for(i=T+1;i>0;i--){             
       
	j=i-1;
	
	if(s2) s=(uint32_t )x<<16;
	else s=x*s1;

	md0=s&0xffff;
	mdv=s>>16;

	if(md0>=mdv) s=md0-mdv;
	else         s=md0-mdv+65536u+1;   

	if(b[j]!=0){  /* b[j] is between 1 and 65535 */
		s = s+b[j];
	}
	else{  /* b[j] is 0 or 65536  */     
		b2=j>>4;  /* j div 16 is the right shift j by 4 bits */
		j=j&15;   /* j mod 16, is the least 4 bits of j  */         
		b2=b[T+1+b2]>>j;  /* get the 9th bit of b[j] */
		b2 = b2&1; 
	 
		if(b2){  /* b[j] is 65536  */
	  		s = s+65536u;
		}
	 
	/* else b[i-1]=0, nothing need to do. */
	} 

	md0=s&65535u;
	mdv=s>>16;
	
	if(md0>=mdv) s=md0-mdv;
	else s=md0-mdv+65536u+1;   

	s1=s&0xffff;
	s2=s>>16;                  
      }                     
      return s;                    
    }   
 	
   /* this function is to generate a set of random numbers, which are the 
      coefficients of a bivariate t-degree polynomials f(x,y)  */

    void generate_cefts(BivariatePoly *bp, uint8_t *seed) {

	uint16_t i,j;
	uint16_t cefts[4];
	uint16_t highs[4];

	memset((uint8_t *)bp,0x00,sizeof(BivariatePoly));

	for(i=0;i<=T;i++){
	    for(j=0;j<=i;j++){
	    	call Primitive.PRF(seed,i*T+j,(uint8_t *)cefts);
	    	call Primitive.PRF((uint8_t *)cefts,i*T+j,(uint8_t *)highs);
		
		if(highs[0]==0) {highs[0]=1;cefts[0]=0;}
		else highs[0]=0;
		if(highs[1]==0) {highs[1]=1;cefts[1]=0;}
		else highs[1]=0;
		if(highs[2]==0) {highs[2]=1;cefts[2]=0;}
		else highs[2]=0;
		if(highs[3]==0) {highs[3]=1;cefts[3]=0;}
		else highs[3]=0;

		bp->poly_ceft1[i*(T+1+tt)+j] = cefts[0];
		bp->poly_ceft2[i*(T+1+tt)+j] = cefts[1];
		bp->poly_ceft3[i*(T+1+tt)+j] = cefts[2];
		bp->poly_ceft4[i*(T+1+tt)+j] = cefts[3];

		bp->poly_ceft1[i*(T+1+tt)+T+(j>>4)+1] += (highs[0]<<(j&15));
		bp->poly_ceft2[i*(T+1+tt)+T+(j>>4)+1] += (highs[1]<<(j&15));
		bp->poly_ceft3[i*(T+1+tt)+T+(j>>4)+1] += (highs[2]<<(j&15));
		bp->poly_ceft4[i*(T+1+tt)+T+(j>>4)+1] += (highs[3]<<(j&15));

		bp->poly_ceft1[j*(T+1+tt)+i] = bp->poly_ceft1[i*(T+1+tt)+j];
		bp->poly_ceft2[j*(T+1+tt)+i] = bp->poly_ceft2[i*(T+1+tt)+j];
		bp->poly_ceft3[j*(T+1+tt)+i] = bp->poly_ceft3[i*(T+1+tt)+j];
		bp->poly_ceft4[j*(T+1+tt)+i] = bp->poly_ceft4[i*(T+1+tt)+j];
		
		bp->poly_ceft1[j*(T+1+tt)+T+(i>>4)+1] += (highs[0]<<(i&15));
		bp->poly_ceft2[j*(T+1+tt)+T+(i>>4)+1] += (highs[1]<<(i&15));
		bp->poly_ceft3[j*(T+1+tt)+T+(i>>4)+1] += (highs[2]<<(i&15));
		bp->poly_ceft4[j*(T+1+tt)+T+(i>>4)+1] += (highs[3]<<(i&15));
	    }
	}
/*
	for(i=0;i<=T;i++){
		for(j=0;j<=T+tt;j++){
			dbg(DBG_USR1,"%X%X%X%X",bp->poly_ceft1[i*(T+1+tt)+j],bp->poly_ceft2[i*(T+1+tt)+j],bp->poly_ceft3[i*(T+1+tt)+j],bp->poly_ceft4[i*(T+1+tt)+j]);
		}
		dbg(DBG_USR1,"\n");
	}
*/	
  	return ;
    }

    void ceft_assign(uint8_t sid, uint8_t pid, uint8_t *seed, PolyShare *a){
	uint16_t i,t2,t3;
	uint16_t m;
	uint32_t mod1,mod2,mod3,mod4;
	BivariatePoly bp;
	uint8_t cefts_seed[8];

	bp.poly_id=pid;
	call Primitive.PRF(seed, pid, cefts_seed);
	generate_cefts(&bp,cefts_seed);
	
//	dbg(DBG_USR1,"%X%X%X%X%X%X%X%X:%d:%X%X%X%X%X%X%X%X\n",seed[0],seed[1],seed[2],seed[3],seed[4],seed[5],seed[6],seed[7],sid,cefts_seed[0],cefts_seed[1],cefts_seed[2],cefts_seed[3],cefts_seed[4],cefts_seed[5],cefts_seed[6],cefts_seed[7]);

	for(i=0;i<=T;i++){
		 
		mod1 = Af_poly16(&(bp.poly_ceft1[i*(T+1+tt)]),sid);
		mod2 = Af_poly16(&(bp.poly_ceft2[i*(T+1+tt)]),sid);
		mod3 = Af_poly16(&(bp.poly_ceft3[i*(T+1+tt)]),sid);
		mod4 = Af_poly16(&(bp.poly_ceft4[i*(T+1+tt)]),sid);

	  	t2 = i&15;
	 	t3 = (i>>4)+1;

	 	a->poly_ceft1[i] = mod1&65535L;
	 	m = mod1>>16;
	 	a->poly_ceft1[T+t3] += (m<<t2);

	 	a->poly_ceft2[i] = mod2&65535L;
	 	m = mod2>>16;
	 	a->poly_ceft2[T+t3] += (m<<t2);

	 	a->poly_ceft3[i] = mod3&65535L;
	 	m = mod3>>16;
	 	a->poly_ceft3[T+t3] += (m<<t2);

	 	a->poly_ceft4[i] = mod4&65535L;
	 	m = mod4>>16;
	 	a->poly_ceft4[T+t3] += (m<<t2);
	}
	return;  
    }
  
    command result_t SetupServer.init() {
	
	call Random.init();
	
	seedr[0]=call Random.rand();
	seedr[1]=call Random.rand();
	seedr[2]=call Random.rand();
	seedr[3]=call Random.rand();
	seedc[0]=call Random.rand();
	seedc[1]=call Random.rand();
	seedc[2]=call Random.rand();
	seedc[3]=call Random.rand();
	
        return SUCCESS;
    }

    command result_t SetupServer.SecretAssign(uint16_t ID, uint8_t *secret) {
    
	ceft_assign(ID&0xff,ID>>8,(uint8_t *)seedc, &((Secret_Cefts *)secret)->subc);
	ceft_assign(ID>>8,ID&0xff,(uint8_t *)seedr, &((Secret_Cefts *)secret)->subr);
	
	return SUCCESS;

    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av网站在线观看免费| 国产1区2区3区精品美女| 中文字幕亚洲电影| 欧美激情一区二区三区在线| 欧美mv日韩mv| 精品91自产拍在线观看一区| 精品黑人一区二区三区久久 | aaa国产一区| av日韩在线网站| 91搞黄在线观看| 欧美男男青年gay1069videost| 欧美丰满嫩嫩电影| 2021久久国产精品不只是精品| 久久蜜臀中文字幕| 自拍偷拍亚洲综合| 亚洲国产精品久久久久秋霞影院 | 欧美大片在线观看| 久久无码av三级| 国产精品国模大尺度视频| 综合欧美一区二区三区| 亚洲在线观看免费视频| 卡一卡二国产精品| 成人永久看片免费视频天堂| 一本久久综合亚洲鲁鲁五月天| 欧美日韩精品一区二区三区| 日韩欧美亚洲国产另类| 中文字幕欧美三区| 亚洲综合一区二区三区| 久久99精品国产麻豆不卡| 成人综合婷婷国产精品久久蜜臀| 99精品国产视频| 日韩欧美亚洲一区二区| 亚洲天堂av老司机| 蜜臀国产一区二区三区在线播放| 大桥未久av一区二区三区中文| 色偷偷久久人人79超碰人人澡| 日韩一区二区三区电影在线观看| 国产欧美日韩精品一区| 亚洲成人精品影院| 成人性生交大片免费看中文网站| 欧美日韩中文字幕精品| 国产网红主播福利一区二区| 亚洲一区av在线| 成人福利视频网站| 日韩精品最新网址| 一区二区三区在线视频播放| 国产伦精品一区二区三区免费迷| 色老汉av一区二区三区| 久久精品夜夜夜夜久久| 免费成人美女在线观看| 在线观看精品一区| 国产精品久久久久久久久晋中| 日本不卡在线视频| 欧美午夜电影一区| 亚洲欧美欧美一区二区三区| 国产在线播放一区三区四| 欧美一区二区私人影院日本| 一区二区三区久久久| 99国产精品视频免费观看| 久久久精品国产免大香伊| 青娱乐精品视频在线| 欧美日韩一区二区三区不卡| 成人欧美一区二区三区黑人麻豆| 黄页网站大全一区二区| 欧美一三区三区四区免费在线看 | 大陆成人av片| 国产午夜亚洲精品理论片色戒| 日韩vs国产vs欧美| 欧美日韩久久久一区| 亚洲成人av在线电影| 欧美日韩一区成人| 天堂一区二区在线| 91精品国产一区二区三区香蕉| 亚洲一区二区在线播放相泽| 日本久久精品电影| 一区二区在线观看av| 色狠狠色噜噜噜综合网| 亚洲免费观看高清完整 | 亚洲高清中文字幕| 欧美日韩视频一区二区| 日韩精品每日更新| 91精品国产一区二区三区蜜臀| 免费精品视频最新在线| 日韩欧美在线一区二区三区| 久久91精品国产91久久小草| 欧美变态口味重另类| 国产精品一级在线| 国产精品嫩草99a| 欧亚一区二区三区| 日韩精彩视频在线观看| 欧美精品一区视频| 成人的网站免费观看| 一区二区视频在线看| 欧美久久久一区| 精品一区二区三区影院在线午夜| 国产欧美日韩视频一区二区| 99re这里只有精品首页| 亚洲不卡在线观看| 26uuu亚洲综合色| 99久久99久久久精品齐齐| 天堂久久一区二区三区| 日本一区二区三区电影| 在线亚洲一区观看| 激情欧美一区二区| 一区二区三区四区在线免费观看 | 久久精品一区八戒影视| 色综合天天综合网天天狠天天| 首页国产丝袜综合| 亚洲国产高清aⅴ视频| 欧美亚洲高清一区| 国产福利一区在线| 亚洲一区影音先锋| 国产亚洲精品福利| 欧美日韩一区不卡| 懂色av一区二区在线播放| 无吗不卡中文字幕| 国产精品国模大尺度视频| 日韩欧美综合在线| 91浏览器在线视频| 国产ts人妖一区二区| 青椒成人免费视频| 亚洲欧美日韩在线不卡| 亚洲精品一区二区三区四区高清| 一本在线高清不卡dvd| 极品少妇xxxx偷拍精品少妇| 亚洲一区二区三区四区五区中文| 久久久久国产一区二区三区四区 | 中文字幕日韩一区| 日韩一级精品视频在线观看| 一道本成人在线| 成人激情动漫在线观看| 久久99精品久久久久| 日韩福利电影在线| 亚洲一区二区三区四区在线免费观看| 国产蜜臀av在线一区二区三区| 日韩欧美在线不卡| 91精品午夜视频| 欧美日韩一级二级| 欧美日韩日日夜夜| 欧美亚洲国产bt| 欧美日韩在线播放三区四区| 色吊一区二区三区| 91电影在线观看| 欧美网站一区二区| 欧美三电影在线| 欧美日本一区二区| 91精品国产综合久久蜜臀| 精品视频在线看| 欧美电影在哪看比较好| 91精品国产综合久久久久久| 欧美日韩在线播放一区| 91精品婷婷国产综合久久性色| 欧美日韩综合在线| 91精品国产手机| 欧美成人艳星乳罩| 国产人久久人人人人爽| 日韩一区日韩二区| 亚洲女子a中天字幕| 亚洲一区在线观看免费观看电影高清| 亚洲一区欧美一区| 天天爽夜夜爽夜夜爽精品视频| 日本一区中文字幕| 激情综合网天天干| 成人性生交大片免费看在线播放 | 日本欧美大码aⅴ在线播放| 蜜臀精品久久久久久蜜臀| 精品一区二区久久| eeuss国产一区二区三区| 色偷偷久久一区二区三区| 欧美精品丝袜久久久中文字幕| 在线91免费看| 国产欧美一区二区精品仙草咪| 亚洲视频在线一区二区| 丝袜亚洲另类丝袜在线| 国产一区二区三区观看| 色综合久久中文综合久久97| 欧美日本乱大交xxxxx| 精品国产免费视频| 亚洲麻豆国产自偷在线| 免费亚洲电影在线| 成人精品鲁一区一区二区| 色成年激情久久综合| 欧美大片日本大片免费观看| 欧美国产日韩精品免费观看| 亚洲成精国产精品女| 国产伦精品一区二区三区免费迷| 色老汉av一区二区三区| 久久综合色播五月| 亚洲国产视频网站| 国产91富婆露脸刺激对白| 欧美性受xxxx黑人xyx性爽| 精品少妇一区二区三区在线视频| 亚洲人妖av一区二区| 久久精品国产免费| 色婷婷av一区二区三区gif| 久久久久久久久岛国免费| 午夜视频久久久久久| 91丨九色丨尤物| 久久精品免视看| 久久精品国产亚洲一区二区三区|