【手続補正書】
【提出日】平成30年10月11日(2018.10.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
安全な計算を実行する方法であって：
少なくとも一つの関数入力値および状態入力値を受け取る段階と；
前記計算において実行されるべき演算の数を決定する段階であって、前記関数入力値に対して第一の演算が実行され、前の演算によって生成された結果に対してその後の演算が実行される、段階と；
前記計算において実行されるべき演算の数に基づいて前記関数入力値について初期の暗号化ランクを設定する段階と；
前記少なくとも一つの関数入力値および前記状態入力値を前記初期の暗号化ランクと一緒にエンコードして、エンコードされた入力値を得る段階であって、前記暗号化ランクは該エンコードにおいて前記状態入力値のビットのいくつかを占める、段階と；
前記計算を実行する段階であって、エンコードされた入力値に対して第一の演算が実行されてエンコードされた結果を生成し、その後の演算が前の演算によって生成されたそれぞれのエンコードされた結果に対して実行されて、さらなるエンコードされた結果を生成する、段階と；
前記計算における演算が前記エンコードされた入力値または前の演算によって生成されたエンコードされた結果に対して実行されるときに新たな暗号化ランクを設定する段階であって、前記計算における前記演算の前記エンコードされた結果が前記新たな暗号化ランクをもつ、段階と；
デコード関数を実行する段階であって、前記デコード関数は、エンコードされた結果があらかじめ定義された値に到達した暗号化ランクをもつ場合にのみ、該エンコードされた結果から使用可能な出力値を提供する、段階とを含む、
方法。
【請求項２】
前記関数入力値が人間が解釈できるデータを含む、請求項１記載の方法。
【請求項３】
前記関数入力値が所定の暗号化プロセスに従って暗号化されたデータを含む、請求項１記載の方法。
【請求項４】
前記使用可能な出力値は人間が解釈できるデータを含む、請求項１ないし３のうちいずれか一項記載の方法。
【請求項５】
前記使用可能な出力値が所定の暗号化プロセスに従って暗号化されたデータを含む、請求項１ないし３のうちいずれか一項記載の方法。
【請求項６】
前記関数入力値について初期の暗号化ランクを設定する段階が、前記初期の暗号化ランクを、前記計算において実行されるべき演算の数に等しく設定することを含み、
前記計算において前記エンコードされた入力値または前の演算によって生成された結果に対して演算が実行されるたびに新たな暗号化ランクを設定する段階が、前記暗号化ランクを1だけデクリメントすることを含み、
デコード関数を実行する段階が、デコード関数を実行する段階であって、前記デコード関数は、前記暗号化ランクが0に等しい場合にのみ、エンコードされた結果から使用可能な出力値を提供する、段階を含む、
請求項１ないし５のうちいずれか一項記載の方法。
【請求項７】
前記計算が、未知の回数実行される可能性がある第一の数の演算を含むループを含んでおり、
前記関数入力値について初期の暗号化ランクを設定する段階が、前記初期の暗号化ランクを、前記ループに含まれる各演算の一回の生起を含む前記計算において実行されるべき演算の数に等しく設定することを含み、
前記計算において前記エンコードされた入力値または前の演算によって生成された結果に対して演算が実行されるたびに新たな暗号化ランクを設定する段階が、前記暗号化ランクを1だけデクリメントすることを含み、
デコード関数を実行する段階が、デコード関数を実行する段階であって、前記デコード関数は、前記暗号化ランクが前記第一の数を法として0に等しい場合にのみ、エンコードされた結果から使用可能な出力値を提供する、段階を含む、
請求項１ないし５のうちいずれか一項記載の方法。
【請求項８】
前記計算が、未知の回数実行される可能性がある第一の数の演算を含むループを含んでおり、
前記関数入力値について初期の暗号化ランクを設定する段階が、前記初期の暗号化ランクを、前記ループに含まれる演算を除いて前記計算において実行されるべき演算の数に等しく設定することを含み、
前記計算において前記エンコードされた入力値または前の演算によって生成された結果に対して演算が実行されるたびに新たな暗号化ランクを設定する段階が、前記ループに含まれない演算が実行されるたびに前記暗号化ランクを1だけデクリメントすることを含み、
デコード関数を実行する段階が、デコード関数を実行する段階であって、前記デコード関数は、前記暗号化ランクが0に等しい場合にのみ、エンコードされた結果から使用可能な出力値を提供する、段階を含む、
請求項１ないし５のうちいずれか一項記載の方法。
【請求項９】
安全な計算を実行するコンピューティング装置であって：
少なくとも一つの関数入力値および状態入力値を受け取るための入力と；
前記計算における複数の演算を実行するためのプロセッサであって、前記関数入力値に対して第一の演算が実行され、前の演算によって生成された結果に対してその後の演算が実行される、プロセッサと；
前記少なくとも一つの関数入力値および前記状態入力値を初期の暗号化ランクと一緒にエンコードして、エンコードされた入力値を得るためのエンコーダであって、前記関数入力値についての前記初期の暗号化ランクは前記計算において実行されるべき演算の数に基づいて設定され、前記暗号化ランクは該エンコードにおいて前記状態入力値のビットのいくつかを占める、エンコーダとを有しており、
前記プロセッサは前記計算を実行するためであり、それにより、エンコードされた入力値に対して第一の演算が実行されてエンコードされた結果を生成し、その後の演算が前の演算によって生成されたそれぞれのエンコードされた結果に対して実行されて、さらなるエンコードされた結果を生成し、前記計算における演算が前記エンコードされた入力値または前の演算によって生成されたエンコードされた結果に対して実行されるときに新たな暗号化ランクが設定されて、前記計算における前記演算の前記エンコードされた結果が前記新たな暗号化ランクをもち；
当該コンピューティング装置はさらにデコード関数を実行するためのデコーダを有しており、前記デコード関数は、エンコードされた結果があらかじめ定義された値に到達した暗号化ランクをもつ場合にのみ、該エンコードされた結果から使用可能な出力値を提供するものである、
コンピューティング装置。
【請求項１０】
前記関数入力値が人間が解釈できるデータを含む、請求項９記載のコンピューティング装置。
【請求項１１】
前記関数入力値が所定の暗号化プロセスに従って暗号化されたデータを含む、請求項９記載のコンピューティング装置。
【請求項１２】
前記使用可能な出力値は人間が解釈できるデータを含む、請求項９ないし１１のうちいずれか一項記載のコンピューティング装置。
【請求項１３】
前記使用可能な出力値が所定の暗号化プロセスに従って暗号化されたデータを含む、請求項９ないし１１のうちいずれか一項記載のコンピューティング装置。
【請求項１４】
前記関数入力値についての前記初期の暗号化ランクが、前記計算において実行されるべき演算の数に等しく設定され、
前記計算において前記エンコードされた入力値または前の演算によって生成された結果に対して演算が実行されるたびに前記新たな暗号化ランクが、前記暗号化ランクを1だけデクリメントすることによって得られ、
前記デコード関数は、前記暗号化ランクが0に等しい場合にのみ、エンコードされた結果から使用可能な出力値を提供するものである、
請求項９ないし１３のうちいずれか一項記載のコンピューティング装置。
【請求項１５】
前記計算が、未知の回数実行される可能性がある第一の数の演算を含むループを含んでおり、
前記関数入力値についての前記初期の暗号化ランクが、前記ループに含まれる各演算の一回の生起を含む前記計算において実行されるべき演算の数に等しく設定され、
前記計算において前記エンコードされた入力値または前の演算によって生成された結果に対して演算が実行されるたびに前記新たな暗号化ランクが、前記暗号化ランクを1だけデクリメントすることによって得られ、
前記デコード関数は、前記暗号化ランクが前記第一の数を法として0に等しい場合にのみ、エンコードされた結果から使用可能な出力値を提供するものである、
請求項９ないし１３のうちいずれか一項記載のコンピューティング装置。
【請求項１６】
前記計算が、未知の回数実行される可能性がある第一の数の演算を含むループを含んでおり、
前記関数入力値についての前記初期の暗号化ランクが、前記ループに含まれる演算を除いて前記計算において実行されるべき演算の数に等しく設定され、
前記計算において前記エンコードされた入力値または前の演算によって生成された結果に対して演算が実行されるたびに前記新たな暗号化ランクが、前記ループに含まれない演算が実行されるたびに前記暗号化ランクを1だけデクリメントすることによって得られ、
前記デコード関数は、前記暗号化ランクが0に等しい場合にのみ、エンコードされた結果から使用可能な出力値を提供するものである、
請求項９ないし１３のうちいずれか一項記載のコンピューティング装置。