(57)【要約】  識別署名を生成し、検出及び訂正剰余と組み合わせて、何らかの情報保証方法の既存の機能を拡張するソースデータセットの完全性を識別及び保護する方法。
2013523043.tif 000002
【特許請求の範囲】
【請求項１】
ソースデータセットの完全性を識別及び保護する方法であって、
（ａ）ソースデータの変換済みセットを生成するために、前記ソースデータに変換を通過させるステップと、
（ｂ）ソースデータの中間セットを生成するために、歪み関数を用いて前記ソースデータの変換済みセットを歪ませるステップと、
（ｃ）剰余を生成するために、前記ソースデータの中間セットをＥＤＡＣアルゴリズムに通過させ、符号化されたソースデータのセットを生成するために、前記剰余を前記ソースデータセットに付加するステップと、
を含む方法。
【請求項２】
第２の剰余を生成するために、前記符号化されたソースデータのセットを第２のＥＤＡＣアルゴリズムに通過させ、前記第２の剰余を前記符号化されたソースデータのセットに付加するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記変換が、２ビット回転を含むインタリーバを含む、請求項１に記載の方法。
【請求項４】
ステップ（ｂ）の前記歪み関数が、前記ソースデータの変換済みセットと２進パターンとの間での排他的ＯＲ演算を含む、請求項１に記載の方法。
【請求項５】
前記ソースデータセットが、組み込まれたソースデータセットである、請求項１に記載の方法。
【請求項６】
前記剰余が、前記ソースデータセットの組込みに先立って計算される、請求項５に記載の方法。
【請求項７】
前記変換が、フォーニーインタリーバを含むインタリーバを含む、請求項１に記載の方法。
【請求項８】
前記変換が、直列／並列データ変換器を含むインタリーバを含み、前記直列／並列データ変換器の出力が十字交叉配線マトリクスによってインタリーブされる、請求項１に記載の方法。
【請求項９】
前記変換が、直列／並列データ変換器を含むインタリーバを含み、前記直列／並列データ変換器の出力がＮ×ＮのＦＬＡＳＨメモリによってインタリーブされる、請求項１に記載の方法。
【請求項１０】
前記変換が、直列／並列データ変換器を含むインタリーバを含み、前記直列／並列データ変換器の出力がＮ×ＮのＲＡＭメモリによってインタリーブされる、請求項１に記載の方法。
【請求項１１】
前記２進パターンが、Ｎ×ＮのＲＡＭメモリから抽出される、請求項４に記載の方法。
【請求項１２】
前記変換が、アフィン変換を含む、請求項１に記載の方法。
【請求項１３】
前記変換が、非公理的変換を含む、請求項１に記載の方法。
【請求項１４】
前記変換が、逆関数なし、剛体運動の保持なし、及びLangGanong変換行列の変換からなるグループから選択される、請求項１に記載の方法。
【請求項１５】
前記ＥＤＡＣアルゴリズム及び前記第２のＥＤＡＣアルゴリズムが同じである、請求項２に記載の方法。
【請求項１６】
前記ＥＤＡＣアルゴリズム及び前記第２のＥＤＡＣアルゴリズムが異なる、請求項２に記載の方法。
【請求項１７】
前記第１のＥＤＡＣアルゴリズムが第１の多項式を含み、前記第２のＥＤＡＣアルゴリズムが前記第１の多項式とは異なる第２の多項式を含む、請求項１６に記載の方法。
【請求項１８】
前記ＥＤＡＣアルゴリズムが、ＣＲＣアルゴリズム、リードソロモン符号化、ビタビ符号化、ターボ符号化、ＭＤ５アルゴリズム、及びＳＨＡ−１ハッシュアルゴリズムからなるグループから選択される、請求項１に記載の方法。
【請求項１９】
ステップ（ａ）及び（ｂ）がプログラム可能である、請求項５に記載の方法。
【請求項２０】
前記剰余が、周期的に検証される、請求項１７に記載の方法。
【請求項２１】
前記剰余が非周期的に検証される、請求項１７に記載の方法。
【請求項２２】
前記剰余を再計算するステップと、前記剰余の再計算された値とステップ（ｃ）で計算された前記剰余の値とを比較するステップと、前記剰余と前記剰余の再計算された値とオリジナルの剰余の値とが同じでないことを示す比較のインジケータを提供するステップとを含む、前記ソースデータの完全性を検証するステップをさらに含む、請求項１に記載の方法。
【請求項２３】
前記剰余をシンクに提供するステップをさらに含む、請求項２２に記載の方法。
【請求項２４】
前記シンクが、表示手段、シリアルバス上への配置、パラレルバス上への配置、及び制御論理からなるグループから選択される、請求項２３に記載の方法。
【請求項２５】
要求に応答して前記剰余を提供するステップをさらに含む、請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソースデータセットの完全性を識別及び保護する方法に関し、特に、改善された識別及び保護を含めるように誤り検出及び訂正方法の機能を拡張する上記方法に関する。
【背景技術】
【０００２】
W. W. Petersonが、１９６２年のScientific Americanにおいて発言した「誤りの無い性能はあらゆる良好な通信システムの目標である」は、今もなお自明の理である。それにもかかわらず、グローバルビジネスモデルでは、ａ）設計を変更し、ｂ）ハードウェアをいじり、ｃ）スプーフィング（ｓｐｏｏｆｅｄ）されたソフトウェアをミッションクリティカルかつセーフティクリティカルなシステム内に含めるという根本的に異なる悪意ある攻撃が出現している。従来、典型的な誤り検出及び訂正（ＥＤＡＣ）技術は、これまで、特に組み込まれたシステム内のブートファームウェアを保護する場合、データ転送に関する未検出の（ランダムな）誤りしきい値の指定された確率を満たすのに概ね適していた。しかし、現在の市場では、外部委託されたシステム開発及びデータ配信における識別、完全性、及びセキュリティの問題に対処するために、これらのアルゴリズムをさらに強化する必要がある。サイバー攻撃によるシステム及びデータの意図的な破壊を検出、訂正、追跡、又は反撃の問題は、特に懸念される。Petersonは「ノイズ」からの保護について語ったが、現在では、重要な環境におけるインテリジェント攻撃からの保護を含めなければならない。物理的セキュリティの喪失を切り抜けるためには、これらの重要な環境を強化しなければならない。様々なレベルのニーズに応えて、数多くの技術が調整されてきた。一般に、最も重要なデータの安全性を守るためには暗号化が使用されるが、暗号化を使用しない体系的符号化を通じたデータの保護（又は改竄検出）が適所に必要である。幾つかの二重冗長システムは、厳しいリアルタイムのスタートアップ及び応答要件を有する。悪意ある攻撃に対処するためのＥＤＡＣ処理又は追加のセキュリティアルゴリズムに対するいずれの拡張も、依然としてタイミング要件を満たしていなければならない。
【０００３】
潜在的なブートファームウェアのセキュリティ侵害に応答して、幾つかのコンピューティングデバイスは、ブートファームウェアが信頼できるソースからのものであることを保証するためのセキュリティ手段を提供する。これらのセキュリティ手段は、関連するブートファームウェアのソースを一意的に識別するデジタル署名に依拠する。コンピューティングデバイスは、ファームウェアを識別するためにデジタル署名を復号し、署名と既知の値との比較に基づいてブートを受け入れるか又は拒否することができる。この方法の問題点は、設計に対する悪意ある攻撃の場合、算出された値に合致するように既知の値を容易に修正できることである。他の欠点は、コンピューティングデバイスが、インストール後１回のみ、又はブート時にのみ、ファームウェアを検証することであろう。ブート後、ファームウェアは動的に変更されていないものと想定される。これらの脅威は、受動的なセキュリティ手段では防げない。
【０００４】
誤り制御符号化における進化により、デジタル情報の格納及び転送において、それらをユビキタスに使用できるようになった。このデジタル情報の例には、電話、インターネット、ＤＶＤ、電子商取引、ディスクドライブ、ＩＳＢＮ番号、ＵＰＣコード、及びＲＦＩＤタグなどが含まれる。
【０００５】
従来技術では、誤り制御符号化の一部の汎用抽象化が与えられている。従来技術の基本的な例である図１−ａでは、ソースデータがＥＤＡＣ符号器に入り、符号化された後、チャネルを介して伝送又は転送される。チャネル後、データシンク端部で、符号化されたデータはＥＤＡＣ復号器によって誤りをチェックされる。１つのタイプのシステムは、誤りが検出された場合、この基本設計を使用して再試行要求に応答する。他のタイプでは、誤りは復号器によって訂正される。どちらのタイプのシステムも、検出可能、訂正可能、検出不能、及び訂正不能な誤りの数及びタイプに関して制限を有する。これらのタイプのＥＤＡＣシステムは、一般にサイバー攻撃から保護するようには設計されず、ランダム又はバースト誤り、又はランダム及びバースト誤りの何らかの組合せを処理するように設計される。
【０００６】
従来技術の図１−ｂは、暗号の符号化及び復号を追加することによって、データセキュリティを追加する。当分野で周知のように、何らかの性能及びサイズの制限は、圧縮段階を暗号化に先行させることによって改善される。典型的には、これらのステップはＥＤＡＣ段階のみよりもかなり時間のかかるものであり、関連するリスクに関する一部のリアルタイムの組込みシステムでは非実用的である。
【０００７】
当分野には、上記基本例及び他の複雑な例に対する変形、又は、連結、インタリーブ、冗長性、及びフィードバックを通じた組合せを示す他の例が存在する。これらの変形を使用すると、誤り訂正後、１０−１８程度の未検出誤りの確率を誇るディスクドライブにつながる。
【０００８】
幾つかの用途では、非常に小さい未検出誤りの確率が要求される。最も重要な航空電子工学の用途の場合、未検出誤りの確率が１０−９であること、さらに単一障害点(single point of failure)がないこと、及びハードウェアシステムに対する共通原因がないこと、という要件が存在する。同様の重要なソフトウェアシステムの場合、１０−９以外の「レベルＡ」と呼ばれる目的を満たし、さらに他の要件も満たすことが必要となる。
【０００９】
重要な航空電子工学ソフトウェアシステムのエンドツーエンドライフサイクルにおいて、サイバー攻撃からの保護レベルにおける潜在的ギャップが存在することが指摘されている。このギャップを保護するための解決策は、開発時にブートコードイメージ９０２に接続されるＥＤＡＣ符号器剰余（remainder）の信頼性(dependability)である。図７の９０４を参照されたい。
【００１０】
様々な物理層及びデバイスに強力な保護を提供することによって、データのライフサイクルに対してより高レベルでの脅威の出現からの適切なデータのエンドツーエンド保護が生じると想定される場合、追加の軽減手順が必要である。ここでも、実際の部分的解決策は、ソース側のデータに十分な保護を追加し、データの存続期間中、これを追加したままにして、その間チェックすることである。上述のように、保護のためにＥＤＡＣのみに依存することでは、新しい脅威という点から見ると、重要なシステムにとってもはや十分ではないが、いずれの解決策も通常通り、簡単、安価、適切、及び迅速でなければならない。
【００１１】
１９７４年１月１５日出願の米国特許第３，７８６，４３９号で、McDonaldは、「誤り検出は、複数の独立した誤りコードを、異なる誤りコードに適用されるデータフィールド内の非線形変更と組み合わせて使用することによって、強化される。」という新しいアイデアを紹介した。これは、後に「複数の独立したコード間でトラックと誤りコードの関係をスクランブルすること」によって、非線形置換を使用するものであると言われた。非線形の定義は明示的に定義されていないが、後の説明では、周期的な置換を行わないことを意味しているようである。これは、「．．．第２の非線形関連データフィールドを生成する」及び「２つのコード間に非線形差異を伴うと、２つのコードの同じ数学的サブフィールド内にある誤り条件の確率がかなり遠くなるという点で、高度な信頼性が与えられる」という文で、１つのＥＣＣ−３がすべてのデータをエンドツーエンドでカバーしながら、データセットをサブセットに分割することを示している。その後、多項式のそれぞれが１＋ｘ項を有することが示されている。特許請求の範囲では、方法に従うことは「第１及び第２のセット内に誤りを含めないことによる第１及び第２のセットより少ない誤りの第３のセット．．．」を示すことになる。
【００１２】
McDonaldに続き、Rhines他は、１９９５年２月２１日出願の米国特許第５，３９２，２９９号で、３重の直交インタリーブした誤り訂正システムのアイデアを紹介した。このシステムは、手元のチャネルに対して調整されるランダム及びバースト強化された保護のためのものである。スクランブリングは固定され、この方法には３つの部分の直交するインタリーブが必要である。直交の定義は、バースト誤りに対する保護を強化するための「シャッフル」である。後に、含まれる誤りに対して追加の保護を提供するために、符号化の前又は後にインタリーブプロセスを使用することが当分野では周知であると述べている。インタリーブは、バースト誤りに対して保護するために連続バイトが互いに分離されるプロセスであるものと定義される。
【００１３】
１９９７年９月３０日出願の米国特許第５，６７３，３１６号では、Auerbach他が、保護されるそれぞれの部分が暗号化された、情報部分の集合である暗号エンベロープの作成及び分散について説明している。
【００１４】
「Factoring Large Numbers with the TWINKLE Device」の要約で、Adi Shamirは「ＲＳＡ公開キー暗号システムのセキュリティは、２つの等しいサイズの素数ｐ及びｑの積である大きな数ｎの因数分解の困難さに依存する」と述べている。彼はまた「大きなＲＳＡキーの因数分解における現在の記録は４６５ビット数の因数分解であり．．．「ＴＷＩＮＫＬＥ」技術は、１００から２００ビットごとに因数分解可能な数のサイズを増やすことができ．．．」及び「．．．５１２ビットのＲＳＡキー（現在のインターネット上での電子商取引の９５％を保護する）を非常に脆弱なものにし得る」とも述べている。
【００１５】
１９９６年のBerrouによる論文では、「２）不均一なインタリーブ：図５に示されるような最も短い距離を与えるパターンが、分離可能なＦＣ（有限コードワード−０からの有限距離）パターンを分離不能又は非ＦＣに変換するために、適切な不均一なインタリーブによって「分割」できることは明白である。」と述べている。「不均一なインタリーブは、通常のインタリーブにあるようなデータの最大の散乱と、インタリーブされたデータシーケンスにおける最大の無秩序という２つの主な条件を満たさなければならない。後者は前者と競合し得るものであり、できる限り多様な２つの符号器による冗長性を生じさせるものである。」
【先行技術文献】
【特許文献】
【００１６】
参照文献
米国特許参照文献
【特許文献１】米国特許第３，７８６，４３９号    １９７４年１月１５日    McDonald他
【特許文献２】米国特許第５，３９２，２９９号    １９９５年２月２１日    Rhines他
【特許文献３】米国特許第５，４４６，７４７号    １９９５年８月２９日    Berrou
【特許文献４】米国特許第５，６７３，３１６号    １９９７年９月３０日    Auerbach他
【特許文献５】米国特許第４，８２１，２６８号    １９８９年４月１１日    Berlekamp他
【特許文献６】米国特許第４，６３３，４７０号    １９８６年１２月３０日  Welch他
【特許文献７】米国特許第７，６７２，４５３号    ２０１０年３月２日      Matolak
【非特許文献】
【００１７】
その他の参照文献
【非特許文献１】[1] Cryptography and Decoding Reed-Solomon Codes as a Hard Problem, A. Kiayias, M. Yung, IEEE, 2005, 0-7803-9491-7/05.
【非特許文献２】[2] Keying Hash Functions for Message Authentication, M. Bellare, et al., Advances in Cryptography - Crypto 96 Proceedings, June 1996.
【非特許文献３】[3] Near Optimum Error Correcting Coding And Decoding: Turbo-Codes, C. Berrou, IEEE, 1996, 0090-6778/96.
【非特許文献４】[4] Factoring Large Numbers with the TWINKLE Device (Extended Abstract), A. Shamir, The Weizmann Institute of Science.
【非特許文献５】[5] A New Program for Computing the P-Linear System Cardinality that Determines the Group of Weil Divisors of a Zariski Surface, C. Rogers, University of Kansas, 1995.
【非特許文献６】[6] Scientific American, vol. 206 #2, Feb. 1962, pp. 96-108.
【非特許文献７】[7] Choosing a CRC & Specifying Its Requirements for Field-Loadable Software, C. Rogers, IEEE, 2008, 978-1 -4224-2208-1/08.
【非特許文献８】[8] Proposing Improvements to Avoid the CRC Compromise and the Silent Specification, C. Rogers, IEEE, 2009, 978-1-4244-4078-8/09.
【発明の概要】
【発明が解決しようとする課題】
【００１８】
本発明は、ソースデータセットの完全性を識別及び保護する方法である。ソースデータは、ソフトウェア又は伝送データの形態を取るものとすることができる。ステップ（ａ）及び（ｂ）がプログラム可能である。ソースデータは、完全に又は部分的にハードウェアに組み込んでもよい。
【課題を解決するための手段】
【００１９】
本発明の実施形態は、以下のステップを含むことができる。
（ａ）ソースデータの変換済みセットを生成するために、ソースデータに変換を通過させるステップ
（ｂ）ソースデータの中間セットを生成するために、歪み関数を用いてソースデータの変換済みセットを歪ませるステップ
（ｃ）剰余を生成するために、ソースデータの中間セットにＥＤＡＣ（誤り検出及び訂正）アルゴリズムを通過させるステップ、及びソースデータの符号化セットを生成するために、剰余をソースデータセットに付加するステップ
【００２０】
代替実施形態では、上記方法は、第２の剰余を生成するために、ソースデータセットに第２のＥＤＡＣアルゴリズムを通過させるステップと、第２の剰余をソースデータの符号化セットに付加するステップとを含むこともできる。
【００２１】
組込みシステムの場合、ソースデータセットを組み込む前に、ビルドコンピュータなどによって、一方又は両方の剰余を算出することができる。
【００２２】
ＥＤＡＣアルゴリズムは、通常、ソースデータを符号化し、ソースデータ内の意図的又は偶発的な変更をユーザに警告するように働く剰余を生成する。本発明の実施に好適な、多くのＥＤＡＣアルゴリズムが知られている。ＥＤＡＣアルゴリズム、及び使用される場合は第２のＥＤＡＣアルゴリズムは、同じか又は異なるものとすることができる。ＥＤＡＣアルゴリズムは、通常、多項式除数（polynomial divisor）を使用して動作する。ＥＤＡＣアルゴリズムは、異なる多項式を使用することができる。従来技術で既知のＥＤＡＣアルゴリズムの例には、ＣＲＣアルゴリズム、リードソロモン符号化、ビタビ符号化、ターボ符号化、ＭＤ５アルゴリズム、及びＳＨＡ−１ハッシュアルゴリズムなどが含まれる。
【００２３】
簡単なタイプの変換の１つがインタリーバである。当分野では多くのタイプのインタリーバが知られている。インタリーバはソースデータの部分の相対的な位置を変更する。米国特許第５，３９３，２９９号に示されるように、結果をオリジナルに対して垂直にするためにインタリーブを選択することができる。さらに、インタリーバは、ビットペア２の位置をスワップする（「２ビット回転」）ように簡単なものとすることができる。選択された多項式に応じて、２ビット回転はアフィン変換（affine transformation）とみなすことができる。インタリーバは、より大きなデータブロックで、より複雑に動作することもできる。従来技術のインタリーバは、いわゆるフォーニー(Forney)インタリーバである。インタリーバは、完全に又は部分的にハードウェア内に実装することができる。例えばインタリーバは、その出力が十字交差配線マトリクス(criss-cross wiring matrix)によってインタリーブされる直列／並列データ変換器を含むことができる。インタリーバは、その出力がＮ×ＮのＦＬＡＳＨメモリ又はＮ×ＮのＲＡＭメモリによってインタリーブされる直列／並列データ変換器として実装されることもできる。変換は、例えばソースデータで非直交変換を実行するアフィン変換を実行することによって、ソフトウェアで実施することもできる。他のこのような変換は、逆関数なし、剛体運動の保持なしの変換、又はLangGanong変換、又は非公理的（non-axiomatic）変換を含むことができる。
【００２４】
歪み関数の１つの例には、変換済みソースデータセットと２進パターンとの間での排他的ＯＲ演算を含むことができる。この２進パターンは、Ｎ×ＮのＲＡＭメモリから抽出してもよい。
非公理的変換の１つのタイプには、変換の一部としての歪み関数が含まれる。一例がｍ要素からｎ要素へのマッピングであり、ここでｍ＜ｎ又はｍ＞ｎである。幾つかの実施形態では、この方法は、一方又は両方の剰余を再計算すること、再計算された剰余の値とオリジナルの剰余の値とを比較すること、再計算された剰余の値とオリジナルの剰余の値とを比較し、両方の剰余セット間の比較が同じでない場合、インジケータを提供することによって、ソースデータの完全性を検証するステップも含むことができる。剰余は、周期的又は非周期的に検証してもよい。剰余の値は、表示手段へ、シリアルバス上への配置によって、パラレルバス上への配置によって、又は制御論理へ提供してもよい。剰余の値は、要求に応答して提供することができる。
【図面の簡単な説明】
【００２５】
【図１−ａ】従来技術におけるデジタル通信システムの基本要素を示す図である。
【図１−ｂ】従来技術におけるデジタル通信システムのより包括的な要素を示す図である。
【図１−ｃ】本発明のＩＤＡＣ符号器及びＩＤＡＣ復号器要素の構成を示す図である。
【図１−ｄ】ＥＤＡＣ１符号器、ＥＤＡＣ２符号器、及びＩＤＡＣ符号器の他の構成要素を示す図である。
【図２】ＩＤＡＣ符号器の実施形態におけるＥＤＡＣ符号器の「Ｔ」コピーを示す図である。
【図３】ＥＤＡＣ１復号器、ＥＤＡＣ２復号器、及びＩＤＡＣ復号器の他の構成要素を示す図である。
【図４】チャレンジ構成要素を備えた２つのＩＤＡＣ復号器の二重冗長実施形態(dual redundant embodiment)を示す図である。
【図５−ａ】ＩＤＡＣ符号器又はＩＤＡＣ復号器の公開又は秘密変換ブロックの内訳を示す図である。
【図５−ｂ】フォーニーインタリーバを使用したＩＤＡＣの変換関数ブロックの一実施形態を示す図である。
【図５−ｃ】「ワイヤ」インタリーバ周辺で直列／並列及び並列／直列変換器を使用したＩＤＡＣの変換関数ブロックの他の実施形態を示す図である。
【図５−ｄ】「ワイヤ」インタリーバを使用したＩＤＡＣの変換関数ブロックのさらに他の実施形態を示す図である。
【図５−ｅ】１ビットスタックを使用したＩＤＡＣの変換関数ブロックの他の実施形態を示す図である。
【図５−ｆ】Ｎ×ＮのＦＬＡＳＨ又はＲＡＭを使用したＩＤＡＣの変換関数ブロックの他の実施形態を示す図である。
【図５−ｇ】LangGanong変換を使用することによる、ＩＤＡＣの変換関数ブロックと歪み関数ブロックとの組合せを示す図である。
【図５−ｈ】ＩＤＡＣの実施形態における非公理的変換を示す図である。
【図６−ａ】Ｎ×ＮのＦＬＡＳＨ又はＲＡＭを使用したＩＤＡＣの歪み関数ブロックの実施形態を示す図である。
【図６−ｂ】非可逆であり、１対１ではなく、上への（onto）ではない、Ｌ×ＬのＦＬＡＳＨ又はＲＡＭを使用したＩＤＡＣの歪み関数ブロックの他の実施形態を示す図である。
【図６−ｃ】更新可能な、Ｎ×ＮのＦＬＡＳＨ又はＲＡＭを使用したＩＤＡＣの変換関数ブロックと歪み関数ブロックとの組合せの実施形態を示す図である。
【図６−ｄ】更新可能な、Ｎ×ＮのＦＬＡＳＨ又はＲＡＭを使用したＩＤＡＣの変換関数ブロックと歪み関数ブロックとの組合せの他の実施形態を示す図である。
【図７】ＥＤＡＣ符号器及び復号器によって保護された二重冗長組込みファームウェアのエンドツーエンドライフサイクルにおける要素を示す図である。
【発明を実施するための形態】
【００２６】
以下の記載及び説明で、「コードワード（codeword）」という用語は、ソースデータのオリジナルセットと、制限なしに、ａ）巡回冗長検査（ＣＲＣ）、ｂ）リードソロモン、ｃ）ビタビ、ｄ）ターボ、ｅ）低密度パリティ検査（ＬＤＰＣ）、ｆ）メッセージダイジェスト５（ＭＤ５）、及びｇ）セキュアハッシュアルゴリズム（ＳＨＡ−１）などの当分野で周知の多くの可能な符号化のうちの１つの結果である相対的に一意なタグ（デジタル署名又はハッシュとも呼ばれる）とを含む。ソースデータセットは、本明細書では、メッセージ、データメッセージ、又はソースデータと呼ばれる場合もある。ＥＤＡＣアルゴリズムからの剰余は、本明細書では残余と呼ばれる場合もある。
【００２７】
本発明は、誤り検出及び訂正コードを使用する場合、反直観的アイデアに依拠する。このアイデアは、実際にはデータに誤りを追加するものであるため、ＥＤＡＣの機能を上回るほどの多くの誤りとなる。誤りを追加することによって、変換されたデータメッセージのコピーを符号化する場合、受信側では、スプーフィング(spoofing)が判明する（又は以前は検出不能又は訂正不能であった誤りが判明する）ことになる。この技術は、スプーフを検出する機能を向上させ、第１のＥＤＡＣのみよりも改竄が困難な強化されたデジタル署名として、作成時にデータメッセージに追加することができる。したがって、基本的なアイデアは、従来技術の場合と同じく、１つのＥＤＡＣを使用することであり、次に、第１のＥＤＡＣと同じ符号器（又はハードウェア又はソフトウェアの重複符号器）を使用して、第２のＥＤＡＣを識別子又はデジタル署名として使用することである。さらに、変換ステップ及び歪みステップは分離され、並行して実行されるため、プログラム可能となる。ステップの細部は、上述のように公開又は秘密などとすることができる。他の利点は、並列して実行されることから、スケーラブルであることである。例えば、３２ビットＣＲＣ（ＲＥＭ１と呼ぶ）を考えてみよう。データメッセージに対して変換及び歪みを実行することによって、独立多項式を使用する必要なしに、第２の３２ビットＣＲＣ（又はＲＥＭ２）を使用することができる。データに対して第３の変換及び歪みを実行することで、他の３２ビットＣＲＣ（すなわちＲＥＭ３）が得られ、これで合計９６ビットとなる。さらに小さな５１２バイトメッセージの場合、歪みの確率は２４０９６−１と、非常に大きな数字である。非公理的変換、すなわち４０９６から８１９２へのマッピングを追加することによって、確率は大幅に上がる。他にも多数の潜在的利点が存在する。以下で、幾つかの実施形態の詳細を説明する。
【００２８】
図１−ｃに示されるように、一実施形態では、ソースデータが識別、検出、及び訂正（ＩＤＡＣ）符号器１００に入り、２つの別々のＥＤＡＣ符号器、ＥＤＡＣ１符号器２００及びＥＤＡＣ２符号器３００へとルーティングされる。ＥＤＡＣ１符号器は、当分野で周知の多くの符号器のいずれかとすることができる。データは符号化され、当分野で周知であるように、残余は再度チャネルに渡される。ＥＤＡＣ２符号器は任意の符号器を含むこともできるが、この実施形態の場合、ＥＤＡＣ１と同じタイプの符号化を使用することになる。ソースデータの重複コピーが符号化され、ブロック３００に提示されて、残余は上述のようにチャネルに渡される。ブロック２００及び３００の細部については後述する。同様に、ＩＤＡＣ復号器５００はＥＤＡＣ１復号器６００及びＥＤＡＣ２復号器７００を備え、これらについては後述する。
【００２９】
ＥＤＡＣ２  ３００が内部のアフィン変換で構成される場合、そのＥＤＡＣ機能は、独立コードを使用しないこと、及びＥＤＡＣ２の変換済みデータがチャネルに伝送又は転送されるデータでないことを除き、米国特許第３，７８６，４３９号と同様である。ＥＤＡＣ２は、米国特許第３，７８６，４３９号のようにバースト誤りに対してより耐性を持たせるためにデータを変換しないため、ＥＤＡＣ２は、オリジナルの未変更データを体系的に送信する。ＥＤＡＣ２の意図は、悪意ある攻撃に対してより耐性を持たせることである。また米国特許第３，７８６，４３９号は、歪みステップを含まない。他にも幾つかの相違点が存在する。
【００３０】
図１−ｄに示されるように、ソースデータは１０２で、ＩＤＡＣ符号器１００の例示的実施形態に入る。データは、制御及びタイミングブロック１２８によって提供される制御下で、又はその位置で、変更されずにメッセージバッファ／ＦＩＦＯ  １０４に入り、同時に又は順次、１１８を介して、同じく１２８によって対処されるＥＤＡＣ２  ３００（ＥＤＡＣ２の構成要素の細部は２点鎖線でマーク付けされている）の公開又は秘密変換ブロック３１４によって処理される。このブロック３１４は、データに対してローカルに知られた変更（又はローカルに一時的に生成されたか、又は１２６を介して１２８によって離れて受信及び提供された）を実行した後、ＥＤＡＣ２  ３００の変更済みデータを、チェック／識別子として剰余生成器２のブロック３１６に転送する。以下に示されるデータ変換という題名のセクションで、より詳細に説明する。この時点（又は順次ステップ）で、又は１２８によって提供される同じ位置を使用して、ＥＤＡＣ１  ２００（ＥＤＡＣ１の構成要素の細部は１点鎖線でマーク付けされている）の剰余生成器１のブロック２１２は、当分野で周知のチェックデータを累積する。すべてのソースデータがブロック３１４、３１６、２１２、１０４によって処理された後、ＥＤＡＣ１  ２００のブロック２１２は、１２２を介してそのチェックデータをＲＥＭ１ブロック２０６に送信し、ＥＤＡＣ２  ３００のブロック３１６は、１２４を介してそのチェックデータをＲＥＭ２ブロック３０８に送信する。１０２からの未変更メッセージソースデータは、ブロック１０４を通り、ソースデータの前、ソースデータの後、何らかの組合せで、又は単独で、ブロック１２８の制御下で１１０へと進む。ＲＥＭ１のチェック／識別子データ及びＲＥＭ２のチェック／識別子データは、１１０で、ブロック１２８の制御下でこのソースデータと統合される。説明したばかりのプロセスは、ハードウェアのみの回路で、及び／又はハードウェアとソフトウェア（ファームウェア）の組合せで実現できる。検証設計又は検出及びカウンタ設計に組み込まれた場合、必要であれば、チェックを無効にするための安全性又はセキュリティに関するオーバライド１３０がオプションで与えられる。信頼性とセキュリティのバランスは、安全性のみ、セキュリティのみ、又は何らかの組合せとなるように、ブロック１３０を介して用途ごとに調整できる。
【００３１】
図２に示されるように、ＥＤＡＣ１  ２００及びＥＤＡＣ２  ３００の符号化動作は並行して実行されるため、ＩＤＡＣはＥＤＡＣ２タイプの符号器のＴコピーで構成できる。（ＥＤＡＣ  Ｔ４００の構成要素の詳細は１点鎖線でマーク付けされている。）復号動作のＴコピーも同様に可能である。
【００３２】
図３に示されるように、ここでも、ソースデータは１０２でＩＤＡＣ復号器の実施形態に入る。この場合、ソースデータは、１０２でメッセージと統合されたチェックシンボルをすでに有し、結果として、ローカルに知られるか又は１２８を介して離れて提供される、図３の実施形態によって再計算及び検証されることになるコードワードが生じる。１次チェックシンボルはＲＥＭ１  ＳＲＣブロック５２２で除去され、２次チェックシンボルはＲＥＭ２  ＳＲＣブロック５５４で除去される。コードワードのメッセージ部分は、ブロック１０４を介して処理される。図１−ｄと図３とのプロセスの相違は、図３では、チェックシンボルの新規セットがブロック２０６及び３０８に対して計算され、ブロック１２８の制御下でブロック５６０によって比較され、合格／不合格の指示又はＲＥＭが、５５８を介してブロック１２８に提示されることである。ブロック１２８の制御及びタイミングプロセスは、訂正可能完全性誤り(correctable integrity errors)に関して、ブロック５６４に信号送信し、１６２又は反対動作を介してメッセージにフィードバックする。
【００３３】
図４の実施形態は、チャレンジ構成要素が追加された、ＩＤＡＣの装置及び方法の２つのコピー、８００−Ａ及び８００−Ｂを使用する図１−ｄ及び図３に対する機能強化である。各コピーは、二重冗長ハードウェア(dual-redundant hardware)のみの装置と方法との間の照合として、及びハードウェア／ソフトウェアの組合せとして、又は何らかの他の二重又はそれ以上の変形として実施できる。この場合は、シングルトン(singleton)の周期的又は非周期的チャレンジが、チャレンジ期の最初に決定された、ローカルに生成された、ローカルに受信された、又はローカルに知られるか又は擬似乱数のメッセージ変更（アフィン、非公理的、又は受信済み）の形で発生する。これらの変更は、システムの他方の側８３２、１３８（又は８３４、１３９）へと提示され、実際の２次チェックシンボルは、この期間が満了する前に、第１の側１５０、８４６、１４４（又は１６６、８４８、１４０）へと提示されなければならない。（メッセージ変換が線形変換のみからなる場合、以前の衝突するスプーフは、実施例１で以前に示されたように、衝突のまま残り得る。）多項式再構成の問題が実行できないことにより、この期間中に悪意あるソースによってメッセージがスプーフされる可能性は低い。期間の最短長さは著者にとって未知であるが、調査によれば、ＮＰ困難（ＮＰ完全）な計算であり得ることが示されている。出願者はいずれの既知の解決策を知らない。論文（２００５年、Aggelos Kiayias及びMoti Yungの、「Cryptography and Decoding Reed-Solomon Codes as a Hard Problem」ＩＥＥＥ、０−７８０３−９４９１−７）によれば、（ｎ＊（ｋ−１））の平方根よりも大きくなるビット変更数を選択する（詳細は論文を参照のこと）と、多項式再構成の問題は、解決不可能なままである。したがって、この値のすぐ下の値となるようにビット変更数を選択することで、悪意あるソースからのいずれの追加のビット変更も、しきい値を超えることになるため、悪意あるソースによる解決不可能（すなわちスプーフ不可能）となることを意味するように思われる。言い換えれば、ＥＤＡＣアルゴリズムの訂正機能をはるかに上回っている。他の可能性は、当分野では解決不可能として周知のワンタイムパッド（one−time pad）として、変更を供給することである。
【００３４】
図５に示されるように、公開又は秘密変換ブロック３１４は、データが１１８を介して入力し、３１９を介して出る変換関数３０２と、データが３１９を介して入力し、１１５を介して出る歪み関数３０４という２つの構成要素を備える。
【００３５】
図５−ｂは、当分野で周知のフォーニーインタリーバ３０２Ｂからなる変換関数３０２の実施形態である。
【００３６】
図５−ｃは、第１の直列／並列変換器、それに続くワイヤインタリーバ、それに続く並列／直列変換器からなり、すべての構成要素が当分野で周知の変換関数３０２の実施形態３０２Ｃである。
【００３７】
図５−ｄは、並列入力データ１１８、ワイヤインタリーバからなり、変換された並列データが３１９で出力する変換関数３０２の実施形態３０２Ｄである。
【００３８】
図５−ｅは、あらゆる２ビットを回転させるための１ビットスタック３０２Ｅを備えた、変換関数３０２の実施形態３０２Ｅである。直列入力データは１１８で入力し、３０６がスタックを制御する。３０７は、変換後、２対１のマルチプレクサＭｕｘ３１６からの出力３１９のためのデータを選択及び制御する。
【００３９】
図５−ｆは、Ｎ×ＮのＦＬＡＳＨ又はＲＡＭ３１８からなる変換関数３０２の実施形態である。入力１１８から出力３１９への１対１のマッピングが存在する。変換のためのＦＬＡＳＨエントリは事前に入力される。ＦＬＡＳＨは必要に応じて除去できる。データパターンが、１１８で３１８内のエントリを検索するためのアドレスとして使用された後、そのアドレスの入力された値が３１９で出力される。ＦＬＡＳＨの事前構成済みエントリに依存して、この変換は非公理的変換の例とすることができる。Ｎ＝６４Ｋバイトのデータメッセージの場合、ＦＬＡＳＨは３２Ｇバイトとなる。
【００４０】
図５−ｇは、以前に説明したLangGanong変換３０２Ｇからなる変換関数３０２の実施形態である。
【００４１】
図５−ｈは、以前に説明した非公理的変換３０２Ｈからなる変換関数３０２の実施形態である。
【００４２】
図６−ａは、Ｎ×ＮのＦＬＡＳＨ又はＲＡＭ３５４からなる歪み関数３０２の実施形態３５２Ａである。入力１１８から出力３１９への１対１のマッピングが存在する。歪みに関するＦＬＡＳＨエントリは事前に入力される。ＦＬＡＳＨは必要に応じて除去できる。データパターンが、３１９で３５４内のエントリを検索するためのアドレスとして使用された後、そのアドレスの入力された値が１１５で出力される。ＦＬＡＳＨの事前構成済みエントリに依存して、この歪みは非公理的変換の例の一部とすることができる。Ｎ＝６４Ｋバイトのデータメッセージの場合、ＦＬＡＳＨは３２Ｇバイトとなる。
【００４３】
図６−ｂは、Ｌ×ＬのＦＬＡＳＨ又はＲＡＭ３５６からなる歪み関数３０２の実施形態３５２Ｂである。非公理的変換を使用する場合、入力１１８から出力３１９への１対１又は上へのマッピングは必ずしも存在しない。歪みに関するＦＬＡＳＨエントリは事前に入力される。ＦＬＡＳＨは必要に応じて除去できる。データパターンが、３１９で３５６内のエントリを検索するためのアドレスとして使用された後、そのアドレスの入力された値が１１５で出力される。ＦＬＡＳＨの事前構成済みエントリに依存して、この歪みは非公理的変換の例の一部とすることができる。Ｌ＝６４Ｋバイトのデータメッセージの場合、ＦＬＡＳＨは３２Ｇバイトとなる。入力ワイヤ３１９の幾つかはＦＬＡＳＨに接続されなくてもよく（ＮＣ）、幾つかの入力ワイヤは互いに短絡することもできる。非公理的変換後に歪みを作成するために、出力ワイヤ１１５の幾つかは３５８で論理「１」に結合でき、幾つかは３６０で論理「０」に結合できる。
【００４４】
図６−ｃは、Ｎ×ＮのＦＬＡＳＨ又はＲＡＭ３５４からなる歪み関数３０２の実施形態３５２Ｃである。入力１１８から出力３１９への１対１のマッピングが存在する。歪みに関するＦＬＡＳＨエントリは事前に入力される。ＦＬＡＳＨは必要に応じて除去可能である。データパターンが、３１９で３５４内のエントリを検索するためのアドレスとして使用された後、そのアドレスの入力された値が１１５で出力される。ＦＬＡＳＨの事前構成済みエントリに依存して、この歪みは非公理的変換の例の一部とすることができる。Ｎ＝６４Ｋバイトのデータメッセージの場合、ＦＬＡＳＨは３２Ｇバイトとなる。チャレンジのデータパターンは１２６を介して入力され、Ｍｕｘ３６２によって選択され、ＦＬＡＳＨ３５４に格納される。
【００４５】
図６−ｄは、Ｎビットレジスタ３６６と、それに続くＮビットＸＯＲ３６４からなる歪み関数３０２の実施形態３５２Ｄである。３１９でのデータパターンは、ＮビットレジスタのコンテンツとのＸＯＲが取られる変換関数からの出力である。Ｎビットレジスタは１２６を介して更新可能である。このように構成された場合、データパターンチャレンジは１２６を介して入力される。
【００４６】
図７は、組み込まれたファームウェアのライフサイクルにおけるＩＤＡＣ符号器及び復号器の使用法を示す。ビルドコンピュータ９０２内の実施形態は、構成管理アーカイブ９１８に格納される前に、符号器９０４のＲＥＭ１及びＲＥＭ２デジタル署名（識別及びＥＤＡＣ）を接続するソフトウェア実装である。インストール、検証、テスト、品質保証、リポジトリストレージ、エスクロー（escrow）ストレージ、エクスポート動作、証明、再使用、保守、開発などの様々な作業のために、データメッセージがアーカイブから取り出され、ＩＤＡＣ復号器９０６によって識別及び検証される。二重冗長インストールの場合、２つのコピーが９０８を介してインストールされ、ＩＤＡＣ復号器／符号器９１２によって再度識別及び検証される。フィールドロード可能デバイスを使用するか、又は外部ポートへの入力、又は証明又は検査動作の際に、データは９１４で識別及び検証される。最終的に、宛先９２０にロードする前に、他のＩＤＡＣ復号器／符号器９１６がデータを識別及び検証する。二重冗長システム９２２では、第１のパス及びデバイスの重複である。
【００４７】
発明の動作
デジタルデータに対する許可されていないか又は意図されていない修正は、当分野で周知のように、誤り検出及び訂正方法によって検出可能である。本発明で具体化された新しい改良点は、従来技術の使用では以前に検出されなかった変更を検出する機能が向上したことである。装置及び方法は、受信器及び送信器の両方に知られているか又は提供された位置でオリジナルメッセージを変更し、その後、第２のメッセージ上の２次チェックシンボルを計算することによって、この改良を達成している。第２のメッセージは格納する必要がなく、２次チェックをコードワードの一部となるように伝送又は転送するだけでよい。
【００４８】
データ変換（公開又は秘密変換）
変換は、アフィン変換又は非公理的変換のいずれかからなる。アフィン変換は、線形の変換(transformations)及び転換(translations)を含む。上記で定義された非公理的変換は、１対１又は上へのいずれでもない非線形変換、及び転換を含む。アフィン変換の一例は、置換及びオフセットであり（シフト及びＸＯＲで実施することができ、並列入力データの場合、単なるデータビットと半加算器のハードワイヤード十字交叉であるか、又は直列データの場合、スワップ(swap)されたフリップフロップ出力である）、結果はオリジナルセットのメンバである。非公理的変換の例は、オリジナルセット以外の結果を引き出すことになる（さらに、メッセージデータビットの前、中、又は後に、ビットを挿入又は変更することによって実施できる。さらに、メッセージのうちの、何らかのビットを削除又は無視すること、又はビットをまとめて短絡すること（dot-OR）によって実施できる。）ハードウェア及び／又はソフトウェア、あるいはその両方は、性能を向上させるために並行して実施することができ、強度、硬度を増加させ、未検出の変更を減少させるために、異なる変換を用いて、複数回、反復することができる。
【００４９】
方法のより弱い用途及びより強い用途の両方を例示する働きをする２つの例を示す。第１に、デジタルデータへのスプーフィングされた変更は検出できないが、依然として明確な署名を提供する方法のより弱い使用法について概説する。
【００５０】
実施例１
説明及び計算を簡単にするために、（１６ビットＣＲＣアルゴリズムを使用した）３バイトメッセージの送信を取り上げる。このメッセージは、以下のように、オリジナルと同じ残余を有するようにスプーフィングされる。
タイプ              メッセージ          残余（ＣＲＣ）
オリジナル          ０ｘ２Ａ３０１Ｃ    ０ｘＤＡＣ２
スプーフィング後    ０ｘＣ０６４５４    ０ｘＤＡＣ２（一致）
次に、受信側の第１のビット（これは歪みステップであるが、アフィン変換なしで適用される）をトグル(toggle)する。（数学的には、
【数１】
2013523043.tif 000003
を意味する。）
オリジナル受信後    ０ｘＡＡ３０１Ｃ    ０ｘＤ６２Ｅ
スプーフ受信後      ０ｘ４０６４５４    ０ｘＤ６２Ｅ（再度一致−スプーフは検出されず）
トグル間の距離＞１６ビットとした場合はどうであろうか。第１ビットと最終ビット（２３ビット離れている）をトグルする（ここでも、歪みのみのステップに限定する）。（数学的には、
【数２】
2013523043.tif 000004
である。）
オリジナル受信後    ０ｘＡＡ３０１Ｄ    ０ｘＣ７Ａ７
スプーフ受信後      ０ｘ４０６４５５    ０ｘＣ７Ａ７（依然として検出されず）
次に、歪みをアフィン変換に先行させてみると、この場合、あらゆる２ビットを交換することになる。
【００５１】
実施例２
タイプ              メッセージ          残余（ＣＲＣ）
オリジナル          ０ｘ２Ａ３０１Ｃ    ０ｘＤＡＣ２
スプーフィング後    ０ｘＣ０６４５４    ０ｘＤＡＣ２（一致）
次に、受信側であらゆる２ビットを回転させる（アフィン変換の自明選択）。
オリジナル受信後    ０ｘ１５３０２Ｃ    ０ｘ２７２８
スプーフ受信後      ０ｘＣ０９８Ａ８    ０ｘ３２８９（一致せず−スプーフ検出可能）
次のケースでは、あらゆる２ビットを回転し、受信側の第１のビットをトグルする。
オリジナル受信後    ０ｘ９５３０２Ｃ    ０ｘ２ＢＣ４
スプーフ受信後      ０ｘ４０９８Ａ８    ０ｘ３Ｅ６５（一致せず−異なる検出）
アフィン変換の非自明選択には、確率の計算が必要な場合、既知の多項式に関する既知の関係に照らしたシステムの厳密な分析が求められる。
【００５２】
では、実施例１では何が起こっているであろうか。これは距離に関して述べることで説明できるかもしれないが、距離は、コンテキストが異なれば異なる意味を持つ。数直線では、２つのポイント、すなわち７と４との間の距離は、単にそれらの相違の絶対値、（｜７−４｜＝３）である。ユークリッドの２空間では、２つのポイント、ａ＝（ｘ０，ｙ０）とｃ＝（ｘ１，ｙ１）との間の距離は、典型的には、頂点（ｘ０，ｙ０）、（ｘ１，ｙ０）、（ｘ１，ｙ１）を備える三角形についてピタゴラスの定理を使用して考えられる。一般性を喪失しなければ、
【数３】
2013523043.tif 000005
は斜辺である。したがって、以下のようになる。
【数４】
2013523043.tif 000006
これはノルム
【数５】
2013523043.tif 000007
とも呼ばれる。
距離に関する他の可能な定義は、以下の通りである。
【数６】
2013523043.tif 000008
この定義（＊）は多少特異であり、距離は長い方の側の長さとなるように定義されることを表している。
【数７】
2013523043.tif 000009
距離の定義（＊＊）は、平方根は考えずに、単に２つの側の合計であることを示している。
【数８】
2013523043.tif 000010
定義（＊＊＊）はさらに特異であり、任意の２つの別個のポイント間の距離は、常に１である。
【００５３】
有限の数のセットを使用する場合、特異性は継続する。原始要素アルファ（α）、を用いた、α２＝α＋１であるフィールドＦ１６を取り上げてみる。
【数９】
2013523043.tif 000011
又は
【数１０】
2013523043.tif 000012
という具合である。
【００５４】
α４＝α＋１はα４−α＝（α＋１）−α＝１を示唆しているため、α４とαとの間の「距離」は１である。
又は、係数ビットを使用すると、
【数１１】
2013523043.tif 000013
となり、上記と同じである。
同様に、α８とα４との間の「距離」は（α２＋１）−（α＋１）＝α２＋αである。
又は、以下のビットを使用すると、
【数１２】
2013523043.tif 000014
となる（上記のように）。
４桁の２進数に関する番号順によって上記の表を再配置すると、以下のように、順序及び距離に関する異なるコンテキストがわかる。
【数１３】
2013523043.tif 000015
【００５５】
さらに、他の方法で実施例１のスプーフの検出障害に注目する。同じＣＲＣ、すなわちｒを有する２つのメッセージｍ１及びｍ２を有するものと想定する。すると、
何らかのｎの場合、ｒ１＝ｍ１（ｍｏｄ  ｎ）、及び
ｒ１＝ｍ２（ｍｏｄ  ｎ）
である。
これは、以下のことを示唆する。
ｍ２＝ｍ１（ｍｏｄ  ｎ）＜＝＞ｎ｜（ｍ２−ｍ１）    ［合同の特性、及びｒ１＝ｒ１による］
何らかのｋの場合、
ｎ｜（ｍ２−ｍ１）＜＝＞ｍ２＝ｍ１＋ｋｎ、
＜＝＞（ｍ２＋ｄ）＝（ｍ１＋ｄ）＋ｋｎ、［ｄは各メッセージに対して実行された変更］
＜＝＞ｎ｜（（ｍ２＋ｄ）−（ｍ１＋ｄ））
＜＝＞（ｍ２＋ｄ）＝（ｍ１＋ｄ）（ｍｏｄ  ｎ）
したがって、剰余、すなわちｒ２＝（ｍ２＋ｄ）（ｍｏｄ  ｎ）は、２つのそれぞれ修正されたメッセージの場合と同じである。
【００５６】
一般に、直交変換は、ユークリッド空間内の変換が共線性、距離、及び垂線を保持することを示唆する。３空間の回転及び転換が例である。アフィン変換は、これが共線性を保持するが、距離及び垂線は保持せず、さらに存在及び一意性を与える。アフィン変換は、直線の順序を保持している。シャー変換(shear transformation)とは、直交しないアフィン変換の例である。損失がないため、順方向誤り訂正（ＦＥＣ）ＥＤＡＣをアフィン変換と共に使用することができる。アフィン変換（又はアフィン射）のより正式な定義は、可逆的なｍ×ｍの行列Ａ及びベクトル
【数１４】
2013523043.tif 000016
が存在する場合、Ｔ：Ｅｍ→Ｅｍのマッピングは、アフィン変換と呼ばれることであり、すべての
【数１５】
2013523043.tif 000017
について、
【数１６】
2013523043.tif 000018
である。
【００５７】
非可逆的変換は、アフィン変換に必要な存在基準によって、アフィンとすることができないことを示唆する。非公理的変換は、共線性、距離、又は垂線を保持しないことを示唆するものと定義し、存在又は一意性のいずれかを示唆するものではない。非公理的変換とは、自動再送要求（ＡＲＱ）ＥＤＡＣと共に使用するため、強化識別署名(fortifying identification signatures)を使用するため、又は他の情報保証方法と共に使用するためのものである。非公理的変換は、以下のマッピングＳを提供する。
【数１７】
2013523043.tif 000019
【００５８】
LangGanong変換は、所与のザリスキ(Zariski)面上に、LangGanong定理を使用することによって作成された、Ｐ線形システムマトリクスの係数行列による乗算として定義する。大きな種数を備えるこのような面が好ましいことが提案される。LangGanong変換を選択する自明の例では、以下のように考えてみる。
ｚ２＝ｘｙ５＋ｙ  （我々のザリスキ面である）
及びｆ＝ｘ、すなわちｐ＝２、
及びｇ（ｘ，ｙ）＝ｘｙ５＋ｙ
ｔ度は４によって境界をなす。ａｇは、
【数１８】
2013523043.tif 000020
から、又は
【数１９】
2013523043.tif 000021
のLangGanong定理から見つけられる。
次に、
【数２０】
2013523043.tif 000022
及び
【数２１】
2013523043.tif 000023
となる。変換は、当分野で周知のように進行する。
【００５９】
インタリーブ
距離と同様に、「インタリーブ」は、異なるコンテキストにおいて異なる意味を有する。一部の従来技術では、インタリーブは、バースト誤りが多くみられる場合に、順次データを拡散させるために使用されるため、結果として検出不可能又は訂正不可能な誤りを発生させるバーストの尤度は低くなる。テープドライブＥＤＡＣ特許の場合、テープの縁部はより誤りの影響を受けやすかったため、縁部の物理トラック数は、他のトラックに誤りの可能性を分配するように、論理的に再配置（「インタリーブ」）された。３重の直交特許では、バースト誤りの影響を再度減らすために、データの行及び／又は列を「インタリーブ」した。ターボ特許では、１）非常に高い訂正機能、２）効率、３）非常に信頼性の高い復号、４）非常に高いビットレート、５）符号器及び復号器の相対的に容易な製造、６）必要なクロックが１つのみ、７）高い全体符号化効率、８）構成の復号器、９）シリコン表面上への復号方法の注入、１０）多数のタイプの復号器の作成、１１）高い採算性、１２）簡単であること、及び１３）多彩な用途と要約された幾つかの目的が示されている。これらのターボコードは、明らかに素晴らしい。また、インタリーブをカバーしているターボ特許では、ほとんどの実施形態での用途は、ＥＤＡＣ方法から予測される通りに、復号器の訂正機能を向上させるように順次データを再配置することである。
【００６０】
発明者らのインタリーブの目的の１つは、符号化の結果として明確な残余が生じるように、単にデータの順序を変更することである。非自明のサイズのデータメッセージについて、インタリーブを直交、又は線形、又は可逆的であるものと制限しないことにより、インタリーブのための方法の数が大幅に増加する。非公理的実施形態では、これを以下のようなマッピング（射(morphism)、又は関係）の結果とすることができ、
【数２２】
2013523043.tif 000024
上式で、ｕ＞ｖ又はｕ＜ｖであり、
【数２３】
2013523043.tif 000025
及び
【数２４】
2013523043.tif 000026
の場合、行列Ｓ、Ｗ、Ａ、及びＣは可逆的ではなく、すなわち以下のように、１対１、上への（onto）ではない。
【数２５】
2013523043.tif 000027
唯一の規則は、所与の入力に対して反復可能であることであろう。
【産業上の利用可能性】
【００６１】
提示された装置及び方法は、所与のＥＤＡＣシステムの機能を拡張し、組み込まれたシステム上へのそれらのライフサイクル中のサイバー攻撃からの保護を向上させるものである。装置及び方法は、他のデジタルデータのセキュアな配信にも適用される。
【００６２】
一般に、本発明は、システムの開発時に簡単な拡張署名を関連付けること、システムの検証及び証明中に署名の記録及び文書化を可能にすること、並びに構成管理の記録、フィールドローディング検証、実行時検証、ランタイム健康維持システムによるチャレンジへの応答、エントリリポジトリのポートでの検証、証明機関による検証及び追跡可能性、調査員による履歴追跡、内部エスクロー記録、並びに次世代システムでの再使用などの、ライフサイクルのすべての局面においてファームウェアを監視及び検証することによって、コンピュータシステムにおけるブートファームウェアの信頼できる実行の改善を識別及び確保する。多数の重複する明確な署名を、異なる変換又は歪みを使用することによって、入力デジタルデータに関連付けることが可能である。ブートファームウェアを対象とする実施形態は例示のためのものであり、ブートファームウェアデジタルデータ上での使用に制限することを示唆するものではない。
【図１−ａ】
2013523043.tif 000028
【図１−ｂ】
2013523043.tif 000029
【図１−ｃ】
2013523043.tif 000030
【図１−ｄ】
2013523043.tif 000031
【図２】
2013523043.tif 000032
【図３】
2013523043.tif 000033
【図４】
2013523043.tif 000034
【図５−ａ】
2013523043.tif 000035
【図５−ｂ】
2013523043.tif 000036
【図５−ｃ】
2013523043.tif 000037
【図５−ｄ】
2013523043.tif 000038
【図５−ｅ】
2013523043.tif 000039
【図５−ｆ】
2013523043.tif 000040
【図５−ｇ】
2013523043.tif 000041
【図５−ｈ】
2013523043.tif 000042
【図６−ａ】
2013523043.tif 000043
【図６−ｂ】
2013523043.tif 000044
【図６−ｃ】
2013523043.tif 000045
【図６−ｄ】
2013523043.tif 000046
【図７】
2013523043.tif 000047
【国際調査報告】
2013523043.tif 000048