高速双方向暗号化の提案は?

algorithm encryption long-integer

誰かが長いintのための速い双方向の暗号化アルゴリズムを提案できますか?

私の候補者は:

  • AES:NIST FIPS-197で規定されているAdvanced Encryption Standard。

  • BLOWFISH:Bruce Schneierによって定義されたBlowfishのアルゴリズム。

  • DES:NIST FIPS-46-3で定義されているデータ暗号化規格アルゴリズム。

  • DESEDE:NIST FIPS-46-3によって定義された「トリプルDES」アルゴリズム。

*編集 – *

速度はセキュリティよりも重要な要素です。 実際の要求は、内部Webサービスを介して渡されるIDを「難読化」することでした。したがって、IDが公開されたことがある場合は、1を追加して他のIDを推測することはできません。 (自動インクリメントロングに対するUUIDキーの引数??)

  0  0


ベストアンサー

AESを使用してください。 DESEDEを置き換えるための選択において、スピードが大きな考慮事項でした。 最近のPCハードウェアでは、Blowfishよりも高速になる傾向があり、標準的には、特殊なハードウェアサポートがある可能性が高くなります。

ちなみに、すべての暗号は長整数を暗号化します。バイトのストリームはすべて整数で、256進数で表されます。

2


_
公開鍵は必要ありません。 要件は、データベース間のIDをマシン間で渡すときに暗号化することです。 両方のマシンに塩があります
_

次に、 + XOR +

1


あなたの選択基準は何ですか? スピードかセキュリティか それが暗号化ビジネスにおける基本的なトレードオフです。 これは 暗号のベンチマーク結果のセットです。 それらはあなたにすべてを伝えるわけではありませんが、どのアルゴリズムが一般的に他のものより速いかを知ることができるでしょう。 これが いくつかの一般的なアルゴリズムの相対的な強さについて議論するホワイトペーパーです。 強度を決定することは一般的な場合に行うのが非常に難しいことですが、いくつかのアルゴリズムはそれらの長所と短所がかなりよく知られているという十分な注意が払われています(DES、RSAなど)。 慣習的な経験則では、キーが長いほど長所が大きいことを意味しますが、それには細心の注意を払う必要があります。 私はあなたの場合、AESかBlowfishのどちらでも大丈夫だろうと思います。 AESはおそらく多少広くサポートされるでしょうが、実際に – どちらもおそらくサポートするでしょう。 速度が重要な要素でない限り、DESから離れてください。

1


セキュリティがあなたの主な関心事であるならば、私はAESと行きます。

ただし、暗号文はデータベースには大きすぎる可能性があります。 あなたがIV、パディングを追加する場合、それは少なくとも16進数で64文字です。 このような制限に遭遇した場合は、ここに掲載したアルゴリズムを使用できます

1


タイトルとURLをコピーしました