■暗号化スレ■

このエントリーをはてなブックマークに追加
1低速たん
データの暗号化技術に関するスレ。
ム板らしくコードを交えながらマターリと。
RSAスレは一つあるようなので、主にそれ以外の話題で。

とりあえず俺の足りない頭のフル回転手伝って〜。
とりあえず姉妹スレ

突然のの事故などで死んだとき・・・
http://yasai.2ch.net/test/read.cgi/win/983975912/

ネタスレっぽいけどところどころまじめ。
3低速たん:01/10/11 03:07
ネタフリしまっす。

インターネット上を通過させるデータの暗号化をしたいけど、
SSLは低速、おおげさ、etc.. だからイヤンって人は俺以外
にもいるんじゃないかと予想。
公開鍵暗号を使わないでデータを安全に運ぶ各種方法キボン。

とりあえず、俺が考えているのは次のようなの。

HostA(server) -- internet -- HostB(client)

という環境で、まず B が A に username/password を
送りつけて認証を受け(*1)、そのあと B が A にバシバシ
データを投げるようなアプリケーションを考えていて、
その投げるデータを暗号化して保護したいと思ってます(*2)。
なお、password(以下P)は、あらかじめ安全な方法でBの手元
に届いています。

(*1)では、APOPのようなチャレンジ&レスポンス方式を用いて
認証を行い(よって P は平文では流れない)、(*2)では鍵に P
をそのまま使った共通鍵暗号でお互いにデータを暗号化しようと
思ってます。

アルゴリズムは、前者はSHA1、後者は3DESかAES(Rijndael)を
考えてます。

でー、とりあえず質問。この方法はDQN?

・根本的に危うい。すぐ破られるぞ秋厨
・素直にSSL
・もっとよい方法/アルゴリズムがある
・そういうことをする為のソフトウェアが既にある

ほかダメ出しきぼーん。
俺暗号弱いので、やさしくしてください。
量子暗号がいまいちわからん。
「観測が粒子に影響をおよぼすので、盗聴されると分かる」
とかなんとか言っているが。
良い解説ページがあったら教えて。
5低速たん:01/10/11 03:11
ども>>2

もいっこ。

AESの実装って
http://csrc.nist.gov/encryption/aes/rijndael/
http://www.esat.kuleuven.ac.be/~rijmen/rijndael/
http://fp.gladman.plus.com/cryptography_technology/rijndael/
とかsourceforgeなんかに結構あるけど、どれがイケてん(枯れてる
とか速いとか)の?
6デフォルトの名無しさん:01/10/11 06:36
optimized C reference ver 3 は良いコードだよ
P5,MMX,SSE で高速化したバージョンもあるけど
ISO C じゃないので面倒くさい(nasm要るし)
twofishよりはコードが素直でいじりやすいね
え!低速かよ!なにがってアレだよ、アレ。例の。
だけど>>1もよくやるよね。こんなに不景気なのに。
戦争とか起きちゃってる時世にさ。おかまいなしだから困っちゃうよ、俺。
まぁ、ブッシュもいろいろ大変だけどさ、日本もそれなりに大変なわけなのよ。
小泉総理。これがまたアイドルみたいな扱いされちゃって。おまけに調子に乗って
息子さん、俳優になってるし。まぁ、あの類はすぐに人気がなくなるんだけどね。「孝太郎?誰だ、そりゃ」みたいに。
もう時間がないから、おれ行くけどさ、これだけは覚えといて。

「糞スレ立てるな」
誰か >>7 を decrypt してください。
え!暗号化かよ!なにがってアレだよ、アレ。例の。
だけど>>8もよくやるよね。こんなに不景気なのに。
戦争とか起きちゃってる時世にさ。おかまいなしだから困っちゃうよ、俺。
まぁ、ブッシュもいろいろ大変だけどさ、日本もそれなりに大変なわけなのよ。
小泉総理。これがまたアイドルみたいな扱いされちゃって。おまけに調子に乗って
息子さん、俳優になってるし。まぁ、あの類はすぐに人気がなくなるんだけどね。「孝太郎?誰だ、そりゃ」みたいに。
もう時間がないから、おれ行くけどさ、これだけは覚えといて。

「糞レスつけるな」
>>8
おいおい。暗号だよ。
11デフォルトの名無しさん:01/10/11 07:38
共通鍵暗号で十分なんじゃないの?
日本の母国USでは、解けない暗号を
禁止する方向だし。
>>9は decrypt を 暗号化 と思ってるのだろうか?
13デフォルトの名無しさん:01/10/11 13:06
もちかかちのなねみちみにてらのちみきちいかいにすなみらしちのちる
せなすらきなすちもなこちみみらのにもにかちかにみちすちね
のらみみちこなみみとんらなとなきなみにてちのちすなんらみいる
>>12
>>9じゃなくて>>8
158=12:01/10/11 13:47
>>10
>>7って暗号化されてるんじゃないのか?
だから、誰かに decrypt してもらおうかと…。

>>14
ん?
Zebedeeってクライアントとサーバで秘密の鍵を共有しているのになんでわざわざ
Diffie-Hellmanであらためて鍵交換するのですかね?
17デフォルトの名無しさん:01/10/11 23:33
いくら複合化の鍵は秘密にしているとはいえ、
暗号化の鍵を公開していたら意味無いじゃん。
どうしてこんな簡単なことに気づかないの?
みんな騙されてるんじゃない?
>>17
秘密にしてるのは復号化キーの方だから、問題ないです。
複合化キーは確かにまずいかもね。
19 :01/10/11 23:36
複合→復元では?
それとも私の知らない言葉?
じゃ、公開鍵も秘密にする。
特定の人にこっそり渡す。
>>19
復号のことでしょ?
22低速たん:01/10/12 01:06
帰宅してみればマタリと荒れてますな。

>>6
ありがとうございます。さっそくいじってみます。

>>16
よくわかんない(自信ない)から、>>3のやりかたは捨ててzebedeeの
ソノ部分を流用させてもらおっかなーと思ったり思わなかったり。GPL
だっけ?
23衒学:01/10/12 01:46
「暗号化」の逆は「復号」です。
「暗号」の逆は「平文」。
24デフォルトの名無しさん:01/10/12 02:09
暗号の逆が平文?
ほんと?暗号文じゃなくて?

ところで、りじんでーるってどんなもんなの?
今一番お薦めのブロック暗号って何?
25デフォルトの名無しさん:01/10/12 02:21
26デフォルトの名無しさん:01/10/12 02:45
MISTYのコード手に入ったんだけど、これって
使えるのかな?性能的にも特許的にも。
GPLだと思われ >>22
28デフォルトの名無しさん:01/10/12 07:25
>>24
どうして「暗号」の逆が「暗号文」?
理由を言ってみてよ。
>>23、24
暗号の逆は復号
暗号文の逆は平文
>>28
たぶん24は
「ほんと? "暗号文"の逆が平文なんじゃなくて?」
といいたかったのでしょう。
3130:01/10/12 07:34
かぶった・・よねコレ? 鬱。
>>4
それ、漁師コンピュータの話じゃないのか・・?
少なくとも量子力学では対象の状態変化無しには対象の観測は不可能だとしている
から、学問的な話じゃないか?
量子コンピュータとは別で、通信路の話だと思いますよ

思いっきり乱暴に言うと光子1個まで信号を弱くすれば受信出来るのは一人だけっていう原理
34いいかげんな話:01/10/12 11:44
なんだったかな…。
ある粒子を二つに割れて、双方の挙動が全く対象的になるような現象があるらしくて、
片方の粒子を測定した瞬間に、反対側の粒子が消滅するという現象があるらしい。

で、その粒子を暗合として使えば、一種の公開鍵暗合として使えて、
しかも相手が読んだことを瞬時に知ることが出来る…

というような話だったと思うような思わないような…。
35プログラマー名無したん:01/10/12 12:49
>>3
ネタスレっぽいがマジレスしてみる。

それって、
(1) AからBにAの公開鍵を送りつける
(2) BはAの公開鍵を使ってセッション内で使いたい共通暗号鍵(セッション毎に毎回作り直す)をAの公開鍵で暗号化して送る
(3) 以後AとBの通信はBが作った共通暗号鍵で通信する
と同じことじゃない?

あと、ユーザのパスワードを共通暗号鍵に使うのは、ユーザがパスワ
ードを短い間隔で変更するのならともかく、どう頑張っても人間の記憶
の都合で短くても数ヶ月のスパンだろうから、一回でもパスワードが解
読されてしまえば次に変更が行われると期待される数ヶ月の間は常に
通信が解読されっぱなしになると思う。下手すればユーザが意図的に
「パスワード無し」にする人が居ないとも限らないし。

そうすると上であげたように、共通暗号鍵はセッション毎に作り直す形
態のほうがユーザへの負荷も少なく、かつ機密性が保たれる(もしも
共通暗号鍵が解析されても、次にセッションを張り直すときには共通
暗号鍵が変わるから)はず。

さらにいうと、確かに公開鍵/機密鍵対暗号はあまりに負荷が大き
いけど、今から仕様決めすると考えれば、それが実現(プログラムを
作って)する頃には公開鍵/機密鍵対暗号をしても大して問題にな
らないほどプロセッサの性能が上がってるような気がするけど(今も
既にそうだし)。

要は鍵対暗号のデメリットは各コンピュータのプロセッサへの負荷な
んで、今販売されてる標準的なPCをターゲットにするなら、Celeron
800MHzくらいだろうから、それを想定しても公開鍵/機密鍵対暗号
で大した問題にはならないと思う。
36名無したん:01/10/12 12:57
>>34
たしかEPRのパラドックスとかいう名前。検索してみ。
つーか漁師暗号の話はここでやることかい? 物理板のほうがいいんじゃないの?
38デフォルトの名無しさん:01/10/12 13:28
while(len--) *p ^= 0x55;
39デフォルトの名無しさん:01/10/12 22:12
>>4
ページではないが、サイモン・シン『暗号解読』って本に載ってたよ。
40デフォルトの名無しさん:01/10/13 02:45
いま一般に普及している暗号技術って寿命どれくらいなんだ?
量子コンピュータが実現すれば、残らず解読されてそうな気がするんだけど、どう?
41デフォルトの名無しさん:01/10/13 02:49
コンピューター暗号+生暗号を組み合わせるのはどぉ?
42デフォルトの名無しさん:01/10/13 03:10
生暗号って初めて聞いた。つまりどういうことでしょう
>>42
まだ生きてるって意味。暗号化する前のデータ。
44デフォルトの名無しさん:01/10/13 03:42
>>43
ほー。それって効果があるもんなんでしょうか。
っていうか、復号化するときに困りそうな。。

なんか資料があったら教えて下さい。(^-^;
45デフォルトの名無しさん:01/10/14 01:42
>>3

>>35が言ってるように、毎回ユーザのpasswordで暗号化するってのが気になるな。
どんなアルゴリズムを用いてたとしても、同じ暗号鍵を使い続けるってのは、
統計情報とかを使って破られてしまいそうで恐い。

それに、万が一秘密鍵が洩れてしまったときに、tcpdumpなんかで
過去の通信内容を保存されていたりしたら、それらも全て解読されてしまうわけで。
で、こういう状況にも耐えられるようにするには、今のところDiffie-Hellmanを
使って鍵交換するしかない。
# もちろん秘密鍵が洩れたら、以後の通信の安全性はどうやっても守れないが。

まあ、>>3はそこまでの安全性を必要としているわけじゃなさそうだけど、
SSLやsshとかのプロトコルが何故そうなっているかを考えていくと、
単に遅くて嫌だって理由で公開鍵暗号を避けるのはどうかなって思っちゃうな。
通信内容も、たとえ解読されても意味不明にしておくべき。

昨日、電車で聞いた会話
A 「アナルは?」
B 「送り返してやったよ」
A 「じゃあレベルMだね」
B 「うん」

これも立派な暗号技術のひとつです。
ナニを送り返したんだか気になる。
>47
運子では?
493:01/10/14 03:04
>>35,45さん

なるほどなるほど
とても勉強になりました。

>それに、万が一秘密鍵が洩れてしまったときに、tcpdumpなんかで
>過去の通信内容を保存されていたりしたら、それらも全て解読されてしまうわけで。

もうこのへんで完全に納得しました。すべて了解です。
35,45,16ほか皆様どうも!Diffie-Hellmanでイキますわ。
>>40
量子暗号技術も実現して問題なしといいたいが、
移行期間が問題やね...。
51デフォルトの名無しさん:01/10/14 03:55
量子暗号じゃなくて、量子コンピューターですが。
計算量が飛躍的に向上したら、どんな暗号でも
しらみつぶしできるんではないかと。

それに合わせて、鍵長を長くすればよいのかもしれないけれど、
そうなると、今みたいにパスワードを暗記なんかしてられないよなぁ。。

なんてことを思ってみた。
52デフォルトの名無しさん:01/10/14 04:04
何通りにも復号できれば、どれが正しいのかわからなくなる。
5390:01/10/14 04:15
正しく復元できなければ何をしんじればいいのかわからなくなる______
54デフォルトの名無しさん:01/10/14 04:33
総当たりって、復元された文が正しい言葉になるまで、
パスワードとして可能な全ての組み合わせを試すのですよね?

その方法では、
パスワードが複数用意されている場合、
正しいパスワードは分かりません。
正しくないパスワードってパスワードなの?
正しくないパスワードを正しいパスワードと思わせるのが味噌なんだなこれが。
57デフォルトの名無しさん:01/10/14 06:22
なにも一つの暗号文に複数の平文を持たせるんじゃなくて、
複数の暗号文作っとけばよいのではないかと思ってみたり。
58デフォルトの名無しさん:01/10/14 06:24
量子暗号技術って鍵配送くらいしか使いみちがなくない?
どうなの?
5945:01/10/14 16:11
>>3
すまん、ここ訂正。
> で、こういう状況にも耐えられるようにするには、今のところDiffie-Hellmanを
> 使って鍵交換するしかない。
ssh1のように公開鍵暗号を使って短時間限りの鍵のペアを用意してやれば
安全に鍵交換できるな。
# まあ、Diffie-Hellmanよりコストがかかるし、別の問題も出てくるから
# 普通は使わないけど。

あと、Diffie-Hellmanだろうと何だろうと、鍵交換をやるときは
MITM攻撃を防ぐためにちゃんと通信相手を認証してやらないとダメ。
で、サーバ側の認証には公開鍵暗号がよく使われるんだけど、
この Diffie-Hellman + 公開鍵暗号 って組合せはssh2プロトコルの
鍵交換のやり方そのものなんだよね。
http://www.ssh.com/tech/archive/secsh/transport.txt
だからOpenSSHのソースを参考にするってのもいいかも。
6045:01/10/14 16:34
>>51
量子コンピュータが登場しても、すべての暗号技術が無に帰すわけじゃない。
量子コンピュータ≠非決定性チューリングマシンだから、
手あたり次第の解法しかないNP完全問題なんかは解けないって意見が支配的。
だから、ほとんどの共通鍵暗号も安全だと思っていい。

でも、公開鍵暗号を用いた鍵交換や認証はズタズタになるわけだから
一大事であることには違いないんだけど。

鍵交換の手段としては量子暗号とかも考えられるけど、
現在のインターネット上の通信には使えないしね。

この話題については通信技術板のスレでもやってるので見てちょ。
http://mentai.2ch.net/test/read.cgi/network/981732339/
613:01/10/14 23:50
>>59

>あと、Diffie-Hellmanだろうと何だろうと、鍵交換をやるときは
>MITM攻撃を防ぐためにちゃんと通信相手を認証してやらないとダメ。

これなんですが、
http://www.rtpro.yamaha.co.jp/RT/docs/ipsec/ike.html
の「2. バケツリレー攻撃」を見ると、

> これは、悪意を持った第三者(Bob)が2人の間に入り、TomとMaryに
> なりすますものです。ただし、Bobはgとpの値を知っている必要が
> あります。

とあります。なので、DHで使うp,gが漏れていないという前提でよけ
れば、公開鍵暗号を併用しなくてもOKですか?

すっかりOpenSSLでTLSv1という心境ですが、勉強のためおしえてもら
えるとありがたいです。
>>6

>optimized C reference ver 3 は良いコードだよ
>P5,MMX,SSE で高速化したバージョンもあるけど
ってどこにあるんでしょうか?
63デフォルトの名無しさん:01/10/24 23:55
>> これは、悪意を持った第三者(Bob)が2人の間に入り、TomとMaryに
>> なりすますものです。ただし、Bobはgとpの値を知っている必要が
>> あります。
>
> とあります。なので、DHで使うp,gが漏れていないという前提でよけ
> れば、公開鍵暗号を併用しなくてもOKですか?

普通はp,gを秘密鍵にするようなことはしない。
そもそもp,gの選び方は、鍵交換の安全性に直結するから、
あらかじめ慎重に選んでおいたものだけを用いるのが普通。
Diffie-Hellmanでなりすましを防ぐ方法はいくつかあるけど、
簡単なのは交換した鍵のハッシュ値を(共有)秘密鍵で署名してやる方法。

それはそうと、Diffie-Hellman使う時点でかなり大きな計算量が
必要なんだけど、それでも公開鍵暗号を嫌う理由は?
というか、数多くある暗号方式のそれぞれにメリットとデメリットがあるし、
絶対に安全な通信なんてものは実現不可能なんだから、
どこまでリスクを下げたいのかってのと、それにどのくらいコストを
かけられるのかってのを天秤にかけてやらんとダメよ。

たとえば、共通鍵暗号は高速だけど鍵管理が難しく、公開鍵暗号は
低速だけど鍵管理は共通鍵暗号より楽、というように。
# それこそ、十分な長さのパスワードが用意できて、しかも絶対にそれが
# 洩れないって自信があるのなら、>>3のやり方でもいいし。
643:01/10/25 00:13
解説ありがとうございます>>63

>普通はp,gを秘密鍵にするようなことはしない。
>そもそもp,gの選び方は、鍵交換の安全性に直結するから、
>あらかじめ慎重に選んでおいたものだけを用いるのが普通。
ええと、例えばOpenSSLとか使うと、DH_generate_parameters()
関数で1024bit程度のp(とg)はすぐ作れますが、そうやって作ったp,g
のなかでも安全なのは一部だけだからさらにふるいにかけるのが普通と
いうことでしょうか?

と、
>Diffie-Hellmanでなりすましを防ぐ方法はいくつかあるけど、
>簡単なのは交換した鍵のハッシュ値を(共有)秘密鍵で署名してやる方法。
すみません、ここ、文意が読みとれませんでした。もう少しくわしく
方法を解説していただけませんか?

他のところはごもっともです。検討します。
ssh2はどうなってんのよ
どうなってるとは?
67デフォルトの名無しさん:01/10/27 17:42
あげてみる
68デフォルトの名無しさん :01/10/28 05:57
ヒミツ鍵方式を公開鍵方式どのように組み合わせて使用するか
っていう事例を紹介したようなサイト、本など誰か知りませんか?
暗号の理論的な説明も楽しいのですが、こういったものを
まとめて紹介しているような資料にはお目にかかったことがありません。

知っている方は是非お願いします。
69gutih:01/10/28 11:19
>>63
鍵交換が公開鍵暗号より優れている点
●事前の鍵登録が不要、セッション開始時にはお互いに情報がなくてよい

鍵交換が公開鍵暗号より劣っている点
●なりすまし、MITMに弱い

 あとね、Diffie-Hellmanと公開鍵暗号、で比較するのは誤り。DHは
鍵交換アルゴリズムの1種だから。

>Diffie-Hellmanでなりすましを防ぐ方法はいくつかあるけど、
>簡単なのは交換した鍵のハッシュ値を(共有)秘密鍵で署名してやる方法。
それでは改竄は防げてもなりすましは防げません。

>絶対に安全な通信なんてものは実現不可能なんだから、
>どこまでリスクを下げたいのかってのと、それにどのくらいコストを
>かけられるのかってのを天秤にかけてやらんとダメよ。
 それはごもっとも。
70gutih:01/10/28 11:22
>>68
TLS,SSH,IPSecなどの勉強を研究せよ。
俺はSSHクライアント(ただしVersion1)をスクラッチから
実装したことがあるが、すごく勉強になった。
>>69 さん
64についてはどうでしょ?
72gutih:01/10/28 21:32
>ええと、例えばOpenSSLとか使うと、DH_generate_parameters()
>関数で1024bit程度のp(とg)はすぐ作れますが、そうやって作ったp,g
>のなかでも安全なのは一部だけだからさらにふるいにかけるのが普通と
>いうことでしょうか?
 そのOpenSSLの関数については知らないけれども、Diffie-Hellman
のp,gに求められるのは互いに素であることだ。そういうペアを事前
に持っておくと63の言うとおり計算は節約できるが、誰と通信する
かあらかじめ分かっているときしか使えない条件付きだ。

「安全なのは一部だけ」というのはよく分からんな。僕の理解では
互いに素であれば安全性は鍵長だけで決まると思うのだが。
この辺の数学的な背景は奥が深く、俺もまだ知らないことがたくさん
ある。
安全なのが一部だけ、というのは、鍵によっては復元が簡単である、という
事を指しているのではないかと思います。

>RSAの脆弱鍵
>RSAで同一のbit数の鍵を生成した場合に暗号化・復号化が速い鍵と遅い鍵が存在する。
>速い鍵は2進数表記した場合、0が多いため速い。このような鍵は2次ふるい法で簡単に
>素因数分解ができてしまい危険である。
(ソース:ttp://www.angou.net/note.html

私は暗号化の知識があまりないのでネタ提供のみで……
名スレの予感…… と。
7545=63:01/10/28 23:24
>>64
>> Diffie-Hellmanでなりすましを防ぐ方法はいくつかあるけど、
>> 簡単なのは交換した鍵のハッシュ値を(共有)秘密鍵で署名してやる方法。
> すみません、ここ、文意が読みとれませんでした。もう少しくわしく
> 方法を解説していただけませんか?

サーバをS、クライアントをCとする。
SとCの間には、事前に秘密の鍵 K_p が共有されているとする。

で、Diffie-Hellman アルゴリズムに従って
SがCに e (= g^x) を送り、CがSに f (= g^y) を送った結果、
鍵 K_sc (= e^y = f^x) が得られたとする。

このとき、Sが本物であることをCに示すために、
Sは hash(e || f || K_sc) を K_p で暗号化しCに送ってやる。
Cは受け取ったデータを復号化し、それが hash(e || f || K_sc) に一致
することを確認することで、Sが本物であることを認証できる。
逆向きの認証は、たとえば hash(f || e || K_sc) とかを暗号化して
送ってやればいい。

これは要するに、challenge/response型認証の変形なんだけど、
交換した鍵のハッシュ値をchallengeとして用いている点がポイント。

Diffie-Hellman鍵交換アルゴリズムの特徴として、通信者の一方が
恣意的に鍵の値を決めることができないってことがある。
だから、攻撃者 A により次のようなMITM攻撃を受けていたとしても、
K_p を知らないAには認証用のデータを生成することができない。

S <- K_sa -> A <- K_ac -> C

# K_sa != K_ac だから、Cが生成した認証データはSに対しては使えない。
7645:01/10/28 23:24
ちなみに、認証用の共有鍵 K_p の代わりとして、任意の公開鍵暗号系の
秘密鍵と公開鍵のペアを用いることもできる。
これが >>59 にも書いたssh2プロトコルでの方法。

去年話題になった、ssh2はssh1より(ちょっとだけ)MITM攻撃に対して強いって話も、
ssh2がDiffie-Hellman鍵交換アルゴリズムを使っていることに由来する。

http://sysadmin.oreilly.com/news/silverman_1200.html より引用
---
Now, there is a related but different statement that is true: abstractly, omitting
client authentication may bypass a chance to detect MITM, assuming that
server authentication has already failed to do so (either because the user
defeated it, or because the attacker has stolen the legitimate server's private
host-key). This is because some client authentication methods are also designed
to resist MITM. SSH password authentication, obviously, is not
MITM-resistant; once you hand your password over the trapped connection,
all is lost. And the SSH-1 public-key user-authentication method is also
vulnerable; the attacker may use the signed authenticator from the client side to
access the client's account on the server. However, the SSH-2 public-key and
host-based client authentication methods are MITM-proof: the authenticators
involved are bound to session identifiers that are forced to be different on either
side of the attacker.
---
最後の文の"session identifier"ってのがDiffie-Hellmanで交換した鍵のハッシュ値ね。
7745:01/10/28 23:25
>> 普通はp,gを秘密鍵にするようなことはしない。
>> そもそもp,gの選び方は、鍵交換の安全性に直結するから、
>> あらかじめ慎重に選んでおいたものだけを用いるのが普通。
> ええと、例えばOpenSSLとか使うと、DH_generate_parameters()
> 関数で1024bit程度のp(とg)はすぐ作れますが、そうやって作ったp,g
> のなかでも安全なのは一部だけだからさらにふるいにかけるのが普通と
> いうことでしょうか?

上で挙げたように、交換した鍵のハッシュ値を任意の暗号系で署名してやることで、
相手の認証を行うことができる。
だから、わざわざ数百から千bitにもなる p を秘密鍵として共有する必要はない。
で、どうせ p,g を公開情報にするのなら、Rabinテストを何度かくぐりぬけただけの
素数候補よりは、数学的に素数であることが証明された数を用いるほうが
より安心できるよねって話。

>>68
SSL/TLS, ssh, IPsec といろいろ暗号の実装はあるけど、
とりあえず比較的規模の小さい ssh(OpenSSH) から調べてみるのが
よいのでは?
7845:01/10/28 23:32
>>69
> あとね、Diffie-Hellmanと公開鍵暗号、で比較するのは誤り。DHは
> 鍵交換アルゴリズムの1種だから。

別にDiffie-Hellmanと公開鍵暗号を比較してるわけじゃないよ。
>>63 で言ってるのは、Diffie-Hellman自体の計算量が大きいんだから、
「Diffie-Hellman + 秘密鍵暗号系を使った認証」を使うくらいなら
「Diffie-Hellman + 公開鍵暗号系を使った認証」を使えば? ってこと。

>> Diffie-Hellmanでなりすましを防ぐ方法はいくつかあるけど、
>> 簡単なのは交換した鍵のハッシュ値を(共有)秘密鍵で署名してやる方法。
> それでは改竄は防げてもなりすましは防げません。

>>75 を見てちょ。
7945:01/10/28 23:47
>>72
> Diffie-Hellmanのp,gに求められるのは互いに素であることだ。

これは誤り。
(Z_p上での)Diffie-Hellmanアルゴリズムに用いられる p,g の選び方については、
以下の文章とかが参考になる。
http://www.openssh.com/txt/draft-ietf-secsh-dh-group-exchange-01.txt

数学的には、非常に大きな巡回群とその生成元があり、その群での
離散対数問題が非常に難しければDiffie-Hellmanアルゴリズムが使える。
たとえば、楕円曲線を使ったDiffie-Hellmanアルゴリズムがその例。
うおお
おもしろくなってきた。
813:01/10/29 02:49
45様

>>75
ありがとうございました。感謝感激雨嵐ですマジでほんと。
8268:01/10/29 08:05
>>70(guith)
どうもありがとうございます。
最初、70を読んだとき、
いや、そういうプロトコルレベルの話が知りたいんじゃなくて、
アプリケーションレベルでどのように活用するかって話しが
知りたかったんだけど、、、と思ったけど、よく考えたら、
暗号キーをいかに使うかって観点では同じことなんだなって
思いました。まずはSSLとPCT、TLSあたりから勉強します。
ありがとうございました。
83gutih:01/10/29 10:56
>>78
でもDiffie-Hellmanだけではなりすましは防げない、というのは正しいでしょう?
他の暗号アルゴリズムと組み合わせれば75で解説してくれたような方法でOKと思い
ます。

>>79
おお、なるほど。
かなり詳しくご存知のようなので質問ですが、p,gがnビットのとき、Diffie-Hellman
をbrute-forceで解こうとしたらどのくらいの計算量になりますか? 2^nより小さく
できるのかな?
84PGP:01/10/30 03:45
質問があるのですがよろしいでしょうか?
私はLISP初心者で、GnuPGを使い始めました。
そこでこれを使うときに用いる
SEMIの中のpgg.elというファイルがあると思うのですが、
このプログラム中の動作を詳しく知りたいのですが、
誰か教えていただける方はいらっしゃいますでしょうか?
よろしくお願いします。
私も現在LISPを勉強しております。
85デフォルトの名無しさん :01/11/10 22:59
保守あげ
8645:01/11/11 23:47
> p,gがnビットのとき、Diffie-Hellman
> をbrute-forceで解こうとしたらどのくらいの計算量になりますか?

せっかくいろいろ参考となるlinkを示してるんだから、少しは読んでね。

brute-forceってことは鍵生成に用いる乱数を手辺り次第に調べることになる。
>>75で言えば x か y のどちらかが判れば良い。
で、この x, y の選び方ってのは>>79のlink先文献の5節に思いっきり書いてある。
x, y の選び方がわかれば、必要な計算量もすぐわかるよね。

# まあ、そもそも、Diffie-Hellmanに対してbrute-force攻撃を仕掛けること自体、
# ナンセンスだが。
87デフォルトの名無しさん:01/11/12 09:32
RSA公開鍵はなんでいまいち使われていないんですか?
パテントが切れたのでこれからどんどん使われるケースが
増えていくと思います。
89デフォルトの名無しさん:01/11/12 10:01
Diffie-HellmanとRSAどちらがデファクトスタンダードを取れる見込みなんでしょうか?
rijndaelがデジュア・スタンダードになりましたが、何か?(ワラ
9145:01/11/14 01:27
> Diffie-HellmanとRSAどちらがデファクトスタンダードを取れる見込みなんでしょうか?
まるで、はさみと鉛筆どちらが便利なんでしょうか? って聞かれてるみたいだな。
そもそも比較するようなもんじゃないと思うが……

もし、>>89の質問がPGPについてのものなら、Diffie-Hellmanではなく
ElGamal暗号と呼ぶべき。
普通、Diffie-Hellmanといったら単なる鍵交換アルゴリズムのことを指す。

PGPの作者がどういう意図を持っていたのかは知らんが、PGP 5で使えるように
なった暗号方式は、一般的にはElGamal暗号と呼ばれているものだってのは
知っておくべし。

# まあ、Diffie-Hellman鍵交換アルゴリズムとElGamal暗号ってのは
# 兄弟のようなものだけど。
9245:01/11/18 22:23
なんか>>91の発言、ただ屁理屈を並べただけっぽいんで
ちょっと補足。

基本的に暗号通信のプロトコル(IPsec, TLS, ssh, PGP等)と
暗号/認証/ハッシュのアルゴリズム(RSA, DSA, ElGamal, SHA1等)は
分離して考えるのが普通。
で、それぞれのプロトコルは使用するアルゴリズムを複数の
候補の中から選んでくるのが一般的。

具体的には、どんなアルゴリズムで暗号化/認証するかってのを
通信開始時にサーバ・クライアント間で同意をとったり(IPsecとか)、
暗号化/署名のアルゴリズムをヘッダ等で示したり(PGPとか)って感じでね。

こうすることで、あるアルゴリズムに脆弱性が見つかったりしても
設定ファイルでそのアルゴリズムを使わないようにするだけでいいし、
特許の切れた強力なアルゴリズムを標準に組み込むのも簡単にできる。

で、特許が切れて自由に使えるようになったRSAやDiffie-Hellman、
ElGamalなどのアルゴリズムは、多くの実装で使えるはずだから
デファクトスタンダードなんてほとんど意識しなくていいと思う。
# というか、どんな暗号アルゴリズムを用いているかを
# 利用者が意識しなくてすむようにするのが、暗号プロトコルの役目。

デファクトスタンダードを気にすべきは、むしろ暗号プロトコルのほう。
例えば、PGPとS/MIMEとかね。
93デフォルトの名無しさん:01/11/20 11:02
>>92
補足、どうも。
94デフォルトの名無しさん:01/11/22 10:17
あげておこう
文章がぜんぶ暗号化してるのかと思た。age
96デフォルトの名無しさん :01/11/30 07:11
>>45さん、あなたの解説最高です。
またこのスレに書き込んでください!
ttp://www.c4t.jp/c4k.html
ちなみにこの会社のc4kとはいかなるものなのかな?
サイト見てるだけだとDiffie-Hellmanの改良みたいに
思えるけど。
98デフォルトの名無しさん:01/11/30 08:46
PGP使えば、2chでもコソーリ2人っきりの会話ができるんだな。
互いに使い捨ての公開鍵を載っければいいだけか。オモロイ。

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

mQGiBDwGxocRBADQwOIxMzxxy25EFfkdXnQsxwSHxjjyTS7BBjvR5oF3WaGlEb69
RW2jz0EEG07E9kDZ5g6G8C6sJVkiNl1W5TAIC0iw2HBXrFjsgE490BVOKhQWaDB5
aieV5tSoZ4mYyF47US2SW0Qtu8xDTjtfq6MZt2lq8UewsIOxdnHLn+DRrwCg8yyK
0dqcDotsD7f2uJ47mvCIX/21xR5O1dK7+GPvZBTPQohGBBgRAgAGBQI8BsaJAAoJ
EK3fJ8wQ2Kg0DD8AoMpBeXnI7TmD3EhBWKMcdl2N1lAsAKDxDSmIg7n2jyDs4QTT
DOzWt2MpGw==
=wzLB
-----END PGP PUBLIC KEY BLOCK-----

ただし、相手が正当に復号したあと自分の書き込みを晒す可能性は
否定できないか。ちなみにこの鍵は例なんでimportしないように。
99デフォルトの名無しさん :01/12/02 06:19
暗号関係のアルゴリズムに特化したよい本はありませんか?
日本語の本でいいものはないのは分かっているので、
英語のものでお願いします。
100デフォルトの名無しさん:01/12/02 09:04
Rijndaelやっとけ
いろんな言語の実装が既にある
http://www.esat.kuleuven.ac.be/~rijmen/rijndael/
アルゴリズムの勉強の前にコード嫁
102デフォルトの名無しさん:01/12/02 11:24
>>99
Applied Cryptography 買え。それで十分。
>>100-102
ありがとうございます。
どうも日本語の本はいいのが
ないですね。暗号に対する意識が
ここまで違うのかと思い知らされ
ました。
AESのRijndaelはこれからどんどん
一般利用されていくのでしょうか?
楽しみです。とりあえずCのソースを
落として中身を確認しています。
OpenSSHには既に取り込まれているとか。
104名無しさん@XEmacs:01/12/14 10:52
♯通信技術板の暗号スレが静かだと思ったら、こんなところにも。
♯♯ということで、遅レス済まん。

> どうも日本語の本はいいのが
> ないですね。暗号に対する意識が
> ここまで違うのかと思い知らされ
> ました。

意識の違いとゆーか、『アルゴリズムに特化した』と言った時点で、
日本の暗号関係メインストリームのベクトルからは外れるんでしょう
ね。

んで、最近訳本が出た William Stallings の“Cryptography and Network
Security -- Principles and Practie”は、(翻訳がまともなら) 結構
いけると思う。

B.S. の A.C. よりカバー範囲が狭い分、深く突っ込んだ説明をしてく
れてるので。

正直、おいらはこの本読んで DSA が何故動くのかが初めて理解できた
し。

対称暗号系に関しても、原書出版時期が (A.C.よりは新しいとは言え)
若干古いのでさすがに AES はカバーされてないけど、Blowfish, RC[25],
CAST 辺りは相当詳しく説明されてるので、ツボは押さえられると思う。

> AESのRijndaelはこれからどんどん
> 一般利用されていくのでしょうか?
> 楽しみです。とりあえずCのソースを
> 落として中身を確認しています。

てか、AES に Submit された Daemon と Rijmen のペーパー読むのが
一番だろう、Rijndael に関してなら。
105デフォルトの名無しさん :01/12/14 11:53
Stallingsは何でも書くライターだから暗号の入門書としては
いいかもしれないけど、ちゃんとしたものを読みたい人には
それを取っ掛かりにして別のものを読むべきだろうね。
106名無しさん@XEmacs:01/12/14 18:18
> Stallingsは何でも書くライターだから暗号の入門書としては
> いいかもしれないけど、ちゃんとしたものを読みたい人には
> それを取っ掛かりにして別のものを読むべきだろうね。

って、実物見た上で言ってる?

で、その場合の『別のもの』とは?

どのようなニュアンスで『入門書』と言ってるのかよく分からんけど、
暗号に関してよほど深く突っ込みたいというのでもない限り、まず十
分だと思うが。
数学方面向けに書かれた暗号本を「ちゃんとした」と
言っていると思われ

趣味としては高尚なんだけどね
108デフォルトの名無しさん:01/12/27 17:24
優良すれ上げ
109デフォルトの名無しさん:02/01/08 19:26
110デフォルトの名無しさん:02/01/11 01:12
開発者のための反面教師的暗号解読入門初級編
http://memo.st.ryukoku.ac.jp/archive/200201.month/2534.html
>>110
暗号文に鍵含めてどーする……。
112デフォルトの名無しさん:02/01/25 21:57
age
114デフォルトの名無しさん:02/02/18 08:01
age
115デフォルトの名無しさん:02/02/26 11:59
暗号について調べてたら、スレンダー言語を用いた暗号方式
っていうのが出てきたけど、どういうの?
116デフォルトの名無しさん:02/03/22 17:26
PerlのCrypt::CBCというモジュールをつかうと、
DES、IDEA、Blowfish、Blowfish_PP
という4種類の暗号化方式がつかえます。

で、
http://www.ecom.or.jp/qecom/about_wg/wg05/cr-swg/code2-1.html
↑の「2.2.3 各種ブロック暗号の比較」の表をみると、
DESよりもIDEAの方がいけてるっぽくみえるので、
IDEAを使おうと思って、CPANから
Crypt-IDEA-1.01.tar.gz
をとってきて
perl Makefile.PL
make
すると、
cc -c -DAPPLLIB_EXP="/usr/local/lib/perl5/5.6.1/BSDPAN" -fno-strict-aliasing -O
-pipe -DVERSION=\"1.01\" -DXS_VERSION=\"1.01\" -DPIC -fpic -I/usr/local/lib
/perl5/5.6.1/mach/CORE IDEA.c
IDEA.xs: In function `XS_Crypt__IDEA_crypt':
IDEA.xs:66: `sv_undef' undeclared (first use in this function)
IDEA.xs:66: (Each undeclared identifier is reported only once
IDEA.xs:66: for each function it appears in.)
*** Error code 1

Stop in /usr/home/toru/src/ports/Crypt-IDEA-1.01.

といわれておこられちゃうんですが、
このコンパイル、うまくいった人います?

ちなみに環境は
FreeBSD 4.3-RELEASE
This is perl, v5.6.1 built for i386-freebsd
です。
>>116
$perl Makefile.PL POLLUTE=1
ではどうよ?
118116:02/03/22 19:24
>>117
こんどはヘッダファイルが見つからんといわれたので、
ExtUtils::MakeMaker のマニュアルを参考に
perl Makefile.PL POLLUTE=1 INC='-I/usr/include/machine'
とやるとうまくできましたー。
さんくす。
119デフォルトの名無しさん:02/03/24 05:20
age
>>116
> DESよりもIDEAの方がいけてるっぽくみえるので、

たしかに DES よりはいけてるでしょうが、

> DES、IDEA、Blowfish、Blowfish_PP

と並んでるとき、あえて Blowfish じゃなく IDEA を使うべき理由っ
てあんまし思い付かんなぁ。
121116:02/03/25 16:47
ふむ。Blowfishについても、ちょっと調べてみますです。

IDEAはライセンスがフリーじゃないみたいだから、
やっぱ使えないかな。。。
> ふむ。Blowfishについても、ちょっと調べてみますです。

ソフトウェアで実装する (perl って言ってるんだから、そうなんだろ
うけど) なら IDEA よりずっと速いし、完全にフリーだしね。

考えなきゃならないのは Key agility が問題になるケースくらい。IPSec
GW とか。

> IDEAはライセンスがフリーじゃないみたいだから、
> やっぱ使えないかな。。。

非商用利用に限り無償で利用可ってことだけど、IDEA の非商用利用の
定義はかなり狭そうね。手元にあるコード中のライセンス文によれば、
企業での社内利用すら駄目ってことだから。
123デフォルトの名無しさん:02/04/23 20:36
保守あげ
124デフォルトの名無しさん:02/04/23 20:43
>>6 がどこにあるのか知りたい
125関連スレ?:02/04/26 19:29
126デフォルトの名無しさん:02/04/27 01:48
ここに書き込んでるヤツは、みんな

71206d408a67578686e7d80688f4d8dd

だっ!
んなこたー07ca7c6c28e16015239c6b36a3d87dcd
128デフォルトの名無しさん:02/04/27 09:11
誰か解読しろよ。
わかんねーよ
129デフォルトの名無しさん:02/04/29 21:33
age
130教えてください:02/05/13 21:56
どなたか親切な方、教えてください。
Perl用のDESライブラリを使って暗号化/複合化をしたいのですが、
具体的にどのようにコーディングすればいいのか判らず困っています。
もともとPerlに詳しくないのに作れと言われて、しかも周囲にPerlを知ってる人もいなくて
本当に困っています。どうかよろしくお願いします。

ftp://ftp.cpan.org/pub/CPAN/mudules/by-module/Crypt-DES-2.03.tar.gz
おいおい検索しろよ
>>130
> Perl用のDESライブラリを使って暗号化/複合化をしたいのですが、

どう頑張っても『複合化』なんぞできん。

♯復号化ならまだなんとか許せるが。

> 具体的にどのようにコーディングすればいいのか判らず困っています。

tar ball のなかの test.pl 見ても判らない?
133デフォルトの名無しさん:02/05/18 22:15
Javaのkeytoolで証明書発行して商売できるでしょうか
134デフォルトの名無しさん:02/05/31 08:02
http://itpro.nikkeibp.co.jp/free/ITPro/NEWS/20020529/1/
当たり前のことだけど言ってる人がひとだけに重みがある
135_:02/06/01 01:37
可逆暗号処理を自作してみたのですが、
漏れのようなしょぼい人間が考えた処理はすぐに破られるもんでしょうか?
以下の各文字列は全て「2002」という数値をその処理で暗号化したものです。
アルゴリズムわかります?

2CJEPPAXDGYQFHP
2CEACJMFIJGJCRK
2CIDLIWWCIAEWKC
2CCICHNAGJJVOUQ
2CCICHNAGBYLYJW
2CIDLIWWCBMLRRG
2CGBCWOUAEBHPOS
2CFBGPQGJHGUTZF
2CDJGNRBHDBMPBD
2CHCHCSVBGCYIHP

136ななし:02/06/05 23:29
うーん、分からん。なんつったって俺も素人(笑)
2Cは符号長?でもランダム+ストリーム符号化かな?
2003のエンコード結果も知りたい
137135:02/06/06 00:10
>>136
四日目にしてやっと反応THX>136

実際の製品に使おうとしてるので正解はお教えできないんですが、
乱数は使ってません。というか「2002」以外にもキーがあるのですが、
そういう意味ではそのキーは今回は乱数で発生させました。
138デフォルトの名無しさん:02/06/06 00:42
>というか「2002」以外にもキーがあるのですが、
>そういう意味ではそのキーは今回は乱数で発生させました。
そもそも言葉の定義がわからん。

P:暗号化する文字列
E(P):暗号化する関数
D(E(P)):複合化する関数

基本的にはこれだけだろ?
キーってなんだよ?
>>137
> 実際の製品に使おうとしてるので正解はお教えできないんですが

これ見てあまりに恐くなったんでマジレス。

アルゴリズム自体が秘密情報の暗号化なんて、原始的すぎるぞ。
実際の製品に使おうなんて馬鹿なことは考えるな。
こんなの、どんな暗号関連の本にも載ってる常識だ。

「鍵」だけを秘密にしておけばいい現代暗号と比べれば、
秘密情報の管理コストの違いは一目瞭然。
saltじゃないの
141135:02/06/06 09:26
>>139
あーちょっと言葉が足りなかったかも。
その製品のシリアル番号生成したいだけだから大丈夫よ。

>>140
まぁそういうことです。
142逝って良しの1:02/06/06 09:40
いびつぶてべよぼしび
>>141
シリアルじゃやめとけ。
簡単にキージェネ作られる
144135:02/06/06 14:59
>>143
まぁそのあたりはある程度は織り込み済みなんですが、
もっといいシリアルの生成方法があったら教えてください。
145デフォルトの名無しさん:02/06/06 20:54
>もっといいシリアルの生成方法があったら教えてください。
はぁ?
おまえバカ?
乱数ってどういう意味かわかるか?
最良の乱数生成アルゴリズムを使うのが一番いいんだよ。

ちなみに、乱数を使っていないのなら、
シリアルの推測は容易。
ただし、データはそれなりに必要。
146135:02/06/06 23:50
>>145
バカかもしれません。
乱数の意味は判ってるつもりです。

でも乱数生成が重要なのですか?
チェックディジット(?)の作り方が重要なのだと思ってました。
>でも乱数生成が重要なのですか?
はぁ?
おまえバカ?
乱数ってどういう意味かわかるか?

>チェックディジット(?)
はぁ?
自分用語使うなバカが。
しかも、アフォ丸出し。
マジレスしてやると、シリアルの話してんだろ?
脳みそ使えバカ。

と、厳しく書いたが
大学で情報数学習った事ない奴に対してこう書くのは
失礼だったかもしれない。
勉強して出直して来い。

それと、まともなコミュニケーションをする練習しておけ。
PGになる奴は、ヒッキーオタ色が強い。
いろんな奴と実際に会って会話するような環境を作る努力しろよ。
148135:02/06/07 00:56
>>147
おつきあいありがとうございます。
厳しい中にもやさしさが感じられて嬉しく思います。

ちょっと確認させてください。
「チェックディジット」ってのは一般的ではないんでしょうか?
ググってみるとそこそこの数引っ掛かるようなんですが。。。

で、>>147 さん、ちゃんと勉強しますので、その前に
どこがどうダメなのか、どう脳みそを使えばいいのか、
教えていただけませんでしょうか?あとは何にも言いませんので。。。
149デフォルトの名無しさん:02/06/07 01:06
>チェックディジット(?)の作り方が重要なのだと思ってました。
この文がおかしい。

ついでに
check digitは英語としては使うが、カタカナで書くのは
恥ずかしいと思われ。
カメラをキャメラと言ってるような・・・・ちょっと違うけど。

>どこがどうダメなのか、どう脳みそを使えばいいのか、
まず、数式で全てを記述する癖をつけるべし
あとは数学力さえあれば、どういう目標に向かって
考えればいいかはおのずとわかる。
直感が上手く働かない分野は多いよ。
もう一度書くけど、自分が作りたい関数がなんなのか
しっかり記述してみろ
150135:02/06/07 11:01
>>149
私もカタカナはちょっと違和感ありました、実は(^^

そんで、数式ですか。あとは数学力と。
それはきついかも。。。とりあえず逝ってきます
151デフォルトの名無しさん:02/06/26 13:44
セルオートマトンなど物理的現象をシミュレートした結果を
乱数として利用し、乱数式暗号として利用した場合の解読法は、
どのような方法があるのでしょうか?
通常の長反復を調査する方法を使っても、物理現象の場合だと
意味がないような気がするのですが・・。
薄学ゆえのアフォな質問だと思いますがなにとぞご教示ください。
152ななし:02/06/29 23:29
そのシミュレータは有限個の状態しか持てないからやはり周期は存在する

なんて言ってみたい
153超遅レス:02/07/09 23:39
シリアルなんかは、公開鍵暗号系つかえばキージェネ作成不可能にならない?
154デフォルトの名無しさん:02/07/09 23:46
>>153
具体的な実現方法を述べよ
155デフォルトの名無しさん:02/07/10 23:55
シリアル番号を秘密鍵で暗号化して末尾に付加。シリアル=番号+暗号文。
アプリは公開鍵を持っていて、複合化してみてシリアル番号と一致すれば正解。
公開鍵で復号できる暗号文を作れるのは秘密鍵だけだから、秘密鍵を入手しない限り
キージェネは作成不可能…だよね?

RSAなんか使うと安全性を確保するためにはシリアルが長くなりすぎるのが問題?
RSAでも単なる128bitのキーなんだからアルファベットや記号を混ぜた64進数とすれば?
157デフォルトの名無しさん:02/07/15 04:01
>>155
vmware for Linux のキー、そんな感じだっけか。
158デフォルトの名無しさん:02/07/15 06:55
>>155
キージェネはそれで対処できるね。
あとは出まわってるシリアルが問題だが・・。
シリアルに有効期限をつける。
>>158
対処できない。
解析されて、ルーチン丸ごとコピーされたら終わり
161デフォルトの名無しさん:02/07/15 12:55
>>160
公開鍵暗号の仕組みを勉強しましょう。
>>161
勿論知っている。
しかし、チェックルーチンさえ正常な物が得られたなら、総当たり式で検索可能。
表現可能な空間内に1つしか存在しないのなら、天文学的時間は掛かるだろうけど、
そうでないのなら、検索に労力はさほど裂かれない。
>>162
見つかる確立は、馬鹿正直に総当りにすると大体、
シリアルの総個数 ÷ (2^鍵長)
くらいかな(シリアル長<鍵長の場合)。
実質的に検索不可能にするのは簡単そうだけど。
164名無しさん@Emacs:02/07/17 01:06
落ちそうなのであげ
>>162
ん?なんでシリアルの数が関係するの?秘密鍵自体は1つだけでしょ。
差分攻撃法の話してる?んなもんが効く暗号だったらよくないでしょ。
166これっって本当?:02/07/17 02:52
■危険■PCから個人情報を盗むデートクラブ■危険■

悪質な出会い系クラブを発見したので日本全国に告発します。
■■■ Club-Cosmo ■■■
コスモライフとホテルニューオータニが提案する新しいライフスタイル
http://www.trust-system.co.jp/club-cosmo/index.htm

以下のソフトはスパイウエアです。この出会い系クラブの目的は
PCに記録されている会員の個人的な嗜好を勝手に抜き取って、別
の商売に転用することである疑いが濃厚です。

a)会員専用のコミュニケーションソフトウェア
http://www.trust-system.co.jp/club-cosmo/download_files/cosmo_viewer.exe

b)USBキー認証ツール
http://www.trust-system.co.jp/club-cosmo/download_files/RainbowSSD5.39.2.exe


これらのプログラムを開発したのはトラストシステムという企業です。
地図の模型を作っているようですが、実績を見ると何でも屋のようです。
http://www.trust-system.co.jp/
この企業の求人案内
http://www.trust-system.co.jp/recruite.htm
問い合わせ
http://www.trust-system.co.jp/toiawase.htm

ソフトを解析すれば私の告発が的を得ていることが証明できるでしょう。
167デフォルトの名無しさん:02/07/17 02:55
>>158
出回ってるシリアルへの対応は、本当に高いソフトだったら
・マシン固有情報(MACアドレスとか)をとるプログラムをユーザ環境で走らせて、結果を送ってもらう
・その結果を公開鍵署名してユーザに送り返す
・ユーザ側で固有情報と署名情報両方のチェック
で対応するね。面倒なので一般向けソフトではまずやらんが、ベンダー向けとかだとよくあるな。
適当に高いソフトならどのシリアルを誰に送ったかちゃんと管理して、流出したユーザに文句をつける。
安めのソフトならあきらめろ。
168デフォルトの名無しさん:02/07/17 03:19
>>167
そういうの確かにあった。プロテクトチェックルーチンをNOPで埋めて
回避しますた。
169デフォルトの名無しさん:02/07/17 03:31
>>168
それやられるとどうしょうもないんだよな…
プログラム自身の証明書をつけることは出来るが、そのチェックルーチンも外されるし…

プログラム暗号化して、暗号化したまま動くってのが理想だけど、難しいよね。
今のところは解析を面倒にするプログラム自動変換が精一杯だったと思うけど、
その辺の研究に詳しい人いる?
”プログラム 変換”で検索してみたけど、等価変換の情報(関数型言語とかの)
しか見つからない…

>プログラム暗号化して、暗号化したまま動くってのが理想
これってどんなふうに実現するんですか?
>>170
CPUに秘密鍵を埋め込んでおいて、プログラムを公開鍵のほうで暗号化する。
CPUはデコードしながらプログラムを実行。
CPUベンダが秘密鍵をばらしたりCPU分解して秘密鍵取り出したりしない限り、
リバースエンジニアリングできないプログラムになる、かも。
CPU変えたら動かなくなるじゃん。
173169:02/07/17 19:40
>>170
解析を面倒にする方は、プログラム中の変数を増やしてxorとって使ったり
1つの条件判定を複数箇所に分割したり、そういう「人間が思いついた変な書き換え」を
自動でやってくれるもの。mobile agentの論文であった気がする。日本語じゃなかったと思う。専門じゃないのでもう忘れた。

プログラム暗号化云々はヨタ話で、今のところ俺にははどうやったらいいかさっぱりわからないよ。
思ったのは、例えばどんな数字を引き算してるかわからなくしたい時、
2つの数字に秘密の数を足しておけば、数字自体は秘密でも引き算は正しくできるでしょ。
そんな感じで、「計算」について、変換された状態でも計算自体は正しくなるような変換があればいいな、と思ったわけ。
限定された計算ならそういう変換もあると思うけど、チューリングマシンで可能な計算全体については難しいと思うなぁ。

>>171みたいにハードウェアに仕込むってのはまあ軍用とかならありかねぇ。
174170:02/07/18 18:18
こんな論文があるそうです。
On the (Im)possibility of Obfuscating Programs
Boaz Barak, Oded Goldreich, Russell Impagliazzo, Steven Rudich, Amit Sahai, Salil Vadhan, Ke Yang
Advances in Cryptology - CRYPTO `01, vol. 2139 of Lecture Notes in Computer Science, pp. 1-18, Santa Barbara, CA, August 19-23, 2001. Springer-Verlag.

http://www.wisdom.weizmann.ac.il/~boaz/Papers/obfuscate.html
http://www.google.co.jp/search?q=On+the+%28Im%29possibility+of+Obfuscating+Programs&ie=UTF-8&oe=UTF-8&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
これってもしかしてマズー?
175169:02/07/19 23:54
>>174
うぉ。情報サンクス。

abstract読む限りはマズーだね。面白そうなので読んでみるよ。
176デフォルトの名無しさん:02/07/22 03:33
>>175
なにかいてあるの?
177デフォルトの名無しさん:02/07/27 16:46
ニコチン中毒はチンコ二本のどに詰まらせて市ねよ
これがほんとのニコチンなぁ〜んちゃってぐわーっはははははっははは。
すげーおもしろい
>>163 >>165
んで結論はやっぱり>>162は公開鍵暗号の仕組みを勉強しましょうでいいの?
180デフォルトの名無しさん:02/07/30 16:49
公開鍵の仕組みってどうなってるの?
単純に因数分解したやり方だとbit数分かれば、
簡単に複合化されちゃうんだけど。
[例えば] 100000 = 10 * 10000
data public secret

PGPとかRSAに詳しい人いる?
>>180
"素"因数分解
ウィルスに自分を暗号化して感染する奴いたよね
183デフォルトの名無しさん:02/08/06 01:09
>>180
ttp://www8.big.or.jp/~000/CyberSyndrome/rsa/rsa2.html
この辺はどうでしょ。 有限体論あたりが基礎にあるんだっけ?もう忘れちゃった。
楕円曲線暗号とかはよく知らない。
>>180
そもそもPGPとRSAではlayerが違いますがな。
PGPはprotocolでRSAはalgorithm。
185デフォルトの名無しさん:02/08/06 09:49
DESに興味がありまふ。

S-BOXがやってることって、32ビットを48ビットに拡大して
また32ビットに戻して、非線形、と銘打っているわけだけど
1対1の変換をしているわけだから無意味に思えてしかたないです。

どなたか一言でたたきのめしてくらはい。
勉強し直し
187185:02/08/06 10:46
   ∧∧
   /⌒ヽ)  タタキノメサレマシタ・・・
  i三 ∪
 〜三 |
  (/~∪
  三三
 三三
三三
>>185
1対1であることと逆変換関数が簡単であることとは何の関係もない。
189デフォルトの名無しさん:02/08/19 17:02
blowfishって、little endian CPU だと、バイトオーダー変換がやたらと必要?
>188
4Gのテーブル(16GB)があれば楽勝、とかいってみる。
191170:02/08/23 17:40
Pあげ
192デフォルトの名無しさん:02/09/06 05:16
あのぅ…IPv6及びIPsec詳しい方いらっしゃいます?
193デフォルトの名無しさん:02/09/06 05:22
今IPsecって主にv4上で、VPN構築目的でしか使われていないと思うんですが、
IPv6全盛の時代になれば、任意のルータ間での通信が暗号化されると考えて良い
んでしょうか?

僕は、DHで鍵共有するんだから、IPsecを実装した任意のルータ間で好きに暗号化
通信できるんだろ、と漠然と考えていたんですが、どうもちょっと調べてみるとDH
による鍵共有の後でIKE通信相手の本人性確認なるフェーズがあるそうで、そこで
{preshared key, 公開鍵, デジタル署名}認証のどれを使おうとも、まったく
知らない地球の裏側の相手とは本人性を確認しあうことができないよな…と思い直
しました。

えらいひと、教えて。厨房でスマンでゑすが。
194193:02/09/06 06:01
http://www.netone.co.jp/doc/articles/im199812/im199812.html
うーん。PKIとの併用でふがほげって感じ???ですか?

>>185
ちなみに最近の暗号は32bit/blockじゃないよん
196デフォルトの名無しさん:02/09/06 23:56
兎や亀の人に聞けばいいんじゃないの。折角日本人なんだし。
198193:02/09/07 12:29
>>197
持ってます
持ってても意味無いから読め
200193:02/09/07 13:01
載ってないと思うんだけどな…
200

202デフォルトの名無しさん:02/09/07 18:54
crypt の逆解析できます?
できません
>>193
あんたは公開鍵暗号系自体が良くわかっていないんだと思う。

> どうもちょっと調べてみるとDHによる鍵共有の後でIKE通信相手の本人性
> 確認なるフェーズがあるそうで
これが何で必要なのかわかってる?

> {preshared key, 公開鍵, デジタル署名}認証のどれを使おうとも、まったく
> 知らない地球の裏側の相手とは本人性を確認しあうことができないよな…と思い直
> しました。
PKIについて勉強してみて。
205193:02/09/08 01:12
>>204

>これが何で必要なのかわかってる?
MITM攻撃への対策…でいいでしょうか?

>PKIについて勉強してみて。
ということは、>>194の資料の考え方でとりあえずOKなんですかねぇ

どうもありがとうございます。

206デフォルトの名無しさん:02/09/09 05:42
204さん…
207デフォルトの名無しさん:02/09/13 11:07
age
ボクの肛門も暗号化できますか?
>>208
隠蔽化するのが限界です。
210208:02/09/13 14:37
>>209
そうですか、中身がリークしないようにセキリティレベルをあげなくてはと思ったのですが
211nobodyさん:02/09/26 20:06
まったくの初心者の質問ですが、大切な文書(試験問題とか)を
自分のプロバイダーのhttpディレクトリに入れて保存しようと思
います。その場合、sshも設定できませんし、ftpで暗号化なしで
送ることになります。
そこで、文書自体をローカルで暗号化して送るようにしたいと
思います。解読キーを自分で生成できるようなプログラムを
教えていただけないでしょうか。DOS時代、使ったことあったん
ですが・・・環境は、cygwin on win98-seです。Perl、gccは入っ
てます。
暗号化zipとかじゃ安心できないレベルなのかな
>>213
暗号じゃないじゃん。オランダ(.nl)の大学のパンフとかに見えるけど。
クソ重いpdfだから、拡張子をpdfにしる
>>214
   ありがとう。
あれは文字化けですね・・・。
216nobodyさん:02/09/26 21:01
>>212
暗号化zipも知りませんでした(汗
googleからいくつかのソフトの候補を比較検討していますが
まだ決まりません。
ありがとうございました。
>>216
GNU PG の対称暗号は?

% gpg -c -o 出力ファイル 入力ファイル

ってやつ。

Cygwin だと標準で OpenSSL 入ってるだろうから、それで 3DES とか Blowfish
なんてのもアリかね。
218nobodyさん:02/09/27 01:45
>>217
gpgってのは、入ってないようです。ちょっと調べてみます。
ありがとうございました。
AESはもうだめぽ?とかれたのれすか?
あんだけ時間掛けてコンテストまでやって
結局もうだめぽ?
221デフォルトの名無しさん:02/10/09 03:12
dat落ちしそうだし、壱周年記念って感じでageとくわ



polynomial expressions time!
223デフォルトの名無しさん:02/10/09 18:25
blowfish age
224デフォルトの名無しさん:02/10/09 22:20
まぁ、
暗号のライブラリ使うプログラマと、
暗号のアルゴリズム考える人は、
まったく別の人種だわな。。。。
225デフォルトの名無しさん:02/10/09 23:22
後者は学者だね
数学者ですね.
( さいたまさいたまさいたま?!
`ー‐―V―――――――――――――――――――――――――――――
;:'´ ( さいたま〜
_....._{{ 〃`ー―――――V―――――――――――――――――――
, - ' ,..、、.ヾ{{フ'⌒`ヽ、 ( さいたまさいたま?
/ ,:', -‐‐` ´ '´⌒ヽ ヾ:、 _....、、、、`ー――――V―――――――――――‐
. ,' ,'´ ,ィ ,ィ ,' , `ヽ', ',-<´ , `ヽ. ______ ..._
,' .i /|. /.| { i, i, }. }_,,)) lニ二二ミヽ.、 ':, ,.: '´ ,_.....__`ヽ、 ,..-‐-、),...._
! | ! .,'-.{ ! !|; |`、.}゙!.! |. ! ヽ.l ./ ,! ,,`ヾ:、 ':, ./'´ ̄`ヾ、、ヽ,.:'´ ,:‐:、 ,.-、 ヽ.
', ', |Vァ=、゙、 `゙、!-_:ト,リ', l ! | ゙レ__,〃_/リ !.'; .} ./l_|___ノ! l `、 ', / //`''} }.'; ',
ヽ、', l:!Kノ}. f:_.)i゙i: リ ! l ル' ̄`` ´-、,ノノ l l .!,;:=、`:.`:>=、.j,} |__人(( _ノノノ |
| l!iヾ- ' , .!__:ノ ゙ ,リ l リ'´ .|' ̄ヽ __ `><ノ | {;:'ノ ノtrテ;、.Y ! ,--、 __`彡 ノ
. ',|!!、 r‐┐ ` ノ' /,イ ! __ , ⌒'/!| | !.`ー‐'´, ゙じ' ノ ! h. ._: ´ ソ).(
'i!゙、ヽ、 ゙ー' _, ィ,:',:''´ ! !、 ー' ノイ ! | | !、 !フ `フ'リ ! ル'ヽ.._ _..、(ン ノ )
゙:、ィ、jヾー::: 'iヘ ノ',リ./! .| |ー`┬、' ´ 〃 l. トヾ、.゙`ィ'' ´ヽ、/// \二|`\ー‐‐'´
,、- '´ ヽ、゙、 { `>"、 ! ! ! | `>-、 | |、 ________∧______
/\\ ', } //`ヽ| ',.!゙、 !// ゙!/ ! ( サイタマ〜!
#----------------------#
# パスワード暗号処理 #
#----------------------#
sub encrypt {
local($inpw) = $_[0];
local(@SALT, $salt, $encrypt);

@SALT = ('a'..'z', 'A'..'Z', '0'..'9', '.', '/');
srand;
$salt = $SALT[int(rand(@SALT))] . $SALT[int(rand(@SALT))];
$encrypt = crypt($inpw, $salt) || crypt ($inpw, '$1$' . $salt);
return $encrypt;
}



この意味分かりますか?
229デフォルトの名無しさん:02/10/28 18:38
上の暗号化で
4GVcqwSr4MWB
これを解読したら面白いですよ。
かなり高度ですが。
rijndaelがデジュア・スタンダードになりましたが、何か?(ワラ
あのぅ…IPv6及びIPsec詳しい方いらっしゃいます?
良スレの予感
233デフォルトの名無しさん:02/11/17 12:31
http://headlines.yahoo.co.jp/hl?a=20021116-00000004-zdn-sci
盗聴不可能な暗号化技術が出来たよ。
>>233
マルチうざい
それに量子暗号なんて随分昔から研究されているぞ
実用実験に入ったってとこが新しいんだろ
>>235
IBMが日本の大学と組んで、随分前から実用研究しているが・・・
確かに上記のニュースでは速度向上があるが、
それでも「盗聴不可能な暗号化技術が出来たよ。」というのは事実誤認。
観測できないのに受信はできるんですか。
>>237
量子は、観測した瞬間に情報が破壊される。
このため、コードを理解できる特定の受信者のみが、
  観測→受信→解読
ができる。
239デフォルトの名無しさん:02/11/18 23:58
解読できる観測者がいないことはどうやって保証すんの?
>>238
観測時に破壊されるならわざわざ暗号化する必要ないやん

>>239
それは運用の問題だとかホザくんだろ
>>240
誰でも観測→受信まではできる。
だから、暗号化せずに平文で送ったら第三者に盗まれる。
暗号化は量子暗号特有で、第三者からは情報理論・物理学的に
完全なランダム列でしか得られないことが特徴。

ttp://eprints.it.ss.titech.ac.jp/view-qit.html
ここで量子暗号の基礎を勉強しる!
>>241は量子情報理論のリンクだった。スマソ

量子暗号理論の概説として参考になるページ
http://www.tamagawa.ac.jp/SISETU/GAKUJUTU/pderc/rqcs/kaisetsu.html
つまり量子論が保証してくれるわけか
ボクの肛門も暗号化できますか?
246デフォルトの名無しさん:02/11/26 06:27

250デフォルトの名無しさん:02/12/11 13:36
したらばの
制御・情報・生体情報処理とその周辺
http://jbbs.shitaraba.com/study/18/
でもスレたってたよ

暗号解読
http://jbbs.shitaraba.com/study/bbs/read.cgi?BBS=18&KEY=1027089397&LAST=20
251250:02/12/20 19:34
俺のプロバ当ててみろ!!!!!!!!
串規制無くせばモウマンタイ
匿名性が失われたら
朝曰あたりが調子に乗りそうだなぁ(w
観測できないのに受信はできるんですか。
今まで取ってなかったって方が、信じがたいが。
257デフォルトの名無しさん:03/01/09 14:39
tes
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
>>791
NGワードにでも指定して、ブラウザ側で消しとけばいいじゃん。
さようなら2ch

これは鮫島の怨念だな
だから鼻糞共は★付きで馴れ合うなって何度書いたら判るんだよ`Д´)!
>>213
モーヲタは(・∀・)カエレ!!
なーんか、勘違いしてない?
書き込みのログだけ取りゃいいんでしょうが。
>>565
>>564
世間様から見て百害あって一利なしの板と思うけど、どうよ?
>>713
キャップはどした?
オメゴはNGか?
女性週刊誌とかと同じで、面白おかしく書きたてている方もイパーイということで(w
はあああああああああああああああああああ
2003年1月10日がおいらの青春の1ページに記録されますた。
IP取ろうが取らなかろうが
捕まるときは捕まるだろ?
↑縦読み不可
457 :g056137.ppp.asahi-net.or.jp :03/01/10 00:44 ID:6BZCtvnU
ブラクラ。
名無しの頃には何回か。

というお粗末。
広告とか電話番号らしきものとかIPだかホストだかそんなんだったと思いまつ。
ほっちゃくか、、、
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
だから、匿名で言わずとも正当な手段で訴えなはれ。勝てるかもしれないんだから。
あきらめんでよし。
いいかげんな事を垂れ流す点ではテレビとて同じ。
制御できない点で2ちゃんねるが五月蝿い人たちがいるんだ。
唯の雑談場所の様に見えるが実は直接電子民主主義社会の
端緒となるものが2ちゃんねるだった。
ノイズが多いという議論は大衆は愚かだから支配するべきと
いう貴族の意見と同じ。実は大衆も貴族もその愚かさ分布は
同じだという罠。
ねんちゃく、か、、、
で、馬鹿が消えた所で

2ちゃんねるの消滅まだ〜?
マチクタビレタ〜マチクタビレタ〜
ちょっと2chが面白くなくなってしまうのでは・・・と心配してしまう
のですが、ワタクシ・・・。
告発系が駄目って事ですよね。
ううぅーん。雅の事も言えなくなっちゃうのかな?(関係ないか)
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
とにかく、今後の成り行きを見て行くしかありませんね。
授業料は、ひろゆきさん、もしくは一部の無鉄砲な人たちが
払ってくれるでしょう。
(・・;)IP取るんですか・・・。
(・・;) 「 ・・・。」

(−−;)これからは、アグレッシブな事は書けませんねー。
(・・;)私のような国家公務員のエリート もとい
(^^;)カリスマは、何か言うと
(・・;)目をつけられますからねー。
(・・;)嫉妬する気持ちはわかるんですが・・・。

(−−;)y−~ ふっー。
暫定管­理人 :
それにしても、奴は朝突っ込むと予告してたのにとられた処置が集団下校とは・・・
もし奴が実行してたら、大事だったんじゃないの?
2ちゃんねる が衰退していく

あるネット関連会社の社長は、
「いずれにしても2ちゃんねるは資金が底をつけば終わり。
あまり知られていないことだが、2ちゃんねる内部関係者によると今、
大手通信会社系が調査費名目で資金提供している。
だが、それが止まれば続けてはいけないだろう」
と証言する。
2ちゃんねるが判決によって力を失った場合、
資金提供の打ち切りも予想される。

http://ascii24.com/news/reading/causebooks/2002/07/01/636911-000.html
じゃあなぜ今回になって
俺達を見限ったのだ?
ナイスw
sports3フカーツ?
RSAでも単なる128bitのキーなんだからアルファベットや記号を混ぜた64進数とすれば?
>>289
何を言いたいのかよくわかりませんが、
RSAのキーは1000bit超が基本ですよ。
128bitのRSAなんて、今の計算機の能力じゃ
あっという間に解読されちゃいます。
291山崎渉:03/01/13 18:28
(^^)
292山崎渉:03/01/14 02:07
(^^)
293山崎渉:03/01/15 17:52
(^^)
294山崎渉:03/01/23 22:23
(^^)
保全
296デフォルトの名無しさん:03/02/23 08:16
X.509証明書では、RSA以外、たとえば楕円曲線暗号などによる署名は
サポートしていないんでしょうか。
どなかかDESのよいサンプルソースご存知じゃないですか?
298デフォルトの名無しさん:03/03/19 05:31
セキュリティ一般はこの板じゃないのかな?
いや、単にこの板の連中は検索も知らない香具師には冷たいだけ。

http://www.google.com/search?q=DES+crypt+source
>>298
ここでいいよ
301デフォルトの名無しさん:03/03/20 12:24
DESはまずいのはわかるけど
ちゃんとしたパスとsaltつかっときゃ
簡単にDESをクラックできるようなツールはないんでしょ?
302デフォルトの名無しさん:03/03/20 13:36
つーか、.NET使えよ、お前ら。
標準で米国次世代標準暗号のRheinDaelがついてくるぞ。
303SukebeBox:03/03/21 18:40
rijndael
304デフォルトの名無しさん:03/03/22 17:11
秘密鍵方式のアルゴリズムの
それぞれの強さ(破られにくさ)はどんな感じですか?
色々あるので、どれがどうなのか分かりません。
>>304
別の方法を直接に比較することはできません。
現在の計算機性能で解読にどれくらいの時間がかかるか、という目安でよければ、
いろいろな人が比較実験や推測を行っているので、ぐぐってみてください。

もうひとつの目安としては、理論的に強度が証明できるかどうか、があります。
たとえば、素因数分解に基づく DES などは、
現在 256 bit 以上あればそこそこ安全といわれていますが、
量子コンピュータの登場により、一瞬にして意味のないものになります。
その点では楕円暗号は比較的安全で、鍵長も DES より短くても解読に同時間です。
> 現在 256 bit 以上あればそこそこ安全といわれていますが、
> 量子コンピュータの登場により、一瞬にして意味のないものになります

ソースキボン
>>305
「素因数分解に基づく DES」って変です。
304 には「秘密鍵方式」って書いてあるのに、
305 の後半は公開鍵方式の話になっているようです。
>>305
> たとえば、素因数分解に基づく DES などは、
プッ
309デフォルトの名無しさん:03/03/22 19:55
それから先輩、つーか>>305
その道 行き止まりだよ、
とにかく 素因数分解だか
3DESだか知らんけど
どんな理由も知ったこっちゃないんで
俺は いつでも

  金  星   暗  号  !
ちなみに RC5はシカトが一番いいと
47氏が言ってたス。
今は アホなアメリカ政府がくれた
新しい 世界を描く きっかけの時だ。
                
                  窪塚洋介
                  ~~~~~~~~~
310デフォルトの名無しさん:03/03/22 21:09
RC4は、元々は非公開らしいですが、
勝手に使っちゃマズいですかね?
フリーウェアに組み込みとかはアリ?
それとも、ライセンス必要?
MD5は危険ですので、使用を控えましょう

っていうことでよろしい?
もっともらしいことを言って初学者を撹乱させるのは、
平均的な 2ch の住人の仕様です。

[もっとがんばりましょう >>305
>>305
凄まじいまでの嘘レスだな。
さすがにこれは放置できないんで、添削してやろう。

> たとえば、素因数分解に基づく DES などは、
秘密鍵暗号の話をしてたのにいきなり「素因数分解」とはな。
素因数分解は基本的に公開鍵暗号のベースとして用いられ、
それを利用した代表的な暗号はRSA等だ。

> 現在 256 bit 以上あればそこそこ安全といわれていますが、
RSAの話だと仮定すると、最近の計算機の能力を考えれば
鍵長256bitでは心許ない。
最低でも512bit、できれば1000bit超の鍵を使うべし。

> 量子コンピュータの登場により、一瞬にして意味のないものになります。
非常に単純な量子コンピュータなら既にある。
http://ascii24.com/news/i/tech/article/2001/12/20/632272-000.html
公開鍵暗号にとって脅威となるのは、数千qubit級の量子コンピュータを
作る技術ができたときだ。

> その点では楕円暗号は比較的安全で、
No.
数千qubit級の量子コンピュータの前では楕円曲線暗号も無力。


基本から勉強しなおしてこい。>305
>>310
arcfourを使え。

>>311
小さな弱点があるって意味では危険かもしれないが、
使用を控えるほどではないかもな。
315310:03/03/23 05:09
>314
arcfourを使ってみます。
>>314
SHAを使ってみます。
317デフォルトの名無しさん:03/03/25 01:56
>>314
RC4とかってOpenSSHとかのライブラリじゃだめなの?
318314:03/03/30 20:11
>>317
うーん、OpenSSLのコードを持ってきても問題ないとは思うが、
商標の問題もあるし、一応「私の使っているのはarcfourですよ」って
宣言できたほうが安心できるんじゃないか?
319デフォルトの名無しさん:03/04/02 12:32
Rijndaelってなんて読むんですか?
320デフォルトの名無しさん:03/04/02 13:07
>>319
ラインダール
まあAESと言い換えれば無難
>>320

Thanks!!
322デフォルトの名無しさん:03/04/02 13:33
> 301
> DESはまずいのはわかるけど
> ちゃんとしたパスとsaltつかっときゃ
> 簡単にDESをクラックできるようなツールはないんでしょ?

DESがあぶないのは、鍵が特定の値だと攻撃されやすいとか、解読を効率的に行うアルゴリズムが
発見されたからとかいう問題ではありません。
最近のコンピューターの性能が、DESの鍵空間の全探索が可能なレベルになってきたからです。

  やっぱこれ http://www.eff.org/descracker/cracking-desj.html

> 311

MD5は致命的な攻撃方法が発見されたわけではないですが、やっぱりけっこうあぶないらしいです。
  http://www.rsasecurity.com/rsalabs/cryptobytes/
  Volume 2, No. 2 - Summer 1996

MD5はやめようという動きが、すでにあります。
  http://www.soumu.go.jp/s-news/2002/020604_3.html
323デフォルトの名無しさん:03/04/02 23:16
で、結局 秘密鍵のアルゴリズムではどれが良いのですか?
とりあえず、RC5のコード組んだんですけど・・・
あと、RC5を使用する場合 鍵長を128bitまでにしないといけないのですか?
2048bitフルで使えるようにするとマズイですか?
そもそも、このRC5を勝手に使用して問題ないですか?
> 秘密鍵のアルゴリズム

そういう問題ではないような・・・
>>323
絶対に安全であることが、情報理論・物理学で保証されている量子暗号を使いましょう。
絶対確実です。
>>324
公開アルゴリズムの場合、鍵の長さが重要って事ですか?
使いやすいのを使えという事?

>>325
なんか難しそうなんでパス。
327デフォルトの名無しさん:03/04/03 18:56
輸出規制で128bit・・ 分けがわからん。
これ以上長い鍵を使ったらいけんの?
328デフォルトの名無しさん:03/04/03 21:35
>>327
128bitより長い鍵を使ってもいいけど、
使ってる製品は輸出できませんよ
っていう話。
公開鍵だと鍵長がまた別だった気が。
自分で作ったアプリの中で、128bit以上の鍵を使ってたとしたら、
日本国内だけで使用可能という事?
海外からのダウソはダメという事?
>>329
> 日本国内だけで使用可能という事?

そういうこと。輸出はできないけど。

> 海外からのダウソはダメという事?

本という形を取ればいいらしいぜ。
PGPがそうしてコードを外に出した(という事にしてる)らしい
>>330
> 本という形を取ればいいらしいぜ。
> PGPがそうしてコードを外に出した(という事にしてる)らしい
これだね。OCRで読めるようにってことらしい。
http://www.amazon.com/exec/obidos/tg/detail/-/0262240394/
332329:03/04/04 00:54
>>330
どうもっす。なんかこの辺、複雑だねェ。
2000年の9月だっけな、輸出規制は大分緩和されたはずだが…
334デフォルトの名無しさん:03/04/04 02:26
強力すぎる暗号はパスワードをなくしたときどうしようもない罠。
データを盗まれる恐怖とデータ消失の恐怖のせめぎ合い。
>>334
よくわからんけど、暗号ってそういうものじゃないの?
強力じゃない暗号を使用してパスワードなくしたら自力で解読するの?
それじゃぁ、暗号の意味が…。
パスワード忘れたらどうしようもない。
そんな雰囲気がいいんじゃねーか。女子供はすっこんでろ。
で、(略
>>334
生体情報を使えば?
ハードウエアに1万円程度を払えば、
盗まれない・忘れないパスワードが使えるようになる。
>>337
映画じゃないけど
そういうのって人体が逆にそのうち狙われるんじゃ、、、
暗合した人の拘束して指紋とって認証クリアしたあと殺すとか
>>338
今はそのような状況に対応した商品が出ている。
たとえば、血が通っていないとだめ(作り物や死体には反応しない)だし、
虹彩を使うものはさらに厳しく、意識がないとだめ(寝たり気絶したり)だし。
340339:03/04/06 02:00
すまん。読み間違えた。

>拘束して指紋とって認証クリアしたあと殺すとか
「平常時と異なると認証できない」ようにできる。

それから生体認証とパスワードを組み合わせて、
生体認証を通過しないとパスワードを受け付けないようにする。
すると、クラッキング1回のオーダーを1億〜1兆回/秒から1回/秒程度に減少できる。
心音を入力してみては?
使用中に、不定期に認証を求めるようにすればよいのだよ。
>>342
使い勝手が・・・
常に心音読み取り装置をつけてないと操作できないとかは?
345山崎渉:03/04/17 15:44
(^^)
346デフォルトの名無しさん:03/04/17 20:53
複号化された平文が、元の平文と正しいかをどうやって通常は判定しますか?
何かチェックデータを追加しますか?
CRC32・・・
MD5・・・
SHA1
>>346
さっそく、復号が間違っているようだね。

複号化 --> 復号化
350346:03/04/17 23:15
>>347,348
MD5かSHA1を使ってみます。

>>349
これからはキチンとチェックします。
>>350
改竄防止が目的なら、単なるHash値じゃなくてHMACを使うべし。
http://www.ietf.org/rfc/rfc2104.txt
352346:03/04/18 03:40
>>351
どうも、情報をありがとうございます。

改竄されていれば、違うハッシュ値が作られるので
普通のハッシュ値でも、改竄されていたら分かると思うのですが
それではダメですか?
>>352
そもそも正しいハッシュ値がわからないのでは?

X氏 が 文書A, ハッシュ H(A) を Y氏 に送る。
攻撃者 Z が、文書B, ハッシュ H(B) に改ざんし、Y氏に送る。
Y氏、BのハッシュH(B)の一致することを確認し、文書Bを入手する。

問題はY氏がH(A)をどうやって知ればよいのかということ。
この辺は、セキュリティ関連の話で論文・書籍がいっぱいありますので、読むべし。
354山崎渉:03/04/20 03:13
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
355山崎渉:03/04/20 03:47
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
3561:03/04/23 13:53
まだあったのか…
あったのさ。
書き込みがないなぁ。
一応毎日チェックしてますよん(学生)。
モンゴメリアンチョップ
361デフォルトの名無しさん:03/05/23 21:40
偉い人,もっと書き込んで!!
362デフォルトの名無しさん:03/05/24 20:24
換字式暗号

「かんじしき」て読むのか?
本当か?>たけしの!こんなはずでは!!
暗号化というと数学寄りの話に、
認証というと通信・セキュリティー寄りの話になっちゃうのかな?
>>362
じゃあどう読むの?
アラン・チューリングの名前が冠されたチューリング賞についてなぜ言及しないの>たけし
しかも2002年度のチューリング賞を受賞したのはRSAだというのに
>>364
> じゃあどう読むの?

『かえじしき』のがギョーカイっぽい。

あと『平文』→『ひらぶん』なんてのもある。
代替をだいがえと読むようなもんか。
業界以外ではただのアホと思われかねない罠。
『だいがえ』はただの間違い。『うるおぼえ』といっしょ。

「だいたい」と読むと「大体」と紛らわしいのであえて「だいがえ」と読む。
「代替する」とか「代替として」と続くから間違えようがないと思うが。
>代替をだいがえとよむようなもんか

ちょっと違うんでないの?
業界用語は湯桶読み(ゆおけ)になるってことでつね
ゆとうよみだろ。おけは訓読みだから。

>>370
「代替」だけだとそれもありかも知れんと思うが、
「代替案」みたいなのを「だいがえあん」と読むのを聞くと
激しくバカっぽい。
だー!逆書いちゃった。「ゆとう読み(訓音)」でちた。
えーと、「業界用語では音読みを訓読みに変えて呼ぶものが多い」
てことでつね
暗号を研究対象としているが「かんじしき」とは読んでも「かえじしき」とは聞いたことがない。
「だいたい」もそうとしか読まないね。
「へいぶん」・「ひらぶん」は半々くらいで人と場合によって違う。

ところ変われば読み変わるってか。
代替は「だいたい」だが、代替えは「だいがえ」。
「だいがえ」と聞いて代替の読み間違いとしか思わないのも間違い。
>>377
読み間違い、あるいは読み替えに送り仮名を付けたものとしか思えないが
ともあれ暗号と関係ないな
たけしの番組では
エニグマ暗号解読のアルゴリズムは全然紹介されなかったね
ただコンピュータすごい、チューリングすごい、て感じだった
旧い人間には代替をダイガエと読む人もいるよ
>>379
あみだくじによる解説(というよりエニグマがあみだそのもの)は、なかなかよかったと思うが、
チューリングボンベはどう解説してよいやら。
>>378
代替を代替と認識するか代替えとするかで代替えの代替は可能です。

代替=0, 代替え=1 とすることによって、上の文章に 00110 という秘密文章を隠せる!
383山崎渉:03/05/28 12:47
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
SHA
385デフォルトの名無しさん:03/07/02 23:59
CRYPTはEurocryptoと違っておしりにOがつかないんだね
エニグマ暗号機をプログラムしませんか?
1bytsごとに切って数値入れ替えて文字化けさせる。
数値を入れ替えるためにキーを使い、キーの値*一定の数値で、数値を入れ替える。
復号はその逆。
ここに来たのが最近なので、ここに書き込むのは初めてです。
一応参加者を募る意味であげときます。
レスつけてくれたら本気で考えます。
>>386
エニグマエミュレータが、すでに存在していますので、
それを作るのはあまり気が向きません。
>>387
そだね。いっぱいあるね。
389山崎 渉:03/07/15 10:14

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
牛タン食べた人はこのスレにいるのかな?
どうやら居ないようですよ。

保守カキコっと。
392山崎 渉:03/08/02 02:54
(^^)
電子投票とかDRMのシステム作ってる人は
このスレにいるのかな
rijndaelの仕組みが分からん、てかアルゴリズムについて日本語で書かれてる解説が無いわけだが。
395デフォルトの名無しさん:03/08/07 00:02
「暗号理論入門 第2版」岡本栄司著 共立出版 2002
ISBN4-320-12044-2
にAESのアルゴリズムの説明があるよ
396デフォルトの名無しさん:03/08/07 06:37
ここの暗号を解いてください。
http://airline.muvc.net/woot31.htm
397396:03/08/07 06:38
ちなみに私は解けました。
398_:03/08/07 06:39
>>396
どうでもいいが、気になったんで見てみると・・・・HSP製!しかもパスワードの意味ほとんどねぇ。
400400ゲットプログラム:03/08/15 13:27
400ゲット
401みのる様:03/08/15 13:29
みのるの超流行語では、
流行語大将になりそうな言葉を紹介していきたいと思います(^‥^)。

オヒャヒャ           僕、みのる様が使用している笑い方です。
(^‥^)          僕、みのる様が愛用している顔文字です。
トライブット        僕、みのる様のサイトがある所の偉い所の人。
みのる様ファン倶楽部    会員数がもう100億人超えた超えてます。
マヨネーズ         僕様の大好きなマヨネーズの一種です
スペシャルギニア      世界共通語で、誰でも分かります
応援ありがとう!!!    皆が僕様を応援してくれるから、僕様も返信します
           俺様の素晴らしいサイト↓
         http://minoru_god.tripod.co.jp/
      プログラム板のオタクやバカドモはこっちに来て勉強しな
                    BYE みのる様
402山崎 渉:03/08/15 15:11
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
403デフォルトの名無しさん:03/08/17 15:12
linux/crypto/*が勉強になりますた。あげ。
                | |
                | |
                | |
                | |  ,..._
          ,.r-、 ,ry | |  ヒ;;;::}
      ィt:、 ,:'::::// '''´ | |  ,、.、  ,..,..._
      {:::}::}/::::r'ノィー::、 | |  ヾ、゙、//::::jr;::、
     ,rヾ''"ゞ=' 'ヾ.....⊃' ! !  ヽ''ヾ:、::;' `''",.=-、
     ー'’._ ,r'う {::jj ,.、、 _,...::::::''ヽ  ,.,´  {{::::::::ヽ.
    ,;'"'" ̄ヾ´,.., r::';;〃l'l::::;;:::::::f'_ ヾ'〃) `ヾ::::::/
   〈::::::::/ノ ヾ,jヽ='. ,,ヽへ-(ヾ::゙、 ゞ',.,.、 //::::/
    ヾ:::::゙、゙、 {{) {:::jj' ",,,,、 c;、ヽ='  ゙、::゙;ヾヾ/_
    ヾ::::/:ノ ,,,,_ (:ヾ'''⊆|:::::|P,r,r:、 ,:'''7  ``' ゙/〃
     ゙ー' /:::::;}}`",.,rt:、゙´ //::::/ ゙ー',.r::::、  _`'’
     r:::、、ヾ-''n.く:::;:::゙、゙、 ヾー' { ̄:::::ノ!,ィ'r':::|
     |::::::| |''ヽ`_,,.`'ヘ;r'ノ,..-:、_ _ `='-'" | |:::::|
  ___.   |::::::| |_`__|`ii'"''" /7 i'i::l´______|_|:::::|
___|:::「____|:::::::`::::::::::::::::::::}}f´ヽ、`,..,゙、}:::::::::::::::::::::::::::|
 ̄ ̄ ̄| ̄|::::::::::::::::::::::::::ゞヾ;;;jj{{;;;ノ{{:::::::::::::::::::::::::::|
:::::: [][]::|:::::|:_i二二二ユ;;::「   ,...., ,f;ノ「 ̄ ̄ ̄「|::::||ヾ ̄ ̄ ̄
、,...... ._: |:::::|]]]]]]]]]]]]]]]'i||__ ヾ-’_|::::|_____」」;;;;||_ `ヽ、_
,I、ー'_,!::| :::|--------/'|::::::'゙、 ,i'j:::::::::::::::::::::::::| ヽ...|、`ヽ、 |lllll
:|::::::::: |..|:::::|-------/;';'.|::::::::}}||::::::::::::,rr---:|ヽ. \ヽ、.|| .|lllll
:|::::::::: |,,!:'"-------/::;' :||「 ̄ ̄ ̄ ̄:|` ̄ ̄_|_\. ヽ、、l !lllll
TTTTTTTTTTTTTT:::;' :|l'| ̄ ̄「「「ニ|ニf(二二..))\ `゙、===
.LLLLLLLLLLLLL!::;' ::||'|:::::::::::::|.|.|..|ヾ;;|、;;;;;;;;;;;;;;;;! \ |:::::::
ニニニニニニニニ]' ::::|.|'|::::::::::::::|.|.|..|ヾ.| : :::::::::::::|゙、  `、!::::::
405デフォルトの名無しさん:03/09/10 03:26
なにやら公募してるらしいage
406 ◆IZCx0PIv6. :03/09/10 04:58
低脳DQNなので、Xorを使った共通鍵方式の暗号化のアルゴリズムしか知りません。。。
このスレで勉強しますので暖かく見守ってください。
>>406
-==・==- -==・==-
>>406
Csisza'r先生の本や論文を読みなされ。
409デフォルトの名無しさん:03/09/29 02:32
レンタルサーバーでも使えるようなperlの暗号化ライブラリってある?
ってか、てけとーな複合的な暗号アルゴリズムで事足りるかな。
>>406
暗号アルゴリズムなんか知る必要はない。
ライブラリを使うだけ。
手間がかかることはただで仕事をやってくれる
バカなやつにやらせるのがDQN脱出の第一歩。
下手に自分で考えるより世界中のスーパーハカーがよってたかって
安全性を検証してる既知のアルゴリズムを使ったほうが
よっぽど安全
>>410
クズが人を馬鹿呼ばわりしてはいけません。
%イヌワホノワ=セホワ_ヒサ。ノァエソキフネヤフスェユカ!ネナ_ユッィ、ェテナイ「ユコニマ@_ンノ
%ニラ」ェヲスムワゥリッシコヘャクサカメモケタウレトヨヨナケモヤヒケスナニーソシ「ュクス@ャセッルホュトヒッタス!ヲケロウ
%_キルヒキトノ」シレタ_フィノンナハヒクルメゥネソサヌスヒシルヒ」_ォヨァシ=イモャ「トスヲケカフミソナーォ、ユラヌ?ゥナ「=ヲシッキモクトィメ

%ホ」@ゥコノモエヘホイミヤラシ?@リナ。カネヘテ?リスャ?=ョキソニソケラロチュヌノユヌセムロ@、ト@チフナレ=スコエヲヌゥモェヒヘテイ
文字コードがEUCかと思ッターヨ
415デフォルトの名無しさん:03/10/31 16:49
ほっしゅほっしゅ
416デフォルトの名無しさん:03/11/04 21:25
Feistel型の暗号化についてなんですが
http://www.atmarkit.co.jp/aig/02security/feistel.html
「片方のサブブロックにのみ鍵の値を与えた後F関数により変換を行い」
上記のイミがよく分かりません。

F関数ってどんなことをすればいいのやら…
Fといえば・・・
418デフォルトの名無しさん:03/11/04 21:36
微分積分?
419デフォルトの名無しさん:03/11/04 21:37
それとも、非線形関数?

うーん、いったい何を計算すりゃいいんだろう。
420デフォルトの名無しさん:03/11/04 21:39
DES100=そこそこ最強だよw
>>416
> Feistel型の暗号化についてなんですが
> http://www.atmarkit.co.jp/aig/02security/feistel.html
> 「片方のサブブロックにのみ鍵の値を与えた後F関数により変換を行い」
> 上記のイミがよく分かりません。

んないい加減なサイト見て分かろうとするのが間違い。

> F関数ってどんなことをすればいいのやら…

もちろん、個々のアルゴリズムによって具体的な処理は異なるが、
基本は S と P だ。

温故知新ということで、とりあえず DES の F 関数でも見てみるの
が参考になるのでは。
おお、DES アルゴリズム 暗号化 で調べてみたところ
いろいろ参考になるものがありました!!!

これからがんばってみます。助言ありがとうございました。
Blowfishだったら#define(C言語とかだと)マクロのROUND,Fあたりですよな?
むぅ、本に載ってるDESの説明見たほうが早いか。
>>423
> Blowfishだったら#define(C言語とかだと)マクロのROUND,Fあたりですよな?

Blowfish にとっては鍵依存 S-Box を作る部分がほとんどすべてな
ので、F 関数はごく単純。入力として副鍵も取らないしね。なので、
簡単にマクロでも記述できちゃうわけだけど、逆に Feistel Network
の F 関数の役割を理解するという用途には向かないだろうなぁ。
>>424
ほぉほぉ、素直に本読むことにします。

暗号理論入門 J.A.ブーフマン著
の1冊持ってるだけなんですが、お勧めの本ありますか?
>>421,424さん、もしかしてIさんですか?
サイトの更新楽しみにしてます。
最近の本やウェブの情報は間違いが多いみたいなので……
>>425
> 暗号理論入門 J.A.ブーフマン著
> の1冊持ってるだけなんですが、お勧めの本ありますか?

スマソ。あんま本読んでないから何がお勧めなのかはよくわかんない。

まぁ B.S. の A.C. ならいま読むんでもそれほど外してないだろう
が、Feistel Network だけのためにあれ読むってのもなぁ…。

>>426
> >>421,424さん、もしかしてIさんですか?

ギ、ギクッ。(;゚Д゚)

> サイトの更新楽しみにしてます。
> 最近の本やウェブの情報は間違いが多いみたいなので……

当方ネタギレ気味につきタレコミ熱烈歓迎中。

♯温めてたネタ一つ先月の CSS で使っちゃったし。
> B.S. の A.C.

この前日本語訳が出ましたけど、品質はどうなんでしょ?

暗号技術大全
[原書名:Applied Cryptography, Second Edition :
Protocols, Algorithms, and Source Code in C〈Schneier, Bruce〉 ]
http://bookweb.kinokuniya.co.jp/guest/cgi-bin/wshosea.cgi?W-NIPS=997699351X

翻訳がいい仕事しているようなら買いたいと思っています。
http://www.faqs.org/rfcs/rfc2104.html
hmac の RFC で test vectors という言葉が使われているのですが、これは例となるテストが
ベクトルのように並んでいるから、それを vector と呼んでいるのですか?

少し暗号とずれた質問で申し訳ないですが。
> hmac の RFC で test vectors という言葉が使われているのですが、これは例となるテストが
> ベクトルのように並んでいるから、それを vector と呼んでいるのですか?

もしそういう意味だとしたら test vector*s* にはならんだろう。

一般的な用語なんで“テストベクタ”くらいで goog ってみれ。
>>428
> > B.S. の A.C.
> この前日本語訳が出ましたけど、品質はどうなんでしょ?

ようやく DES のとこだけちょこっと読んでみた。日本語の文章表現
は翻訳本として結構こなれてる部類に入るかなって感じ?ただ、内
容的には微妙な間違いがいくつか目につくなぁ。訳者の顔ぶれを見
るとみんな素人っぽいんでしょうがないっちゃしょうがないんだろ
うけど。

非常に広い範囲をカバーしてる本なんでいろんな概念のさわりを素
早く知る用途には十分役立ちそうだけど、勉強に使うならやっぱ訳
本ではなく、それなりに玄人の日本人が日本語で書いた本 (っての
があるかどうか知らんけど) の方が良さげかな。
ぬお
レビューThanksです
とりあえず書店行って来ます
仙台は寒いだろうな…
434デフォルトの名無しさん:04/01/14 00:34
楕円曲線暗号って使うのに特許必要ですか?

>>434
正確なところは漏れもよくわからんが、SunがOpenSSLプロジェクトに提供した
楕円曲線暗号の実装なら、フリー(?)で使えるのかも。
http://internet.watch.impress.co.jp/www/article/2002/0920/snc2.htm
436434:04/01/14 02:05
434を書き込む前も調べたんですが、
もうちょっと頑張って調べてみると、

* 楕円曲線暗号の基本特許はとられていないらしい
* 楕円ElGamal、楕円RSAなどには特許がある
* 高速化手法については特許があるらしい
* NTTは楕円曲線暗号PSECの基本特許をロイヤルティーフリーで利用許諾すると発表している

というかんじらしいですが、あんまり詳しくはわかりませんでした……。


OpenSSLは宣伝条項が面倒ですよね。
>>436
> OpenSSLは宣伝条項が面倒ですよね。

まったくだ。何気にdualライセンスなのもダサい。
(・∀・)サムイヨォ
>>433
SCIS2004一昨日までいってました。仙台サムカッタYOー。
わー、行った人いたんですか
誰も反応しなかったんで438でつい自分にレスを…

発表者の皆さんはお疲れさんです
おもろい発表が聞けてよかったYO
仙台のSCIS、このスレの住人は行ったヤシ多いと思ったけど
そうでもないのかね。どっか違うスレに集ってンだろうか。
ttp://scis2004.soft.iwate-pu.ac.jp/
442デフォルトの名無しさん:04/02/02 04:55
ここ以外に暗号や情報セキュリティについて語るスレってあるのかな
これとかどうよ。もう廃れちゃってるかな。

暗号技術は変わるのか?
http://pc.2ch.net/test/read.cgi/network/981732339/
>>443
廃れてました…
>>443
うわ廃れすぎ…。

暗号や情報セキュリティで語るスレ、もっとあってもいいのに
案外みないよな。SCISあたりにいる連中はどこにいるんだ?
セキュ板はネットワーク系だし。
理系板の情報科学スレは…ちょっと違うかな

【論理】情報理工学総合スレッド【アンチ?】
http://science2.2ch.net/test/read.cgi/rikei/1065961472/l50

数学板じゃたまに単発で質問スレが立つ程度だし
P=NP?のスレはアレだし
こんなんもある。暗号のスレはあちこちの板に分散してるんだよな。

暗号総崩れ-素数判定が多項式時間で可能
http://pc2.2ch.net/test/read.cgi/tech/1028877628

未来の暗号技術
http://science2.2ch.net/test/read.cgi/future/1070021513/
結局、AES のコードはどれを使ってる?

それから、ここ
http://fp.gladman.plus.com/AES/index.htm
のコードはフリーじゃないの?
>>446
数学板のP=NP?のスレって、まともな暗号の話題っていうより
ほとんどネタだよね。
>>449
元講師のスレはアレだけど、別にP=NP?を語るスレもあるよ
>>98で、PGP使えば2ch上でもコソーリ会話できる
という話がありましたが、2chのトリップで
同じようなことを実現する方法ってありますか?

想定するシナリオ:
モナー(#mona ◆MoNamOnA)が、ギコ(#giko ◆GiKoGiKo)に
メッセージを送りたい。モナーは暗号化プログラムを起動し、
送りたいメッセージ"逝ってよし"と、相手のトリップ"GiKoGiKo"を
入力して、プログラムが出力した暗号文を2chにカキコする。

31 名前:モナー ◆MoNamOnA :04/02/05 0:00
>>ギコ ◆GiKoGiKo
fuga84759dhcnf

これを見たギコが、復号化プログラムを起動し、
自分のpassである"giko"と暗号文"fuga84759dhcnf"を
入力すると、元のメッセージ"逝ってよし"が出力される。

……pass→トリップがそもそも一方向ハッシュなので、
可能だとしても強度が期待できないとは思いますが。
「cryptとは」から始めてるレベルなので、
「無理。暗号ってものがわかってない」とか「それを
やりたければここから勉強始めれ」みたいなとっかかり
だけでももらえると助かります。
>>441
仙台では牛タン食べてきました。
D会場がやたら遠かったな。懇親会も大盛況で知り合いが探せなかった...。
>>451
PGPの話をしたいのだったら、こっちのスレのほうが
良いかもしれない。

PGPってすごく良いの?2
http://pc.2ch.net/test/read.cgi/sec/1049559446/l50
454451:04/02/05 02:42
>>453
レスありがとうございます。
が、PGPそのものじゃなくて、「passを秘密鍵、
トリップを公開鍵に見立てて、公開鍵暗号(ごっこ)が
できるような、そんな暗号アルゴリズムはないですか」
というつもりでした。……まだわかりにくいか。

40が50に、90が100に電話スレ
http://love.2ch.net/test/read.cgi/pure/1075891540/ (純情恋愛板)
http://live4.2ch.net/test/read.cgi/ogame/1075833427/l50 (ネトゲ実況板)

ってのがあって、電話番号の交換に捨てメアドが
使われてるんだけど、それ2ch上で交換できないか、と
思ったのがきっかけでした。で、各人がPGPインスコすれば
できるわけだけど、それはさすがに受け入れられないし。
で、2chで本人証明といえばトリップなので、トリップの
仕組みを使ったPGPもどきが作れないものかなと思ったのです。
うまくいって暗号化・復号化アルゴリズムを
携帯アプリとかの形で実装できれば、
抵抗なく使ってもらえるのでは、というもくろみ。

まぁ、強度を考えるとどっちにしろ電話番号の交換には
使えないですね。教えてもらったPGPスレ行ってきます(・w・)ノ
トリップはユーザが生成するIDみたいなもんだから
ある非対称暗号の公開鍵をトリップ付きのレスで公開する、で
事足りるような。2ch閲覧作業との親和性を問題にするなら
ブラウザを改良した方が早いと思う。
AESってDESでいうCBCモードとかってあるの?
457451:04/02/05 22:30
>>455,
あ。確かにそうですね,
普通の(汎用の)公開鍵暗号について,
勉強してきます。ありがとう!
>>452
BSEは関係なくまわりはわりと平気で食べてた。
>>454
トリップはunixのcryptと同じで、オール0をDESで暗号化したもの。
ただし、一部の桁が切り捨てられている。

公開鍵暗号として使うのは無理。それが可能なら、DESが公開鍵暗号系として
使えることになるけど、誰もそんなことしてないし。
さらに情報が失なわれているのだから輪をかけて無理。

>>455の通り、普通にRSAか何かで公開鍵を公開すれば十分

RSAを破るプログラムを作ろう
http://pc2.2ch.net/test/read.cgi/tech/1074577094/
>>450
ココだね。どうしてどこも人がすくないのやら。

P=NP問題について真面目に語るスレ
http://science2.2ch.net/test/read.cgi/math/1058932949/
>>456
CBCはブロック暗号をストリームに適用する手法の一つで、
特定のブロック暗号に限らない汎用的なものですよ。
ですから当然使えます。
強度はどうでもいいので、とにかく高速に暗号化&復号化したいです。
暗号鍵でXORする方法の他に高速な方法はありませんか?
あと、そういうソフトはありませんか?
また、強力な暗号をかけているように見せかけて、実は簡単な暗号を使う方法とかも。
用途は見られたくない動画の保護です。
暗号化ソフトをつくりたいのか
ただ暗号化したいだけなのか
ソフトウェア板池
>強力な暗号(化)をかけているように見せかけて、実は簡単な暗号を使う

共通鍵とか実装とか全然知らないんだけど、これって意味あるの?
>>463
既存の共通鍵暗号を使って、ラウンド数を減らす。
(当然、強度はみるみる弱くなる)
コンテンツと同じ長さの鍵を用意して xor をとる
最高の強度で実装はすごく簡単
>>467

その場合の、
>最高の強度で実装はすごく簡単
な、鍵の生成法を述べよ
>>468
別に運用が楽とは一言も書いてないんだが……
そこでrot13の出番ですよ。
強度が心配ならrot13を3回適用したtriple-rot13を使うとよろし。
>>469
運用?
468の質問の意味が掴めてないな?
>>471
ネタにマジレスry
>>468はそれがどういう暗号かなのか知らないみたい
>>473
それは467の方では?
468は、真性乱数が簡単に作れるのか?とツッコんでるわけで。
467はそんなこと承知で書いているように見えるのだが。
運用、なんて返しをしてる時点で、そうは見えないんだが。
ネタに(ry
運用、ではない適当な語句を生成せよ
きっと>>468はさいころと言う実装を知らないんだよ
拡張子変えれ
>>465
解読しようとする人のやる気をそぐことができると思いました。
暗号化ファイルフォーマットのヘッダ部分の暗号化に関する情報を偽装してデータ部分に暗号化してないデータを挿入できたらいいんじゃないかと思います。

例えば、PGPで暗号化したとき拡張子.pgpが付くことを利用して、暗号化してないファイルの拡張子を.pgpに変更するだけでも、普通の環境の人はダブルクリックしても再生できないし、PGP利用者は鍵がない限り復号化しようとしない。
さらにファイル名を偽装すれば解読する価値も見出すことはない。

>>466
やってみます。

>>480
ただ.pgpをつけるだけだと、「PGPの情報が見つかりません」と表示されてしまうのが気に入らないんです。
482465=480:04/02/13 19:17
例えばその動画ファイルの拡張子をdllやexeにしておけば
その手のファイルが存在するということ自体を
ある程度他人から隠せるんじゃないの?
>>482
ファイルサイズが大きいDLLや動かないexeがいっぱい保存してあるのは不自然な気がする。
じゃぁ全部.7z
>>481

そもそも、誰から(&どの程度の価値のある)情報を守りたいの?
>>485
家族や彼女(彼氏)から趣味の動画を守ろうとしています。
趣味がばれて困るわけではない(暗号化する必要はない?)が、外出している間に意図的に処分される可能性を想定しています。
偽装したら、研究データを預かっていると伝えておく予定。

書き込みした時は暗号化したかったんだけど、偽装で十分かもしれない。
とりあえず、PASS付きZIPに偽装しようかと思ってます。
PGP Diskがいいんでないの?
>>486
WindowsならNTFSのような、アカウントで権利設定できるファイルシステムで
保護すりゃいいだけじゃないの? 暗号にしなくても。
外出している間に意図的にファイルを処分するなんて
ここはすばらしいインター家族やネット彼女(彼氏)ですね
縁切っちゃえ
俺の知人はアイドルだか女優だかの写真を彼女にごっそり捨てられたらしい。
昔、堂々と山積みにしてたエロ本の山を、俺の居ないときにこっそりと捨てられた。
もう、15年以上昔の話だなぁ。
>>487
>>488
動画はDVDに保存して見たいときにHDDにコピーして見ます。
その時、できるだけ速く見れるようにしたい。
>>492
DVD処分されちゃったら意味ないよね
どんなファイルであるかにかかわらず処分の可能性があるんでしょ?
重要な研究データだ、とでも言わない限り
DVD常時携帯しておけば、ノートPCさえあればいつでもどこでも見れるよ
>>492
DVD->HDDに(デコードしながら)まるまるコピーするのを許容するなら、なんでもいいような。
EDとか、フリーのファイル暗号化ソフトはゴマンとあるよね。
その中から高速なのを探せば、デコードより、DVD->HDD転送のI/Oネックの方が先になると思う。
>>492
ところで、使ってるDVDはDVD-R?
DVD-RAMなら、そのまま、PGP Disk が使えるよね。
(延々とHDDにコピーする、なんて手間なく読める)

DVD-R でも、一旦、HDD に PGP Diskを作って、それをDVD-Rに焼けば、
read-only mountでの読み込みはできそうな気がする。(未確認)
DVDにDivXの大きい動画を保存して、DVDから起動すると音はOKだが、映像がついていかない。
一回停止して再生すると、さっき再生したところまでは正常に再生されるが、それを超えるとまた動きが鈍る。
PGPDiskだったらなおさら。
>>467
マルチメディア系のソフトの吐くバイナリを利用するのはどうなんだろう。
例えば、○○のCDからwavリップ、××のソフトのバージョン○○で…の設定でエフェクトかけたものを使用とか。
HDD内だけでなく、室内のメディアに直接鍵が存在しないのが強みだと思うのだが。
重要な研究データの正体がばれたときのほうが悲惨だと思うが、
とりあえず、お前のエロ画像のことなど知ったことではないので、
暗号と関係ない話を続けるなら消えろ。
暗号化うんぬんよりも単に、情報秘匿の運営方法だとおもうが。

USBにキーを挿していないと、HDD(の一部とかファイル)が見えなくなる
という商品を買ってくれば?
>>499
どんぐる ころころ どんぐるこ だね。
部屋に大量にあるDVD-Rの山をどう説明するかの問題です。
>>499
ハゲドー、暗号化以前の問題の気がする…。
誰か468に答える香具師は?
>>502
あれは、質問じゃなくて皮肉だよね。
(簡単・複雑を問わず、アルゴリズムで真性乱数を作るのは不可能)
てゆか最近は熱雑音を使ったりとかのハードウェアの乱数発生器とか有るじゃん。
>>504
簡単に作れるといっておきながら、実は外部のハードウェアが必要ですってオチはないだろう。
ハードウェアに頼ることが簡単な解決法ではないらしい。
そもそもなんでアルゴリズムだけに縛ってるのやら。
PASS付きZIP偽装できました。
PASSはわかりません。
暗号化してないテキストデータが入ってるのでメモ帳で開けばわかります。
需要ありますかね?

http://urisure2.hp.infoseek.co.jp/cgi-bin/src/uriage0411.zip
>>506
頭を冷やして463から読み直して、自分の勘違い具合を把握したほうがいい

・・・つーか、言い訳、見苦しすぎ
>>508
勘違いも何も…
取っ掛かりがネタにマジレスなんじゃん
>>509
467がネタなのはもちろんだが、468は、ネタにマジレスというわけではないね。
ネタはネタと判った上で、467がネタ自体をちゃんと理解してないのでは?というツッコミ。
次の469を見て、あーやっぱりあやふやな理解しかしてなかったんだねぇ、というオチ。
510=468?
インフォメーションハイディングのスレでも立てますか?
需要はわりかし多いみたいだしw


>>506
もとの話題からずれ過ぎ
>>511
たぶんそう。つっこみどころ間違えたのを取り繕いたいんだろうね。
>>513
そんなことを書けば誤魔化せると思っている468(=513)さんですか?
>>514
そんなことを書けば誤魔化せると思っている468(=514)さんですか?
>>514
あれ間違った。
そんなことを書けば誤魔化せると思っている467(=513)さんですか?
と書いたつもりだったんだが...
もう飽きた。
誰が元ネタとか何がマジレスとかもうどーでもいい。
暗号化の話に戻ろう。
519デフォルトの名無しさん:04/02/19 17:28
ATGC
521デフォルトの名無しさん:04/02/20 15:59
DNAに暗号を埋めだ場合、そこからへんなたんぱく質が合成されたりするのかな。
実際にタンパク質合成と関係ないところにコードを入れられるなら、使い道はあるのかな?
(ジャンクコードっていうんだっけ?MMR当たりで見た記憶がある)
>>521
なんですってー!!
523デフォルトの名無しさん:04/02/20 16:26
524デフォルトの名無しさん:04/02/20 16:29
Winnyの暗号化通信を解読して遮断する初めてのソフト,ネットエージェントが発売
ttp://itpro.nikkeibp.co.jp/free/ITPro/NEWS/20040217/139906/

マシンで実行させているWinnyの挙動(メモリー上のイメージ)から解析したという。「詳細については言えないが,『Winnyが使う暗号は弱かったので解くことができた』とは言える」(杉浦氏)


何とかしてください。
つまり「暗号が強ければ解けなかった」と言っている(杉浦氏)
暗号アルゴリズムのソースコードが大量にあるサイトきぼんぬ
528デフォルトの名無しさん:04/02/21 12:23
逆汗したのか?
そういや符号について語るスレってどこかにあるのかな?
あと、全然関係無いけど、MSからライセンス受けて入手したWindowsのソースって
ライセンス先が特定できるような情報とか埋め込んであるのかな
>>531サンクス
数学板にもあった

ターボ符号
http://science2.2ch.net/test/read.cgi/math/1053889899/l50
パスワードで暗号化したデータを復号化する時、
入力したパスワードがあっているかチェックするにはどうしたらいいですか?

平文の先頭ブロック長分のデータのハッシュ(MD5)を暗号文と一緒に保存して、
復号化するときチェックしたらいいと思ったんですが、あってますか?
クラックも楽になる気が。
平文全体のハッシュにすれば?


平文のフォーマットをチェックサム付きのものにする
暗号化だけじゃなくて、通信やディスク書き込みとも共通の話題だね
>>533
パスワードのハッシュを暗号文といっしょに
保存するという意味か?
538533:04/02/25 14:01
平文の先頭部分の8Byte(ブロック長)のハッシュです。
平文化する時に暗号文の先頭部分を平文化したもののハッシュが先のハッシュと等しければ成功。
暗号化Zipでは難しいチェックをしてるのが気がかりでした。
MD5の代わりにCRCを使おうと思います。
クラックされる可能性よりも、パスワードを間違える可能性が高いと思いました。
1.パスワードを一方向関数で暗号化して保持しておく
2.ファイル全体のハッシュ値を保持しておく

1はクラック耐性は低いが、
ファイル復号化前にほんの数十文字程度のパスワードを関数にかけて比較するだけで
チェックできるので速いと思われ
いや、早いからクラック耐性が低いのか
>>533
> パスワードで暗号化したデータを復号化する時、
> 入力したパスワードがあっているかチェックするにはどうしたらいいですか?

もちろん、チェックサム (より望むらくは MAC) 付で暗号化する、
というのが良い慣習なわけだが、単に復号の可否をそれなりの確率
で確かめたいというだけなら、PKCS#[57] で定義されてるように
padding bytes に padded size を埋めとくという手もある。
>>539
自分は2で実装した経験がある。
一回の復号にかかる時間が、自分のマシンで数秒だったから、
数回のパスワードミスなら、たいした問題にならないだろうとはんだん。
力技で復号使用とする場合は、その数秒が案外有効になったりする。
どの程度の安全性を求めるかで適切な方法は変わってくるけど、
漏れが実装するならやっぱりHMACかなあ。
http://www.ietf.org/rfc/rfc2104.txt
http://www.ipa.go.jp/security/rfc/RFC2104JA.html
用途によっては大げさ過ぎるかもしれんが、
RFCで標準化されてるのはやっぱり安心できる。

ヘタに自前で考えたアルゴリズムを使ったりすると
SSH1のような脆弱性があるかもしれんし。
http://www.kb.cert.org/vuls/id/13877
543533:04/02/26 00:19
>>539
パスワードのハッシュ(MD5)から鍵を生成してるようなので、それを記録するのは良くない気がしたんですが、
CRCを使用したり、パスワードにソフトで決まった文字を付加したもののハッシュを記録すればよい事に気づきました。

でかいファイルの暗号化を想定しているので、入力ミスによる繰り返しを防ぐのが目的です。

>>540
難しそう。
>>542
> ヘタに自前で考えたアルゴリズムを使ったりすると
> SSH1のような脆弱性があるかもしれんし。
> http://www.kb.cert.org/vuls/id/13877

この CORE-SDI 提唱の方法、実は間違いなんだけどまぁそれはとも
かく、自分で考えたりしない方がいいってとこには同意。


>>543
> >>540
> 難しそう。

どの辺りが?

チェックサム計算なんて余分な処理は必要ないし最終ブロックを復
号してみるだけで正しい鍵かどうか確認できるんだから、これほど
安易な方法は他にないと思うんだが。
543じゃないけど、

>>544

そっか!
最終ブロックだけの計算で済むんですね。
CBCであっても、最終ブロックと一つ前のブロックまで見ればOKと。

ところで、PKCS#5なパディングが、脆弱性に繋がる可能性は全くないんでしょうかね?
特に、データ自体がきっちりとブロックサイズで終わる場合とか?
(実質上、問題があれば PKCS に採用されないとは思うので、単なる好奇心での質問(^^;)
素人が作る暗号じゃあ、強度的に暗号屋さんが作る奴には勝てないから、
>>519 のようなネタに走った暗号もありじゃないかと思えてきた。

なんかネタをくれ。ある程度面白いネタなら作ってみるから。
>>545
> 最終ブロックだけの計算で済むんですね。
> CBCであっても、最終ブロックと一つ前のブロックまで見ればOKと。

そゆこと。CFB も同じく。が、OFB だと最終ブロック復号するため
には全ブロック分の処理が必要となっちゃうので、逆に padding は
頭に付けてやりゃいいのかな。

♯security 面への影響は検討せずに言ってみてるだけ。

> ところで、PKCS#5なパディングが、脆弱性に繋がる可能性は全くないんでしょうかね?
> 特に、データ自体がきっちりとブロックサイズで終わる場合とか?

まったくないとは言えないけど、そんなとこで頑張るよりは暗号化
と MAC を組み合わせることで公開鍵系で言うところの IND-CCA み
たいな性質を持たせりゃいいじゃん、というのがいまの流行りかな。

> (実質上、問題があれば PKCS に採用されないとは思うので、単なる好奇心での質問(^^;)

いやいや Bleichenbacher 攻撃の例を見れば PKCS 採用フォーマッ
トに問題があり得るのは明らか。

♯明白な脆弱性が見つかったら速やかに修正されるだろう、という
♯のも同じ例から明らかなのではあるが。
548543:04/02/27 19:59
>>544
今わかりました。
paddingってただ、数合わせるだけじゃなかったんですね。
僕はPKCSとか全然知らない初心者ですが、
WindowsのCryptAPIで暗号化しています。
CryptAPIでもPKCS#5のpaddingを行っているようで、
暗号文の最後の2ブロックだけCryptDecryptで平文化する時、
鍵が正しくないとNTE_BAD_DATAのエラーが発生するようになってました。
>>546
方式すら判らず、入力例文と出力暗号が入手出来なければ、
第三者には結構協力だぞ>素人暗号
550デフォルトの名無しさん:04/02/28 09:48
プログラムの内部を暗号化してクラックを阻止する手法にはどんなものがあるのでしょうか?
Winnyのようなものを考えているんですが...
あとそれぞれのパソコン独自の情報ってどうやったら取れるんですかね?
MACアドレスでもいいかな?
>>550
Winnyでは、実行時のメモリをダンプ&逆アセンブルされた。OllyDbgとかかな。
アプリ使用者はWinnyを起動ときにパスの入力なんてしてないのだから、
暗号化されてるわけじゃないと言える。単に逆アセしにくくしてるだけ。
upxとかと同じでただの実行ファイルのパックだね。
単純に労力の問題。
そのプログラムが実時間内で解読&解析しなきゃいけないほど価値のあるものであれば、
内部を暗号化する意味はあると思うけど。

>> あとそれぞれのパソコン独自の情報ってどうやったら取れるんですかね?
やっぱりMACアドレスくらいしかなさそう。
昔Pen3に固有IDを付けるってことで騒がれたけど、機種非依存で比較的
汎用的に使えるものといったらMACアドレスくらいしかなさそう。
独自のCPU設計してそれを動かすエミュレータ作ってしまえば、
Winとかで動かしていてもメモリダンプ、逆アセンブルできないよ。
最近のCPUは高性能だから、VirtualWinnyなんていいかもね。
>>552
その実行環境が入手されたら命令セット解読も時間の問題だけどね。
>>551
具体的にその実装方法をしりたい.........かも
>>548
> CryptAPIでもPKCS#5のpaddingを行っているようで、
> 暗号文の最後の2ブロックだけCryptDecryptで平文化する時、
> 鍵が正しくないとNTE_BAD_DATAのエラーが発生するようになってました。

うん、MS の CryptoAPI なら PKCS に準拠してても不思議ではない。

ただ、PKCS#5 フォーマットだと padding size が少なめのとき、不
正な鍵が正しいと誤認される確率がそれなりにあるので、CryptoAPI
に渡す前にブロックサイズの整数倍になるようデータサイズを調整
しとく方がいいかも。
556548:04/02/29 15:39
>>555
これもまた、気付いてませんでした。
アドバイスありがとうございました。
>>552

ここの1氏を連想させる書き込みですな。

「クラックされないシェアウェアを作る」
http://pc2.2ch.net/test/read.cgi/software/1068973447/
558542:04/03/01 21:14
>>544
> > ヘタに自前で考えたアルゴリズムを使ったりすると
> > SSH1のような脆弱性があるかもしれんし。
> > http://www.kb.cert.org/vuls/id/13877
>
> この CORE-SDI 提唱の方法、実は間違いなんだけど

こいつのことですな。
http://www.kb.cert.org/vuls/id/945216

ちなみにこのセキュリティホールって、Matrix Reloadedの中でも
使われてますな。
http://slashdot.jp/article.pl?sid=03/05/16/204231
> > この CORE-SDI 提唱の方法、実は間違いなんだけど
> こいつのことですな。
> http://www.kb.cert.org/vuls/id/945216

おっと、そう取られてしまうか。それは CORE-SDI 攻撃検出ルーチ
ンに遠隔徴発可能な整数溢れ bug が含まれてたというだけなので上
で言ってるのとは違う話なのよ。

攻撃を説明したペーパーを真面目に読んで検証してみれば分かると
思うんだが、そのルーチンが検出しようとしている攻撃自体が間違っ
てる (= 攻撃が成立しない)、というのが上の文の真意。

> ちなみにこのセキュリティホールって、Matrix Reloadedの中でも

MatRevo でも何かやらかしてくれるかと期待したんだけどねー。残
念。
560デフォルトの名無しさん:04/03/03 00:56
東大生なら解けるんじゃないのか?
あるいは、河合模試全国1番とか、灘高生とか、ノーベルの野依教授とか、
ピーターフランクルとか。彼らはこのテーマを知らないだけで、やったら
解けると思うけど。。さすがに解くまで何億年とかジョークだろ。
ハイ ツギノカタドウゾ
何を解くんだ?
>>ノーベルの野依教授
専門外じゃん…
564デフォルトの名無しさん:04/03/06 13:56
質問です。
RSAで暗号化した文字列には\r\nは含まれないのは保証されてるんですよね?
釣り?
保証されないんですね。
釣り?
>>564
含まれます。
>>564
貴方、自分で何を聞いているかわかっていますか?
ブロック暗号についてよく勉強しなおしてみてください
あ、やっぱり含まれるんですね。
どうもありがとう。
>RSAで暗号化した文字列

そもそも、暗号化した後も文字列になると思っていたりして?
つーか、これって、やっぱり釣りだよね??
釣りであると願いたい
573デフォルトの名無しさん:04/03/09 16:16
暗号初心者です。以下のデータを解読して文書を見つけてください。
解読ができたらこのスレに見つけた文書をレスしてください。

D9 E7 E1 55 22 10 9F 4A 9A BD C8 AC BE A1 6C 07
13 BC 4C D3 E3 A4 B8 EF E7 5A 5B E7 41 9C D8 17
28 A9 47 14 7F 0B B0 E1 65 60 D4 5F 26 DF C6 42
5C 7F C7 72 F1 E8 9D CA B6 9E DE B9 2C 57 4B E9
4F 70 5C 16 3A 47 70 86 98 55 10 56 ED E9 85 1F
9A 34 68 F4 C6 BD 8E 4C 61 48 0B 10 A7 D7 91 6A
59 92 7D 2F D9 9C 25 C7 58 23 21 89 20 74 4E 08
27 31 D1 4D 58 B5 BD D3 78 E2 26 57 D8 A2 2A E1
38 5E 5A 20 3E 6C F5 C4 30 4B 22 3D 2C F5 03 2D
C3 84 61 8E D0 3C 58 3E 96 74 CD 01 4A A1 2A A9
8B A5 92 61 81 BA 1A 97 F1 E5 DF 01 CD 8C 00 6E
21 9C 08 BF 2C 2A 40 43 84 D6 03 8A 97 A9 52 E4
93 B6 C4 4B 8B D3 15 6A 45 07 93 04 E6 3A D3 3B
E0 9A C9 42 DB AE FD D1 29 A9 95 16 B5 62 BE 65
12 C1 C5 8B 07 DE 1C 3C B4 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17
最後のあたりを見れば、クズ暗号っぽいとは推測できそうだけど、
でも、挑戦して運良く解読できても、なんのメリットもないからなぁ。
単なるパズルならム板でやる意味もないしなあ。
576デフォルトの名無しさん:04/03/09 17:07
愚痴言うまえに解読してみろよ。できないからそういうこと言うんだろ?
ここは解読スレではありません
578デフォルトの名無しさん:04/03/09 17:20
誰もできないのね。納得しました。
解読できた
-----ここから----------
>>573です。
生意気なこと言って申し訳ありませんでした。
お忙しいところ、わざわざ自慰につきあっていただき、誠にありがとうございます。
お礼と言っては何ですが、金一封を贈呈させていただきます。
お手数ですが、
件名: オレだよ、オレ
本文: バイクで事故って相手に大怪我させちゃってさ、すぐに80万必要なんだ。
    [*あなたの口座番号*]に振り込んどいてくんない?
    +[*解読の手法*]
を明記したメールを******@hotmail.comまで送ってください。
なお、先着1名様限りですので、2番目以降の方ごめんなさい。
発表は振込みをもって変えさせていただきます。
-----ここまで----------
マルチポストは人間として最低だ
http://pc2.2ch.net/test/read.cgi/software/1010994083/338
581デフォルトの名無しさん:04/03/09 17:27
>>579
違います。暗号データは256バイトです。
で、解読したら、何かもらえるの?
解読したら、たしかにお得な情報が入っていることを証明したいれど、
情報自体は明かしたくないってのは、ゼロ知識証明とかだっけ?

ま、573には関係ない話だけど。
584デフォルトの名無しさん:04/03/09 17:37
景品などなし。自分で作った暗号文を解読できる人がいるかどうかが知りたいだけ。
隠されている言葉がわからなかったら負け組。悔しかったら解読してみろ。やーい!
>>573
暗号の性能を評価するためにやらなくてはいけない事が1つある。

暗号化のアルゴリズムを公開することだ。
今、世間から信頼を得ている暗号は全てこれを行っている。

また、アルゴリズム自体が鍵となるならば、有意な統計が取れる量の
文を公開しないと意味がない。
今、お前のやっていることは↓と同じだ。

暗号初心者です。以下のデータを解読して文書を見つけてください。
解読ができたらこのスレに見つけた文書をレスしてください。

D9
悔しくないから

-終了-

オナニーは一人でするもんだろ?
587デフォルトの名無しさん:04/03/09 17:50
有意な統計が取れる量ってどれくらい?
何の?
俺、他人の作った暗号を解読するのは面白い作業だと思うが、
暗号解読に挑戦させるためにやらなくてはいけない条件
(アルゴリズムの公開、統計を取るのに十分なデータの作成)
を知らない奴が多すぎるんだよな。

>>587
少なくとも、ブロックの大きさが8ビットなのに256バイト分しか
公開しないのはお話にならんな。
ブロック長が8ビットなら、最低限1MB位は作らないと
まともに挑戦する人間は寄ってこないぞ。
590デフォルトの名無しさん:04/03/09 18:18
参考のデータを頼りに問題の暗号文を解いてください。
http://www.42ch.net/UploaderSmall/source/1078823862.zip
>>590
APPLE ORANGE LEMON BEEF EGG FISH (32バイト)が平文で
暗号文が 224 バイトか?

恐ろしく冗長な暗号だな(w
592デフォルトの名無しさん:04/03/09 19:01
ええ、そうしたほうが解読しにくいかと思いまして。
593デフォルトの名無しさん:04/03/09 19:03
暗号文は224バイトではなく256バイトです。
>>592
前提が間違っているわけだ。>>585 >>589
595デフォルトの名無しさん:04/03/09 19:31
アルゴリズム自体が鍵となるので、有意な統計が取れる量の
文を公開しました。
>>595
>アルゴリズム自体が鍵となるので、有意な統計が取れる量の
>文を公開しました。
全然足りない・・・
しかも参考1−3は同じ内容だろ?

しかし、とりあえずぱっと見たところ、平文と
暗号文の大きさの対応がうまく取れていないな。

参考1:平文32(0x20)文字、暗号文:224バイト
参考4:平文26(0x1A)文字、暗号文:230バイト
参考5:平文42(0x2A)文字、暗号文:253バイト
か・・・
しかし、純粋なブロック暗号でもない様だ。
(そもそも出題者がブロック暗号という言葉自体を
知らないと思われ)

1つ気づいたことは "参考5" の末尾 39 バイトの
上位4ビットが 0 になっている。
また、平文の末尾 39 文字は数字である事にも注意。
これは恐らくその部分に対応するのだろう。

まずは各文字とブロックの対応を見つけることだな。
有意な統計が取れる量とはどうやって計算したのだ?
有意な統計が取れない量だといわれればそれまでだろ。
>>590
もしかして参考1−3は、平文が違っていても
場合によってはまったく同じ暗号文が生成されて
しまう事があるということなのか?

おい、一体どうやって復号するんだよ?
これじゃ暗号にならねーじゃねーかよ!
>>597
素直に知りません教えて下さいって言えばいいのに…
ところで、何ができれば攻撃者の勝ちになるんだっけ?
>>597
>有意な統計が取れない量だといわれればそれまでだろ。

当たり前だ。本来解読者は幾らでも暗号文を取得できる事が認められている。
あくまでも暗号文だけ、ならばな。
有意な量とは、解読者が事実上「これだけあればもういらないや」
というまでの量だ。

何故ならば、実際の暗号の運用時には暗号システムが平文の量自体に
制限をかける事はないし、また解読者がその暗号文を取得できる量にも
制限がないからだ。

たまたま最初に使用した平文の量が少ない為に暗号が解読されなかった
からといってその暗号を信頼して使い続けていると、どんどん解読者の
手に渡る暗号文が増えていき、最後にはその暗号が解読されるように
なったというのでは何の意味もない。
601デフォルトの名無しさん:04/03/09 21:27
やっぱ独自の暗号化ルーチンは破られない(破る気を起こさせない)でFA?
俺は >>598 でやる気を失った。。。
>>595
そういうのはブラックボックス暗号といって、コンピュータの分野では
あまり実用的な応用はないことが知られています。
>>601
世の中にはものすごいやつがいる、そういう人に君が出会えていないだけの話
>>601
vectorに登録したり、友人同士で使ったりするのは自由だけど、
あまりにおおっぴらに宣伝したりはしないほうがいいよ。
恥ずかしいから。
とりあえずもっと参考資料うpしる
300個もいらないけど、そのくらいあればもういらないや
300個ヨロ
>>606
わかりました。また明日にします。自作のフリーウェアのためなんで
よろしくお願いしますね。
>>600
>たまたま最初に使用した平文の量が少ない為に暗号が解読されなかった
>からといってその暗号を信頼して使い続けていると、どんどん解読者の
>手に渡る暗号文が増えていき、最後にはその暗号が解読されるように
>なったというのでは何の意味もない。

>>603
>そういうのはブラックボックス暗号といって、コンピュータの分野では
>あまり実用的な応用はないことが知られています。

とても勉強になりました。まだまだ力不足ですね。

>>598
>おい、一体どうやって復号するんだよ?
>これじゃ暗号にならねーじゃねーかよ!

暗号と復号のプログラムはあります。ただし、とても単純なので、
もうフリーウェアにも及ばないようであれば何日後か復号方法を解答を出します。
もっと勉強します。
>>608の訂正

>とても単純なので、もうフリーウェアにも及ばないようであれば
解答者が出て意味のない暗号だとわかったらという意味です。

>何日後か復号方法を解答を出します。
暗号と復号の方法と、プログラムです。
>608
>ただし、とても単純なので、もうフリーウェアにも及ばないようであれば
>何日後か復号方法を解答を出します。

既存の暗号に打ち勝つのはまず不可能だろう。何故ならば既存の暗号は
優秀な研究者達の手によって、既に何百回・何千回も攻撃されながらも、
見事それらを全て潜り抜けてきたものばかりだからだ(勿論、それらの
テストに引っかかって人知れず消えていった暗号の数は計り知れない)。
2ch に2・3日晒した位のテストとは訳が違う。

しかし、暗号という奴は単純だから直ぐに解けるという訳でもないし、
逆に複雑だから解くのが難しいという訳でもない。
以外に単純なアイデアが世界を震撼させる可能性も無くはない
(公開鍵暗号のアイデアは小学生でも思いつけるぐらいに恐ろしく単純だが、
暗号の世界では20世紀最大の発明と言えるだろう)。

個人的には、面倒なことは何も考えずに、既にほぼ安全性が保障された暗号を
組み込んだ(賢い?)アプリケーションより、プログラマが独自で考えた暗号
を組み込んだアプリケーションの方を使いたいな。
>>608

まずは、暗号学について勉強して、ブロック暗号の基礎(SBOX, Feistel/SPN等?)、
差分解読、線形解読等を理解した上で、暗号の設計してみてはいかが?
(ちなみにオレには、それらは難しくてきちんと理解できてない(笑))
ときおり見かける、Xemacsさんなら、何てアドバイスするのかな。

それはそれとして、AES/twofish/blowfish等の特許・ライセンスフリーの優秀な暗号が
いくつかあるわけだから、結局、それらを使うのがいいと思いますよ。
612あぼーん:あぼーん
あぼーん
MPIライブラリを使用してみて、1024bitの素数生成プログラムを作ってみたのですが。
なかなか難しいです…PGPなんかはものの数秒で生成しますがいったいどうやってるんでしょう?
MTをつかって乱数を発生させているのですが。これは素数発生には向かないのでしょうか?
どなたがアドバイスお願いします。
僕のプログラムだと一向に素数を生成できません…判定法にはラビンを使っています。
Q1 1024bit長の素数の存在確率は幾ら?

Q2 何個判定しましたか?

Q3 刈り込みはどの程度やっていますか?
  偶数を除けば、1/2に
  3の倍数を除けば・・・・
615デフォルトの名無しさん:04/03/12 10:49
Q1 = ごめんなさいわかりません(TT

Q2 = 不明です。

Q3 = 偶数のみ除いています
> Q3 刈り込みはどの程度やっていますか?
>   偶数を除けば、1/2に
>   3の倍数を除けば・・・・
素数でないものを除いています。
Q1 素数定理 を調べなさい

Q2 何個判定したかわからないのに、どうして>>613の発言が出るのが理解出来ません
  まず、何個調べたか表示させなさい。

Q3 乱数で求めた数をMSBにLSB16bit分を篩うくらいはしておいたら?
618デフォルトの名無しさん:04/03/12 11:13
>>どうして>>613の発言が出るのが理解出来ません

random_init(GetTickCount());

while(!rabin(p)){
p = random_bit(1024);
p += 2;
count++;

if(count==100){
count=0;
random_init(GetTickCount());
p = random_bit(1024);
}
}

こういうコードを書いて、(PenIII(1GHz))ぶっ通しでループさせたんです。
しばらく待ってみても一向に素数が出てこないので、お風呂に入りました
あがったら素数が生成されていました。
30分はかかっていたいました。

ですから、一向に素数が発生できませんというのは適切ではありませんでした
すみません。ものすごい時間がかかり実用的ではないという意味です。
619デフォルトの名無しさん:04/03/12 11:15
>>素数定理
ちょっと調べてみます
>>618 それはrabinが遅いのでしょう?

だから、

aを1024-24bitの乱数として
a*2^24 + b
bは0〜$ffffff で、これをビットマップで表現します。
後は、. エラトステネスのフルイ で bitを落としてゆきます。
たとえば3の倍数でフルウなら
(a*2^16 + b )%3  を最初に求めて 初期値を調整して、後は普通の. エラトステネスのフルイです

大きくなってくると篩う効率が悪くなってくるので、2^10程度まで篩えば十分でしょう。
621590:04/03/12 15:45
>>590で問題を出した者です。解き方を説明します。
この暗号は255文字までのASCII文字を保存するために作ったものです。
1文字でも255文字でも暗号文のサイズは256バイトになります。
暗号化の手順は、まず1バイト目に文字数(1〜255)を入れて、2バイト目以降に
文字を入れます。その後256バイト目までの余った部分にはランダム数字を入れています。
その後、αバイト目=αバイト目 Xor (α+1)バイト目 を1〜255まで順番に行い、
256バイト目は、256バイト目 Xor 1バイト目としています。そして最後に配列を逆にして
保存するようにしています。復号は以上の手順の逆に行います。
622590:04/03/12 15:58
問題の暗号文がバグで正しくありませんでした。
>>590
そういうのは、プログラム解析されたらすぐ判っちゃうんで、あんまり実用的じゃないですね。
せめて、暗号キーがわからないとダメなら、まだ・・・・
出来れば、暗号化キーと複合キーが別の方がなお・・・
>>590
1.元の文が 255バイトの 0xFFの場合には、どんな暗号文になりますか
2.元の文が 254バイトの 0xFEで、ランダムな数字が 0xFE だった場合にはどんな暗号文になりますか
「平文のブロック長8ビットのCBCモード」とかいう言葉が頭に思い浮かんだ。がちょっと違った。
>>620
すみません、ちょっとよくわからないのですが。
1024bitの乱数をいったん生成して、その上でその数が倍数かどうかをチェック
してゆくということですか?
>>626
1024-n ビットの乱数を作成して それを a とします
0<b<2^n として
a*2^n+b が素数でないものを1〜mまでのエラトステネスのフルイで省いてしまって

その後残ったものを乱数順にrabinをかけてゆけばという事ですよ。
>>618を見ると、2の倍数を捨てるのさえやっていない。
だから事前に素数でないものを篩っておけば実用時間になるという事
3個のうち一つくらいにまで絞れれば10秒程度で答えが出るようになると思うよ
いやいや += 演算子をオーバーロードしてて 実は掛け算演算子でしたというオチかも
630デフォルトの名無しさん:04/03/12 19:15
>>628
いえいえ、rabin関数の中で偶数か奇数かをチェックしています。
偶数か奇数をチェックしてるならさ、
偶数ならもう一度乱数を作るより、+1してチェックしたほうが効率良いと思わない?
632>>589=591=596=598=600=602:04/03/12 19:45
>>621
途中で(問題がおかしい事に気づいて)挑戦を止めていなかったら、俺、今頃は怒り狂っていたな。
とりあえず、個人的には趣味で作られた暗号を解読する作業は好きなので、次作に期待するよ。

ところで、次に暗号を作成する時には注意してもらいたい点が2つあって、

・暗号文は平文からの単射となるようにする
(複数の平文が同じ暗号文に変換されるのなら、その暗号文を復号する時、
どの平文に戻せばよいか分からないだろ?これでは暗号としての役割を果たしていない)

・平文を暗号文にした際に、暗号文の大きさが出来るだけ膨れ上がらないようにする
(これは実用上でも重要な問題点だけど、何よりも挑戦する"気"を著しく失わせるので)

だ。よろしく。
>>631
ああっと。
そうでしたw>>618のソース間違っていますw

MT_rand_Init(GetTickCount());
p = MT_randomBit(1024);


while(!rabin(p)){
p += 2;
count++;

if(count==100){
count=0;

MT_rand_Init(GetTickCount());
p = MT_randomBit(1024);
}
}
これがただしいソースですw
どう違うのか判らん。
635590:04/03/12 20:54
>>632
バグがあったのは復号の部分だけでしたので、>>590の問題はちゃんと解くことができます。

>・平文を暗号文にした際に、暗号文の大きさが出来るだけ膨れ上がらないようにする
>(これは実用上でも重要な問題点だけど、何よりも挑戦する"気"を著しく失わせるので)

これについてなんですが、この暗号の用途というのは半角英数字のパスワードを保存する
ためです。それで、暗号文のサイズからパスワードの文字数がわかってはいけないので、
どんな文字数(255文字以下)でも256バイトに固定するようにしたのです。

ただしこれだけだとプログラムを解析すればすぐわかるので、>>623さんの意見より
暗号鍵と復号鍵を使ってみようと思います。
636590:04/03/12 20:58
621の訂正。

「その後、αバイト目=αバイト目 Xor (α+1)バイト目 を1〜255まで順番に行い、」
正しくは、
「その後、αバイト目=αバイト目 Xor (α+1)バイト目 を2〜255バイト目まで順番に行い、」
です。
パスワードを復元する為のパスワードをかけるのか・・・・ どういう用途なの?
638デフォルトの名無しさん:04/03/12 21:15
すいませんスレ違いだったらもうしわけありませんが
すこし教えてください。結構緊急なんです
ホットメールをつかってメールのやり取りをしてるんですが
大切な相手より届いたメールが漢字ばっかりで読めない内容になっています
縺ィ逕ウ縺←こんなかんじです。
なんとか文字コード変換とかで読めるようにしたいんですが
これって何コードですか?暗号みたいでわかりません。
プログラムの事はよくしりませんが
unixとかsJISとかだったら聞いたことあります
>>638
そうですねスレ違いですね。 ソフトウエア板で漢字コードを変換出来るエディタを紹介して貰うといいでしょうね
640638:04/03/12 21:23
どうもすみません。ソフトウエア板いってきます。
RabinだったかMillerだったかの暗号(RSAの前身)は、
復号が一意にできなかった。
ヘイホー(・∀・)ジョウーヨ
>>641
だから生き残っていないのだ、ともいう。
>>643
暗号理論の教科書に出てくるくらいでしょうな
証明や基礎原理は他のものに通ずるからね
プログラム内部に暗号キーを安全に保存するのはどうすればよいでしょう
用途は一意に複合化する必要がある設定ファイルなどです
優秀なアセンブラを読める人がいれば丸分かりかも...
あとメモリに暗号化キーを保存しておくと危険ですかね?
>>645
それは、カギを差し込んだままで安全な錠を作れというようなもので、
アセンブラをそんなにに読めなくても、その部分をコピーしてというか、
その部分をデバッガ上で動かしてしまえば 自由に復号されてしまいます。

というのを踏まえて、まあ復号されても多少はいいかなという情報に使っては?
>>645
winnyの後釜つくるのか?
>>645
メモリの内容なんて全部読まれてしまうわけで。
他にも、次のような解析にも耐えねばならない。

・デバッガ上での実行
・カーネルの実行権限を得る(Admin,root)
・カーネルに手を加える(PC-UNIX)
・仮想PCを使う(VMWare,VirtualPC)
・仮想CPUを使う(BOCHS)
>>645
 そーいうのはソフトウェアタンパレシスタンス(耐タンパ技術)とかいって、
いわゆる DRM の類の基盤技術です。暗号としては不完全なブラックボックス暗号を、
ソフトを解析困難にして保護しよう、という技術。

 アルゴリズムの解析をいかに困難にするか、がポイントであって暗号の方は適当に
普通のもので構わない。
>>645
 鍵の保持と、入力されたストリームに対して復号を
 行うだけの機械を作って、シリアルI/Oなどを行うな
 どの方法がありまつ。秘密鍵は、機械の中だけで
 保持。
 そういう製品があったかも。 

 復号された情報は、結局また親機にオンメモリにな
 るので、どの暗号もそうだけど、使いどころを考える
 必要があるけどね。
以前、ここで1024ビットの素数生成の件でアドバイスをいただいたものです。
あれから改良を重ねてみたのですがどうにもやはり遅いです…
何か素数を発生しやすい乱数か何かあるのでしょうか?

私が書いたプログラムはこのようなものです。

MPI RandomMap[100]とする。

1.RandomMapにそれぞれ1024ビットの乱数を当てはめてゆく
2.次に偶数をすべて除く。
3.3〜5003までの素数でエラトステネスの篩いで篩う(3〜5003までの倍数をすべて除く)
4.篩われた順からrabin法をチェックしてゆく。

この方法でやったのですが、運がよければ一瞬で生成できるのですが。
が…たいていの場合はかなりの時間を要します…
もっと高速化できる部分はあるのでしょうか?
お願いいたしますm(_ _)m
篩の数を増やす
5万くらいまであったとしてもやっと32bitを篩えるくらい
√(2^1024)=2^512までの素数を保持しておく
それで全て篩う
本当に実行したらアホと呼んであげよう
>>651
乱数を100個作って、それに対して5003迄の倍数を除く判定をかけたんだね。
それはエラトステネスのフルイじゃないよ。

>>627 >>620 の趣旨はビットマップで効率的に計算しようという事。

それから、それだけでも以前よりだいぶ高速になったでしょ?
あとは、Rabin手続きを高速にする事
やった事ないけど
(X mod A*2^n+B1)
 (X mod A*2^n+B2)
   ...
 (X mod A*2^n+Bn)
を一度に計算すれば計算量減るかもね
>>654
はい、これだけでもかなり高速になりましたが…まだまだ実用的なものではないようです。

>>それはエラトステネスのフルイじゃないよ。
どこかのホームページで「素数のみを篩えばよい」とかいてあったので
そうなのかと…
RandomMap[0]の倍数を取り除いて…次にRandomMap[1]の倍数を…つぎにRandomMap[2]を
というのがエラトステネスなのですか?

>>627>>620さんの趣旨を取り違えたいたようです(汗
>ビットマップで効率的に計算しようという事
これがいまいちよくわからないんです…ビットマップって画像…ではないですよねw

>>あとは、Rabin手続きを高速にする事
わかりました、試してみます。
>>655
その場合、1024bitでモジュラ演算をしなくちゃいけないでしょ?
ビットマップがわからないなら、フラグ配列を考えよう、

FlagArray[n] に対応する RandomMap + n を篩うようにするわけ n はM迄の小さな数ね
素数 kの倍数を篩う時は

(RandomMap + Nk )% k =0 となる最小のNkを求めておいて

for(i=0;i<M/3;i++) FlagArray[n3+i*3] = 素数でない 
for(i=0;i<M/5;i++) FlagArray[n5+i*5] = 素数でない 
  ・・・
とやってくわけ
みなさん、ありがとうございます!
折角親身になって教えてくださっているのに理解できない自分が情けないです(泣

>>656
えっとつまりこういうことですか?、その1024ビット自体の数を篩いの対象に
するのではなくこのFlagArray[i]←このiを対象にして篩うということですよね?
>>657
一度、エラストネスの篩いで 2^31までの素数を計算させてみたらいいよ。

直感、計算だけならどの程度の時間だと思う?
659651:04/03/18 11:32
>>658
10秒ぐらいでしょうか???
>>659
優秀
>>656
内側のループは掛け算使わないで書くべし
i=Nk;
while( i<M){ FlagArray[ i] =素数でない ; i+=k;}
662657:04/03/18 15:12
あれからいろいろ調べてみたのですが…どうにもわかりません。

for(i=0;i<MAX_COUNT;i++){
FlagArray[i] = 0;
}

for( n = 2; n <= MAX_COUNT; n++ ) {
for( i = 2; i * n < MAX_COUNT; i++ )
FlagArray[i * n] = 1;
}

エラトステネスの篩ってこういうものですよね?
上記のプログラムは理解できますが…、どうにもFlagArrayとRandomMapを
結びつける方法がどうしても理解できません。

上のプログラムだとFlagArrayの[i]の部分を素数としてデータに取れるので
FlagArrayを使う意味がわかるのですが。RandomMap[i]の内容をなぜFlagArrayで
素数かどうかを篩えるのかがわかりません…

本当に理解力がなく申し訳ありません、もうすこし、もう少しだけヒントをいただけ
ないでしょうか?よろしくお願いいたしますm(_ _)m
まず、せめて素数だけでフルいなさいな。 それじゃとても10秒どころか1分も無理だよ。

で、RandomMap[i]は1個しか使わないの。 それを Random1 とするよね?
FlagArray[i] を Random1 + i にさせるの
で 篩う数は2,3,5,7,... と順にふるうのは
>>662の方式に、初期値を
(Random1 + Nk )% k =0 となる Nkを求めて調整してやれば同じでしょ?
>>663
p = Rand();

for(i=0;i<MAX_COUNT;i++){
FlagArray[i] = p + i;
}
こうしてゆくということですか?

>>(Random1 + Nk )% k =0 となる Nkを求めて調整してやれば同じでしょ?
これなんですが…このNkを求める意味がわからないのです…いったいどういう
ことなのでしょうか?
Random = Rand();

for(i=0;i<MAX_COUNT;i++){
FlagArray[i] = 0;
}

for( n = 2; n <= MAX_COUNT; n++ ) { //nは素数が順にくるようにする事
i = StartPos(Random , n) ; //StartPos(Random,n)は ( Radom+i) % n ==0 となる iを 返す関数
while( ;i< MAX_COUNT; i += n ) //ここn=2以外は i+= 2*nで計算出来るようにすると2倍速い
 FlagArray[ i ] = 1;
}

こういうふうに篩えば  FlagArray[ Randomi ] ==1なら Random+iが素数でないかは


★StartPos(Random,n)は ( Radom+i) % n ==0 となる iを 返す関数
は、自分で考えなさい。 というか、これくらい作れるよね?
>>665
おまい、偉そうな事言いながら

> while( ;i< MAX_COUNT; i += n )

かよ。(藁
ああスマン。forを打ってるつもりだったよ。
( Radom+i) % n ==0
これって。
(Random-i)≡(mod n)
ということですよね?
(Random+i)≡0 (mod n)  ?

 い ま ど き 暗 号 化 ル ー チ ン 自 前で 書 く 奴 は 馬 鹿
671668:04/03/18 17:23
Random≡-i(mod n)かな…?
>>670
 そういう事言っている人は、ライブラリにない処理に
 ぶちあたったとき、パニックになるんだろうね。
ライブラリにあるのにわざわざ自分でバクを再発明することもなかろうて。
>>672-673
なんでこう噛み合わないレスが多いのか…
RSA実装に関して注意する点ってあるのですか?
乱数生成に関してしかしらないのですが…
ハッシュ関数の選択とか
ものによっては、サイドチャネルアタック対策が必要だとか
>>665
ようは、モジュロ演算をしたくないわけであって、掛け算のみで素数の倍数を
取り除いてゆこうと言うことですね?
>>665
説明不足でした。
1024ビットの数のモジュロ演算が時間を食うので。掛け算のみで
倍数をふるい落としてゆこうというわけですね?
679Lick:04/03/18 20:51
乱数生成はメルセンヌツイスタ方式でお願いします。
OS付属のAPIなんて信用できませんし。
実はMTも差分攻撃に弱いから、さらに加工する必要があるんですよ
>>679
お前は自分でメルセンヌツイスタの安全性を確かめたのかと
小一時間・・・
>>678
掛け算じゃなくて内側のループは足し算だけでね
マウスグリグリにパターンなど存在しない
と信じてマウスグリグリ&MTを乱数生成に利用してるんだけど大丈夫かな?
"暗号方式を破る"、"署名方式を破る"はわかるけど
"ハッシュ関数を破る"や"疑似乱数を破る"というのは
どういうことなんだろう?詳しい人、教えてくださーい
(RandomMap + Nk )% k =0
のNkの求めかた…わかりません(TT
教えてください、本当にごめんなさい…
>>685
>>671が答え出してるじゃない。
実際に数を入れてやってみようよ

k=3 , Random=100 の場合  (100 + x) % 3 ==0  を満たす0に近いxは? 100 % 3 =1 で 102 % 3 ==0 で x=2 だよね? 
Random=101だったら101 % 3 =2 で x=1 だよね? 

これで、 x= (3- Random % 3)%3 って判るでしょ?
>>686
わかりました!ありがとうございます!
判ってると思うけど(怪しいが)
Random は多倍長だけど kが単精度なら (Random % k) も単精度だからね
>>688
わかりました、ありがとうございます
>>665
さんのアドバイスに基づいてプログラムを書いてみたんですが…
素数で篩ってゆくのですよね?
Randomが1024ビット整数であることを考えると…
この方式じゃ、nの素数をとてつもなく大きくしないと篩えませんよね?
nを5003まで篩ったとしても…1024ビットである300桁程度の数は篩えないと思う
のですが…、nをとことん大きくしろということなのでしょうか?
ガク・・・・もうお手上げです
>>690
も、もう一度だけチャンスを!おねがいします!
ま、まさかとは思いますけど…
素数か素数でないかわからない数に、素数を足したら素数になるんですか!?
>>691
http://pc.2ch.net/tech/kako/993/993457354.html

この 159 にあるコードのようにしなさいという事。
baseは64bitの整数で、そこからフルイをかけている。

完全に素数かどうか判らないが、素数の可能性があるのを高速に大量に抽出するということ
つまり、
 このあたりの素数は700個に1個くらいしかない
 運が悪いと数万に1個しかないこともあるので、

Rondom〜Random+2^16 の範囲で、素数でないものを全部フルイ落としてしまって
残ったものをランダム順に素数判定してゆけばどう? ってこと

>>689
ざっとスレを流し読みしたんだが、
Random(1024bit)とFlag[1000000](1bit)を用意したとする
Randomが2の倍数  Flag[0,2,4…2k]にチェック
Randomが2の倍数+1 Flag[1,3,5…2k+1]にチェック
Randomが3の倍数  Flag[0,3,6…3k]にチェック
Randomが3の倍数+2 Flag[1,4,7…3k+1]にチェック
Randomが3の倍数+1 Flag[2,5,8…3k+2]にチェック
次は5,7,11の倍数で篩う。nを5003までというのは、5003まで篩えばいい。
Flag[m]にチェックがされてないならば、そのmに対して、
Random+mは5003以下の素因数は含まれていない。
ということでないの。
やっぱり、エラストテネスのフルイを実際に書いて、普通の方法と比べてどれだけ高速か実感していないと
ピンとこないのかもしれないね。
しかし、宿題につきあってやってるオマイら、よっぽどヒマなんだな
>>675
> RSA実装に関して注意する点ってあるのですか?

>>676 にもある通り、セキュリティ的に注意すべき点はいろいろとあ
るわけだが、それ以前の話として教科書的 RSA アルゴリズムと実用
的実装との間にかなりのギャップがあるとこがそもそも要注意点。
>>684
> "ハッシュ関数を破る"や"疑似乱数を破る"というのは
> どういうことなんだろう?

ハッシュ関数を破る:
 ・特定のハッシュ値が得られるような元データを見つける
 ・同一のハッシュ値が得られるような複数の元データを見つける

疑似乱数を破る:
 ・過去に生成されたビット列を眺めて、次に生成されるビット値
  を予測する

くらいかな。
>>699
> 疑似乱数を破る:
>  ・過去に生成されたビット列を眺めて、次に生成されるビット値
>   を予測する

完全に予測できなくても、確率的に有意な差が出れば破ったと言っていいのでは?
>>700
そんな不正確な情報でどうやって解読するの?
暗号強度は計算量に頼っているわけ。
1024bitの素数なら 2^1015?もの組み合わせの中から探していかなければいけないわけだけど
疑似乱数がその内作り出せるのは、大抵ずっと少ない範囲。
つまり、疑似乱数の種がわかってしまうと、検索範囲はずっと狭められてしまう。

単純にもし 32bitの合同法で順に32個並べたなんて事をやってれば
>確率的に有意な差が
これと
>疑似乱数の種がわかってしまうと
これはだいぶ差があるような気が・・・
なんにしても/dev/randomみたいにハード周りから怪しげな数値拾ってこないと危険ってことだね。
>>701
暗号を破る話じゃなくて、乱数を破る話をしてるんだけど。

擬似確率分布が完全に一様にならないのはわかるよな?
問題は、どう偏っているかを知られるか知られないか。
偏りが知られれば暗号の強度は極端に落ちる。
705704:04/03/19 14:04
> 擬似確率分布が完全に一様にならないのはわかるよな?

擬似乱数の確率分布が(ry
>>704
細かい突っ込みで申し訳ないけど、
>完全に予測できなくても、確率的に有意な差が出れば破ったと言っていいのでは?

「確率的に有意な差が出る」ってのはちょっと条件が小さすぎない?
暗号の強度に影響するほど有意な差が出るなら別だけど。

「なんだか知らんがこの乱数偶数の次は奇数だな」と分かっても、
それだけでは暗号強度は極端には落ちないよ。
>>706
> 「なんだか知らんがこの乱数偶数の次は奇数だな」と分かっても、

それだけでも擬似乱数としてかなり質が悪いと思う。
暗号自体がそれで極端に弱くならなかったとしても、
その乱数は破られたと言っていいと思うぞ。
そんなものを乱数と呼ぶな
コルモゴロフが草葉の陰で泣いていますな。

「結局、俺の仕事は世の中の役に立たなかったのか」と・・・
710676=684:04/03/19 16:59
>>669
レスありがとうございます
そうか、もともとの定義に戻って考えれば
自然に出てきますね>"破られる"とは?
あ、>>700さんもありがとうございます。


>>698の"教科書的RSA"って用語、RSA社自身が言い出した言葉なのに
厳密な定義がどこにもない…ハッシュも乱数も特別な素数も使わない
RSA暗号(署名)ってことですか?
ざっとスレを流し読みしたんだが、

>>692

偶数じゃないか?
>RSAスレは一つあるようなので、主にそれ以外の話題で。

果たしてP≠NPなのか、それともP=NPなのか
はたまた、我々の認識能力では知ることができない問題なのか
あるいは、P=NP?は独立な命題なのか
>>714 で?
>>713
あっちは破るお話。
こっちは守るお話
うーん、必死になって考えてみても一向に理解できません…
本当に答えをいただいている方には本当に申し訳ないのですが…
エラトステネスの篩というものは倍数を取り除いてゆくのですよね?
ですから、5003までの倍数を自作のisMultiple関数で判定してゆくと言う方法を
現在とっています。
でも、これはエラトステネスの篩いではないとの助言をいただきました。
と言うことは。
「エラトステネスの篩というものは倍数を取り除いてゆく」
というのは間違いと言うことになりますが…ぐぐってみるとたいていが「どの
倍数をとりのぞくか?」とかいてあります。

そして、>>695さんにいただいた助言のほうなのですが…
なぜこれで篩えるのかがさっぱり理解できないのです。
本当に馬鹿でもうしわけありませんです(汗、なにとぞ!、なにとぞ!もう少しだけ
お付き合いいただけないでしょうか?
よろしくお願いいたしますm(_ _)m
エラトステネスの篩は
1から、対象となる数の平方根までの素数、全部で割っていくんじゃなかったっけか?
100なら1から10までの素数な
>>718
それはブルートフォースだ
「エラトステネスの篩というものは倍数を取り除いてゆく」
出なけりゃ何なんだ?
「最初に整数を並べておいて」 が抜けています
だから、いいかげん宿題は自分の力でやらせろって。
本人の為にならないんだからさ。
>>723
いぁ…べつに宿題というわけではないんです
そういう宿題をもらえるような立場ではありませんし…。

だめぽ…
>>691
http://pc.2ch.net/tech/kako/993/993457354.html
この 159 にあるコードのようにしなさいという事。
を1024ビットに対応するようにコード書き直してみたんですが…。
これじゃやっぱりとてつもなく時間がかかりますね…
まだまだ高速化できる部分があるということでしょうか?
>>725
そこらへんダメなのは バランスなんだから、
乱数を 1/Nまで絞り込む時間+N個をRabinテストする時間が最小になるようにすればいいでしょう?
>>711
> >>698の"教科書的RSA"って用語、RSA社自身が言い出した言葉なのに
> 厳密な定義がどこにもない…ハッシュも乱数も特別な素数も使わない
> RSA暗号(署名)ってことですか?

『教科書に載ってる RSA のアルゴリズム』という程度の意味で使っ
たんだけど、この文字列でぐぐって当たるんだ。ヘェー、ヘェー。

んで、たとえば OpenSSL rsa_gen.c 辺りの処理を教科書に載ってる
RSA の鍵生成の説明と比べてみると、ハッシュや乱数の使い方といっ
たフォーマット的な話以前に、そもそも冒頭から教科書的アルゴリ
ズムと実装は乖離してることが分かると思うよん。
>>727
勉強がてら実用的なRSAを実装しているのですが。
そうとう難しいと言うことですか?
そうでもない
>>729
経験がおありで?
そうではない
>>731
推測?
レス早ッ!
みなさんありがとうございました。ようやっと皆さんが教えてくださった事柄が
理解でき。プログラムを作ることができました。
>>665が提示してくださったコードを参考に作ってみたのですが。
かなり絞り込まれているものの。素数でないものを素数として列挙している
みたいです。これは、これ以上精度を高くすると、時間が犠牲になるという
ことなのでしょうか?。
それとももっと工夫をして精度を高くしてゆけということなのでしょうか?
そうではない
>>734
かなり絞り込まれているなら、それでいいじゃない。

エラトステネスの篩で1024bitの素数が完全にスクリーニング出来る筈がないのだから
エラトステネスの篩で荒くスクリーニングして、残りの候補からRabinテストをするという
事でしょ?
何もしなけりゃ1/700の確率で最悪何万もの候補のRabinテストをするより

エラトステネスの荒い篩で1/10になれば平均70倍高速になるでしょ?
太陽の表面温度を摂氏と華氏のどちらで表現すべきかみたいな話だな
>>734 エラトステネスの篩は非常に高速な手法だけど、それでも 候補がある程度以上絞るには
大量のコストを払わなければいけなく 1/Nがある。
一方、Rabinテストは重いけど、処理時間は個数Nにしか比例しない。
だから、組み合わせて一番短くなる時間がある。

でも、こんな事はプログラミング技術を身に付けているなら「釈迦に説法」の筈。
何か基本的な所を置き忘れていると思うよ。
技術に走らずに、もっと中学・高校レベルの基礎を学ぶべきかと。

・・・余計なおせっかいだろうけどさ。
>>728
> 勉強がてら実用的なRSAを実装しているのですが。
> そうとう難しいと言うことですか?

>>729 の言う通り、そうでもないが、ちゃんと押えるべきとこを押
えず教科書のアルゴリズム通りに実装すると、平気で 10〜100 倍く
らいは遅くなっちゃう筈。

・公開指数は小さめ&ビット立ちを少なく
・CRTを使えるような形で秘密鍵を保持

辺りを押えとけば OK なんじゃないかな。

♯もちろん、モジュロ累乗演算は最適化した上での話だけど。
10倍とか、クソみたいなもんだな。
どうせ2,3年放置しとけばプロセッサがそれぐらい速くなる。
>>740
10倍の差 "自体" は縮まらないという罠。
>>740
ムーアの法則は5年で10倍だね。
解読の話をしてるわけじゃないんだから…
「10倍程度の高速化」でも十分意味あるっつーの
744hs:04/03/21 19:43
沢山のデータ・ファイルを対称鍵暗号(AES等)で暗号化したい場合で、かつ、
(diskに保存しない)ユーザパスワード(8文字以上)を最後の砦とする場合。

・データ暗号用の鍵長は長くしておいたほうが良さそう
 → データ暗号化用の鍵は長め(256bit等)のランダムデータにする。

・データ暗号鍵自体を暗号化して保存する
 → ユーザパスワードを鍵として、データ暗号鍵自体に対し、嫌になるくらいの回数
   暗号化を繰り返したものを保存。(暗号化結果をさらに暗号化するループ)

というのを思いついたんですが、ユーザ鍵自体で、大量にデータを暗号化する場合
と比べて、安全性は高くなるか低くなるか、どちらでしょうか?
(暗号化した disk だけを調査した場合の強度です)

そもそも、こういった目的に、もっと良い方法はありますかね?
(pgp disk などはどうやっているのだろう?)
>>744
> ・データ暗号鍵自体を暗号化して保存する
>  → ユーザパスワードを鍵として、データ暗号鍵自体に対し、嫌になるくらいの回数
>    暗号化を繰り返したものを保存。(暗号化結果をさらに暗号化するループ)

暗号化を繰り返すことで暗号強度が増すかは使う暗号化アルゴリズム次第だよ。
で、どれならいいかは知らない(ぉ
そこでとりぷるとりぷるとりぷるぷるぷるDESデスよ
>>744
鍵のSHAハッシュを記録したら?
748hs:04/03/22 12:45
>>747
すみません、イメージが掴めません。
データ用鍵(ですよね?)をハッシュして記録した後、それをどう使うのでしょう?
>>744
> そもそも、こういった目的に、もっと良い方法はありますかね?

前に挙がってた PKCS#5 というのが、パスワードを基に暗号化処理
を行なうための汎用的な枠組ね。塩と繰り返し回数を追加引数とし
て取る KDF (Key Derivation Function) を用いて、パスワードから
安全な形 (= 事前辞書生成/全数探索ともに困難) で鍵を生成する
方法を定めてる。

データ暗号化用鍵を保存する必要がないし、安全性も悪くとも同程
度以上でしょうから、格別の理由がない限りはこいつを使っとくの
が良いのでは。
>>748
鍵を厳重に保存したいんですよね?
751hs:04/03/22 15:24
>>749
なるほど。
パスワードから鍵を動的に生成するわけですね。
この場合、塩と繰り返し回数、の保存方法がちょっと気になる点(辞書攻撃とか)
なので、がんばって、PKCS#5を読んでみます…

>>750
ええ、そうなんですが、SHAはハッシュアルゴリズムですよね?
なにか、根本的に利用イメージが掴めないのです…
どうやって、ハッシュ後にデータを取り出すのだろう、とか。
>>751
1.ユーザーパスワードをハッシュにして記録。
2.ユーザーにパスワードを入力されたら、そのハッシュを求める
3.登録されているハッシュと比較する。
パスワードがあっていれば記録されているハッシュと一致する
パスワードが間違っていればハッシュとは一致しないのではねる
というのは駄目なんですか?
質問です
PGPの乱数発生はどういうアルゴリズムを使用しているんですか?
754hs:04/03/22 17:47
>>752
>というのは駄目なんですか?

イメージ的には、古来からの UNIX password と同様のやり方ですよね。
ユーザパスワード自体を、データ暗号化用キーに使用する場合は、それでいいと思います。

今回の話は、>>744 に書いた通り、ユーザパスワードとデータ暗号化鍵を分離したときの話です。

このやり方は、以下のような発想で考えました。
(マヌケな推論をしていましたら、ツッコミしてください)

・同じ鍵で、大量にデータを暗号化する場合、どうしてもデータ鍵を解くための情報(暗号結果)が増えてしまう。
・それであれば、ユーザパスワード自体をデータ鍵に使うよりも、別途、データ鍵(乱数に近く、ビット数の多い
 データ等)を使ったほうが、安全性が高まるかも?
・反面、データ鍵の保存という別の弱点が出てくるので、その保存に際しては、ユーザパスワードで暗号化を
 繰返したものを保存(つまり辞書作成や総当り検査に掛かるコストをある程度増やす)することで、多少は
 フォローできるかも?

で、こういうやり方をとったときに、堅牢性が
 ユーザパスワード == データ鍵 < ユーザパスワード != データ鍵
になっているかどうか、心許なかったので、このスレッドで聞いてみたという次第です。

ともあれ、まずは、XEmacsさん推奨の PKCS#5を調べてみます。
755hs:04/03/23 06:13
PKCS#5の最初を読んでます。
「塩と繰り返し回数は、秘密にする必要はない」
と出てきて、塩と繰り返し回数が判ったら、塩依存な辞書が作りやすくなる気が?
と思って、ちょっと面食らいました。

良く考えると、そっか。そもそも、塩と繰り返しによって生成したデータ鍵は保存
しないから、辞書攻撃系の恐れはそもそもないわけですね。
756hs:04/03/23 06:16
いや、まてよ…まだ、なにか勘違いしてる気がする…
そだね。鍵候補に関する塩依存の辞書が作成できてしまったならば、
それらの候補で順番に復号できるか試してみるという攻撃は可能。

ただし、それは塩の値を知ってから辞書作成を始めなければならな
いということなので、攻撃者にとってそれほど旨味のある話ではな
い。やっぱ、『事前に辞書を作っておけばあとは検索一発』という
のが辞書攻撃の最大のメリットなので。
512ビットの素数を2〜3分程度で生成できるようになった!!
モジュロ演算を高速化するにはどうしたらよいのでしょう?
(a*2^b + c) % d を分解してみて
モンゴメリ教団
>>759
マジレスするとそろばんを使う
FFT
復活したか、よかったよかった
補完

764 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 13:43
>>763
どういう風に使ったらよいのでしょうか?
参考ページ等あげてくれればとてもありがたいです

765 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 13:56
>>725のリンク先のスレは全部読んだ? ルカステストをFFTでやってるでしょ?

掛け算を 上位と下位に別けて、FFTして2乗して、モジュラー演算と一緒に処理してる。
これはメルセンヌ素数だから出来た事だけどね



766 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 13:57
それで >>760 の答えは出た? >>759

767 名前:デフォルトの名無しさん[age] 投稿日:04/03/25 14:44
>>766
すみませんよくわからないのですが。
{(a (mod d)) * (2^b (mod d)) + (c (mod d))} (mod d)
これでよいのでしょうか?

768 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 15:00
それ貼るなら、コレも貼れよ。
http://www.itmedia.co.jp/news/articles/0403/24/news078.html
EU競争法を施行する欧州委員会は過去最高の4億9720万ユーロ(約6億1180万ドル)の支払いを命じ、
90日以内にWindows Media Player(WMP)のバンドルを取りやめ、
120日以内に「完全かつ正確な」情報をサーバ市場の競合メーカーに提供するよう義務付けた

とは言え、この罰金額はMicrosoftが抱える現金530億ドルと比べると1%をわずかに上回る程度だ。
同社は1月22日に、1〜3月期の業績について売上高86億ドル、営業利益31億ドルとの予測を示している


2月の時点では、米インターネットユーザーの34%がWMPを使って音楽やビデオを再生していた。
これに対して約20%がライバルのRealNetworksのフォーマットを使い、およそ9%がAppleのQuickTimeを使っていた。


769 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 15:06
スマン誤爆だ。

>>767

(2^b) > d だとしたら?

770 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 15:14
>>769
{(a (mod d)) * (2^√b (mod d)) * (2^√b (mod d)) + (c (mod d))} (mod d)
こう…でしょうか?

771 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 15:20
ああ、じゃあ

d <= (2^b) <= 2*d

なおかつ aとc が d の2倍以下にしたら?

772 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 15:44
>>771
おまい、宿題は自分でやれ。

773 名前:デフォルトの名無しさん[age] 投稿日:04/03/25 15:46
>>771
えっと…ちょっとわかりません(汗

774 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 15:49
じゃあ >>759 さん自身は って名前欄に 759とでも書いてくれればいいんだけど

どういうふうに多倍長計算でモジュラ演算をやってるの?

775 名前:デフォルトの名無しさん[] 投稿日:04/03/25 15:51
r y、
             / / }
           _/ノ.. /、
           /  <   }
      ry、     {k_ _/`;,  ノノ パンパン
    / / }      ;'     `i、 
   _/ノ../、   _/ 入/ /   `ヽ, ノノ
  / r;ァ  }''i" ̄.   ̄r'_ノ"'ヽ.i   ) ―☆
 {k_ _/,,.'  ;.  :.      l、  ノ  
    \ `  、  ,i.    .:, :, ' / / \
     ,;ゝr;,;_二∠r;,_ェ=-ー'" r,_,/   ☆


【ラッキーレス】
このレスを見た人はコピペでもいいので
10分以内に3つのスレへ貼り付けてください。
そうすれば14日後好きな人から告白されるわ宝くじは当たるわ
出世しまくるわ体の悪い所全部治るわでえらい事です
776 名前:759[sage] 投稿日:04/03/25 15:53
>>774
慨存のMPIライブラリ使ってます。
ソースがついてきていまして。u_shortの配列でMPIを実装しているようです。
そこでこのmodを改造してもっと高速化できないかと思いまして

777 名前:759[age] 投稿日:04/03/25 15:54
>>776
C++のオペレーターを使って%演算子を実装しているようなので
この%演算子の中を改造して、もっと高速化できないかな…
と思いました

778 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 15:59
>>777
とすれば、>>771のような処理はやってるでしょうね。
覗いて見たら? 短い(30行以下)ならコピペしてみて。


暗号に使うような場合は
(a^n) % b のような格好だと思うのだけど、そういうのもサポートしてるの? その ライブラリで。

そうでないなら、2項分解して掛け算させならモジュラー演算する処理を書けばいいと思うけど
779 名前:759[age] 投稿日:04/03/25 16:06
pow(a,n) % b
とやればいけます。

780 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 16:22
>>779
いや、だから、それを自前で処理すればって話しだよ。

a,nを計算させると aのサイズxn のサイズになるでしょ?

781 名前:デフォルトの名無しさん[age] 投稿日:04/03/25 16:24
>>780
反復平方積による指数計算法
というものを?

782 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 16:31
1回かけるごとに割って数を小さめにしたほうがお買い得

783 名前:デフォルトの名無しさん[age] 投稿日:04/03/25 16:34
>>782
それはライブラリのほうはすでにやっているみたいです
%演算子そのものを高速化するのではなく, (a^n)%nを高速化する方法なんですね
なるほど…
%演算子そのものを高速化する有用な手立てはないのですか?

784 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 16:40
>>783 高速化できるかどうか、そのライブラリがどうやってるかを先に出せって言ってるんだよ
785 名前:デフォルトの名無しさん[age] 投稿日:04/03/25 17:00
>>784
ぱっと見てみましたが、割り算でやってるようです。
割り算の中はどうやってるかはちょっと待ってください。
よく読んで理解してみますので

786 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 18:09
ライブラリ公開しる

787 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 18:15
長年おエラいさん達によって研究されてきたであろうものをそんな簡単に高速化できると思ってるんか?

788 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 18:19
>>783
aもnも大きいんだから a^n をそのまま計算したら そりゃ重いよ。

a*nのサイズになってからモジュラー演算するより
2乗する毎にモジュラー演算する方がずっと軽いでしょ?

789 名前:759[age] 投稿日:04/03/25 18:39
>>786
書籍についてきてたやつなんですよ。
http://www.amazon.co.jp/exec/obidos/ASIN/4797317027/ref=pd_sim_dp_3/249-1992239-7742709
これなんですけど。
これってうぷしてもいいんでしょうかね?
おお
Thx!
連投規制に引っかかったので続き(しかも789の途中から)

>>787
読者の人に宿題…
と言うかたちのものが結構あったので。
高速化できる部分があるんじゃないのかな、と思いました

790 名前:759[age] 投稿日:04/03/25 18:48
上記の書籍は、RSAの複合化関数と暗号化関数と鍵生成関数が含まれているんですが
鍵生成関数に使用されている擬似乱数はstdlib.hに含まれているrand()ですし、
なによりとても遅いで改良してみようと思い立ちました。
複合化関数と暗号化関数に関しましては、勉強がてらRSAの関数を作ってみたかった
ので。
CMPIクラスのみを流用させてもらい、その他は全部一から書き直してみよう
と思ったので。
791 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 20:03
>>789
その本持ってるけど、たぶん乗算じゃないの。ここがO(n^2)
分割統治 O(n^log3)かFFT O(nlogn)でやれば・・・

両方実装したことあるが、FFTは浮動小数使うから、
100万桁程度で誤差が出て使えなかった気がする。
1000万桁クラスの乗算では、多倍精度浮動小数点必須かも。

分割統治はオーダではFFTに劣るが、全部整数でやるので誤差はなし。
また、オーバーヘッドがほとんどないため、
普通に組めば、1万桁クラスなら、こちらのほうが高速になると思う。

あと除算も書き換えないとダメだと思う。


//俺のもってるはこれだけ。まだあれば他の人よろしく
BBSをつくってみたPerl初心者です。削除キーをログファイルに書き込む時、cryptを使うのがなんとなく嫌だったので自作してみました。
暇だったら破ってみて↓
# 5.97353937540805e+015
sub encrypt($)
{
  my(%table,$i,@c,@n,$en1,$en2);
  my($pass) = @_;

  @c = ('0'..'9', 'a'..'z', 'A'..'Z', '.', '/', '_', '-', '@');
  @n = (281, 137, 383, 467, 311, 163, 157, 167, 491, 179, 613, 191, 359, 271, 373, 211, 223, 571, 239, 409, 479, 277, 251, 599, 263, 353, 197, 337, 131, 283, 569, 307, 419, 313, 587, 151, 257, 421, 349, 269, 193, 367,
     199, 379, 401, 389, 577, 139, 233, 331, 347, 431, 521, 439, 443, 449, 557, 461, 463, 149, 229, 487, 181, 499, 503, 601, 433, 523, 541, 547, 457, 563, 293, 227, 397, 317, 593, 241, 509, 607, 173, 617, 619, 631);

  for($i = 0; $i <= $#c; $i++){ $table{$c[$i]} = $n[$i]; }

  @c = split(//, $pass);
  $en1 = 1;  $en2 = 0;
  foreach (0..7){
    if( !defined($table{$c[$_]}) ){ $c[$_] = '.'; }
    $en1 *= $table{$c[$_]};
    $en2 *= 100;
    $en2 += $table{$c[$_]};
  }
  $i = 10 ** 16;
  while($en1 > $i){ $en1 /= 10; }
  while($en2 > $i){ $en2 /= 10; }
  return $en1+$en2;
}
文字'A'に対応するtableの値を$_Aとおくと

encode('XXXXXXXX')
= $_X(1 + 10^2 +…+10^14) + $_X^8 mod 10^16

encode('XXXXXXXa') - encode('XXXXXXaX')
= ($_X - $_a)(10^2 - 1) mod 10^16

だから、
enc('XXXXXXXa')、enc('XXXXXXaX')、enc('XXXXXXXb')、enc('XXXXXXbX')と
enc('aaaaaaab')が手に入ればenc('aaaaaaba')が計算できますね。
ん、これってハッシュ関数破りになるのか?
776775:04/04/05 09:01
あ、違うか
与えられた暗号文に対応する平文を見つけるのか
どなたかRSAのパディングについて詳しく知っている
方はおりませぬか?
PKCSに書いてあるよね?
>>778
日本語訳なんてないですよね?w
高卒程度の英語できれば十分
暗号と署名,どっち?
782デフォルトの名無しさん:04/04/06 17:21
VB→Linuxのftp暗号化のやり方教えてください。
簡単なやつがいいです。
>>781
RSAの暗号化について、具体的なパディングの方法が知りたいんです
>>454
トリップである必要がないような・・・。
785デフォルトの名無しさん:04/04/17 22:13
相変わらず寂しいな…
ネタ投下きぼんぬ
787デフォルトの名無しさん:04/04/18 01:24
えーとそうだな。
量子暗号ってのはどうだ?
788デフォルトの名無しさん:04/04/18 10:35
>>787
ここム板だぜ?
アルゴリズム関連で…
ム板の皆さんがqubitを自在に操るような時代は
あと何十年くらいしたらやってくるのかな
>>789
量子コンピュータの出現は2050年以降と予想されている
qbitを操るだけであれば、大学や研究所レベルではすでに行われている
>>786
じゃあ、トリップのクラックでも
>>791
トリップは不可逆である以上総当りしかないと思うんだが
793デフォルトの名無しさん:04/04/23 17:48
ウィキペディア日本語版「暗号」の記事
http://ja.wikipedia.org/wiki/%E6%9A%97%E5%8F%B7
794デフォルトの名無しさん:04/04/23 19:43
>>792
だからそれをクラックというのではないの?
795デフォルトの名無しさん:04/04/26 10:21
エネマグラの篩
796デフォルトの名無しさん:04/04/27 20:45
Rubyを使ってなんちゃって楕円曲線暗号?
y^2=x^3+ax+b
2004年4月10日の情報 ECC2 109ビットの解読に成功
798793:04/04/30 18:45
(゚∀゚)ワーイ
ガウス素数て暗号化に応用できない?
どかーん!
(⌒⌒⌒)
 ||

/ ̄ ̄ ̄ ̄ ̄\
| ・ U      |
| |ι         |つ
U||  ̄ ̄ ||
   ̄      ̄
もうおこったぞう
801デフォルトの名無しさん:04/05/06 23:55
質問です。OpenSSL 0.9.7c で
 echo hoge | openssl enc -e -des
などとすると標準出力に暗号化されたデータが吐かれますが、その先頭が
常に "Salted__" となります。openssl/apps/enc.c で
 static const char magic[]="Salted__";
と固定で持っている文字列なのですが、これはどこで規定されていますか?
FIPS PUB 81 (DES Modes of Operation) や PKCS#5 などをあたってみましたが、
全くひっかかりません。

もしかして OpenSSL 独自の magic なのでしょうか? (もしそうだとすると
他の暗号処理系とのやりとりができないので、そんなことはないと思う
のですが)
802801:04/05/07 00:07
もしかして "Salted__" が salt なのかと思って (8バイトだし)、
 echo hoge | openssl enc -e -des -S 1234ABCD
などとやってみましたが、Salted__ の後の 8バイトが 0x1234ABCD
になっただけでした。

あるいは最初の 16バイト (Salted__ + 8バイト) が FIPS#5 における
DK (derived key) なのかと思ったりもしますが、よくわかりません。

そもそも OpenSSL が吐いているデータは PKCS#5 の形式なのか
どうかもわからなくて…。どなたか助言願います。
       (○)
          ヽ|〃
    ∩__|_∩         
    | ノ      ヽ-'''''';、            
  ,,.....-|  ●   ● |  )  プハクマー
”” ;  | ////( _●_) ,ミ   _
  ;;  彡、   |∪|  |、___|酒|
 ;  / __  ヽノ /、____|  |
 ;  (___)    |  '""" ̄'';
   ̄ ̄ ̄ ̄ ̄) ,,..-'''⌒;,   /
   ̄ ̄ ̄ ̄ /    ,,..-.';;-' |
       (  ,,...-''";;., ";,..-'"  
        |"””   _,.-|;  ;|
        |_,,...--''"  "'-''"
>>802

Salted__ は OpenSSL 独自形式っぽい。で、その次の 8 byte が実
際の Salt ってことになっていて、それと Password とで PKCS#5
に則った鍵生成処理を行なってる感じ。
805デフォルトの名無しさん:04/05/12 18:30
   |:::::::::::::::::::::
   |i__∩:::::::::::
   | ,,.ノ ヽ、,,ヽ:::::::::::  ここのスレ元気ないクマー!
   | ●  ● |::::::::::::::::
   | (_●_)  ミ:::::::::
   |  |∪|   ノ::::::::::  
   |  ヽノ   i::::::::::::::::
   ミヽ_  /::::::::::
   | ヾ   /:::::::::::::::::
806801:04/05/13 00:16
>>804
ありがとうございます。独自形式ですか。

FreeBSD の bdes(1) ではこういうヘッダは付かないようです。
それ以外の暗号処理系を知らないんですが、こんなの付け
ちゃって相互運用するのに困らないのかなぁ。
すいません、乱数発生プログラムを組んだんですが、
そこから出力されたデータがランダムか調べるツールはありますか?
出力されるデータは0・1です。
規則性を発見できなきゃランダム
      発見できたら規則的
ごく簡単な下調査としては、いくつかの圧縮アルゴリズムで圧縮してみる手があります。
本当にランダムなら圧縮できません。
ただし、逆は真ならずってことで、あくまで下調査として利用すると吉かも。
まじめにやるなら CRYPTREC
 http://www.ipa.go.jp/security/enc/CRYPTREC/index.html
の乱数関連の評価報告書を参考にするとよいかも。

例えば
 http://www.shiba.tao.go.jp/kenkyu/CRYPTREC/PDF/outrep_data/rep_ID0029.pdf
とか。
811810:04/05/13 20:26
↑のリンク先はいまいちかな。

0137
 1.暗号アルゴリズムの詳細評価報告書 疑似乱数生成PANAMA(MULTI-S01内部)編
 2.PANAMAの評価に利用した鍵の種類
 3.擬似乱数生成の評価 0/1等頻度性テスト PANAMA(MULTI-S01)編
 4.擬似乱数生成の評価 Avalanche性テスト PANAMA(MULTI-S01)編
 5.擬似乱数生成の評価 一様性テスト PANAMA(MULTI-S01)編
 6.擬似乱数生成の評価 長周期連性テスト PANAMA(MULTI-S01)編
 7.擬似乱数生成の評価 連性テスト PANAMA(MULTI-S01)編
 8.擬似乱数生成の評価 線形複雑度テスト PANAMA(MULTI-S01)編

あたりがいいかも。
(・∀・)ブロンソン
>>810さんありがとうございます。
810さんのおしえてくださったpdfファイルを印刷しているところです。
読み終えるのにかなりかかると思いますが、
将来への投資だと思ってがんばってすべて読みたいと思います。
>>806
> FreeBSD の bdes(1) ではこういうヘッダは付かないようです。

FreeBSD の bdes は知らないけど、余分なデータが付かないんだっ
たら、それは PKCS#5 準拠ではないんだろう。

PKCS#5 形式の場合、鍵を導出するためには password の他に塩が必
要 (ほんとは繰り返し回数もなんだけど、こっちは OpenSSL enc で
は 1 に決め打ち) なので、復号ルーチンがそれを知るためには暗号
データになんらかの形でくっついててくれなきゃならないから。

> それ以外の暗号処理系を知らないんですが、こんなの付け
> ちゃって相互運用するのに困らないのかなぁ。

とりあえず OpenSSL 同士でやり取りできれば OK としか考えていな
いのでは。ソースを公開しているのでその気になれば誰でも互換ツー
ルを作るのは簡単なわけだし。
ギジ(・д・)マンダム
816デフォルトの名無しさん:04/05/17 12:25
そいえば、適当なMD5値をググルとたまに引っかかるな。
administratorとか。rootとか。


http://breaking.hp.infoseek.co.jp/cgi-bin/ups/so/No_0075.txt

ここのパスを解読してくださいよ!


誰か助けてエロイ人
818807:04/05/17 23:33
元ファイル 32.6 KB (33,420 バイト)
lzh圧縮 32.6 KB (33,452 バイト)
zip圧縮 10.7 KB (10,981 バイト)
ってなってlzhに対しては強いようなのですが、
zipに対してはとても弱いです。
こんなんじゃ擬似乱数生成器とは言えませんよね・・・
OpenSSL で RSA 復号したいんですが、e, n などは既に計算済で
ファイルに記録してあります。その e,n などを構造体 RSA に
セットしたいのですが、その方法がわかりません。

RSA_set_ex_data かなと思ったんですが、application specific
data とあるのでなんか違うっぽいし、いきなり rsa->e = ...
とセットすると他の構造体メンバとの整合性がとれなさそうだし。

…というわけで困っています。どなたか教えてくだちい。
820819:04/05/20 19:25
うーむ、openssl/ssl/s3_clnt.c を読んだら
 rsa->n=BN_bin2bn(p,i,rsa->n);
なんてやってる。

直接セットでいいのか…?
821818=807:04/05/20 20:57
すいません
ここ人があまりいないようなので
ちょっとあげさせてもらいます

>>818なんですが、
どれくらいサンプルを作ってみたらいいんでしょうか?
どれくらいのサイズのファイルを何個以上とか書いてもらえましたら
サンプルのデータと結果を書き込みたいと思ってるんですが
822819:04/05/20 23:50
その後 RSA_generate_key の真似をすればいいと気づいて
ソースを読みました。

結局、RSA_new() して、rsa->{p,q,n,e,d,dmp1,dmq1,iqmp} を
セットしてやったら一応それっぽく動いているようです。

こんなんでいいのかなぁ。こんな基本的な API がないはずは
ないと思うんだけど。
823821:04/05/22 13:57
なぁ、>>822むなしくないか
このスレ見てもいつも822と漏れの書き込みしかないから
むなしいぞ

2chな人々にとって暗号は守備範囲外なんだろうか?
では、わたすのprofileなどをば。

>>823
暗号は、アルゴリズムを考え、論文で発表したりすることはあっても、
プログラムで実装する機会はあまりない。
825822:04/05/23 00:42
>>823
むなしいよ。実は 801・802・806・810・811 も漏れだったりする(w

でも泣かない。強い子だから。
私の周りは暗号化とかってそのアルゴリズムを自分で理解しようとか作ろうとかって思わない
で既存の何かを使えればいいじゃん!という感じの職業プログラマばかりです。でも無視でき
ないのでこれから結城浩著「暗号技術入門〜秘密の国のアリス」を読もと思ってます。
とかいう俺は初めてカキこ。よろしこ。
827822:04/05/23 00:59
あと、810 で紹介した PDF には、FIPS 140 などのキーワードが
ちりばめられているから、それをきっかけにがんばれ。俺はそれ
以上の知識がないからなんとも言えない。

それと、確率統計の勉強は必要だろうね。俺は一暗号ファンで
数学の素養は全くないけど、それでも代数の本なんぞ買ったり
して勉強はしている。

ま、本買ったところで全然理解できてねーんだけどな(藁藁藁
828826:04/05/23 01:22
821の人と822の人の間を邪魔しては悪いかな・・・w
とりあえずがんばります。
まともに話せるにはかなり時間がかかるだろうけど、またそのうちきますね。
829823:04/05/23 09:50
>>828
がんがれ
暗号は面白いとこがたくさんあるから
するするっと読めるよ

「暗号化 プライバシーを救った反乱者たち」
「暗号解読―ロゼッタストーンから量子暗号まで」
は読んだ
「暗号化 プライバシーを救った反乱者たち」
漏れは↑のほうが楽しく読めた
ディフィー・ヘルマンと米国政府との戦いとか
公開鍵暗号方式を思いついた瞬間や
RSA暗号をいかに思いついたのかとか
ワクワクしながら読んだ

今は「暗号技術大全」読んでるけど
結構、読み進めるのに時間がかかる
今は、擬似ランダムシーケンスについて勉強中

暗号技術大全
830823:04/05/23 09:52
あ、一応
ディフィー・ヘルマンは
ディフィーさんとヘルマンさんね
混合してると思われるといやなので〜
さいなら
pc関係詳しい方!
ぜひこの暗号解けないものでしょうか!?

325argf493rdtr521styh075artg625agfa113ller041fsre.2122ffj7343qer7813fda
>>831
もしできたとして、
どうやって証明する?
貴方を信じます。
>>831
アルゴリズムがわかっている暗号と、わからない暗号だと、
まったく攻撃方法が違うのが難点だ。

後者はほとんどパズル状態。
数百、数千万の平文、暗号文を入手しても解けないのが普通。
835823:04/05/24 19:14
>>831
どういった経緯で出された暗号なのか詳しく書けば
真剣に解読に取り組まないこともない
しまった名前が残ってたorz
>>834の言ってるように
アルゴリズム(暗号化の方法)のヒントとかあれば
がぜん解読メーターはあっぷする
他の暗号文とか他の平文とか、どういう文字が使われている可能性が
高いかとか、どういう用途のときに使用するのかとか、そういう情報が
あるならともかく、831 は情報出さないっしょ。

だって 831 の情報だけで解読できると思っているような馬鹿だぜ?
こんなのどんな答えでもありうるってのがわからんのかね。

831 には「答えはちんぽ」とでも回答しときゃそれで十分。
839837:04/05/25 06:42
いや、解読できた
ヴァーナム暗号だったみたい

>>831マルチするようなやつは氏ね 漏れのうきうき気分をどうしてくれんだ

だった。結構むずかった
ワラタ
だれかネタふりおながいしまつ
「コンピュータと素因子分解」
 http://www.amazon.co.jp/exec/obidos/ASIN/4795268894/249-6187903-6643510

を買ってみた。今から読むとこ。
ガロア体上の離散対数はどうよ。
p^nにおいて、pを小さな数にして、nを非常に大きくとる。
素体でpを大きくとったものと、どっちがいいのかは知らんが。
RSAをソフトウェアに組み込みたいんだが
OpenSSLのRSAライブラリを抜きだして使うしかないのか!?

全部自前で書くのはおろか?
>>844
Crypto++なんてのがあるが。
どうして電子透かしとかステガノグラフィとかって話題に上がらないのだろう。

http://www.know.comp.kyutech.ac.jp/BPCS/
>>846
ttp://www.know.comp.kyutech.ac.jp/BPCS/BPCS-intro.html
の下のほうにある

このようにしておけば、このアルバムを他人が見ても、
「まさか、写真データの中に秘密が隠されている」 と疑われることはありませんし、
・・・以下略・・・

に書いてあることに尽きると思う。
つまり、個人が所有するファイルを家族や同僚に知られたくなくて隠す際には有効。
あくまで個人用途に限られる。
暗号学ではある情報を知られたくない相手、
つまり傍受者には暗号化方式、暗号文は知られているという前提で
議論することになっている。
まさか、写真データの中には・・・云々なんてのは論外

結局のところ商業や軍事目的としては使い物にならないってこった
>>846
ビンラディンが、実行指示をステガノグラフィで行っていることは有名。
アメリカを中心として、政治や軍事で結構利用されている。
国防省をあげて、ステガノグラフィの検知研究が行われている。

一般利用では、パスワード付きなんたらで十分だろう。
なんかすげぇ上でスルーされてるが、これってすげぇの?
ttp://c4t.jp/

なんか暗号ブロックを可変長にする事で擬似ストリーム暗号にするとかなんとか。
850847:04/05/29 20:15
し、失礼いたしますた
>ブロードバンドの代表である、CATVインターネット・xDSL・FWA(固定無線アクセス)などの数百ビット/秒以上の通信速度を持つサービスが急速に普及しています。
単位間違えてる時点でマイナス査定
852847:04/05/29 21:48
暗号化/復号化を行う鍵の管理はどのようになっていますか?
暗号化/復号化を行う鍵は、GPGを使って作成されます。

GPG・・・暗号屋さん廃業だな
>>849
> ttp://c4t.jp/

CRYPTEC に応募したものの、検証可能なネタを全然ださなかたので
門前払いされていたな。
にわかに活気付いてきましたな
>>849
結論:もうだめぽ
856849:04/05/31 13:48
>>853
つまりハッタリですかそーですか。
トーシロの自分でさえ、ブロックがストリームになったくらいで強度上がるんかい、と思ったくらいで。
ブロック可変長にするってことは、その都度鍵交換せなならんてことでしょ?
莫大な負荷が掛かる気がするんですが。
>>856
> つまりハッタリですかそーですか。

そうは言ってない。情報が足りないから評価不能ってだけ。

http://www.ipa.go.jp/security/enc/CRYPTREC/fy13/cryptrec20011105_status.html より
 C4-1
  本応募暗号技術は、以下の理由により、これ以上の評価を行わないことにしました。
   * 提出書類には、第三者実装が可能と考えられるだけの十分なアルゴリズム情報が
    記載されていません。
   * 参照プログラムには応募暗号本体の記述がありません。従って、評価するための
    十分な書類が提出されていません。

その他門前払い系を見てみるとなかなかおもしろい。あべしの
FSAngo、FSRansu とか、TAO TIME Cognition Algorithm とかね。

評価結果に対する応募者のコメント (反論) もあわせて楽しんでくれ。
 http://www.ipa.go.jp/security/enc/CRYPTREC/fy13/cryptrec20011105_comment.html
ところで C4-1 の自己評価書 http://c4t.jp/technology/whitepaper/c401jeval.pdf
以下のようにあるが、こんな簡単でいいの? 学術系には明るくないんだが、
論文ってこの程度のもの?

 3.2 Statistics Analysis Attack
  C4-1 は統計分析攻撃法に対して強い:C4-1 によって暗号化された暗号データは,
  01 バランスが均等であり,元データの要素を全く予測させない.これは,FIPS
  及びNIST のテスト結果に裏付けされるものである.
 3.3 Chosen Plaintext / Chosen Ciphertext Attack
  C4-1 は,選択平文/選択暗号文攻撃に対して強い:
   1) カオスの機能自身は一方向である.
   2) 鍵の処理装置は一方向である.
   3) 出力データは常に乱数である.
  上記3 項目により,暗号化に利用した鍵を算出することは実際的でない.
 3.4 Known Plaintext Attack
  上記3.3 の選択平文/選択暗号文攻撃を参照.

本当の論文ではこんなに突っ込んで分析するもんだ、という例があれば教えてください。
>>810-811
に乱数評価の論文があるぞな
京都地検は「Winnyの開発意図が、送受信者が特定できないよう匿名性
を強化し、著作権の侵害をまん延させる点にあり、明確な犯意がある。」
と判断したそうだ。一方47氏の弁護団は「Winny開発時に匿名性を視野
において製作したことは否定しないが、それはファイル交換システムを
潤滑にしてゆくための要素のひとつであって、匿名性を第一に考えて
開発されたものではない」

えっと、匿名性を教化=罪ですか?
俺もつかまりますか?
あのーすいません
将来暗号関係の研究室に入りたいと思っているんですが
暗号の分野が強い大学・大学院・研究室について教えてもらえませんか?
当方は新高3です。
>>861
京都工芸繊維大学
>>861
大学は知らん。
大学卒業後、NTTに行く。これ。
>>861
防衛大学校
>>861
パチンコ大学
みなさんありがとうございます。
京都工芸繊維大学を中心に国立大学や研究室を調べてみようと思います。
防衛大学校は抵抗があるのでやめます。
これからもちょくちょくよらせてください。
>>861
よく知らんが灯台
九大、奈良先端あたりはどうよ
横浜国立大学の松本勉教授は
横国のどこの学部にいらっしゃるのでしょうか?

具具って見た感じでは院にしかおられないようなのですが・・・
大学と大学院は接点があまりないのですか?
>>870
環境情報学府の教授(研究室)は複数の学部にまたがっていて、
環境情報学部という形ではない。松本研究室は工学部・電子情報工学科にある。

ただし、電子情報工学科における研究室配属は抽選(成績優秀者を除くという噂)。
他の研究室に配属されたときは1年我慢して院への進学時に改めて希望することになる。

これは現時点でのことなので、来年大学に入るのなら4年後のことは保証しないけども。
>>861
研究分野を「情報セキュリティ」一般まで広げて考えると
該当する研究室は山のようにあります.
(一見すると暗号やネットワークと関連しないような分野でも)

学部の4年間は広く勉強&自分のやりたいことを考えて,
院に進学するときにもう一度考えてみたら?
ややや、みなさんサンクスです
学部は理学部数学科がいいのでしょうか?
私としては工学部の情報関係の科に進もうと思ってるんですが・・・
>>873
情報がいいんでない? つぶしが効くかという点では数学科は
いまいちだし。

コンピュータも好きなら情報。何が何でも暗号学者、という
意気込みがあるんならお好きな方を。
わかりました、夏が終わるまでは情報関係の学部を目標に勉強していきます。
それでは〜
OpenSSLはなんでtwofishをサポートしないんだろう。
AESになれなかったから「ダメ暗号」って判断したのかな?
>>876
ttp://www.linux.or.jp/JF/JFdocs/Secure-Programs-HOWTO/crypto.html

に、権利関係が、たぶん大丈夫だけど不明瞭。とある。
日本の尖閣諸島付近には、
イラクに匹敵する世界第2位の量の石油が眠っている。
そしてその資産はなんと、640兆円にもなる
 (日本の年間国家予算は約80兆円なので8年分に相当)

        ミ     ∧_∧
        ⊂ヾ(・∀・ )  ヘェーヘェーヘェーヘェーヘェ
        ∩ ゝヽ ⊂_ノヽ 

だが、その資源が日本政府のせいで全て水の泡になりそうだ

えぇ━━(゚Д゚;)━━━!!!!!

詳しくわ↓
http://mobius1.nobody.jp/
http://blog.livedoor.jp/team_lifeline/
板違いスレ違いマルチポストの糞厨が領土問題を語るのかよ(藁
ネトウヨ士ね
いや、>878にはステガノグラフで何か情報が隠されているに違いない。
ちと分からないことがあるので教えて下さい。
RSAの公開鍵には1024bit以上が推奨されているそうですけど、単純に
n = 2^1024に近い数を取った場合、ASCII文字を一文字暗号化すると
暗号化された数は1〜n-1のいずれかの値を取っちゃうんですよね?
1バイト暗号化してできるモノが128バイトになっちゃうって、非常に
不都合を生じる気がするんだけど、それはどう解決しているんだろう?
多分すげー初歩的でくだらない質問なんだと思うんだけど…。
>>881
> 1バイト暗号化してできるモノが128バイトになっちゃうって、非常に
> 不都合を生じる気がするんだけど、
えっと、どのような不都合が生じると考えてますか?
>>881
普通、暗号化の対象となるデータの 128バイトを切り出して、
RSA で暗号化する。128バイトに満たない場合はパディング
してから暗号化。パディングはセキュリティ的にも意味がある。

http://x68000.startshop.co.jp/~68user/net/rsa-1.html
http://x68000.startshop.co.jp/~68user/net/rsa-2.html
884881:04/06/17 08:49
>>882
いや・・・、暗号文が平文の128倍になっちゃうというのはいろんな場面
で問題アリだと思ったのですが…。単純にネットワークトラフィックとか。

>>883
ありがとうございます!!
めちゃくちゃガッテンです。
>>883
1Byteごとに暗号化してるわけじゃないのよ
1Byteごとだったら0〜127までの値を
RSAで暗号化して平分と比較したら
簡単に解けちゃうでしょ

128ByteごととかだったらOKちゃうん?
>>884
> いや・・・、暗号文が平文の128倍になっちゃうというのはいろんな場面
> で問題アリだと思ったのですが…。単純にネットワークトラフィックとか。

なんで?
まさか1バイトずつ暗号化すると思っているの? そんなわけない。
それと、一般的に冗長性が高いほど暗号の強度は増す。
「僕ちゃんは平文よりデータが増えるのが我慢ならない!」っていうなら
対称鍵・ストリーム暗号のRC4あたりを使っといてください。
>>885-886
納得してるのに同じ突っ込み繰り返すなよw
>>887
884を読む限り、納得してるように見えないぞ。
889885:04/06/17 13:55
RSAで暗号化して平分と比較したら ×
RSAで暗号化して暗号文と比較したら ○
AESで256bitの平分Mを暗号化する場合、
でてきた暗号文Cはどれくらいのbit長になりますか?

また、自分で対象鍵ブロック暗号を考えた場合、
256bitのMをCにしたときCの増分は何bit程度許されますか?
891881:04/06/17 22:27
>>883
で理解できてます(汗) お馬鹿さんですみません・・・。
>>890
後者の質問について思ったんだけど、共通鍵ブロック暗号って、
平文と鍵に対して暗号文が一意に決まるんですよね。
(RSA-OAEPなどは、暗号文が一意には定まらない)
だとすると、広大なビット列空間の中で正当な暗号文が少し(2^256個)しか
ないってのは、いろいろと問題があるように思うのですが・・・
あ、
>広大なビット列空間
てのは、暗号文の長さを256bitより大きくとった場合のことです。
>>893
256bit ブロック暗号なんでしょ? 平文を 256bit 単位に区切って
それぞれを暗号化すればすむ話では?
>>890
> また、自分で対象鍵ブロック暗号を考えた場合、
> 256bitのMをCにしたときCの増分は何bit程度許されますか?

自分で考えるんだから、好きに決めればいい。

ただ、世の中には 1bit も増えない良質な共通鍵ブロック
暗号がたくさん存在することを忘れないこと。
896890:04/06/19 03:43
>>894
えと、>>890
256bitの平文ブロックに対して、暗号文は256bitよりどれくらい大きくしていいものか
と聞いてたんで
あまり平文に対して暗号文が大きい方式だと問題があるのでは
と答えてみたんです。…回答になってなかったけど。
暗号文を平文より大きくしたい理由は何だ?
ビットの増分の中に鍵をクラックするヒントが含まれるようでは話にならないが。
898847:04/06/19 13:12
>>897
いやなんっつーか
暗号文が平分よか小さかったら
コリジョンがおこるでそ
>>897
> ビットの増分の中に鍵をクラックするヒントが含まれるようでは話にならないが。

アホか。
>>898
誰も「暗号文を平文より小さくせよ」なんて言ってないわけだが。
バカは (・∀・)カエレ!
901894:04/06/19 13:59
>>896
理解した。その上で質問なんだけど

> あまり平文に対して暗号文が大きい方式だと問題があるのでは

なんで? 性能面やデータ量的によくないって言ってるだけ?
(それなら同意)
>>898
シロウトなんで教えてほすいのですが、
理想的に暗号化すればコンパクト符号に近付くんじゃ
ないかと思っていたのですが、違いますか?
>>902
それは暗号化じゃなくて圧縮だ
>>903
もちろん圧縮すればコンパクト符号に近くなると思うのですが、
例えば平文のバイト/ビット列に偏りがあってもバイト/ビットの出現頻度を
均一化しますよね?これは結果としてコンパクト符号に近付きませんか?
>>904
データサイズを変えていない(定常状態では)んだから圧縮ではない。

意味のあるデータ(平文)が、典型であると仮定すると、
暗号化はたまたま、01の偏りを無くすことに相当するだけの話。

2^n空間のあらゆるデータを平文とするなら、
暗号文が01が極端に偏ったものになることも当然ありうる。
906デフォルトの名無しさん:04/06/21 11:14
hage
すいません、暗号関係の雑誌や論文の情報って
どこのサイトに行けば入手できますか?
日本語・英語問いません
>>907
このスレの発言を流し読むことすらできないお前には、
一生入手できない。
日本の中で最強の暗号ってなんですか?
あと、世界で最強の暗号ってなんですか?
いずれも現時点で。
>>909
カエサルローテーション
>>910
えー、シーザー暗号でしょ?
日本の中で最強の暗号、ってどういう意味だ?

>>907
実は907の周りに詳しい先生や先輩がいる、に1024点
>>909
最強の暗号といえばバーナム暗号に決まってる。常識。
>>907
情報処理学会のコンピュータセキュリティ研究会やアルゴリズム研究会とかに入れば査読あり/なしの論文が情報処理学会のWebページからダウンロードできるようになる。
まずは情報処理学会の電子図書館で暗号関係のキーワードで検索をかけてみよう。
そうすれば少なくともタイトルとアブストラクトと研究者はわかるね。
でもダウンロードするには会員にならないといけない。
入る気がないなら、その研究者のWebページを探してみよう。
もしかするとそこに論文が置いてあるかもしれないね。
ちなみに、暗号関係の学会は他にもあるから、いろいろ調べてみよう。
M D 5 に き ま っ て ん じ ゃ ん 
>>915
>M D 5 に き ま っ て ん じ ゃ ん
(゚д゚) ポカーン
平文を再現する手段があるのなら、最強かもな。
圧縮ツールとしても最強になってしまうが。
>>917
>平文を再現する手段があるのなら、最強かもな。
>圧縮ツールとしても最強になってしまうが。
どなたに話されているのでしょうか?
THcompみたいなもんか? >MD5から平文に復元
懐かしいな
年がばれるぞ(w
923913:04/06/25 01:37
俺のバーナム暗号は放置か? 誰かなんか言ってよ(わーん)
925913:04/06/25 03:17
>>924
Wikipediaでは「バーナム暗号 != ワンタイムパッド」なのか。
うーむ、じゃあバーナム暗号って何なのだろう。どなたか教えてください。
ワンタイムパッドは秘密鍵じゃね?
ヴァーナム暗号はアルゴリズム
対象鍵暗号方式において
対象となる攻撃方法はなにでしょうか?

締め上げ攻撃・ブルーフォース攻撃・既知平文攻撃
などがあるのはわかるのですが、
選択平文攻撃は対象鍵暗号方式では無視してもよいのでしょうか?
>>927
誤字多すぎ
対称ですた
失礼しました
バーナム暗号プログラム
http://www5.airnet.ne.jp/tomy/cpro/etc9.htm
>暗号文のみの情報からは解読不可能な暗号です。
ええっそれ最強じゃん。ほんとかよ(藁
鍵の大きさが平文と同等と考えればいい
>>931
ふむ。
あまり、有効利用できそうにねーな。
>>932
だからジョークなんだけどね……。
>>933
ネタかよ。いろいろと調べてしまったぞ(鬱
>>934
うひ、すまん。でも知っておいて損はない(かも?)
この中のどれが強固なのさ
TWOFISH, 3DES, AES, BLOWFISH, CAST5
暗号は、作成するだけなら簡単だが、
その強固さを検証するのが大変なんだよな。

RSAはSETI@home等でどのくらい強固なのか、
全世界を懸賞金をダシにして検証してるんでしょ。
そうするとあまり無駄なエネルギーかからないしね。
It's time to move to a longer key length.
MD5のコリジョンを探せ
http://www2.117.ne.jp/~mat/dcomp/math.htm#MD5CRK
分散コンピューティングプロジェクトってこんなにあんのか。
http://www2.117.ne.jp/~mat/dcomp/math.htm
暗号って乱数生成がキモだね。
>>937
> RSAはSETI@home等でどのくらい強固なのか、
> 全世界を懸賞金をダシにして検証してるんでしょ。

いわゆるRC5 Crackとかは、単なるブルートフォース攻撃を
世界中のマシンを動員してやってみよう、ってものなので、
こんなのでcrackに何年かかろうとも、暗号アルゴリズム自体の
安全性の評価には何の役にもたたない。

たとえばRC5-72なら、2^70個の鍵を試した時点で25%、
2^71個の鍵を試した時点で50%の確率で正解が見つかるはず、
なんてことが始めからわかっているわけで、
こんなのは2^72個の鍵空間がいかに広いものかを示す
単なるデモンストレーションでしかない。


……それ以前に、SETI@homeは宇宙人を探すプロジェクトなんだがなあ。
アディ・シャミアの秘密分散法、世界初の応用ソフト
http://www.atmarkit.co.jp/news/200406/25/trusted.html

これって大丈夫か?
>>943
> 暗号方式の1つである秘密分散法を応用、実装したソフトウェア製品は
> 同社によると世界初のことだという。

おいおいおいおい。
なに?ひろしおじさん!
「4以上の偶数は、2つの素数の和にできる」というゴールドバッハ予想
これが本当なら面白いな
>>943
分散ハッシュのことだったりして。
http://homepage3.nifty.com/toremoro/p2p/dht1.html
ttp://enterprise.watch.impress.co.jp/cda/security/2004/06/23/2654.html

なあ、これってPPって奴の信頼性を確保しようとしたら
結局CA置いてるのと変わんなくない?

単にユーザごとに証明書発行・管理しなくてすむってだけ?
>>948
> なあ、これってPPって奴の信頼性を確保しようとしたら
> 結局CA置いてるのと変わんなくない?

IBE ではユーザの秘密鍵生成をサーバが行なうわけだから、現状で
普通な構成の CA (= ユーザ公開鍵しか扱わない) どころじゃないは
るかに厳密な運用体制が必要。

じゃないと、お手軽 Big Brother の一丁上がりってことになる。
次スレはどうする?
約3年がかりでやっと次スレか。
うまく育つか不安だったスレがこうも成長すると
感慨深いものがありますな
>>950
地味に、
■暗号化スレ2■
はどうよ?
■暗号化スレ【2fish】■
■暗号化スレ【3des】■
でいい。
■暗号化スレ【RC4】■
■暗号化スレ【A5】■
あとは知らん
■暗号化スレ【CAST5】■
■暗号化スレ【E2】■
様にならないか…
>>925
ワンタイムパッドは平文と同じサイズの乱数列でXORする。乱数列が鍵みたいなもん。
バーナム暗号は、あるシードで導きだされる擬似乱数でXORする。シードが鍵。
通信相手とはシードと乱数生成アルゴリズムを共有するだけでいいので、
平文と同じサイズの乱数列を使い捨てで使用するよりは現実的だが、
乱数の生成に癖があったりするとシードが割れる可能性あり。
959925:04/06/29 01:54
>>958
「バーナム暗号は絶対安全ではない」という意味がよく分かった。ありがとう。
■暗号化スレ【ROUND2】■
はどうよ。てゆーか、暗号化じゃなくて暗号にしたくね?
http://www.shayashi.jp/Courses/03/jyouhotosuri/5kai.pdf
「ヴァーナム=ワンタイムパッド」という言い方も必ずしも間違いじゃないみたいだねぇ。
>>960ノシ
暗号に一票
正直、「暗号スレ」でもいい
別に暗スレでもいいよ
>>964
意味わからん。
********* 数学板 *********
暗号数学について語ろう
http://science3.2ch.net/test/read.cgi/math/1088146349/
素数判定は「決定的」多項式時間で可能
http://science3.2ch.net/test/read.cgi/math/1028813059/
P=NP問題について真面目に語るスレ
http://science3.2ch.net/test/read.cgi/math/1058932949/

********* 理系板 *********
【論理】情報理工学総合スレッド【アンチ?】
http://science3.2ch.net/test/read.cgi/rikei/1065961472/
量子コンピュータについて語るスレ
http://science3.2ch.net/test/read.cgi/rikei/1020566648/

********* 物理板 *********
量子コンピュータ
http://science3.2ch.net/test/read.cgi/sci/1042199835/
The International Association for Cryptologic Research (IACR)
ttp://www.iacr.org/

独立行政法人 情報処理推進機構 (IPA)
IPAトップ>セキュリティセンター
ttp://www.ipa.go.jp/security/index.html

arXiv.org Cryptography and Security Authors and titles for recent submissions
http://jp.arxiv.org/list/cs.CR/recent
Winnyの暗号化は「金庫に鍵をかけ、金庫の上に鍵を置くのと同じ」
http://www.itmedia.co.jp/news/articles/0406/28/news028.html
>>968
> また、キャッシュも単独では解析不能だが、ハッシュ関数を使った暗号化には「元ファイルのファイル名やサイズの情報が
> 使われていると思われる」ため、解析可能だと指摘した。

まだこんなことやってるのか。遅れすぎ。
どこかに相談してれば、プログラムとしての寿命も延びたかもしれないのにね。

>960
スレタイ自体を暗号文で…
まとまらないから新元号スレでやればいいよ。
>>960
>■暗号化スレ【ROUND2】■
でいいっしょ。
暗号の種類だと無いのもあるし。
立てますた。センスがいまいちなのは伏してお詫びしまつ。

■暗号技術【ROUND2】■
http://pc5.2ch.net/test/read.cgi/tech/1088530204/
いやいいとおもうよ
975エターナル:04/07/08 20:25
もうすぐ1000か
976エターナル:04/07/08 20:27
976
977・・・:04/07/08 20:27
977
978・・・:04/07/08 20:28
988
979・・・:04/07/08 20:28
979
980・・・:04/07/08 20:29
980
981エターナル:04/07/08 21:22
981
982・・・:04/07/08 21:22
982
983
1000取り合戦に参加
勝負だ!謎の1000ゲッターよ
いまはまだそんなにどきどきしてない
いつ謎の1000ゲッターが私の存在に気づくのか
そこが問題だ
謎の1000ゲッターが現れたどうする?
>たたかう
>謎の1000ゲッターが相手にしてくれないのでふてくされる
>20秒ルールを利用してゲリラ的に1000をゲットする
>尻尾を巻いて逃げる
むにゃー
990エターナル
990