JP5105408B2 - 量子プログラム秘匿化装置及び量子プログラム秘匿化方法 - Google Patents

量子プログラム秘匿化装置及び量子プログラム秘匿化方法 Download PDF

Info

Publication number
JP5105408B2
JP5105408B2 JP2007136984A JP2007136984A JP5105408B2 JP 5105408 B2 JP5105408 B2 JP 5105408B2 JP 2007136984 A JP2007136984 A JP 2007136984A JP 2007136984 A JP2007136984 A JP 2007136984A JP 5105408 B2 JP5105408 B2 JP 5105408B2
Authority
JP
Japan
Prior art keywords
quantum
program
secret key
extended
quantum program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007136984A
Other languages
English (en)
Other versions
JP2008294666A (ja
Inventor
美緒 村尾
雄 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Science and Technology Agency
National Institute of Japan Science and Technology Agency
Original Assignee
Japan Science and Technology Agency
National Institute of Japan Science and Technology Agency
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Science and Technology Agency, National Institute of Japan Science and Technology Agency filed Critical Japan Science and Technology Agency
Priority to JP2007136984A priority Critical patent/JP5105408B2/ja
Priority to PCT/JP2007/074830 priority patent/WO2008142816A1/ja
Priority to CA2672046A priority patent/CA2672046C/en
Priority to US12/527,408 priority patent/US8189779B2/en
Priority to AU2007353565A priority patent/AU2007353565B2/en
Publication of JP2008294666A publication Critical patent/JP2008294666A/ja
Application granted granted Critical
Publication of JP5105408B2 publication Critical patent/JP5105408B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Optical Communication System (AREA)

Description

本発明は、ユニタリ変換を示す量子ゲート列を含む量子プログラムを秘匿化する量子プログラム秘匿化装置、及び当該量子プログラム秘匿化装置による量子プログラム秘匿化方法に関する。
公開通信路を通じて情報を安全に送るために現在広く用いられている公開鍵暗号は、古典計算機による計算量によって安全が保障されているものである。また、BB84等これまでに提案された量子暗号(量子鍵分配)では、認証が正しく行われていれば無条件安全性が保障される。しかし、上記の方法では、量子計算機が用いられた場合には安全性が保障されない。量子系を用いた公開鍵プロトコルについては、下記の非特許文献1に記載されているような研究がある。
A. Kawachi et al, Proc.EUROCRYPT 2005, LNCS 3494, 268, 2005
ところで、ユニタリ変換を示す量子ゲートを含む量子プログラムを、作成者を特定(認証)した上で公開して、当該量子プログラムを実行する権限を有する者に対して実行させる態様が考えられる。しかしながら、非特許文献1に記載された技術では、量子状態を公開鍵として用いているため、当該量子プログラムを認証して公開するプロトコルとして用いるには困難がある。更に、上記のような態様において、当該量子プログラムの演算内容を実行者に知られずに公開する、即ち、量子プログラムを秘匿化することが必要である場合があると考えられるが、これを実現する技術は提供されていない。
本発明は、以上の問題点を解決するためになされたものであり、量子プログラムを、その演算内容を知られずに権限を有する者に対して実行させることを可能とする量子プログラム秘匿化装置及び量子プログラム秘匿化方法を提供することを目的とする。
上記目的を達成するために、本発明に係る量子プログラム秘匿化装置は、ユニタリ変換を示す量子ゲート列を含む量子プログラムを入力する入力手段と、入力手段により入力された量子プログラムを含み、当該量子プログラムの入力量子ビット空間に加えて、量子秘密鍵に応じた量子ビット空間である量子秘密鍵量子ビット空間を有する拡張量子プログラムを生成する拡張手段と、拡張手段により生成された拡張量子プログラムを、量子秘密鍵量子ビット空間が所定の状態である場合に、当該拡張量子プログラムに含まれる量子プログラムを実行する制御演算を行うように書き換える制御演算付加手段と、演算制御付加手段により書き換えられる拡張量子プログラムに、制御演算が行われる前の量子秘密鍵量子ビット空間の状態に対して演算を行う第1の量子ゲート列を追加すると共に当該拡張量子プログラムに、制御演算が行われた後の量子秘密鍵量子ビット空間の状態に対して演算を行う第2の量子ゲート列を追加する暗号化手段と、量子秘密鍵量子ビット空間の所定の状態に対して、暗号化手段により追加された第1の量子ゲート列の逆演算を行うことによって量子秘密鍵を生成する秘密鍵生成手段と、暗号化手段により第1の量子ゲート列が追加された拡張量子プログラムに対して、量子ゲート列の入れ替え及び量子ゲート列の追加の少なくとも何れかを、予め記憶したルールに基づいて行う難読化手段と、難読化手段による処理が行われた拡張量子プログラム、及び秘密鍵生成手段により生成された量子秘密鍵を出力する出力手段と、を備えることを特徴とする。
本発明に係る量子プログラム秘匿化装置では、量子プログラムから拡張量子プログラムが生成される。生成される拡張量子プログラムは、上記制御演算と第1の量子ゲート列とによって、量子秘密鍵量子ビット空間に量子秘密鍵が入力されなければ、量子プログラムが実行されない。即ち、量子秘密鍵を有した者でなければ、量子プログラムは実行されない。また、上記の拡張量子プログラムは、ゲート列の入れ替え及びゲート列の追加の少なくとも何れかの難読化が行われるため、その演算内容が実行者に知られることはない。また、第2のゲート列の存在により、難読化された拡張量子プログラムによって演算が行われて出力される量子秘密鍵が、制御演算に応じた所定の状態となることがなく、安全性の高い秘匿化を行うことができる。これらにより、本発明に係る量子プログラム秘匿化装置によれば、量子プログラムを、その演算内容を知られずに権限を有する者に対して実行させることを可能とする。
量子秘密鍵量子ビット空間には、制御演算付加手段による拡張量子プログラムの書き換えに係る制御演算に係わらないダミー空間が含まれており、量子プログラム秘匿化装置は、拡張手段により生成された拡張量子プログラムに、ダミー空間の状態に対して演算を行うダミー量子ゲート列を追加するダミー演算追加手段を更に備える、ことが望ましい。この構成によれば、量子秘密鍵量子ビット空間のうちの、どのビットが量子秘密鍵に係るものかを分かりにくくするため、更に安全性の高い秘匿化を行うことができる。
入力手段は、複数の量子プログラムを入力し、制御演算付加手段は、拡張手段により生成された拡張量子プログラムを、量子秘密鍵量子ビット空間の状態に応じて、当該拡張量子プログラムに含まれる量子プログラムの何れかを実行する制御演算を行うように書き換える、ことが望ましい。この構成によれば、本発明に係る量子プログラム秘匿化装置による処理が行われた一つの拡張量子プログラムにより、複数の量子プログラムを実行できるので、ユーザの利便性を向上させることができる。
ところで、本発明は、上記のように量子プログラム秘匿化装置の発明として記述できる他に、以下のように量子プログラム秘匿化方法の発明としても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
即ち、本発明に係る量子プログラム秘匿化方法は、量子プログラム秘匿化装置による量子プログラム秘匿化方法であって、ユニタリ変換を示す量子ゲート列を含む量子プログラムを入力する入力ステップと、入力ステップにおいて入力された量子プログラムを含み、当該量子プログラムの入力量子ビット空間に加えて、量子秘密鍵に応じた量子ビット空間である量子秘密鍵量子ビット空間を有する拡張量子プログラムを生成する拡張ステップと、拡張ステップにおいて生成された拡張量子プログラムを、量子秘密鍵量子ビット空間が所定の状態である場合に、当該拡張量子プログラムに含まれる量子プログラムを実行する制御演算を行うように書き換える制御演算付加ステップと、演算制御付加ステップにおいて書き換えられる拡張量子プログラムに、制御演算が行われる前の量子秘密鍵量子ビット空間の状態に対して演算を行う第1の量子ゲート列を追加すると共に当該拡張量子プログラムに、制御演算が行われた後の量子秘密鍵量子ビット空間の状態に対して演算を行う第2の量子ゲート列を追加する暗号化ステップと、量子秘密鍵量子ビット空間の所定の状態に対して、暗号化ステップにおいて追加された第1の量子ゲート列の逆演算を行うことによって量子秘密鍵を生成する秘密鍵生成ステップと、暗号化ステップにおいて第1の量子ゲート列が追加された拡張量子プログラムに対して、量子ゲート列の入れ替え及び量子ゲート列の追加の少なくとも何れかを、予め記憶したルールに基づいて行う難読化ステップと、難読化ステップにおける処理が行われた拡張量子プログラム、及び秘密鍵生成ステップにおいて生成された量子秘密鍵を出力する出力ステップと、を含むことを特徴とする。
本発明において生成される拡張量子プログラムは、上記制御演算と第1の量子ゲート列とによって、量子秘密鍵量子ビット空間に量子秘密鍵が入力されなければ、量子プログラムが実行されない。即ち、量子秘密鍵を有した者でなければ、量子プログラムは実行されない。また、上記の拡張量子プログラムは、ゲート列の入れ替え及びゲート列の追加の少なくとも何れかの難読化が行われるため、その演算内容が実行者に知られることはない。また、第2のゲート列の存在により、難読化された拡張量子プログラムによって演算が行われて出力される量子秘密鍵が、制御演算に応じた所定の状態となることがなく、安全性の高い秘匿化を行うことができる。これらにより、本発明によれば、量子プログラムを、その演算内容を知られずに権限を有する者に対して実行させることを可能とする。
以下、図面と共に本発明に係る量子プログラム秘匿化装置及び量子プログラム秘匿化方法の好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
図1に本実施形態に係る量子プログラム秘匿化装置10の機能的な構成を示す。量子プログラム秘匿化装置10は、ユニタリ変換を示す量子ゲート列を含む量子プログラムを、秘匿化する装置である。この秘匿化は、量子プログラムの演算内容を知られずに権限を有する者に対して量子プログラムを実行させることを可能とするように行われる。図2に本実施形態で処理される処理される量子プログラムu〜u(kは、量子プログラムのインデックスを示す)を示す。図2において、横線は各量子ビットを表し、矩形は量子ゲート列を表す。図2に示す量子プログラムは、通常、左から右に順に実行される。なお、本実施形態では、量子プログラム秘匿化装置10の処理対象は、複数の量子プログラムu〜uである。但し、1つの量子プログラムを処理対象としてもよい。
量子プログラムu〜u各々は、量子計算機等の情報処理装置により実行される。具体的には、例えば、イオントラップあるいはNMR(Nuclear Magnetic Resonance:核磁気共鳴)を用いた量子計算機により実行される。図2に示すように、量子プログラムu〜u各々は、1以上の量子ビットからなる入力量子ビット空間21を有しており、当該入力量子ビット空間に対する量子情報の入力に対して、量子ゲート列により演算処理を行って、演算処理後の量子情報の出力を行う。
引き続いて、量子プログラム秘匿化装置10の機能構成について詳細に説明する。図1に示すように、量子プログラム秘匿化装置10は、入力部11と、拡張部12と、制御演算付加部13と、ダミー演算追加部14と、暗号化部15と、秘密鍵生成部16と、難読化部17と、出力部18とを備える。
入力部11は、複数の量子プログラム{u}を入力する入力手段である。量子プログラム{u}の入力は、例えば、量子プログラム秘匿化装置10に接続された外部装置から送信された量子プログラム{u}を受信することにより行われる。また、量子プログラム秘匿化装置10に格納されている量子プログラム{u}を、ユーザの操作等をトリガとして読み出すことによって入力することとしてもよい。入力部11は、入力した量子プログラム{u}を拡張部12に出力する。
拡張部12は、図2に示すように、入力部11により入力された量子プログラム{u}を含む拡張量子プログラムU´を生成する拡張手段である。拡張量子プログラムU´は、量子プログラム{u}の入力量子ビット空間21に加えて、量子秘密鍵に応じた量子ビット空間である、1以上の量子ビットからなる量子秘密鍵量子ビット空間22を有する。即ち、拡張部12は、量子プログラム{u}を、量子ビット空間を量子秘密鍵量子ビット空間22分増加させた(自由度を増加させた)拡張量子プログラムU´を生成する。具体的には、量子ビット空間の増加は、拡張量子プログラムU´の有する量子ビット空間の定義を上記のように設定することにより行われる。量子秘密鍵は、量子秘密鍵量子ビット空間22分の量子ビットの状態を有する量子情報であり、量子プログラム{u}を実行するためのものである。量子秘密鍵については、より詳しく後述する。なお、量子秘密鍵量子ビット空間22には、後述するように量子プログラム{u}の実行の可否には係わらないダミー空間23が含まれている。
制御演算付加部13は、生成された拡張量子プログラムU´を、量子秘密鍵量子ビット空間22が所定の状態である場合に、当該拡張量子プログラムU´に含まれる量子プログラム{u}を実行する制御演算を行うように書き換える制御演算付加手段である。上記の所定の状態は、図2に示すように量子プログラムuには状態A、量子プログラムuには状態Aのように量子プログラム{u}毎に互いに異なるように一意に定められる。即ち、上記の制御演算は、量子秘密鍵量子ビット空間22が状態Aであった場合には量子プログラムuが実行されるように、また、量子秘密鍵量子ビット空間22が状態Aであった場合には量子プログラムuが実行されるように制御する演算である。なお、ダミー空間23は、量子プログラム{u}の実行の可否には係わらない。
所定の状態は、予め一意に定められて、メモリ等に記憶されていてもよいし、プログラム等により一意になるように処理時点で定められるようにしてもよい。制御演算付加部13は、書き換えた拡張量子プログラムU´を、ダミー演算追加部14に出力する。
ダミー演算追加部14は、拡張量子プログラムU´に、ダミー空間23の状態に対して演算を行うダミー量子ゲート列M,Mを追加するダミー演算追加手段である。従って、ダミー量子ゲート列M,Mは、拡張量子プログラムU´の量子ビット空間における入力量子ビット空間21、及びダミー空間23以外の量子秘密鍵量子ビット空間22の状態には影響を及ぼさない。ダミー量子ゲート列M,Mは、上記の条件を満たすようにランダムに選択される。
追加されるダミー量子ゲート列M,Mは、図2に示すように拡張量子プログラムU´における量子プログラム{u}の前後に設けられる。なお、前後の何れか一方に設けられていてもよい。また、ダミー量子ゲート列M,M各々は、制御演算により、拡張量子プログラムU´の量子ビット空間の任意の量子ビットの状態AM1,AM2に応じて実行されるようにしてもよい。ダミー演算追加部14は、ダミー量子ゲート列M,Mを追加した拡張量子プログラムU´を暗号化部15に出力する。
暗号化部15は、拡張量子プログラムU´に、量子プログラム{u}を実行する制御演算が行われる前の量子秘密鍵量子ビット空間22の状態に対して演算を行う第1の量子ゲート列である暗号化ゲート列Rを追加する暗号化手段である。暗号化ゲート列Rは、ランダムに選択される。暗号化ゲート列Rは、量子プログラム{u}に応じた量子秘密鍵量子ビット空間22の状態を秘匿するためのものである。即ち、暗号化ゲート列Rは、量子プログラム{u}を実行する際に、量子プログラム{u}に応じた量子秘密鍵量子ビット空間22の状態を示す量子情報をそのまま入力させないためのものである。
また、暗号化部15は、拡張量子プログラムU´に、量子プログラム{u}を実行する制御演算が行われた後の量子秘密鍵量子ビット空間22の状態に対して演算を行う第2の量子ゲート列である暗号化ゲート列Lを追加するものである。暗号化ゲート列Lは、ランダムに選択される。暗号化ゲート列Lは、量子プログラム{u}に応じた量子秘密鍵量子ビット空間22の状態を秘匿するためのものである。即ち、暗号化ゲート列Lは、量子プログラム{u}を実行する際に、量子プログラム{u}に応じた量子秘密鍵量子ビット空間22の状態を示す量子情報をそのまま出力させないためのものである。暗号化ゲート列R,Lを拡張量子プログラムU´に追加することを暗号化と呼ぶ。暗号化部15により暗号化された拡張量子プログラムU´は以下の式のように示される。
Figure 0005105408

暗号化部15は、暗号化した拡張量子プログラムU´を難読化部17に出力する。また、暗号化部15は、暗号化ゲート列Rを秘密鍵生成部16に出力する。
秘密鍵生成部16は、量子秘密鍵量子ビット空間22の、上記の制御演算における量子プログラム{u}に応じた所定の状態に対して、暗号化ゲート列Rの逆演算(図2における右から左への演算)を行うことによって量子秘密鍵R|k>を生成する秘密鍵生成手段である。量子秘密鍵R|k>は、量子秘密鍵量子ビット空間22の状態を示す量子情報として生成される。量子秘密鍵R|k>の生成は、量子プログラム{u}毎に行われ、量子プログラム{u}の数だけ生成される。秘密鍵生成部16は、生成した量子秘密鍵を出力部18に出力する。
上記のように生成された暗号化された拡張量子プログラムU´の量子秘密鍵量子ビット空間22に量子秘密鍵R|k>を入力すると、入力量子ビット空間21に入力される任意の量子情報|input>に対して、当該量子秘密鍵R|k>に対応する(当該量子秘密鍵R|k>が指定する)量子プログラムuが実行される。これを式で表すと以下のようになる。なお、以下の式において、u|input>は、実行させたい量子計算を示す。
Figure 0005105408
難読化部17は、暗号化部15により暗号化ゲート列R,Lが追加された拡張量子プログラムU´に対して、難読化を行う難読化手段である。難読化部17は、図2に示すように、難読化を行うことによって量子プログラムUを生成する。難読化は、量子プログラムを、当該量子プログラムがどのような演算を行うか(どのような量子ゲート列がどのような順番で並んでいるか)を分かりにくくするために、量子ゲート列の表現を変えるものである。従って、難読化は、量子プログラムが行う演算自体を変更するものではない。
プログラムの難読化は、具体的には、量子ゲート列の入れ替え(シャッフル)及び量子ゲート列の追加である。なお、量子ゲート列の入れ替え及び量子ゲート列の両方が必ずしも行われる必要はなく、少なくとも何れかが行われればよい。上記の難読化は、難読化部17によって予め記憶されたルールに基づいて行われる。量子ゲート列の入れ替えは、例えば、量子ゲート列を量子力学の交換関係を、上記のルールとして難読化部17に予め記憶させておき、当該交換関係に基づいて、拡張量子プログラムU´が行う演算自体が変更されないように行われる。また、量子ゲート列の追加は、拡張量子プログラムU´が行う演算自体は変更されない恒等演算子の量子ゲート列を難読化部17に予め記憶させておき、当該量子ゲート列を追加することにより行われる。難読化部17は、難読化済みの量子プログラムUを出力部18に出力する。
出力部18は、難読化部17による難読化が行われた拡張量子プログラムU、及び秘密鍵生成部16により生成された量子秘密鍵を出力する出力手段である。この出力は、例えば、量子プログラム秘匿化装置10に接続された別の装置に対して行われてもよいし、難読化が行われた拡張量子プログラムU及び量子秘密鍵を自由に利用できるように、量子プログラム秘匿化装置10内のメモリ等に対して行われてもよい。
量子プログラム秘匿化装置10は、例えば、量子プログラムが実行される装置と同様の量子計算機等の情報処理装置である。具体的には、例えば、イオントラップあるいはNMRを用いた量子計算機である。上記の装置の各ハードウェアがプログラム等によって動作することにより、上記の機能が実現される。以上が、量子プログラム秘匿化装置10の構成である。
引き続いて、図3のフローチャートを用いて、本実施形態の量子プログラム秘匿化装置10で実行される処理(量子プログラム秘匿化方法)を説明する。この処理は、量子プログラム{u}の作成者等によって、量子プログラム{u}が秘匿化される際に行われる。
まず、量子プログラム秘匿化装置10では、入力部11によって量子プログラム{u}が入力される(S01、入力ステップ)。続いて、入力された量子プログラム{u}を含み、当該量子プログラム{u}の入力量子ビット空間21に加えて、量子秘密鍵に応じた量子秘密鍵量子ビット空間22を有する拡張量子プログラムU´が、拡張部12生成される(S02、拡張ステップ)。続いて、制御演算付加部13によって、拡張量子プログラムU´が、量子秘密鍵量子ビット空間22が所定の状態A〜Aである場合に、当該拡張量子プログラムU´に含まれる量子プログラムu〜uを実行する制御演算が行われるように書き換えられる(S03、制御演算付加ステップ)。
続いて、ダミー演算追加部14によって、拡張量子プログラムU´に、量子秘密鍵量子ビット空間22に含まれるダミー空間23の状態に対して演算を行うダミー量子ゲート列M,Mが追加される(S04、ダミー演算追加ステップ)。続いて、暗号化部15によって、拡張量子プログラムU´に、暗号化ゲート列R,Lが追加される(S05、暗号化ステップ)。なお、S03〜S05の処理に関して、図2に示すような各処理完了後の拡張量子プログラムU´となっていればよいのでそれらの順番は必ずしも上記の順番でなくてもよい。
続いて、秘密鍵生成部16によって、量子秘密鍵量子ビット空間22の上記の所定の状態A〜Aに対して、暗号化ゲート列Rの逆演算を行うことによって量子秘密鍵R|k>が生成される(S06、秘密鍵生成ステップ)。続いて、難読化部17によって、図2に示すように、拡張量子プログラムU´に対して難読化が行われ、難読化済みの拡張量子プログラムUが生成される(S07、難読化ステップ)。なお、S06及びS07の処理はそれぞれ独立に行われるので、順序が逆になっていてもよい。続いて、出力部18によって、難読化済みの拡張量子プログラムU及び量子秘密鍵R|k>が出力される(S08、出力ステップ)。以上が、量子プログラム秘匿化装置10で実行される処理である。
量子プログラム秘匿化装置10によって、生成された難読化済みの拡張量子プログラムU及び量子秘密鍵R|k>は、例えば、以下のように利用される。難読化済みの拡張量子プログラムUは、認証局等でプログラムの作成者が認証された上で、古典公開鍵として公開される。当該拡張量子プログラムUは、任意の者によって取得することができる。当該拡張量子プログラムUに含まれる量子プログラム{u}を実行する者は、プログラムの作成者からの供給を受けること等により、実行したい量子プログラムuに応じた量子秘密鍵R|k>を取得する。実行者は、以下の式のように、拡張量子プログラムUの量子秘密鍵量子ビット空間22に量子秘密鍵R|k>を入力し、入力量子ビット空間21に任意の量子情報|input>を入力して、難読化済みの拡張量子プログラムUを実行する。
Figure 0005105408

これにより、以下の式のように任意の量子情報|input>に対して、量子プログラムuが実行される。
Figure 0005105408
上記のように本実施形態に係る量子プログラム秘匿化装置10により生成される難読化済み拡張量子プログラムUは、上記の制御演算と暗号化ゲート列Rとによって、量子秘密鍵量子ビット空間22に量子秘密鍵R|k>が入力されなければ、量子プログラム{u}が実行されない。即ち、量子秘密鍵R|k>を有した者でなければ、量子プログラム{u}は実行されない。
また、難読化済み拡張量子プログラムUの実行者は、上記の難読化の効果により、量子計算機を用いても難読化済み拡張量子プログラムU(古典公開鍵)の情報から多項式時間で量子プログラム{u}(ユニタリ演算)を特定することができない。また、量子秘密鍵R|k>の量子状態の特定も、多項式時間の量子計算によっては不可能となる。上記の処理(秘匿量子計算)を用いると、量子秘密鍵を用いずに多項式時間で量子計算を実行することが可能であるのは、難読化済み拡張量子プログラムUの作成者だけとなる。従って、本実施形態によれば、量子プログラム{u}をその演算内容を知られずに権限を有する者に対して実行させることを可能とする。
また、暗号化量子ゲート列Lの存在により、難読化済みの拡張量子プログラムUによって演算が行われて出力される量子秘密鍵が、上記の制御演算に応じた所定の状態A〜Aとなることがなく、安全性の高い秘匿化を行うことができる。
即ち、本実施形態は、量子計算機でも計算量的に安全性が保障されるQMA(QuantumMerlin-Arthur)困難問題に基づく、量子暗号要素技術(暗号プリミティブ)としての秘匿量子計算を可能にするものである。なお、秘匿量子計算の概念は、本願発明者によって見出されたものであり、以下に示すものである。秘匿量子計算は、AとBとの二者間量子プロトコルである。Aが量子プロトコル(量子計算におけるユニタリ変換)を決定し(即ち、本実施形態における量子プログラム{u}の作成者)、Bが入力量子情報を準備する(即ち、量子プログラム{u}の実行者)。
Aが量子プログラムを暗号化及び難読化して古典公開鍵とし、復号を行う量子秘密鍵と共にBに送信する。量子秘密鍵は未知量子状態のため同定が不可能であり、量子プログラムはQMA困難である難読化によって計算量的に解読が不可能であるため、AはBに量子プログラムの内容を知らせることなく、Bが準備する任意の入力量子情報に対して量子プログラムを実行させることができある。以上が、秘匿量子計算である。
また、本実施形態のようにダミー量子ゲート列M,Mを拡張量子プログラムU´に追加することとすれば、量子秘密鍵量子ビット空間22のうちの、どのビットが量子秘密鍵に係るものかを分かりにくくするため、さらに安全性の高い秘匿化を行うことができる。
また、本実施形態のように複数の量子プログラム{u}を入力して、難読化済み拡張量子プログラムUにそれらを含ませることとすれば、一つの難読化済み拡張量子プログラムUにより、複数の量子プログラム{u}を実行できるので、ユーザの利便性を向上させることができる。但し、必ずしも複数の量子プログラムを難読化済み拡張量子プログラムUに含ませる必要はなく、秘匿量子計算に用いられる量子プログラムが1つである場合等は1つの量子プログラムのみを難読化済み拡張量子プログラムUに含ませてもよい。
本発明の実施形態に係る量子プログラム秘匿化装置の構成を示す図である。 量子プログラム秘匿化装置により秘匿化される量子プログラム及び生成される拡張量子プログラムを概念的に示す図である。 本発明の実施形態に係る量子プログラム秘匿化装置によって実行される処理(量子プログラム秘匿化方法)を示すフローチャートである。
符号の説明
10…量子プログラム秘匿化装置、11…入力部、12…拡張部、13…制御演算付加部、14…ダミー演算追加部、15…暗号化部、16…秘密鍵生成部、17…難読化部、18…出力部。

Claims (4)

  1. ユニタリ変換を示す量子ゲート列を含む量子プログラムを入力する入力手段と、
    前記入力手段により入力された量子プログラムを含み、当該量子プログラムの入力量子ビット空間に加えて、量子秘密鍵に応じた量子ビット空間である量子秘密鍵量子ビット空間を有する拡張量子プログラムを生成する拡張手段と、
    前記拡張手段により生成された拡張量子プログラムを、前記量子秘密鍵量子ビット空間が所定の状態である場合に、当該拡張量子プログラムに含まれる量子プログラムを実行する制御演算を行うように書き換える制御演算付加手段と、
    前記演算制御付加手段により書き換えられる拡張量子プログラムに、前記制御演算が行われる前の前記量子秘密鍵量子ビット空間の状態に対して演算を行う第1の量子ゲート列を追加すると共に当該拡張量子プログラムに、前記制御演算が行われた後の前記量子秘密鍵量子ビット空間の状態に対して演算を行う第2の量子ゲート列を追加する暗号化手段と、
    前記量子秘密鍵量子ビット空間の前記所定の状態に対して、前記暗号化手段により追加された第1の量子ゲート列の逆演算を行うことによって量子秘密鍵を生成する秘密鍵生成手段と、
    前記暗号化手段により前記第1の量子ゲート列が追加された拡張量子プログラムに対して、量子ゲート列の入れ替え及び量子ゲート列の追加の少なくとも何れかを、予め記憶したルールに基づいて行う難読化手段と、
    前記難読化手段による処理が行われた拡張量子プログラム、及び秘密鍵生成手段により生成された量子秘密鍵を出力する出力手段と、
    を備える量子プログラム秘匿化装置。
  2. 前記量子秘密鍵量子ビット空間には、前記制御演算付加手段による前記拡張量子プログラムの書き換えに係る制御演算に係わらないダミー空間が含まれており、
    前記拡張手段により生成された拡張量子プログラムに、前記ダミー空間の状態に対して演算を行うダミー量子ゲート列を追加するダミー演算追加手段を更に備える、
    ことを特徴とする請求項1に記載の量子プログラム秘匿化装置。
  3. 前記入力手段は、複数の前記量子プログラムを入力し、
    前記制御演算付加手段は、前記拡張手段により生成された拡張量子プログラムを、前記量子秘密鍵量子ビット空間の状態に応じて、当該拡張量子プログラムに含まれる量子プログラムの何れかを実行する制御演算を行うように書き換える、
    ことを特徴とする請求項1又は2に記載の量子プログラム秘匿化装置。
  4. 量子プログラム秘匿化装置による量子プログラム秘匿化方法であって、
    ユニタリ変換を示す量子ゲート列を含む量子プログラムを入力する入力ステップと、
    前記入力ステップにおいて入力された量子プログラムを含み、当該量子プログラムの入力量子ビット空間に加えて、量子秘密鍵に応じた量子ビット空間である量子秘密鍵量子ビット空間を有する拡張量子プログラムを生成する拡張ステップと、
    前記拡張ステップにおいて生成された拡張量子プログラムを、前記量子秘密鍵量子ビット空間が所定の状態である場合に、当該拡張量子プログラムに含まれる量子プログラムを実行する制御演算を行うように書き換える制御演算付加ステップと、
    前記演算制御付加ステップにおいて書き換えられる拡張量子プログラムに、前記制御演算が行われる前の前記量子秘密鍵量子ビット空間の状態に対して演算を行う第1の量子ゲート列を追加すると共に当該拡張量子プログラムに、前記制御演算が行われた後の前記量子秘密鍵量子ビット空間の状態に対して演算を行う第2の量子ゲート列を追加する暗号化ステップと、
    前記量子秘密鍵量子ビット空間の前記所定の状態に対して、前記暗号化ステップにおいて追加された第1の量子ゲート列の逆演算を行うことによって量子秘密鍵を生成する秘密鍵生成ステップと、
    前記暗号化ステップにおいて前記第1の量子ゲート列が追加された拡張量子プログラムに対して、量子ゲート列の入れ替え及び量子ゲート列の追加の少なくとも何れかを、予め記憶したルールに基づいて行う難読化ステップと、
    前記難読化ステップにおける処理が行われた拡張量子プログラム、及び秘密鍵生成ステップにおいて生成された量子秘密鍵を出力する出力ステップと、
    を含む量子プログラム秘匿化方法。
JP2007136984A 2007-05-23 2007-05-23 量子プログラム秘匿化装置及び量子プログラム秘匿化方法 Active JP5105408B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2007136984A JP5105408B2 (ja) 2007-05-23 2007-05-23 量子プログラム秘匿化装置及び量子プログラム秘匿化方法
PCT/JP2007/074830 WO2008142816A1 (ja) 2007-05-23 2007-12-25 量子プログラム秘匿化装置及び量子プログラム秘匿化方法
CA2672046A CA2672046C (en) 2007-05-23 2007-12-25 Quantum program concealing device and quantum program concealing method
US12/527,408 US8189779B2 (en) 2007-05-23 2007-12-25 Quantum program concealing device and quantum program concealing method
AU2007353565A AU2007353565B2 (en) 2007-05-23 2007-12-25 Quantum program concealing device and quantum program concealing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007136984A JP5105408B2 (ja) 2007-05-23 2007-05-23 量子プログラム秘匿化装置及び量子プログラム秘匿化方法

Publications (2)

Publication Number Publication Date
JP2008294666A JP2008294666A (ja) 2008-12-04
JP5105408B2 true JP5105408B2 (ja) 2012-12-26

Family

ID=40031538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007136984A Active JP5105408B2 (ja) 2007-05-23 2007-05-23 量子プログラム秘匿化装置及び量子プログラム秘匿化方法

Country Status (5)

Country Link
US (1) US8189779B2 (ja)
JP (1) JP5105408B2 (ja)
AU (1) AU2007353565B2 (ja)
CA (1) CA2672046C (ja)
WO (1) WO2008142816A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011130120A (ja) * 2009-12-16 2011-06-30 Sony Corp 量子公開鍵暗号システム、鍵生成装置、暗号化装置、復号装置、鍵生成方法、暗号化方法、及び復号方法
WO2012000092A1 (en) * 2010-06-28 2012-01-05 Lionstone Capital Corporation Seamless end-to-end data obfuscation and encryption
US9792451B2 (en) * 2011-12-09 2017-10-17 Echarge2 Corporation System and methods for using cipher objects to protect data
US9830467B1 (en) * 2014-04-14 2017-11-28 Michael Harold System, method and apparatus for securely storing data on public networks
US11423169B1 (en) 2014-04-14 2022-08-23 Goknown Llc System, method and apparatus for securely storing data on public networks
EP3729304A4 (en) * 2017-12-18 2021-08-18 University of Central Florida Research Foundation, Inc. TECHNIQUES FOR SECURELY EXECUTING A CODE ACTING ON ENCRYPTED DATA ON A PUBLIC COMPUTER
US11074104B2 (en) * 2019-04-09 2021-07-27 International Business Machines Corporation Quantum adaptive circuit dispatcher

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002042104A (ja) * 2000-07-27 2002-02-08 Yamaha Motor Co Ltd 量子ソフトコンピューティングを使用した制御システムと制御方法
US20030121028A1 (en) * 2001-12-22 2003-06-26 Michael Coury Quantum computing integrated development environment
CA2515497A1 (en) * 2003-02-14 2004-09-02 Clearsight Systems Inc. Method and programmable apparatus for quantum computing
JP2004349833A (ja) 2003-05-20 2004-12-09 Nippon Telegr & Teleph Corp <Ntt> 量子匿名送信装置、量子匿名受信装置、量子状態配布装置、量子匿名通信方法、及びプログラム
US20050141716A1 (en) * 2003-09-29 2005-06-30 Prem Kumar Coherent-states based quantum data-encryption through optically-amplified WDM communication networks
JP4295679B2 (ja) * 2004-06-15 2009-07-15 日本電信電話株式会社 量子計算方法、量子計算機及び量子計算プログラム
JP4718244B2 (ja) * 2005-05-30 2011-07-06 日本電信電話株式会社 量子プログラム変換装置、その方法、そのプログラム及び記録媒体
JP2007116216A (ja) 2005-10-18 2007-05-10 Hitachi Ltd 量子認証方法およびシステム
EP3522050A1 (en) * 2007-05-18 2019-08-07 Verimatrix, Inc. System and method for defining programmable processing steps applied when protecting the data

Also Published As

Publication number Publication date
AU2007353565B2 (en) 2011-01-06
CA2672046A1 (en) 2008-11-27
AU2007353565A1 (en) 2008-11-27
JP2008294666A (ja) 2008-12-04
US20100070780A1 (en) 2010-03-18
CA2672046C (en) 2012-05-22
US8189779B2 (en) 2012-05-29
WO2008142816A1 (ja) 2008-11-27

Similar Documents

Publication Publication Date Title
JP5105408B2 (ja) 量子プログラム秘匿化装置及び量子プログラム秘匿化方法
JP6665204B2 (ja) データ暗号化装置及び方法、並びにデータ復号化装置及び方法
JP5167348B2 (ja) ソフトウェア暗号化方法およびソフトウェア暗号解読方法およびソフトウェア暗号化装置およびソフトウェア暗号解読装置
JP6139804B2 (ja) 再暗号化鍵生成装置、再暗号化装置、暗号化装置、復号装置及びプログラム
JP2011130120A (ja) 量子公開鍵暗号システム、鍵生成装置、暗号化装置、復号装置、鍵生成方法、暗号化方法、及び復号方法
KR20120079639A (ko) 화이트박스 암호 테이블을 이용한 콘텐츠 보호 장치, 콘텐츠 암호화 및 복호화 장치
JP2004355615A5 (ja)
JP5929905B2 (ja) 順序保存暗号化システム、装置、方法及びプログラム
CN105468940A (zh) 软件保护方法及装置
TWI597960B (zh) 金鑰分裂技術
CN112385175B (zh) 一种用于数据加密和完整性的设备
WO2020044748A1 (ja) Idベースハッシュ証明系構成装置、idベース暗号装置、idベースハッシュ証明系構成方法及びプログラム
JP5992651B2 (ja) 暗号化方法、プログラム、および、システム
JP2014224879A (ja) 乱数生成装置、暗号処理装置、記憶装置及び情報処理システム
JP2021534443A (ja) データをセキュアにするための方法およびシステム
JP5171787B2 (ja) サインクリプションシステムおよびサインクリプション生成方法
KR100505335B1 (ko) 중재자를 이용한 양자 서명 방법
CN114205144A (zh) 数据传输方法、装置、设备、存储介质及程序产品
JPWO2021009860A5 (ja)
WO2021044465A1 (ja) 暗号化装置、復号装置、コンピュータプログラム、暗号化方法、復号方法及びデータ構造
JP2005309148A (ja) データ変換装置およびデータ変換方法
JP2015082077A (ja) 暗号化装置、制御方法、及びプログラム
JP4829864B2 (ja) 情報記録媒体のセキュリティ方法、プログラム及び記録媒体
JP2005303776A (ja) 電子データ暗号化装置、電子データ復元装置及びプログラム
JP5268413B2 (ja) 開示制限処理装置及びデータ処理システム及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100519

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120918

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120926

R150 Certificate of patent or registration of utility model

Ref document number: 5105408

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250