68user's page 掲示板

Prev< No. 3805〜3810> Next  [最新発言に戻る] [過去ログ一覧]
No. 3805 # 蒲鉾 2004/06/18 (金) 11:41:29
UNIXの<sys/socket.h>の様なファイルは
windowsでどこにあるのですか
windowsで<sys/socket.h>をインクルードしてもファイルが開けない
というようなメッセージがでてしまいます。

No. 3806 # kou 2004/06/18 (金) 19:37:06
> 秘密鍵: e, n
> 公開鍵: d, n
> 暗号化: (平文^e)%n
> 復号化: (暗号文^d)%n
>
>として、今、平文と e が不明だとします。何をどうすると、
>何がどういうふうに循環すると考えておられますか?
nを生成するのがp,qで、それらの最小公倍数がe,dだという私の認識自体が間違っていたのでしょうか^^;
一定の頻度で循環しているから、それ以内の適当な数eでべき乗しても補完関係にあるd(最小公倍数-e)で復号化できる。
平文に「1,2,3・・」といった具合に数を代入していけば循環周期が分かるのでは?と思ったのです

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 3807 # 68user 2004/06/19 (土) 00:23:45
>>3805 蒲鉾
> UNIXの<sys/socket.h>の様なファイルはwindowsでどこにあるのですか
winsock.h ですが、Windows の場合は他にもいろいろと書き方が
異なります。「winsock」で検索して、よさそうなサンプルを
探してください。

もっとも信頼できると思われるサンプルは
    http://www.kt.rim.or.jp/~ksk/wskfaq-ja/examples/basics/
でしょうが、ライブラリ化してあるのでわたしは初心者には
わかりやすいとは思いませんが、もし理解できるならこれを
参考にするのがよいでしょう。

>>3806 kou
> nを生成するのがp,qで、それらの最小公倍数がe,d
誤りと思われます。
    http://x68000.startshop.co.jp/~68user/net/crypt-2.html
の「RSA の本当のところ」を読んでください。

もう少し正確に、かつ数学的に書くと、
    p,q: 素数
    n: n=pq
    e: 1<e<(p-1)(q-1) かつ gcd(e, (p-1)(q-1))=1 を満たす自然数
    d: 1<d<(p-1)(q-1) かつ de≡1 (mod (p-1)(q-1)) を満たす自然数
として求めます。

# gcd(e, (p-1)(q-1))=1 は、e と (p-1)(q-1) が共通の約数を持たないということ。
# de≡1 (mod (p-1)(q-1)) は、d*e を (p-1)(q-1) で割った余りが 1 であるということ。

No. 3808 # どら 2004/06/19 (土) 00:52:56
>>68user
何度もありがとうございます。

“ex3-2.c”というファイルを“keisan3-2”としてコンパイルした結果を載せさせていただきます。
--------------------------------------------------------------------------------
tds1% cc -o keisan3-2 ex3-2.c
ucbcc: 警告: ld が起動される場合は、オプション -YP,:/usr/ucblib:/opt/SUNWspro/WS
6U2/bin/../lib:/opt/SUNWspro/WS6U2/bin:/usr/ccs/lib:/usr/lib は ld に渡されます
。それ以外は無視されます
"ex3-2.c", 16 行目: 警告: ファイルの最後に改行文字がありません
ld: 警告: オプション -YP が複数回存在します。最初の設定で行います。
---------------------------------------------------------------------------------

以前実行した時はうまくいったのですが、いつの間にかできなくなりました。
あと、上の文章の中で“16行目:〜ありません”という警告文もどのプログラムにも発生するみたいです。(この警告も以前はありませんでしたし、ファイルの中身はかえてないはずです。)
一応、簡単な文章でもうしわけないのですが、プログラムも載せさせていただきます。(教科書のコピーです…)

---------------------------------------------------------------------------------
/* 【例題3.2】 rei3_2 */

#include <stdio.h>

main()
{
    int a,b;

    printf("異なる2つの整数を入力してください--->");
    scanf("%d %d",&a,&b);
    if(a > b)
    printf("%d --- BIG\n",a);
    else
    printf("%d --- BIG\n",b);
    return(0);
}
-----------------------------------------------------------------------------------

よろしくお願いします。

No. 3809 # 68user 2004/06/19 (土) 01:43:46
>>3808 どら
たびたびすみませんが、
    % sh -x /usr/ucb/cc -v -o keisan3-2 ex3-2.c
の結果 (全文) を教えてください。

あと、env の結果も教えてください。ホスト名やログイン名などを
公開するのが嫌なら、適当に削ってから提示してください。


これ以上引っ張ると怒られそうなので、一部回答しておきますが、

> ucbcc: 警告: ld が起動される場合は、... 無視されます
> ld: 警告: オプション -YP が複数回存在します。最初の設定で行います。
これは警告なので、実行には支障がないはずです。keisan3-2 が
生成されていませんか?

> "ex3-2.c", 16 行目: 警告: ファイルの最後に改行文字がありません
これは文字通り、ファイルの最終行が改行コードが付いて
いないのでしょう。ファイルの最終行の末尾で改行してください。
ファイル末尾に改行がないとその行を読んでくれないプログラムも
あるので、改行をつける癖をつけておくことをお勧めします。

No. 3810 # どら 2004/06/19 (土) 09:48:43
>>3809 68user
何度もありがとうございます。このミスが見つからないと先に進みづらいので、教えていただけるのなら、どれだけ質問されても怒ったりしません。むしろどれだけでも聞いてください。お願いします。

% sh -x /usr/ucb/cc -v -o keisan3-2 ex3-2.cの結果を下に書きます。
------------------------------------------------------------------------------
+ [ -f /usr/ccs/bin/ucbcc ]
+ [ 4 -eq 0 ]
UCB_LIB_DIR=/usr/ucblib
CCS_LIB_DIR=/usr/ccs/lib
USR_LIB=/usr/lib
TYPE=
dopt=
cgdir=
+ [ x = x ]
LD_RUN_PATH=/usr/ucblib
+ export LD_RUN_PATH
+ [ = -Bstatic ]
LIBS=-lucb -lsocket -lnsl -lelf -laio
+ + awk/usr/bin/ls -ln /usr/ccs/bin/ucbcc{print $11}

cclink=/opt/SUNWspro/WS6U2/bin/acc
+ /usr/bin/dirname /opt/SUNWspro/WS6U2/bin/acc
ccdir=/opt/SUNWspro/WS6U2/bin
+ [ != ]
nccdir=/opt/SUNWspro/WS6U2/bin/../lib:/opt/SUNWspro/WS6U2/bin
LD_LIBRARY_PATH=/usr/ucblib:/usr/ccs/lib:/usr/lib
+ export LD_LIBRARY_PATH
+ /usr/ccs/bin/ucbcc -Xs -YP,:/usr/ucblib:/opt/SUNWspro/WS6U2/bin/../lib:/opt/SU
NWspro/WS6U2/bin:/usr/ccs/lib:/usr/lib -v -o keisan3-2 ex3-2.c -I/usr/ucbinclude
  -lucb -lsocket -lnsl -lelf -laio
ucbcc: 警告: ld が起動される場合は、オプション -YP,:/usr/ucblib:/opt/SUNWspro/WS
6U2/bin/../lib:/opt/SUNWspro/WS6U2/bin:/usr/ccs/lib:/usr/lib は ld に渡されます
。それ以外は無視されます
### コマンド行ファイルおよびオプション (展開済み):
### -v -o keisan3-2 ex3-2.c -I/usr/ucbinclude -lucb -lsocket -lnsl -lelf -laio
### ucbcc: 注釈: LM_LICENSE_FILE = (null)
### ucbcc: 注釈: NLSPATH = /opt/SUNWspro/WS6U2/bin/../lib/locale/%L/LC_MESSAGES/
%N.cat:/opt/SUNWspro/WS6U2/bin/../../lib/locale/%L/LC_MESSAGES/%N.cat
/usr/ccs/lib/cpp -undef -D__SunOS_5_8 -D__SUNPRO_C=0x510 -Dunix -D__unix -Dsun -
D__sun -D__BUILTIN_VA_ARG_INCR -D__SVR4 -Dsparc -D__sparc -I/usr/ucbinclude ex3-
2.c >/tmp/cpp.20856.0.i
/opt/SUNWspro/WS6U2/bin/acomp -Qy -y-o -yex3-2.o -I/usr/ucbinclude -g "/opt/SUNW
spro/WS6U2/bin/acc -Xs -YP,:/usr/ucblib:/opt/SUNWspro/WS6U2/bin/../lib:/opt/SUNW
spro/WS6U2/bin:/usr/ccs/lib:/usr/lib -v -I/usr/ucbinclude -c" -b -y-fbe -y/opt/
SUNWspro/WS6U2/bin/fbe -y-xarch=generic -y-xmemalign=4s -y-verbose -Xs -D__SunOS
_5_8 -D__SUNPRO_C=0x510 -Dunix -Dsun -Dsparc -D__unix -D__sun -D__sparc -D__BUIL
TIN_VA_ARG_INCR -D__SVR4 -y-s -I/opt/SUNWspro/WS6U2/include/cc -i /tmp/cpp.20856
.0.i
"ex3-2.c", 16 行目: 警告: ファイルの最後に改行文字がありません
rm /tmp/cpp.20856.0.i
### ucbcc: 注釈: LD_LIBRARY_PATH = /usr/ucblib:/usr/ccs/lib:/usr/lib
### ucbcc: 注釈: LD_RUN_PATH = /usr/ucblib
### ucbcc: 注釈: LD_OPTIONS = (null)
/usr/ccs/bin/ld -o keisan3-2 /opt/SUNWspro/WS6U2/lib/crti.o /opt/SUNWspro/WS6U2/
lib/crt1.o /opt/SUNWspro/WS6U2/lib/values-xs.o -Y P,/opt/SUNWspro/WS6U2/lib:/usr
/ccs/lib:/usr/lib -YP,:/usr/ucblib:/opt/SUNWspro/WS6U2/bin/../lib:/opt/SUNWspro/
WS6U2/bin:/usr/ccs/lib:/usr/lib ex3-2.o -lucb -lsocket -lnsl -lelf -laio -lc /op
t/SUNWspro/WS6U2/lib/crtn.o
ld: 警告: オプション -YP が複数回存在します。最初の設定で行います。
rm ex3-2.o
ret=0
+ exit 0
-------------------------------------------------------------------------

envの結果も書かせていただきます。

-------------------------------------------------------------------------
HOME=/disk2/user/md
PATH=/bin:/usr/bin:/usr/ucb:/etc:/opt/SUNWspro/bin:/opt/FSUNf90/bin:/disk2/user/
md/gnuplot:.
LOGNAME=
HZ=100
TERM=vt100
TZ=Japan
SHELL=/bin/csh
MAIL=/var/mail/md
LANG=ja
_INIT_NET_STRATEGY=none
_INIT_PREV_LEVEL=S
_INIT_RUN_LEVEL=3
_INIT_RUN_NPREV=0
_INIT_UTS_ISA=sparc
_INIT_UTS_MACHINE=sun4u
_INIT_UTS_NODENAME=
_INIT_UTS_PLATFORM=SUNW,Sun-Blade-1000
_INIT_UTS_RELEASE=5.8
_INIT_UTS_SYSNAME=SunOS
_INIT_UTS_VERSION=Generic_108528-27
PWD=/disk2/user/md
USER=md
LD_LIBRARY_PATH=/opt/FSUNf90/lib:/opt/SUNWspro/lib
MANPATH=/opt/FSUNf90/man:/opt/SUNWspro/man
-------------------------------------------------------------------------
という結果でした。


>>ucbcc: 警告: ld が起動される場合は、... 無視されます
>>ld: 警告: オプション -YP が複数回存在します。最初の設定で行います。
>これは警告なので、実行には支障がないはずです。keisan3-2 が
>生成されていませんか?
はい、ファイルはできています。実行すれば結果も出力されています。ただ、毎回この警告文がでていて、どれぐらい問題なのかどうかもわからないので、できるかぎり問題を取り除くことと、その理由が知りたいので…

>ファイル末尾に改行がないとその行を読んでくれないプログラムも
>あるので、改行をつける癖をつけておくことをお勧めします。
初めてしりました。ありがとうございます。気をつけます。

あと、もしお手数でなければ、今までされた質問の意図を教えていただければありがたいと思うのですが…手間がかかるようでしたら全然かまいませんので、よろしくお願いします。
それではまたよろしくお願いします。

Prev< No. 3805〜3810> Next  [最新発言に戻る] [過去ログ一覧]