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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? goppa_code.c

?? 通信類程序
?? C
字號:
/*

From: prometheus@olympus.uucp (prometheus)

this program is a compact implementation of goppa codes with parameters
m=10, t=37 for 32-bit machines. the decoding is due to nicholas
patterson, algebraic decoding of goppa codes, itit 21 (1975), 203-207.
the encoding is somewhat older. encoding takes a 654-bit message and
produces a 1024-bit message. decoding can correct up to 37 bit errors.

goppa g gfile sfile pfile mfile < gen: generates a code determined by
gen. writes code to gfile (7k), sfile (53k), pfile (4k), mfile (82k).
takes some time. encoding needs mfile. decoding needs gfile sfile pfile.
gen should be roughly a quarter megabyte of random data. gen without
enough random data may fail to generate a code. goppa will warn you in
that case.

goppa e mfile < plain > coded: encodes plain using mfile. plain is any
number of 82-byte blocks. actually the two high bits of the last byte of
each block are ignored: only 81 3/4 real bytes. you have to handle
padding. coded is same number of 128-byte blocks.

goppa d gfile sfile pfile < coded > plain: decodes coded using gfile,
sfile, pfile. will correct up to 37 bit errors in each 128-byte block.
goppa D gives some indication where bit errors are being corrected.

this program can trivially be used as a public-key system, where mfile
is the public key. all you have to do is add exactly 37 bit errors to
each 128-byte block. without gfile sfile pfile, the best known method of
decoding the result takes roughly 2^75 operations: millions of years
even if you put thousands of computers together. of course if gen is
known then gfile sfile pfile are known, so make sure gen is random. 
make sure it is cryptographically random because it is partly determined
by mfile which is public. also anyone who can guess the placement of bit
errors can decode the result. so make sure to place the bit errors very
randomly. also anyone who can guess your input can check to see whether
his guess is right. that's true of all public-key systems.

the above use of goppa coding is credited to mceliece. see a public-key
cryptosystem based on algebraic coding theory, deep space network
progress report 42-44 (1978), jpl, 114-116.

[stuff deleted. RMZ 1995]

prometheus

*/

#define sf(a,b) (sc[a^b]^sx[sc[a^sx[b]]]^sy[sc[a^sy[b]]])
#include <stdio.h>
#define O 1024
#define K 654
#define L 82
#define T 37
typedef unsigned short us;int sy[O],sx[O],sc[O],si[O],ss[O];us g[T+1];
us sq[T][T];int pe[1024];char st[K][L],su[K][L],sv[K][L];sm(a,b){a=
(a*(b&1))^(a*(b&2))^(a*(b&4))^(a*(b&8))^(a*(b&16))^(a*(b&32))^(a*(b&64))
^(a*(b&128))^(a*(b&256))^(a*(b&512));b=(a>>10)^((a>>7)&8184)^(a&1023);
return(b>>10)^((b>>7)&8184)^(b&1023);}
natsex(h,a)us*h;{int i,b,c;b=0;c=ss[a];for(i=T;i>=0;--i)b=h[i]^sf(b,c);
return b;}recsex(h,a)us*h;{int i,b,c;b=g[T];c=ss[a];for(i=T-1;i>=0;--i)
{h[i]=b;b=g[i]^sf(b,c);}return b;}snmsex(h,f,q)us*h,*f,*q;{us t[T+T+T];
int i,j;for(i=0;i<T+T+T;++i)t[i]=0;for(i=0;i<T;++i)for(j=0;j<T;++j)t[i+
j]^=sf(f[j],ss[q[i]]);for(j=T+T;j>=T;--j)if(t[j])for(i=1;i<=T;++i)t[j-i
]^=sf(g[T-i],ss[t[j]]);for(i=0;i<T;++i)h[i]=t[i];}sqshsex(h,f)us*h,*f;{
us t[T];int i,j;for(i=0;i<T;++i)t[i]=f[i];for(j=0;j<369;++j){snmsex(h,t
,t);for(i=0;i<T;++i)t[i]=h[i];}}sqrtsex(h,f)us*h,*f;{int i,j,d;for(i=0;
i<T;++i)h[i]=0;for(j=0;j<T;++j){d=ss[ss[f[j]]];for(i=0;i<T;++i)h[i]^=sf
(sq[j][i],d);}}funsex(h,f,m)us*h,*f;{static us v[T+T+1],q[T+T],w[T+T],x
[T+T];int i,j,k,d;for(i=0;i<T;++i)f[i]=!i;for(i=0;i<T;++i)q[i]=0;for(i=
0;i<=T;++i)v[i]=g[i];for(i=T-1;i>0;--i)if(h[i])break;d=ss[si[h[i]]];for
(j=T;j>=T-i;--j)v[j]^=sf(h[j-T+i],d);q[T-i]=sf(1,d);for(;;){for(i=T-1;i
>0;--i)if(v[i])break;if(i<m)break;d=ss[si[v[i]]];for(k=T-1-i;k>=0;--k){
w[k]=sf(h[i+k],d);if(w[k]){for(j=T-1;j>=k;--j){h[j]^=sf(v[j-k],ss[w[k]]
);f[j]^=sf(q[j-k],ss[w[k]]);}}}for(i=0;i<T;++i){x[i]=q[i];q[i]=f[i];f[i
]=x[i];x[i]=v[i];v[i]=h[i];h[i]=x[i];}}for(i=0;i<T;++i)h[i]=v[i];for(i=
0;i<T;++i)f[i]=q[i];}rn(m){int c,d;c=getchar();d=getchar();if((c==EOF)||
(d==EOF)){fprintf(stderr,"not enough gen material, dying\n");exit(1);}c=
((c&255)<<8)+(d&255);return c%m;}us x[O][T];char y[O][O/8];int z[O];us
w[O];main(argc,argv)char **argv;{int a,b,c,d,i,j;unsigned char l[O/8];
us f[T],h[T],q[T+1],s[T],tu[O],tv[O];char m[O/8];FILE *fi;
for(a=0;a<O;++a)ss[sm(a,a)]=a;for(a=0;a<O;++a)si[a]=0;for(a=0;a<O;++a)
tu[a]=1<<(a%10);for(a=1;a<O;++a)if(!si[a]){for(b=a;b<O;++b)if(!si[b]&&
sm(a,b)==1)break;c=d=1;do si[c=sm(a,c)]=d=sm(b,d);while(c-1);}for(a=0;
a<O;++a)tv[a]=1<<(a&7);for(a=0;a<O;++a)sc[a]=sm(a,sm(a,a));for(a=0;a<O
;++a)sy[sx[a]=sm(237,a)]=a;if(!argv[1]){fprintf(stderr,"g e or d please\n"
);exit(1);}if(argv[1][0]=='g'){for(i=0;i<T+1;++i)g[i]=1;for(;;){for(i=0
;i<T;++i)g[i]=rn(1024);for(a=0;a<O;++a)if(!recsex(h,a))break;if(a<O)
continue;for(i=0;i<T;++i)f[i]=0;f[1]=1;for(i=0;i<T*10;++i){snmsex(h,f,f
);for(j=0;j<T;++j)f[j]=h[j];}for(i=0;i<T;++i)if(f[i]!=(i==1))break;if(i
==T)break;}printf("1\n");for (a=0;a<O;++a){b=ss[si[recsex(x[a],a)]];for
(i=0;i<T;++i)x[a][i]=sf(x[a][i],b);for(i=0;i<O/8;++i)y[a][i]=0;y[a][a/8
]|=tv[a];}printf("2\n");for(a=0;a<O;++a)z[a]=-1;d=0;for(a=0;a<O;++a){i=
0;for(;;){while(!x[a][i/10]){++i;if(i==T*10)break;}if(i==T*10){w[d++]=a
;break;}while(!(x[a][i/10]&tu[i]))++i;if((c=z[i])==-1){z[i]=a;break;}for
(j=0;j<T;++j)x[a][j]^=x[c][j];for(j=0;j<O/8;++j)y[a][j]^=y[c][j];}if(d==
K)break;}printf("3\n");for(i=0;i<T;++i)sq[0][i]=!i;for(j=0;j<T;++j)h[j]=
(j==1);sqshsex(sq[1],h);for(i=2;i<T;++i)snmsex(sq[i],sq[i-1],sq[1]);
printf("4\n");for(i=0;i<O;++i)pe[i]=i;for(i=0;i<O;++i){j=rn(O-i)+i;d=pe[
j];pe[j]=pe[i];pe[i]=d;}printf("5\n");for(i=0;i<K;++i){for(j=0;j<O/8;++j
)m[j]=0;for(a=0;a<O;++a)if(y[w[i]][a/8]&tv[a])m[pe[a]/8]|=tv[pe[a]];for(
j=0;j<O/8;++j)y[w[i]][j]=m[j];}printf("6\n");for(;;){for(i=0;i<K;++i)for
(j=0;j<L;++j)sv[i][j]=st[i][j]=rn(256);for(i=0;i<K;++i)for(j=0;j<L;++j)
su[i][j]=0;for(i=0;i<K;++i)su[i][i/8]|=tv[i];for(i=0;i<K;++i){for(j=i;j
<K;++j)if(st[j][i/8]&tv[i]){if(i!=j)for(d=0;d<L;++d){c=su[j][d];su[j][d
]=su[i][d];su[i][d]=c;c=st[j][d];st[j][d]=st[i][d];st[i][d]=c;}for(d=0;
d<K;++d)if(d!=i)if(st[d][i/8]&tv[i])for(c=0;c<L;++c){su[d][c]^=su[i][c]
;st[d][c]^=st[i][c];}break;}if(j==K)break;}if(i==K)break;}printf("7\n");
argv+=2;if(!(fi=fopen(*argv?*argv++:"gfile","w"))){fprintf(stderr,
"gfile problem\n");exit(1);}for(i=0;i<=T;++i)fprintf(fi,"%hu\n",g[i]);for
(i=0;i<K;++i)fprintf(fi,"%hu\n",w[i]);for(i=0;i<T;++i)for(j=0;j<T;++j)
fprintf(fi,"%hu\n",sq[i][j]);fclose(fi);if(!(fi=fopen(*argv?*argv++:
"sfile","w"))){fprintf(stderr,"sfile problem\n");exit(1);}for(i=0;i<K;++
i)for(j=0;j<L;++j)fputc(su[i][j],fi);fclose(fi);if(!(fi=fopen(*argv?*argv
++:"pfile","w"))){fprintf(stderr,"pfile problem\n");exit(1);}for(i=0;i<O;
++i)fprintf(fi,"%u\n",pe[i]);fclose(fi);if(!(fi=fopen(*argv?*argv++:
"mfile","w"))){fprintf(stderr,"mfile problem\n");exit(1);}for(i=0;i<K;++
i){for(j=0;j<O/8;++j)m[j]=0;for(b=0;b<K;++b)if(sv[i][b/8]&tv[b])for(j=0;
j<O/8;++j)m[j]^=y[w[b]][j];for(j=0;j<O/8;++j)fputc(m[j],fi);}fclose(fi);
exit(0);}if(argv[1][0]=='e'){argv+=2;if(!(fi=fopen(*argv?*argv++:"mfile"
,"r"))){fprintf(stderr,"mfile problem\n");exit(1);}for(i=0;i<K;++i)for(j
=0;j<O/8;++j){y[i][j]=fgetc(fi);}fclose(fi);for(;;){for(i=0;i<L;++i){if(
(c=getchar())==EOF)break;l[i]=c;}if(!i)exit(0);if(i<L){fprintf(stderr,
"final block only %d bytes, ignored\n",i);exit(1);}for(j=0;j<O/8;++j)m[j
]=0;for(i=0;i<K;++i){d=!!((l[i/8]&tv[i]));if(d)for(j=0;j<O/8;++j)m[j]^=y
[i][j];}for(j=0;j<O/8;++j){putchar(m[j]);}}}if(argv[1][0]=='d'||argv[1][
0]=='D'){argc=(argv[1][0]=='D');argv+=2;if(!(fi=fopen(*argv?*argv++:
"gfile","r"))){fprintf(stderr,"gfile problem\n");exit(1);}for(i=0;i<=T;
++i)fscanf(fi,"%hu",&g[i]);for(i=0;i<K;++i)fscanf(fi,"%hu",&w[i]);for(i=
0;i<T;++i)for(j=0;j<T;++j)fscanf(fi,"%hu",&sq[i][j]);fclose(fi);if(!(fi=
fopen(*argv?*argv++:"sfile","r"))){fprintf(stderr,"sfile problem\n");
exit(1);} for(i=0;i<K;++i)for(j=0;j<L;++j)su[i][j]=fgetc(fi);fclose(fi);
if(!(fi=fopen(*argv?*argv++:"pfile","r"))){fprintf(stderr,"pfile problem\n"
);exit(1);}for(i=0;i<O;++i)fscanf(fi,"%u",&pe[i]);fclose(fi);for(;;){for
(j=0;j<O/8;++j){if((c=getchar())==EOF)break;l[j]=c;}if(!j)exit(0);if(j<O
/8){fprintf(stderr,"final block only %d bytes, ignored\n",j);exit(1);}for
(j=0;j<O/8;++j)m[j]=0;for(a=0;a<O;++a)if(l[pe[a]/8]&tv[pe[a]])m[a/8]|=tv
[a];for(i=0;i<T;++i)s[i]=0;for(a=0;a<O;++a)if(m[a/8]&tv[a]){b=ss[si[
recsex(h,a)]];for(i=0;i<T;++i)s[i]^=sf(h[i],b);}for(i=0;i<T;++i)if(s[i])
{funsex(s,h,1);d=ss[si[s[0]]];for(i=0;i<T;++i)h[i]=sf(h[i],d);h[1]^=1;for
(i=0;i<T;++i)if(h[i])break;if(i==T){m[0]^=tv[0];if(argc){fprintf(stderr,
"[%d]",0);fflush(stderr);}break;}sqrtsex(f,h);funsex(f,h,(T/2)+1);for(i=
(T+1)/2;i<T;++i)if(h[i])break;if(i<T){fprintf(stderr,
"too many errors in block\n");break;}q[T]=0;snmsex(q,f,f);snmsex(f,h,h);
for(i=1;i<=T;++i)q[i]^=f[i-1];for(a=0;a<O;++a)if(!natsex(q,a)){m[a/8]^=
tv[a];if(argc){fprintf(stderr,"[%d]",a);fflush(stderr);}}break;}for(i=0;
i<L;++i)l[i]=0;for(i=0;i<K;++i)if(m[w[i]/8]&tv[w[i]]){for(b=0;b<L;++b)l[
b]^=su[i][b];}for(i=0;i<L;++i)putchar(l[i]);}}
fprintf(stderr,"g e or d please\n");exit(1);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品福利一二区| 在线看日韩精品电影| 久久久国产午夜精品| 国产美女精品人人做人人爽| 国产亚洲短视频| 成人av电影在线观看| 亚洲男人都懂的| 欧美曰成人黄网| 麻豆精品一区二区| 久久久久久毛片| 99热这里都是精品| 午夜精品久久久久久久久久 | 国产成人精品免费在线| 国产精品人妖ts系列视频| 日本精品裸体写真集在线观看 | 91精品国产综合久久国产大片| 麻豆久久久久久| 国产精品久久久久婷婷二区次| 色爱区综合激月婷婷| 亚洲成av人片观看| 久久久夜色精品亚洲| 91美女片黄在线观看| 麻豆成人免费电影| 国产精品入口麻豆原神| 欧美日韩精品一二三区| 国产成人精品免费在线| 五月综合激情日本mⅴ| 国产午夜精品一区二区三区嫩草| 一本到一区二区三区| 九九**精品视频免费播放| 亚洲视频资源在线| 日韩一区二区免费在线观看| 成人h动漫精品一区二区| 日韩有码一区二区三区| 国产精品第一页第二页第三页| 欧美日韩一区不卡| 日韩视频一区二区三区| 成人av免费在线| 日韩电影在线观看电影| 国产精品免费视频观看| 日韩一级高清毛片| 一本大道久久a久久综合 | 国产美女视频91| 亚洲成人av资源| 国产精品久久久久久久蜜臀| 日韩一区二区三区视频在线观看| 成人免费毛片高清视频| 日韩国产精品91| 国产精品久久99| 欧美一级免费观看| 色狠狠综合天天综合综合| 国产精品一区2区| 午夜精品在线视频一区| 亚洲免费看黄网站| 久久久www成人免费无遮挡大片| 欧美三区免费完整视频在线观看| 99re亚洲国产精品| 国产一区二区在线视频| 免费欧美在线视频| 婷婷一区二区三区| 亚洲狠狠爱一区二区三区| 亚洲欧美在线观看| 国产精品美女久久久久久久久久久 | av网站免费线看精品| 极品瑜伽女神91| 裸体在线国模精品偷拍| 日韩电影免费在线看| 亚洲 欧美综合在线网络| 亚洲在线中文字幕| 亚洲精品高清视频在线观看| 国产精品午夜春色av| 国产日韩欧美a| 中文乱码免费一区二区| 国产精品女人毛片| 亚洲色图一区二区| 亚洲精品中文字幕乱码三区| 亚洲欧美另类小说| 亚洲一区在线播放| 午夜精品久久久久久久久久| 午夜精品久久一牛影视| 奇米精品一区二区三区在线观看一 | 欧美日本国产视频| 色婷婷亚洲婷婷| 色婷婷综合久久| 欧美性受xxxx| 欧美狂野另类xxxxoooo| 欧美一卡2卡3卡4卡| 欧美一区二区精品| 精品国产一区二区三区久久影院| 精品福利av导航| 国产欧美综合在线观看第十页| 欧美国产精品一区| 亚洲男人天堂一区| 日本不卡视频一二三区| 久久99在线观看| 成人h版在线观看| 欧美又粗又大又爽| 日韩精品一区二区三区在线观看| 国产亚洲一区二区三区四区| 国产精品家庭影院| 亚洲一区二区三区四区五区黄| 日韩国产在线一| 国产精品一区二区久久精品爱涩| 99免费精品视频| 欧美另类一区二区三区| 欧美一区二区三区公司| 国产欧美日韩久久| 亚洲一区二区黄色| 欧美一级电影网站| 欧美日韩国产一二三| 欧美大肚乱孕交hd孕妇| 欧美哺乳videos| 欧美国产日本视频| 日韩在线一二三区| 懂色av中文字幕一区二区三区| 亚洲精品一区在线观看| 国产精品久久免费看| 午夜伊人狠狠久久| www.亚洲精品| 日韩一区二区在线看| 日韩理论片一区二区| 男女男精品视频| 色吧成人激情小说| 久久久久国产免费免费 | 欧美不卡一区二区| 亚洲精品国产成人久久av盗摄 | 91精品啪在线观看国产60岁| 国产偷国产偷亚洲高清人白洁| 一区二区成人在线| 丁香婷婷深情五月亚洲| 4438x亚洲最大成人网| 国产女主播视频一区二区| 亚洲成a人片综合在线| 国产精品国产三级国产有无不卡 | 久久久久久久电影| 亚洲成人午夜影院| 96av麻豆蜜桃一区二区| 精品国产1区二区| 亚洲国产人成综合网站| 成人综合婷婷国产精品久久蜜臀 | 欧美在线观看一区| 国产精品理论在线观看| 精品一区在线看| 69堂亚洲精品首页| 亚洲女同ⅹxx女同tv| 大胆欧美人体老妇| 国产日韩高清在线| 精品一区二区三区香蕉蜜桃| 欧美日韩国产美| 亚洲黄色在线视频| 99这里只有久久精品视频| 国产日产精品1区| 69精品人人人人| 亚洲伊人伊色伊影伊综合网| 成人av综合在线| 中文子幕无线码一区tr| 国产激情视频一区二区三区欧美 | 国产电影一区在线| 久久久综合网站| 国产高清在线精品| 久久久久国产免费免费| 国产在线乱码一区二区三区| 日韩一二三区不卡| 免费在线看成人av| 欧美一级免费大片| 视频在线观看91| 日韩一级黄色片| 国产一区啦啦啦在线观看| 精品久久久久香蕉网| 狠狠色狠狠色综合| 精品国产免费人成在线观看| 九九视频精品免费| 久久精品亚洲国产奇米99| 精品一区二区三区免费观看| 久久久另类综合| 懂色av中文字幕一区二区三区| 中文字幕精品在线不卡| 不卡av在线网| 亚洲二区在线观看| 欧美一区二区免费视频| 国内精品伊人久久久久影院对白| 久久久午夜精品| eeuss国产一区二区三区| 亚洲精品久久嫩草网站秘色| 欧美乱熟臀69xxxxxx| 久草精品在线观看| 亚洲国产精品av| 日本道免费精品一区二区三区| 亚洲一区二区三区影院| 日韩精品一区二区在线观看| 国产91丝袜在线播放九色| 日韩伦理免费电影| 欧美一区二区三区四区高清| 国产一区二区在线免费观看| 国产精品久久免费看| 欧美乱妇15p| 懂色av一区二区夜夜嗨| 亚洲在线视频一区| 精品国产一区二区三区不卡| 91视频免费播放|