元スレCygwin + MinGW + GCC 相談室 Part 5
gcc覧 / PC版 /みんなの評価 :
401 = :
fedoraのgcc 4.4.4の結果
$ gcc -g -m32 -O3 -ftree-vectorize -mmmx -msse2 -ftree-vectorizer-verbose=5 grs.c
grs.c: In function ‘main’:
grs.c:590: 警告: incompatible implicit declaration of built-in function ‘memcpy’
grs.c:607: note: not vectorized: data ref analysis failed D.5842D.5842_365 = GF[D.5841D.5841_364];
grs.c:592: note: not vectorized: data ref analysis failed D.5827D.5827_41 = FG[D.5826D.5826_40];
grs.c:552: note: vectorized 0 loops in function.
cygwinは4.3だからかもね
402 = :
VisualStudioにはConfigure makeのビルド環境がないから4.3.4には
戻せそうにないし、どうすればベクトル生成に成功するのかがわからない。
WINで動けばいいのだが、Cygwin環境依存だとアプリにするのが難しい。
406 = :
>>402
[ANNOUNCEMENT] New package: mingw64-i686 cross toolchain
http://cygwin.com/ml/cygwin/2010-09/msg00551.html
> The mingw64-i686 cross toolchain set has been uploaded to the Cygwin mirrors.
> It is used to build 32bit Windows applications and programs.
410 = :
なんか、固定値でxorとってるだけに思えてきた
411 = :
固定値じゃなくて鍵ストリームでは?
それは鍵やIVが変わると変わるので、鍵が固定なら固定値でもいいが、実用上そういうわけにはいかないだろう
412 = :
どうコンパイルしてもコンパイラがエラーになってできません。
値は固定値というよりは256列の行列の中から16パターン選び出す種類を
固有の値として平文にXORしているという感じです。2^32では周期は出
ません。このままだとVisualStudioで作ったものとCygwinで作ったものと
で動作環境に互換性のない暗号として配布しなければならないことになります。
414 = :
互換性のない結果出してるところから、調べたら
何が原因なのかわかってるなら、いいんだけど
415 = :
clでコンパイルすると普通にWindows環境で動きます。
しかし速度や性能でGCCの方が上なのでGCCでコンパイルしたものを
WIN上で動かしたいのです。
416 = :
>>415
cygwinでコンパイルしたものをDosPromptから動かしたらどうなる?
dllが見つからない旨のエラーメッセージが出るだけなら、そのdllにパスを通せば動くんでないかい?
417 = :
>>415
出力が同じなら高速版と通常版の2種類あったって別にいいと思うけど
どのみちSSE載ってない古いCPUじゃ高速版は動かないんだろ、その人たちは見捨てる気か (まぁ別にそれでもいいと思うけど)
418 = :
aとbにもスクランブルかけてるのね。
all0のデータとか突っ込まれたら、パターンがバレそうな気がするけど、気のせいかな
419 = :
でも全員がCygwin使ってるなんて考えられないし、やっぱりWindows
互換のコンパイラで最適化したソフトを配布したいから・・・
ところで安全性の基本原理とか興味ありますか?
420 = :
ありません
ここそういうスレじゃないし
421 = :
つーか、>416は無視ですか、そうですか。
422 = :
無理矢理パスを通せば動きますけど、普通の人がそうするとは思えません。
とくにCygwinを知らない人は。
423 = :
-mno-cygwin
でコンパイルできますか?今(version 4) はできなかったかなあ。
425 = :
全部0の値が入っても、行列のどの列の組み合わせかがわからなければ
安全です。因みにどんな組み合わせでも鍵ストリームは0にはなりません。
(当然か)IVはわかってもいいのですが、秘密鍵でスクランブルを
かけているので出力から鍵はわかりません。
431 = :
mingw32-gcc -O3 -ftree-vectorize -msse2 -o grs2 grs.c
これを実行するとstdio.hがないとかエラーが出る。
433 = :
>>431
またお前か
435 = :
(´;ω;)バイナリ配布先書いてあるんだから少しはてんぷら読んでやれよ
かわいそうだろ
436 = :
インストーラのバグのせいでダウンロードできない
437 = :
438 = :
本体はどこでダウンロードできるの?
439 = :
-O3を-O2にすると
grs.c:595: note: LOOP VECTORIZED.
grs.c:552: note: vectorized 2 loops in function.
って、なるね。
440 = :
本当だ!すごい!
442 = :
ベクトル化出来たけどマルチポストの人でしょ。
部分的に人に教えてもらったようなSIMDが書いてあって、それより簡単なコードがSIMD化されてない。
ていうかみんな静的に用意された固定長の配列なのにアr(ry
それに明らかに不要な計算が混じっていたりして、とてもやる気があるとは思えない。
443 = :
そういうひとだったら、解決した時点でもういないんだろうね。
444 = :
不要な計算ってどこのこと?
445 = :
あ、まだいたのか。
整数演算なんだから、ビットマスクしようがしまいが結果の下位ビットは変わらないよね。
447 = :
下位4ビットの値を指定して暗号に使う列を決めます。データは128ビット
の共用体なので型変換なしでいろいろなデータサイズで論理演算を施す
事ができます。いろいろ考えてるんです。
448 = :
最適化はまだ完全じゃないと思います。これから直していくつもりです。
ビットマスクをとることで暗号文から15以下の数を計算してるのです。
449 = :
馬鹿の考え休むに似たりって言葉もあってだな・・・
450 = :
だったら新型を開発しろ
みんなの評価 :
類似してるかもしれないスレッド
- Cygwin + MinGW + GCC 相談室 Part 8 (938) - [97%] - 2022/10/28 8:00
- Cygwin + MinGW + GCC 相談室 Part 7 (996) - [97%] - 2014/9/21 2:15
- Cygwin + MinGW + GCC 相談室 Part 6 (981) - [97%] - 2012/12/30 23:15
- Cygwin + MinGW + GCC 相談室 Part 4 (1001) - [97%] - 2010/3/23 18:31 ☆
- Cygwin + MinGW + GCC 相談室 Part 3 (1001) - [97%] - 2008/9/12 0:04 ★
- 【激遅】AppleGCC【絶望】 (111) - [1%] - 2010/1/15 10:31
トップメニューへ / →のくす牧場書庫について