• 締切済み

この暗号化方式の条件は都合が良すぎですか?

mtaka2の回答

  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.6

なんかもう一つの質問と補足が交錯しちゃってますが、 とりあえずここで挙げられている暗号化アルゴリズムの問題について。 つづきはもう一個の方で回答します。 このアルゴリズムの場合、パスワードに関しては、SHA-256前の生パスワードは推測不要です。 「パスワードのSHA-256値+データ1文字」をSHA-256にかけているわけですから、このとき 解読に必要なのは「パスワードのSHA-256値」だけで十分であり、元のパスワードは不要です。 つまり、「SHA-256値の256bit分」の総当たりをするだけでいいわけです。 パスワードが256bitより短いのであれば、SHA-256の256bitを総当たりするより、パスワードを総当たりにする方が簡単になりますが、 パスワードが256bitより長い場合も、256bit以上のパスワードを総当たりをする必要はありません。 つまり、この暗号の強度は、「256bitとパスワードの長さのうち短い方」になるわけです。 本来SHA-256は入力の長さに応じた総当たりが必要になるわけで、 256bitよりも十分に長い入力に対しては、その長さに応じた強度があると言えるわけですが、 そのメリットが生かされてないわけです。 もう一方の質問で挙げられているSHA-256を使って「覚えやすいパスワードから解読されにくいパスワードに変換する」というアイデアの場合、 「種パスワードまでわかる必要はない」ので「SHA-256値を総当たりすればいい」という同じ問題をかかえているわけですが、 暗号化ではなく認証用と考えれば、256bitで十分だろうと思います。

base64sha2crypt
質問者

お礼

本当に何度もお付き合い頂いてありがとうございました!!

base64sha2crypt
質問者

補足

毎日毎日ご回答頂きまして誠にありがとうございます! ここまで付き合って頂いてここでお礼を申し上げることしか できなくて本当にすまなくまたありがたく思っています! 認証用では256bitで充分ということですね。 では、暗号化のパスワードは、認証を要するネット上の オンラインストレージに置いておけばいいので、 乱数での4096bitが暗号化する平文ごとにひとつで 平文の数だけ増える場合でも、 そのままストレージにログインしたらその直下の フォルダに並んで見えてればそれでOKということですか? あとは暗号化ファイル(コンテナ)が並んでいるだけで。 あれでもパケットキャプチャされて解析されたら やっぱり80日?向こうの質問の補足で出した、 ・・・えっと別のほうで続けます!ありがとうございました!

関連するQ&A

  • 暗号学的ハッシュ関数でbit長が適切って作れますか

    SHA256が(224かもですが)最小bit長で、 入力に1bitでも、また2bit以上入力値全体まで、異なれば、 出力のうちほぼ半数のbitが反転する、かつその 反転するbit位置は複数の入力値に対して法則性はなく、 ほぼランダムである。 という暗号学的ハッシュ関数であるのは、正しいですか? また、データの暗号化に使われるパスワードは4096bitを推奨との 事ですが、 SHA4096などその時に合った暗号学的ハッシュ関数を 作るのは難しいのですか? 素人考えでは、今256bitで衝突が見つかってないなら 4096bitならbit長大きいのだから作れそうな気もしますが やはりそういう問題ではないのでしょうか? もし作れるとしたら、データの暗号化に使うパスワードを SHAなんとか・・・の出力そのまま使っては、危険でしょうか? というかデータに限らず認証のパスワードでも SHAなんとかの出力そのままを使うのは何かまずいのでしょうか? もしできたらパスワードを覚えなくてよいのでいいかと思ったのですが。 パスワードは「IDのパスワード」をSHAなんとかに通した値ということで。 IDは「種パスワード+なんとかのサイト」をSHAなんとかに通した値ということで。 種パスワードはしょうがないからネットをパスワードの決め方とかで検索して 出てきた方法を見て理解して自分なりにアレンジして、最後にちゃんと頭に記憶して。 とりあえずここまで、どうでしょうか。

  • 8文字以上の文字を暗号化する方法

    Apache1.3.37+PHP5.2.4+MySQL51.22のレンタルサーバでWEBコンテンツを作っています。 フォームから入力されたパスワードを、DBに格納する際、暗号化したいと思います。 MD5やsha1やcryptなどいろいろあるのですが、8文字を超える文字の暗号化ができないようです。 8文字を超える暗号化はどうすればいいのでしょうか? よろしくお願いします。

    • 締切済み
    • PHP
  • テキストの暗号化

    ソフトウェアの情報(インストールした日付・パスワード等)をテキストに書き込む時に暗号化してカキコむように しようと思います。しかし、字を3文字ずらす・アスキー コードに変換するなどでは、簡単に破られるのではないかと 思います。フリーのソフトでも、文字化けのような 状態のテキストファイルなどをみますが、あのような 複雑な暗号はどのように作られるのでしょうか? 「暗号」などで検索してみたのですが、そのやり方については、詳しくは記載されてはいませんでした。(暗号化を詳しくかいたら暗号にならないですよね)しかし、例でこういうやり方があるんだ、というのを是非教えて下さい。 また、このよう情報を書き込むのは通常テキストファイル などでよいのでしょうか?レジストリでしょうか? レジストリなどに書き込んでいるソフトなども見られますが、一般的にはどこに書き込むものなのでしょうか?

  • ブロック暗号を使用した暗号化は行レベルロックと互換

    ファイルを排他モードで開き、パスワードを設定してokを押すと、 「ブロック暗号を使用した暗号化は行レベルロックと互換性がありません。行レベルロックは無視されます。」 と表示されますが、これはどういう意味ですか? パスワードは問題なくかかります。

  • 行の先頭に自動的に記号が付かないようにするには

    Word2010で、1行目を先頭に「1.」の文字の付いた行にして、その行の末尾で改行すると、改行した後の行(つまり、2行目)の先頭に「2.」が自動的に付きます。 「2.」が自動的に付かないようにするにはどうしたらいいでしょうか。

  • PowerShellの暗号化&複合化

    お世話になります。 タイトルにありますように、PowerShellでパスワード文字列の暗号化と、 暗号化された文字列を元の文字列に戻し、変数に持つ、という事をしたいのです。 此方のサイトを見つけまして、 http://technet.microsoft.com/ja-jp/windows/ps_tips13.aspx 真似る事で、テキストファイル内に暗号化されたパスワードを作成することが出来ました。 しかし、テキスト内に記録された文字列を、どうやって元に戻し、使うのでしょうか。 この方法は証明書を使うものでも、公開鍵を使うものでもない、 実に単純なものに思えるのですが元に戻す方法が判りません。 どうかご教授頂けますでしょうか。よろしくおねがいします。

  • WORDで文字間隔が勝手に広がってしまう

    テキストをコピー&ペーストで、WORDに貼り付けたとき、ある何行かだけが、文字間隔が極端に広がってしまいます。 その行の上の行の文字間隔は通常通りなので、その通常の行から文字を手で打ち直して、打ち直した先頭から改行してみました。ところが、改行すると、再び文字間隔が極端に広がってしまいます。 良い解決方法があったら教えてください。

  • base64後、1文字ずつ暗号化すると解読困難?

    計算コストを幾分度外視して考えると、通常の業務連絡的な内容のメールであれば、 base64を通してから1文字ずつパスワード付きでハッシュ関数に通せば パスワードがばれない限りかなり解読困難ですか? (2文字目からは暗号化後の1文字目もつける→3文字目は2文字目・・・以下末尾文字まで) またどの程度実用的でしょうか。(用途はどの程度限定されるでしょうか。) メールにGmailなどの無料Webメールしか使っていないので なるべく長持ちする暗号化として考えてみました。 回答お願いします。

  • データ暗号化のパスワードをネットに置いていいのか

    データ暗号化に4096bitの鍵を用いたとして その鍵をネット上に置いておいたら 全体として(通信経路など含めて)4096bitの強度は 実質かなり落ちるので無意味ですか? 256ibtならASCII印刷可能文字で39文字なので 無意味な文字列でも何とか覚えていられますが (SHA256を使った種パスワード方式にして、IDやEメールアドレスなど も含めて全部統一してしまえば、39文字自体は覚えづらくても それ1個だけ覚えればいいので何とかやれそうなのですが) 4096bitとなると624文字なのでちょっと無理なので・・・ なるべく全部ネットに置いておきたいのですが・・・ これはやはりどうにもならないでしょうか。

  • ワードで自動的に改行したい

    ワード2003を使用しています。一行に書ける最大文字数を超えると次の行に自動的に移りますが、この時に自動的に改行を入れることはできないでしょうか?改行がないと次の行の先頭にスペースを入れたい時に前の行の終わりにどんどんスペースが入り枠を超えてしまいます。よろしくお願いします。