teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

URLの追加。

2020/02/26 02:39

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -11,4 +11,8 @@
11
11
 
12
12
  https://github.com/anang0g0/GoppaDecorder
13
13
 
14
- この中のoplib.cがメインの関数です。コメントの付け方とか、基本的なコードの書き方とかでもいいです。
14
+ この中のoplib.cがメインの関数です。コメントの付け方とか、基本的なコードの書き方とかでもいいです。
15
+
16
+ このコードは、以下のサイトと関係しています。方式はMcEliece暗号です。
17
+
18
+ https://csrc.nist.gov/projects/post-quantum-cryptography/round-2-submissions

4

コードの削除

2020/02/26 02:39

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -11,73 +11,4 @@
11
11
 
12
12
  https://github.com/anang0g0/GoppaDecorder
13
13
 
14
- この中のoplib.cがメインの関数です。コメントの付け方とか、基本的なコードの書き方とかでもいいです。
14
+ この中のoplib.cがメインの関数です。コメントの付け方とか、基本的なコードの書き方とかでもいいです。
15
-
16
- 追伸:次のコードにバグがあり、クラッシュしてしまいます。-O2オプションをつけると正常動作するのですが、なぜオプションをつけないと暴走するのかわかりません。どなたか手を貸してほしいです。
17
-
18
-
19
- EX xgcd(OP f,OP g){
20
- OP h={0},ww={0},v[K*2]={0},u[K*2]={0};
21
- oterm a,b;
22
- int i=0,j,k;
23
- EX e={0};
24
-
25
-
26
- u[0].t[0].a=1;
27
- u[0].t[0].n=0;
28
- u[1].t[0].a=0;
29
- u[1].t[0].n=0;
30
- u[2].t[0].a=1;
31
- u[2].t[0].n=0;
32
-
33
- v[0].t[0].a=0;
34
- v[0].t[0].n=0;
35
- v[1].t[0].a=1;
36
- v[1].t[0].n=0;
37
-
38
-
39
- //printpol(o2v(f));
40
- printpol(o2v(g));
41
- printf(" in xgcd============\n");
42
- // exit(1);
43
-
44
-
45
- k=0;
46
- //i=1;
47
- for(i=0;i<T;i++){
48
- if(LT(g).a==0 || LT(f).a==0)
49
- break;
50
- h=omod(f,g);
51
- ww=odiv(f,g);
52
-
53
-
54
- v[i+2]=oadd(v[i],omul(ww,v[i+1]));
55
- u[i+2]=oadd(u[i],omul(ww,u[i+1]));
56
- printf("i+1=%d\n",i+1);
57
- f=g;
58
- g=h;
59
-
60
- }
61
- //exit(1);
62
-
63
- //v[i]=odiv(v[i],h);
64
- //u[i]=odiv(u[i],h);
65
- // h.t[0].a=1;
66
- //h.t[0].n=0;
67
- printf("i=%d\n",i);
68
- printpol(o2v(v[i]));
69
- printf(" v=============\n");
70
- printpol(o2v(u[i]));
71
- printf(" u=============\n");
72
- printpol(o2v(h));
73
- printf(" h=============\n");
74
-
75
-
76
- e.d=h;
77
- e.v=v[i];
78
- e.u=u[i];
79
- // exit(1);
80
-
81
-
82
- return e;
83
- }

3

コードの追加

2020/02/26 01:11

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -11,4 +11,73 @@
11
11
 
12
12
  https://github.com/anang0g0/GoppaDecorder
13
13
 
14
- この中のoplib.cがメインの関数です。コメントの付け方とか、基本的なコードの書き方とかでもいいです。
14
+ この中のoplib.cがメインの関数です。コメントの付け方とか、基本的なコードの書き方とかでもいいです。
15
+
16
+ 追伸:次のコードにバグがあり、クラッシュしてしまいます。-O2オプションをつけると正常動作するのですが、なぜオプションをつけないと暴走するのかわかりません。どなたか手を貸してほしいです。
17
+
18
+
19
+ EX xgcd(OP f,OP g){
20
+ OP h={0},ww={0},v[K*2]={0},u[K*2]={0};
21
+ oterm a,b;
22
+ int i=0,j,k;
23
+ EX e={0};
24
+
25
+
26
+ u[0].t[0].a=1;
27
+ u[0].t[0].n=0;
28
+ u[1].t[0].a=0;
29
+ u[1].t[0].n=0;
30
+ u[2].t[0].a=1;
31
+ u[2].t[0].n=0;
32
+
33
+ v[0].t[0].a=0;
34
+ v[0].t[0].n=0;
35
+ v[1].t[0].a=1;
36
+ v[1].t[0].n=0;
37
+
38
+
39
+ //printpol(o2v(f));
40
+ printpol(o2v(g));
41
+ printf(" in xgcd============\n");
42
+ // exit(1);
43
+
44
+
45
+ k=0;
46
+ //i=1;
47
+ for(i=0;i<T;i++){
48
+ if(LT(g).a==0 || LT(f).a==0)
49
+ break;
50
+ h=omod(f,g);
51
+ ww=odiv(f,g);
52
+
53
+
54
+ v[i+2]=oadd(v[i],omul(ww,v[i+1]));
55
+ u[i+2]=oadd(u[i],omul(ww,u[i+1]));
56
+ printf("i+1=%d\n",i+1);
57
+ f=g;
58
+ g=h;
59
+
60
+ }
61
+ //exit(1);
62
+
63
+ //v[i]=odiv(v[i],h);
64
+ //u[i]=odiv(u[i],h);
65
+ // h.t[0].a=1;
66
+ //h.t[0].n=0;
67
+ printf("i=%d\n",i);
68
+ printpol(o2v(v[i]));
69
+ printf(" v=============\n");
70
+ printpol(o2v(u[i]));
71
+ printf(" u=============\n");
72
+ printpol(o2v(h));
73
+ printf(" h=============\n");
74
+
75
+
76
+ e.d=h;
77
+ e.v=v[i];
78
+ e.u=u[i];
79
+ // exit(1);
80
+
81
+
82
+ return e;
83
+ }

2

コメントについて。

2020/02/25 21:33

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -11,4 +11,4 @@
11
11
 
12
12
  https://github.com/anang0g0/GoppaDecorder
13
13
 
14
- この中のoplib.cがメインの関数です。
14
+ この中のoplib.cがメインの関数です。コメントの付け方とか、基本的なコードの書き方とかでもいいです。

1

URLの追加。

2020/02/25 18:18

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -5,4 +5,10 @@
5
5
  開発言語はLinuxのC言語です。
6
6
  またプログラミングする上で、気をつけなければならない基本的なことがあったら教えてください。
7
7
  コードに関する質問でないですが、この質問は不適切でしょうか?
8
- よろしくお願いします。
8
+ よろしくお願いします。
9
+
10
+ GitHubのアドレスはここです。
11
+
12
+ https://github.com/anang0g0/GoppaDecorder
13
+
14
+ この中のoplib.cがメインの関数です。