高速双方向暗号化に関する提案はありますか?
-
18-09-2019 - |
質問
誰かがlong int用の高速双方向暗号化アルゴリズムを提案できますか?
私の候補者は次のとおりです。
- AES:NIST FIPS-197 によって指定された高度な暗号化標準。
- ふぐ:Bruce Schneier によって定義された Blowfish アルゴリズム。
- デス:NIST FIPS-46-3 によって定義されたデータ暗号化標準アルゴリズム。
- デセデ:NIST FIPS-46-3 によって定義された「Triple DES」アルゴリズム。
編集 -
セキュリティよりも速度が重要な要素です。実際のリクエストは、内部 Web サービス上で渡される ID を「難読化」することで、ID が公開された場合でも 1 を追加することで他の ID を推測できないようにすることでした。(自動インクリメントの Long に対する UUID キーの引数??)
解決
を使用するAES。スピードDESEDEを置き換えるために、その選択の主要な考慮事項でした。現代のPCのハードウェアでは、それはフグよりも速くなる傾向があり、標準として、特殊なハードウェアサポートを持っている可能性が高いです。
ところで、すべての暗号が長い整数を、すべての暗号化バイトのストリームは、ベース256に表される整数である。
他のヒント
公開鍵は必要ありません。要件は、マシン間で受け渡されるデータベース内の ID を暗号化することです。どちらのマシンにもソルトが含まれます
それから、 XOR
?
選択のためのあなたの主な基準は何ですか?スピードやセキュリティ?これは、暗号化事業における基本的なトレードオフです。ここでは暗号++ のベンチマーク結果のセットです。彼らはあなたのすべてを教えてくれませんが、アルゴリズムは、一般的に他のものよりも高速である伝えることができるようになります。ここではいくつかの人気のアルゴリズムホワイトペーパーです>。強度を決定することは、いくつかのアルゴリズムが自分の長所と短所はかなりよく(DES、RSAなど)が知られているという十分な注意を与えられているものの、一般的な場合に行うには非常に難しいものです。親指の通常のルールは、長いキーが大きな強みを暗示していることですが、あなたはそれで非常に注意してくださいなきゃ。私はあなたの場合には、AESやBlowfishのどちらかは大丈夫だろうと思われます。 AESは、おそらくもう少し広くサポートされますが、実際には - のいずれかは、おそらくだろう。速度が重要な要因である場合を除きDESから離れています。
、私はAESとなるだろう。
ただし、暗号文は、データベースには大きすぎるかもしれません。あなたはIV、パディングを追加した場合、それは少なくとも進で64文字です。あなたは、このような制限に走った場合は、私はここに掲載のアルゴリズムを使用することができ、
をJavaで文字列(バック)に