【手続補正書】
【提出日】平成19年12月3日(2007.12.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データを暗号化する方法であって、
前記データをＸビット長のワードを有するバイナリ形式で表すこと、
参照テーブルを使用して前記データの各ワードのビットの順序の第１可逆再配列を実施すること、および
前記参照テーブルを使用して前記データの各ワードのビットの順序の第２可逆再配列を実施することを備える方法。
【請求項２】
前記第２可逆再配列が前記第１可逆再配列とは異なるやり方で実施される請求項１に記載の方法。
【請求項３】
前記データをバイナリ形式で表す前に、ｍエントリの第１行およびそれぞれがｎエントリのｒ行を有する前記参照テーブルを生成することをさらに含む請求項１に記載の方法。
【請求項４】
ｍ、ｎおよびｒが素数である請求項３に記載の方法。
【請求項５】
前記第１可逆再配列の実施が、前記参照テーブルの前記第１行を使用して各ワードのビットを再配列することを含む請求項３に記載の方法。
【請求項６】
前記第２可逆再配列の実施が、前記参照テーブルの前記ｒ行のうちの１つを使用して各ワードのビットを再配列することを含む請求項３に記載の方法。
【請求項７】
前記参照テーブルの前記ｒ行のうちの１つを使用して各ワードのビットを再配列することが、前記参照テーブルの前記ｒ行のうちの連続した行を使用して、隣接したワードのビットを個々に再配列することを含み、前記参照テーブルの前記ｒ行の最初の行が前記参照テーブルの前記ｒ行の最終行の後に続く請求項６に記載の方法。
【請求項８】
前記参照テーブルの生成が、前記参照テーブルの前記エントリにエントリ当たり１つの数を割り当てることをさらに含み、前記第１行の各エントリに割り当てられた前記数が前記第１行内で一意であり、前記ｒ行の各行の各エントリに割り当てられた前記数が各個々の行内で一意である請求項３に記載の方法。
【請求項９】
前記データの各ワードのビットの順序の前記第１可逆再配列を実施することが、
前記データの各ワードをｍ個のビット群にグループ化すること、
前記テーブルの前記第１行からの前記数を番号順に配列すること、
前記ビット群のそれぞれを、番号順に配列された前記テーブルの前記第１行からの前記数のうちの１つに相関させること、および
前記ビット群を、前記テーブルの前記第１行内で順序付けられた前記テーブルの前記第１行からの前記数に基づいて再配列することを備える請求項８に記載の方法。
【請求項１０】
前記データの各ワードをｍ個のビット群にグループ化することが、ｑをｐより小さいものとして、前記データの各ワードをｐビット長のｍ−１個の群、およびｑビット長の１つの群にグループ分けすることを含む請求項９に記載の方法。
【請求項１１】
前記データの各ワードのビットの順序の前記第２可逆再配列を実施することが、
前記データの各ワードをｎ個のビット群にグループ化すること、
前記テーブルの前記ｒ行のうちの１つからの前記数を番号順に配列すること、
前記ビット群のそれぞれを、番号順に配列された前記テーブルの前記ｒ行のうちの前記１つからの前記数のうちの１つに相関させること、および
前記テーブルの前記ｒ行のうちの前記１つの行内で順序付けられた前記テーブルの前記ｒ行のうちの前記１つの行からの前記数に基づいて前記ビット群を再配列することを備える請求項８に記載の方法。
【請求項１２】
前記データの各ワードをｎ個のビット群にグループ化することが、ｑをｐより小さいものとして、前記データの各ワードをｐビット長のｎ−１個の群、およびｑビット長の１つの群にグループ分けすることを含む請求項１１に記載の方法。
【請求項１３】
データを暗号化する方法であって、
前記データをＸビット長のワードを有するバイナリ形式で表すこと、
鍵、およびノイズ・テーブルからの第１ノイズ・テーブル・ワードを使用して第１データ・ワードに対してＸＯＲ操作を実施することであって、前記ノイズ・テーブルがＸビット長のワードを有するバイナリ形式で表され、前記鍵がＸビット長のワードを有するバイナリ形式で表されること、および
直前のＸＯＲ操作の結果および後続のノイズ・テーブル・ワードを使用して連続するデータ・ワードに対して前記ＸＯＲ操作を実施することを備える方法。
【請求項１４】
前記第１データ・ワードに対して前記ＸＯＲ操作を実施する前に、前記ノイズ・テーブル内の前記ワードのうちの１つとして前記第１ノイズ・テーブル・ワードを設定することをさらに備える請求項１３に記載の方法。
【請求項１５】
前記データをバイナリ形式で表す前に、前記データより大きいサイズを有する前記ノイズ・テーブルを生成することをさらに備える請求項１３に記載の方法。
【請求項１６】
前記ノイズ・テーブルを生成することが、
前記ランダム文字テーブルより少なくとも１桁大きいサイズのデータ・サンプルを取得すること、
前記データ・サンプル内のデータ・サブサンプルを識別することであって、前記データ・サブサンプルが、少なくとも１２８バイトのサイズであるランダム文字テーブルにサイズが等しいこと、
前記データ・サブサンプルをＸビット長のワードで表すこと、
参照テーブルを使用して前記データ・サブサンプルの各ワードのビットの順序の第１の再配列を実施すること、
前記参照テーブルを使用して前記データ・サブサンプルの各ワードのビットの順序の第２の再配列を実施すること、および
前記ランダム文字テーブルを使用して、前記データ・サブサンプルの再配列された各ワードに対して連続したＸＯＲ操作を個々に実施することを備える請求項１５に記載の方法。
【請求項１７】
前記データ・サンプルが非繰返しのデータ列を備える請求項１６に記載の方法。
【請求項１８】
前記第２可逆再配列が前記第１可逆再配列とは別のやり方で実施される請求項１６に記載の方法。
【請求項１９】
ｍエントリの第１行、およびそれぞれがｎエントリのｒ行を有する前記参照テーブルを生成することをさらに備える請求項１６に記載の方法。
【請求項２０】
ｍ、ｎおよびｒが素数である請求項１９に記載の方法。
【請求項２１】
前記第１可逆再配列の実施が、前記参照テーブルの前記第１行を使用して各ワードのビットを再配列することを含む請求項１９に記載の方法。
【請求項２２】
前記第２可逆再配列の実施が、前記参照テーブルの前記ｒ行のうちの１つを使用して各ワードのビットを再配列することを含む請求項１９に記載の方法。
【請求項２３】
前記参照テーブルの前記ｒ行のうちの１つを使用して各ワードのビットを再配列することが、前記参照テーブルの前記ｒ行のうちの連続した行を使用して、隣接したワードのビットを個々に再配列することを含み、前記参照テーブルの前記ｒ行の最初の行が前記参照テーブルの前記ｒ行の最終行に続く請求項２２に記載の方法。
【請求項２４】
前記参照テーブルの生成が、前記参照テーブルの前記エントリにエントリ当たり１つの数を割り当てることをさらに含み、前記第１行の各エントリに割り当てられた前記数が前記第１行内で一意であり、前記ｒ行の各行の各エントリに割り当てられた前記数が各個々の行内で一意である請求項１９に記載の方法。
【請求項２５】
前記データの各ワードのビットの順序の前記第１可逆再配列を実施することが、
前記データ・サブサンプルの各ワードをｍ個のビット群にグループ化すること、
前記テーブルの前記第１行からの前記数を番号順に配列すること、
前記ビット群のそれぞれを、番号順に配列された前記テーブルの前記第１行からの前記数のうちの１つに相関させること、および
前記ビット群を、前記テーブルの前記第１行内で順序付けられた前記テーブルの前記第１行からの前記数に基づいて再配列することを備える請求項２４に記載の方法。
【請求項２６】
前記データの各ワードをｍ個のビット群にグループ化することが、ｑをｐより小さいものとして、前記データの各ワードをｐビット長のｍ−１個の群、およびｑビット長の１つの群にグループ分けすることを含む請求項２５に記載の方法。
【請求項２７】
前記データの各ワードのビットの順序の前記第２可逆再配列を実施することが、
前記データ・サブサンプルの各ワードをｎ個のビット群にグループ化すること、
前記テーブルの前記ｒ行のうちの１つからの前記数を番号順に配列すること、
前記ビット群のそれぞれを、番号順に配列された前記テーブルの前記ｒ行のうちの前記１つからの前記数のうちの１つに相関させること、および
前記テーブルの前記ｒ行のうちの前記１つの行内で順序付けられた前記テーブルの前記ｒ行のうちの前記１つの行からの数に基づいて前記ビット群を再配列することを備える請求項２４に記載の方法。
【請求項２８】
前記データの各ワードをｎ個のビット群にグループ化することが、ｑをｐより小さいものとして、前記データの各ワードをｐビット長のｎ−１個の群、およびｑビット長の１つの群にグループ分けすることを含む請求項２７に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
少なくとも１つの秘密参照テーブル。秘密参照テーブルは、図２に示すタイプのものである。２つ以上の秘密参照テーブルが使用される場合、好ましくは素数個の秘密参照テーブルが存在する。さらに、それぞれの秘密参照テーブルは好ましくは、第１行内に素数個のエントリ、素数個の後続の行、および各後続の行内に素数個のエントリを含む。より好ましくは、それぞれの秘密参照テーブルは、７エントリの第１行、およびそれぞれが１１エントリの１１個の後続行を含む。それぞれの秘密参照テーブルは、同じ行数、あるいは第１行内または後続行内に同じエントリ数を有する必要はない。エントリには、上記で述べたやり方で数が埋められる。送信側と受信側の両方が、それぞれ送信の符号化および復号のために秘密参照テーブルを維持する。すべての秘密参照テーブルは好ましくは、符号化された形式で維持され、使用時に復号される。任意の可逆符号化方法が使用され得る。好ましい符号化方法では、テーブルを維持するコンピュータのＣＰＵは、その連続番号および仕様情報を求めてポーリングされ、この仕様情報は、他にもあるが特に挙げると、プロセッサ・タイプ、速度、製造元を含み得る。ポーリングされた情報は、順次組み合わされ、選択されたワード長のバイナリ形式で表される。それぞれのテーブルは、同じワード長を有するバイナリ形式で同様に表される。テーブルの第１ワードは、ＸＯＲ操作を使用して、ポーリングされた情報の第１ワードで符号化される。テーブルの第２ワードは、ＸＯＲ操作を使用して、ポーリングされた情報の第２ワードおよび符号化された第１ワードで符号化される。テーブルの第３ワードは、ＸＯＲ操作を使用して、ポーリングされた情報の第３ワードおよび符号化された第２ワードで符号化される。このプロセスは、テーブル全体にわたって継続する。テーブルが最後となる前にポーリング情報の最後に達する場合、テーブルの各後続ワードは、ＸＯＲ操作を使用して、符号化された直前のワードで符号化される。