質問編集履歴

5

URLの追加。

2020/02/26 02:39

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -25,3 +25,11 @@
25
25
 
26
26
 
27
27
  この中のoplib.cがメインの関数です。コメントの付け方とか、基本的なコードの書き方とかでもいいです。
28
+
29
+
30
+
31
+ このコードは、以下のサイトと関係しています。方式はMcEliece暗号です。
32
+
33
+
34
+
35
+ https://csrc.nist.gov/projects/post-quantum-cryptography/round-2-submissions

4

コードの削除

2020/02/26 02:39

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -25,141 +25,3 @@
25
25
 
26
26
 
27
27
  この中のoplib.cがメインの関数です。コメントの付け方とか、基本的なコードの書き方とかでもいいです。
28
-
29
-
30
-
31
- 追伸:次のコードにバグがあり、クラッシュしてしまいます。-O2オプションをつけると正常動作するのですが、なぜオプションをつけないと暴走するのかわかりません。どなたか手を貸してほしいです。
32
-
33
-
34
-
35
-
36
-
37
- EX xgcd(OP f,OP g){
38
-
39
- OP h={0},ww={0},v[K*2]={0},u[K*2]={0};
40
-
41
- oterm a,b;
42
-
43
- int i=0,j,k;
44
-
45
- EX e={0};
46
-
47
-
48
-
49
-
50
-
51
- u[0].t[0].a=1;
52
-
53
- u[0].t[0].n=0;
54
-
55
- u[1].t[0].a=0;
56
-
57
- u[1].t[0].n=0;
58
-
59
- u[2].t[0].a=1;
60
-
61
- u[2].t[0].n=0;
62
-
63
-
64
-
65
- v[0].t[0].a=0;
66
-
67
- v[0].t[0].n=0;
68
-
69
- v[1].t[0].a=1;
70
-
71
- v[1].t[0].n=0;
72
-
73
-
74
-
75
-
76
-
77
- //printpol(o2v(f));
78
-
79
- printpol(o2v(g));
80
-
81
- printf(" in xgcd============\n");
82
-
83
- // exit(1);
84
-
85
-
86
-
87
-
88
-
89
- k=0;
90
-
91
- //i=1;
92
-
93
- for(i=0;i<T;i++){
94
-
95
- if(LT(g).a==0 || LT(f).a==0)
96
-
97
- break;
98
-
99
- h=omod(f,g);
100
-
101
- ww=odiv(f,g);
102
-
103
-
104
-
105
-
106
-
107
- v[i+2]=oadd(v[i],omul(ww,v[i+1]));
108
-
109
- u[i+2]=oadd(u[i],omul(ww,u[i+1]));
110
-
111
- printf("i+1=%d\n",i+1);
112
-
113
- f=g;
114
-
115
- g=h;
116
-
117
-
118
-
119
- }
120
-
121
- //exit(1);
122
-
123
-
124
-
125
- //v[i]=odiv(v[i],h);
126
-
127
- //u[i]=odiv(u[i],h);
128
-
129
- // h.t[0].a=1;
130
-
131
- //h.t[0].n=0;
132
-
133
- printf("i=%d\n",i);
134
-
135
- printpol(o2v(v[i]));
136
-
137
- printf(" v=============\n");
138
-
139
- printpol(o2v(u[i]));
140
-
141
- printf(" u=============\n");
142
-
143
- printpol(o2v(h));
144
-
145
- printf(" h=============\n");
146
-
147
-
148
-
149
-
150
-
151
- e.d=h;
152
-
153
- e.v=v[i];
154
-
155
- e.u=u[i];
156
-
157
- // exit(1);
158
-
159
-
160
-
161
-
162
-
163
- return e;
164
-
165
- }

3

コードの追加

2020/02/26 01:11

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -25,3 +25,141 @@
25
25
 
26
26
 
27
27
  この中のoplib.cがメインの関数です。コメントの付け方とか、基本的なコードの書き方とかでもいいです。
28
+
29
+
30
+
31
+ 追伸:次のコードにバグがあり、クラッシュしてしまいます。-O2オプションをつけると正常動作するのですが、なぜオプションをつけないと暴走するのかわかりません。どなたか手を貸してほしいです。
32
+
33
+
34
+
35
+
36
+
37
+ EX xgcd(OP f,OP g){
38
+
39
+ OP h={0},ww={0},v[K*2]={0},u[K*2]={0};
40
+
41
+ oterm a,b;
42
+
43
+ int i=0,j,k;
44
+
45
+ EX e={0};
46
+
47
+
48
+
49
+
50
+
51
+ u[0].t[0].a=1;
52
+
53
+ u[0].t[0].n=0;
54
+
55
+ u[1].t[0].a=0;
56
+
57
+ u[1].t[0].n=0;
58
+
59
+ u[2].t[0].a=1;
60
+
61
+ u[2].t[0].n=0;
62
+
63
+
64
+
65
+ v[0].t[0].a=0;
66
+
67
+ v[0].t[0].n=0;
68
+
69
+ v[1].t[0].a=1;
70
+
71
+ v[1].t[0].n=0;
72
+
73
+
74
+
75
+
76
+
77
+ //printpol(o2v(f));
78
+
79
+ printpol(o2v(g));
80
+
81
+ printf(" in xgcd============\n");
82
+
83
+ // exit(1);
84
+
85
+
86
+
87
+
88
+
89
+ k=0;
90
+
91
+ //i=1;
92
+
93
+ for(i=0;i<T;i++){
94
+
95
+ if(LT(g).a==0 || LT(f).a==0)
96
+
97
+ break;
98
+
99
+ h=omod(f,g);
100
+
101
+ ww=odiv(f,g);
102
+
103
+
104
+
105
+
106
+
107
+ v[i+2]=oadd(v[i],omul(ww,v[i+1]));
108
+
109
+ u[i+2]=oadd(u[i],omul(ww,u[i+1]));
110
+
111
+ printf("i+1=%d\n",i+1);
112
+
113
+ f=g;
114
+
115
+ g=h;
116
+
117
+
118
+
119
+ }
120
+
121
+ //exit(1);
122
+
123
+
124
+
125
+ //v[i]=odiv(v[i],h);
126
+
127
+ //u[i]=odiv(u[i],h);
128
+
129
+ // h.t[0].a=1;
130
+
131
+ //h.t[0].n=0;
132
+
133
+ printf("i=%d\n",i);
134
+
135
+ printpol(o2v(v[i]));
136
+
137
+ printf(" v=============\n");
138
+
139
+ printpol(o2v(u[i]));
140
+
141
+ printf(" u=============\n");
142
+
143
+ printpol(o2v(h));
144
+
145
+ printf(" h=============\n");
146
+
147
+
148
+
149
+
150
+
151
+ e.d=h;
152
+
153
+ e.v=v[i];
154
+
155
+ e.u=u[i];
156
+
157
+ // exit(1);
158
+
159
+
160
+
161
+
162
+
163
+ return e;
164
+
165
+ }

2

コメントについて。

2020/02/25 21:33

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -24,4 +24,4 @@
24
24
 
25
25
 
26
26
 
27
- この中のoplib.cがメインの関数です。
27
+ この中のoplib.cがメインの関数です。コメントの付け方とか、基本的なコードの書き方とかでもいいです。

1

URLの追加。

2020/02/25 18:18

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -13,3 +13,15 @@
13
13
  コードに関する質問でないですが、この質問は不適切でしょうか?
14
14
 
15
15
  よろしくお願いします。
16
+
17
+
18
+
19
+ GitHubのアドレスはここです。
20
+
21
+
22
+
23
+ https://github.com/anang0g0/GoppaDecorder
24
+
25
+
26
+
27
+ この中のoplib.cがメインの関数です。