64 バイト、各バイトは 8 ビット + 1 パリティ ビット LRC チェック バイト (64 バイトすべてをビットごとに XOR することによって形成) 64 + 8 バイトは、バイト ワードあたり 1 パリティ ビットとして使用されます。したがって、各ブロックには 64 データ + 9 パリティ バイトが含まれます。
ビットがブロックのパリティビットでない場合、LRCはブロックが不良であることを通知します(大きな仮定)。どのバイトが不良であるかを知っているので、共感を計算できます。いくつかの異なるビットをブルートフォースして、lrcと両方を修正できます。両方が一致するまでのバイトですが、単一の lrc は、一致する組み合わせを取得する可能性が 1/256 であることを示すだけなので、「固定」の基準を満たす数学データのセットを取得します。
ファイルの種類がわかっている場合は、データ回復の可能性が向上します。たとえば、ファイルの種類がテキストであることがわかっている場合、バイト 5 は大文字または小文字であり、英数字および一般的な文字の領域にない数字は無視される可能性があります。
そうです、技術的には、このようなスキーマを使用してブルート フォース データを元の状態に戻すことが可能です。
これを行うことにした場合は、64 ブロックあたり 50 バイトのデータとしてブロックすることから始めることをお勧めします。これにより、数学モデルを実装するための 14 バイトのパリティが残ります。14/64 は 16/64 に近いか、ブロックに含まれるバイトの 1/4 はレスキュー用です。
データ セットの 1/4 が失われますが、ある程度の安定性が得られます。あなたの例 9/71 では、データの約 13% が使用されています。
以前、データ リカバリでこのようなブルート フォース データ セットを使用したことがありますが、ほとんどの場合、成功したと判断することは不可能です。
たとえば、1 メガバイトのファイルがあり、パリティに対する共感が 4 つの領域で損なわれているとします。これは MP4 ファイルまたは zip ファイルであり、非常に損傷が深刻です。
損傷が 1 ブロックあたり 1 ビットに制限されていて、ファイルを修復できる可能性が高い場合。ブロックごとに 2 ビットと言う場合、ブロックごとに 2 つの領域が破損し、可能性のあるファイルに対して 8 乗のシーケンスが得られることがわかります。64 個のファイルを生成し、それぞれを解凍しようとすることもできますが、損傷が 1 ブロックあたり 3 ビットであるとすると、8 立方体になっている可能性があります。
このようなものを力ずくで修復することは可能であり、私は緊急時にそうしましたが、成功は限られていました.