2011-01-01 7 views
0

セキュリティによって、エンコードされた文字列はランダムノイズと区別できず、そのため、使用されている暗号化アルゴリズムを推測したり、暗号化されたテキストに対して辞書攻撃を行うことは不可能です。これらのモードのうち、cbc、cfb、ctr、ecb、ncfb、nofb、ofb、streamのどれが安全で絶対的なno-noであるか

2番目:出力文字列の長さが入力文字列の長さに対応していないため、そのアカウントで推測することができません。

第3:提供されたパスワードが間違っていることを確認することができ、復号化機能が復号化されたランダムな文字列の代わりにfalseを返すことができます。

---編集:

0.554 : cast-128 : ctr : 8 
0.556 : gost : ncfb : 8 
0.5562 : cast-128 : ecb : 8 
0.5566 : cast-128 : ncfb : 8 
0.5579 : gost : cbc : 8 
0.5596 : gost : cfb : 8 
0.5596 : gost : ofb : 8 
0.5601 : gost : ctr : 8 
0.5613 : cast-256 : cfb : 16 
0.5621 : twofish : cbc : 16 
0.5622 : rijndael-128 : ctr : 16 
0.5632 : twofish : cfb : 16 
0.5646 : rijndael-128 : cfb : 16 
0.5656 : rijndael-128 : ofb : 16 
0.5657 : rijndael-128 : ncfb : 16 
0.5658 : loki97 : cbc : 16 
0.5663 : gost : ecb : 8 
0.5667 : cast-128 : cfb : 8 
0.5674 : cast-128 : ofb : 8 
0.5675 : rijndael-128 : ecb : 16 
0.5684 : loki97 : ctr : 16 
0.5684 : rijndael-128 : nofb : 16 
0.5686 : loki97 : ecb : 16 
0.5688 : loki97 : cfb : 16 
0.5692 : gost : nofb : 8 
0.57 : saferplus : ecb : 16 
0.5701 : cast-256 : nofb : 16 
0.5704 : loki97 : ncfb : 16 
0.571 : twofish : ncfb : 16 
0.5719 : cast-256 : ecb : 16 
0.5728 : cast-256 : cbc : 16 
0.573 : twofish : ofb : 16 
0.5731 : cast-256 : ofb : 16 
0.5737 : loki97 : nofb : 16 
0.5741 : saferplus : ctr : 16 
0.5748 : twofish : ecb : 16 
0.575 : rijndael-192 : cfb : 24 
0.5759 : cast-256 : ctr : 16 
0.5769 : cast-128 : nofb : 8 
0.5776 : saferplus : ofb : 16 
0.5778 : saferplus : ncfb : 16 
0.5778 : twofish : nofb : 16 
0.5783 : rijndael-128 : cbc : 16 
0.5795 : rijndael-192 : ecb : 24 
0.5801 : rijndael-192 : cbc : 24 
0.5808 : rijndael-192 : nofb : 24 
0.5809 : saferplus : cbc : 16 
0.581 : saferplus : nofb : 16 
0.5829 : rijndael-192 : ctr : 24 
0.5837 : serpent : ctr : 16 
0.5845 : cast-256 : ncfb : 16 
0.5856 : xtea : ecb : 8 
0.5857 : serpent : cbc : 16 
0.5859 : xtea : ctr : 8 
0.5863 : saferplus : cfb : 16 
0.5877 : twofish : ctr : 16 
0.5881 : xtea : nofb : 8 
0.5887 : xtea : ofb : 8 
0.5891 : cast-128 : cbc : 8 
0.5892 : xtea : ncfb : 8 
0.5895 : rijndael-192 : ncfb : 24 
0.5913 : serpent : cfb : 16 
0.5918 : serpent : ofb : 16 
0.5934 : rijndael-256 : ecb : 32 
0.5935 : rijndael-256 : cbc : 32 
0.5936 : serpent : nofb : 16 
0.5943 : loki97 : ofb : 16 
0.595 : rijndael-192 : ofb : 24 
0.5958 : rijndael-256 : ctr : 32 
0.596 : blowfish-compat : cbc : 8 
0.5962 : serpent : ecb : 16 
0.5972 : rijndael-256 : cfb : 32 
0.5976 : rijndael-256 : ncfb : 32 
0.5977 : xtea : cbc : 8 
0.5982 : rc2 : ctr : 8 
0.5989 : blowfish-compat : cfb : 8 
0.599 : rc2 : cfb : 8 
0.6 : des : cfb : 8 
0.6002 : rc2 : nofb : 8 
0.6009 : blowfish-compat : ctr : 8 
0.6013 : rc2 : cbc : 8 
0.6021 : rc2 : ncfb : 8 
0.604 : rijndael-256 : nofb : 32 
0.6043 : blowfish-compat : ncfb : 8 
0.6043 : des : nofb : 8 
0.6055 : des : ecb : 8 
0.607 : blowfish : cbc : 8 
0.6078 : rc2 : ecb : 8 
0.6081 : blowfish-compat : nofb : 8 
0.6081 : des : cbc : 8 
0.6093 : blowfish : ecb : 8 
0.6098 : des : ofb : 8 
0.6105 : blowfish : cfb : 8 
0.6113 : blowfish-compat : ofb : 8 
0.6137 : rc2 : ofb : 8 
0.6139 : xtea : cfb : 8 
0.6141 : serpent : ncfb : 16 
0.6144 : des : ctr : 8 
0.6174 : blowfish : ofb : 8 
0.6184 : blowfish : ncfb : 8 
0.6218 : des : ncfb : 8 
0.6228 : blowfish-compat : ecb : 8 
0.6228 : rijndael-256 : ofb : 32 
0.6253 : blowfish : nofb : 8 
0.628 : blowfish : ctr : 8 
0.6343 : tripledes : ctr : 8 
0.6356 : tripledes : cfb : 8 
0.6365 : tripledes : cbc : 8 
0.6367 : tripledes : ncfb : 8 
0.6368 : tripledes : ecb : 8 
0.647 : tripledes : ofb : 8 
0.6582 : tripledes : nofb : 8 

最も安全になり、上から下に行く:これはエンコードされたアルゴリズムとモードのペアを与えられたどのくらいの速ですか?

+0

ここで私は答えを見つけました:http://stackoverflow.com/questions/1220751/how-to-choose-an-aes-encryption-mode-cbc-ecb-ctr-ocb-cfb – rsk82

答えて

0

ここをクリックしてください:http://en.wikipedia.org/wiki/Block_cipher_modes_of_operatioいくつかの背景です。

これはすべて実際に依存します。いくつかはよく知られている欠点を持っています。あなたは実際に組み合わせの暗号/連結とその使い方の詳細を見なければなりません。

"カジュアルユース"の場合、ブロック暗号モードはクリッピングシステムの中で最も敏感な部分ではないと主張できます。

いくつかは例えば、あなたがストリーム暗号にブロック暗号を有効にしたい場合にのみ役立ちます。

  • CTR
  • CFB
  • OFBので

あなたがする必要がある場合を除きそれはあなたには役に立たない。

ECBは最も単純ですが、主な欠点は、等しい平文ブロックが同じ暗号文になることです。最近はそれを使用する理由はほとんどありません。

Adressingあなたのポイント:

  1. が本当にブロック暗号モードに依存しません。 saltを使用するか、事前計算されたテーブル攻撃を避けるためにパスワードをN回暗号化することができます。

  2. 発生しません。入力は、暗号化の前

  3. に水増しされ...あなたが何を意味するかわからない

編集:私はあなたがする必要がない場合は車輪の再発明をしていない、ユージンに同意します!

+0

私はどのようにしてPGPを使用できますか? PHP?それは2つの異なることです。 PHPでは、mcryptを使ってタグを調べる必要があります。 – rsk82

+0

@ user393087あなたの場合、「必須」とは何ですか?これはあなたに与えられた要件ですか、それともあなたが決めた人ですか、mcryptを使用する必要があるのですか? mcryptはライブラリであり、OpenPGPはいくつかのライブラリを使用して実装されたテクノロジです(ただしこれは別の問題になるはずです)。ここでは1つのオプションについて説明します:http://devzone.zend.com/article/1265 –

2

第2:これは意味をなさない。あなたは4バイトの暗号化の結果が4メガバイトの暗号化の結果と異なることを認識していますか?暗号化されるデータには一定のバイト数が付加され、その後すべてが暗号化されます(パスワードを暗号化する場合など)。しかし、もう一度、4バイト長のパスワードと48バイトの長さのパスフレーズの暗号化に違いがあります(64バイトまでのパディングを使用しない限り、アイデアは得られます)。

第3:ハッシュがこのために使用されます。私。暗号化されたデータに元のデータ(または追加データ)のハッシュを含めます。解読後、ハッシュは再計算され、格納されたハッシュと比較される。比較ではタイミング攻撃が可能であるため、比較を適切に実装する必要があります。

一般的には、ホイールを再発明しようとしています。安全な鍵(またはパスワード)を使用してデータを暗号化するだけの場合は、OpenPGPを使用してください。強力な暗号化を再構築しながら、あなたが求めてきたすべての質問を解決します。 OpenPGPでは、暗号化に単純なパスフレーズを使用できます。

関連する問題