TripleDES をチェックアウトしました。ブロックサイズは64ビットです。
8 ビット ブロック サイズのアルゴリズムはありますか?
ありがとう
編集:私はこれを完全な保護のために使用するつもりはありませんが、コードを見た人が平文を見つけてはならない場合に備えて使用します。だから、8ビットは私にとってはちょっと大丈夫です。
TripleDES をチェックアウトしました。ブロックサイズは64ビットです。
8 ビット ブロック サイズのアルゴリズムはありますか?
ありがとう
編集:私はこれを完全な保護のために使用するつもりはありませんが、コードを見た人が平文を見つけてはならない場合に備えて使用します。だから、8ビットは私にとってはちょっと大丈夫です。
8 ビット ブロックのブロック暗号は、各入力ブロックを 256 の可能な値に暗号化できることを意味します。これは、攻撃者が入力値を推測する可能性が 1/256 であることを意味します。このようなアルゴリズムを安全に使用することは非常に困難であることが判明しました。それにもかかわらず、8 ビット ブロックでブロック暗号を定義し、それを「完全に」実行することは可能です。一般的に役立つとは思わないでください。
また、データを「バイトごと」(または「ビットごと」) に暗号化する「ストリーム暗号」として知られる「ブロックレス」暗号もあります。ほとんどは、キーから任意の量のバイトを生成する単なる疑似乱数ジェネレーターです。その生成されたストリームは、XOR で暗号化するデータと結合されるだけです。従来のストリーム暗号は RC4 です。しかし、より新しく優れたストリーム暗号が設計されています。
ブロック暗号は、それ自体が数学的ツールです。実際にデータを暗号化するには、ブロック暗号を適切に使用する必要があります。キーワードはchainingとpaddingです。チェーン化とは、実際にブロック暗号に入るものと、出力をどうするかを定義することです。パディングとは、可逆的な方法でデータにバイトを追加することであり、パディングされたメッセージの長さが選択された連鎖モードに適したものになります。従来の連鎖モードはCBCと呼ばれます。新しい (そしておそらくより優れた) 連鎖モードは CTR (同じリンク) で、パディングの必要性を回避するという追加のボーナスがあります (CTR はブロック暗号をストリーム暗号に変えるだけです)。
ブロック暗号に関しては、TripleDES の代わりにAESを使用する必要があります。それはより速く、より安全で、現在のアメリカの標準です.
8ビットキーのRSA :)
ただし、ブロックベースの暗号はステートレスです。ブロックの暗号文は、前のブロックではなく、ブロックの平文のみに依存します (そうでなければ、ストリーム暗号になります)。8 ビット ブロックで動作するブロック サイファーは簡単にブルート フォースされる可能性があるため、意味がありません。