JP7177849B2 - パブリックコンピューターにおいて暗号化データに作用するコードを安全に実行する方法 - Google Patents
パブリックコンピューターにおいて暗号化データに作用するコードを安全に実行する方法 Download PDFInfo
- Publication number
- JP7177849B2 JP7177849B2 JP2020552680A JP2020552680A JP7177849B2 JP 7177849 B2 JP7177849 B2 JP 7177849B2 JP 2020552680 A JP2020552680 A JP 2020552680A JP 2020552680 A JP2020552680 A JP 2020552680A JP 7177849 B2 JP7177849 B2 JP 7177849B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- gates
- data
- gate
- reversible
- 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
Links
- 238000000034 method Methods 0.000 claims description 119
- 230000002441 reversible effect Effects 0.000 claims description 95
- 230000015654 memory Effects 0.000 claims description 27
- 230000001902 propagating effect Effects 0.000 claims description 15
- 230000015572 biosynthetic process Effects 0.000 claims description 4
- 238000003786 synthesis reaction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 74
- 238000013507 mapping Methods 0.000 description 43
- 230000008569 process Effects 0.000 description 39
- 230000006854 communication Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 21
- 230000010354 integration Effects 0.000 description 16
- 239000011324 bead Substances 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 10
- 238000009954 braiding Methods 0.000 description 9
- 230000033001 locomotion Effects 0.000 description 9
- 230000035515 penetration Effects 0.000 description 8
- 230000000644 propagated effect Effects 0.000 description 7
- 238000007596 consolidation process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101100001678 Emericella variicolor andM gene Proteins 0.000 description 1
- 241000969106 Megalaima haemacephala Species 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2125—Just-in-time application of countermeasures, e.g., on-the-fly decryption, just-in-time obfuscation or de-obfuscation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Storage Device Security (AREA)
Description
前記難読化命令を送信することは、前記第二プロセッサで実行可能な形式の難読化コード命令を送信することを更に含む。
1. 概略
2.実施例
2.1 一般的な3ビットゲート
ゲートの動きを説明するため、最もシンプルなケースを考える。ここでは二つの連続したゲートが異なる3ビットグループに作用し、したがって可換、つまりGl・Gl-1=Gl-1・Glとなる。プログラムラインに関しては、二つの連続したゲートが共通ビットを共有しない場合、つまり{xil、xjl、xkl}∩{xi(l+1)、xj(l+1)、xk(l+1)}=0であれば、lとl+1のラインは命令リストにおいて交換可能である。連続ゲートの交換は、これらの連続ゲートが衝突するとき、つまり、1、2、又は3ビットを共有するときまで継続可能である。
Gb・Ga=Gf・Bl・Ge・Gd・Bk・Gc (1)
図8は、一実施形態による、2ビットで衝突する一対の3ビットゲートを例示するブロック図である。
Ge・Gd=O=Bk・Gf-1・Gb・Ga・Gc-1・Bk-1 (2)
なお、重なるビットが二つしかない積Ge・Gdは、Oで示されている4ビットオペレーターゲートに対応する。図12は、一実施形態による、二つのビットで3ビットゲートが衝突する際にいくつかのデブリゲートGd及びGeを決定するために分解される4ビットオペレーターOを例示するブロック図である。ステップ527では、数式2の解が見つかるかどうかが判定される。見つからない場合、制御はステップ525に戻り、異なる二つの境界ゲートGc及びGfをランダムに選択し、残りのゲートGd及びGeについて解くためにステップ527の試みを繰り返す。解が見つかると、制御はステップ541に進む。ここでは多数対のゲートGd及びGeが見つかる事が多い。経験的に、2500の任意のゲートGa及びGbから始めて、1.25%に一つの(Gc、Gd、Ge、Gf)解があり、31.80%に二つから10の解がある。49.16%には、11から100の解があり、11.76%には101から1000の解がある。6.04%には1000を超える解がある。ゲージ対称性Gb・Ga=Gb・g・g-1・Gaのため、Ga及びGbゲートの全ての(8!)2ペアをテストする必要があるわけではないことに気付いた。ここでは、gは、GaとGbが共有するビットに作用する2ビット順列と、Ga又はGbからの非共有ビットに作用する1ビット順列を含むゲートである。
Gb・Ga=Gb・S1-1・S1・Ga=Gb・S1-1・Ga’・S1
=Gb・S2・Ga’・S1 (3a)
ここで、Ga’はGaに基づくゲートであるが、スワップゲートS1の結果としてGbと重なる二つのビットを有する。Ga’はS1をゲートGaの前に移動することによって形成される。一つのスワップゲートは回路の内部に留まり、S2という名前が付けられている。もう一つは外側に移動し、S1という名前が付けられている。しかしながら、どちらも同じ2ビットをスワップする。Ga’は、ゲート定義でビットをスワップすることにより、Gaから取得できる。選択されたゲートについては、スワップ挿入を行う方法が4つあり、これらの方法は、どのビットがスワップされるか、どのようにスワップされるかに応じて用いられる。したがって、衝突を進めるには、合計で8つの方法があるということになる。
Gb・Ga = Gb・S2・S4・S3・Ga’・S1 (3b)
このステップは、図15のステップ2として、例示された実施形態用に示されている。二つのうちの最初のS3はGa’とマージされてGa”を形成し、2番目のS4は逆スワップゲートS2とマージされてGpを形成する。
Gb・Ga = Gb・Gp・Ga”・S1 (3c)
where Ga”=S3・Ga’and Gp=S2 S4
結果には、それぞれが二つのビット位置を共有する三つのゲートGa”、Gp、Gbが含まれる。このステップは、図15のステップ2として、例示された実施形態用に示されている。
Gb・Ga=Gb・Gp・Ga”・S1
=Gf・A・Gc・Ga”・S1 (4a)
where A=Bl・Ge・Gd・Bk (4b)
Gb・Ga=Gf・A・Gc・Ga”・S1
=Gf・A・Ga’”・Bl’・Ge’・Gd’・Bk’・Gc’・S1
=Gf・A・Ga’”・B・Gc’・S1 (5a)
where B=Bl’・Ge’・Gd’・Bk’ (5b)
Gb・Ga=Gf’・A’・Ga’’’’・B’・Gc’’ (6)
なお、両順列A並びにB及びA’並びにB’について、二つの3ビットゲートに関する構成が可能性的に三つある(例示された実施形態用に、図15において挿入として示されている)。これは2ビット衝突の実施中になされたランダムな選択によって決まる。このプロセスの最終結果は、元ゲートGa及びGbに相当する7つの3ビットゲートのシーケンスを確立するものである。
上記のステップ309では、ゲートが衝突する前に、写像fを表すゲート全てにわたって、復号化及び暗号化ゲートが断続的又は定期的に追加される。そのステップとその結果の難読化を、3ビットゲートを用いて説明する。暗号化がおよそn((n)として表記)のゲート(通常、ゲートGaの場合、ビットia、ja、kaに作用)で行われる場合、次の方法がよい。図16に示すように、写像fを積f=fp・fp-1・・・f2・fとして分解する。図16及び図17は、一実施形態による、ゲートを衝突させることによってプログラムをさらに難読化するための中間暗号化及び復号化ステップの導入を示すブロック図である。暗号化を定期的に導入する場合、fにngゲートがあるときは、r=1~p-1の写像frそれぞれがng/pゲートを持つように選択される。ここでfpは残りのゲート全てを含む。次に、下記の数式7で与えられるように、定期的な暗号化を表す。
E’・f・E-1=(E’・fp・Ep-1 -1)・・・(Er・fr・Er-1 -1)・・・(E2・f2・E1 -1)・(E1・f1・E-1) (7)
図17に示すように、r=1~p-1のそれぞれについて、異なる暗号化/復号化順列Er、Er -1を自由に選択することができる。
l(Ar)=(a+b)n. (8a)
l(Ar (an))=l(Ar)+an Δl (8e)
Br側のゲートのリストは、A側に流れ込んでいる。言い換えると、l(Br (an))=0なので、統合回路Crの全長は数式8eで与えられる。上記で定義したようにArの長さに(a+b)nを代入し、式8b又は8c又は8dからΔlの定義を代入すると、現在のセグメントの統合回路Crの長さが下記数式8fとして得られる。
l(Cr)=(a+b){1+9a(δ-1)}n (8f)
衝突Gbの最後のストップの位置が互いにΔl=Kほど離れているため、Brのゲートは統合回路Cに沿って均一に散在していることに注目された。
上記ステップ317では、複数の3ビットゲートが、少なくとも一つのkビットゲートに組み合わされる(k>3)。上記ゲート衝突ルールを用いたあと、複数の3ビットゲートを一又は複数のより大きなkビットゲートのそれぞれに組み合わせることにより、回路をさらに難読化できる。kビットラインの集合に作用するいくつかの3ビットゲートの積は効率的に決定でき、可能性がある2k入力状態に対する置換オペレーションを生じさせる。しかしながら、逆問題、つまり2k入力に対する順列を、一連のkラインに作用する3ビットゲートにより生成されたより小さい順列の積に因数分解することは、難しい問題である。本明細書では、3ビットゲートを乗算して、内部コンポーネントの特定が難しいkビットゲートを形成するプロセス例を「ゲート統合」のプロセスと呼ぶ。
二つの数値xとyを乗算し、結果としてx・yを生成する写像fについて考える。この写像を可逆ゲートで実施するには、補助ビットを使用する必要がある。図20は、一実施形態による、2ビット乗算写像fのための3ビットゲートのシーケンスを例示するブロック図である。2ビット乗算回路は、6つのトフォリT、4つのR、▲Rバー▼3ビット可逆ゲートを活用する制御リップル加算器に基づいている。挿入図は、R及び▲Rバー▼ゲートのCNOT及びトフォリゲートへの分解を示している。図20は5つの補助ビットを採用している。x及びyを入力ととると、補助ビットはゼロに設定され、回路は出力としてx、x・y、及びゼロに設定された一つの補助ビットを出す。
2.2制御ゲート
図26は、一実施形態による、図3の方法のステップで使用されるような、第二制御qビットゲートを通過して第1制御qビットゲートを伝搬する方法を例示するフロー図である。量子回路を最適化するときに制御ゲートを組み合わせる先のルールと異なり、方法2600で実施されるこれらのルールは、すべての制御ビットが真のタイプのロジックのものである必要はない。この方法は、例えば、図3の方法300のステップ311又はステップ313、あるいはその両方において、互いに通過して移動する二つの隣接するゲートGa及びGbから始まる。
1.Lの右端のゲート(gLと呼ぶ)を取り出し、L’を当該ゲートがないリストLとして定義する。同様に、Rの左端のゲート(gRと呼ぶ)を取り出し、R’を当該ゲートがないリストRとして定義する。
2.gLを左から右に押しM+[gR]にいれるか、それともgRを右から左に押して、[gL]+Mに入れるかをランダム(50%/50%の確率で)に選択する。なお、下記では、選択された選択肢が右から左に押すことであったと仮定している(他のケースも同様)。
3.リストsideA=[gL]+M及びsideB=[gR]を初期化する。
4.リストsideAが空ではなく、リストsideBのサイズとsideAのサイズの合計が所定の長さK未満(Kゲートなど)である場合、次のように行う。まず、sideAの右端のゲートとsideBの左端のゲートを飛び出させる。そして、それらを衝突させ、消滅しなければ、デブリをリストsideBに置く(デブリをその左側に加える)。このステップは、当該ワイルループの2つの条件のいずれかに違反があるまで、繰り返し行われる。
5.M’=sideA+sideB(回路の新しい中央パーツ)をアセンブルする。
6.LとRの両方が空でない限り、更新された三つL’→L、M’→M、R’→Rについて上記のステップを繰り返す。空であれば、回路Cobf=L+M+Rを戻す。
3. 計算ハードウェアの概要
4.変更形態
[1]R.L.Rivest,L.Adleman,andM.L.Dertouzos,On data bank and privacy homomorphisms(1978).
[2]E.F.Brickell and Y.Yacobi,On privacy homomorphisms,Workshop on Theory and Applications of Cryptographic Techniques,117-25(1987).
[3]C.Gentry,Fully homomorphic encryption using ideal lattices.ACM Symposium on Theory of Computation(STOC),169-178(2009).
[4]K.Lauter,Can homomorphic encryption be practical.Proceedings of the 3rd ACM workshop on cloud computing security,113-124(2011).
[5]C.B.Gentry,Bootstrappable Homomorphic Encryption Method,Computer Program and
Apparatus.US Patent 8,515,058 B1(August 20,2013).
[6]C.B.Gentry and S.Halevi,Efficient Implementation of Fully Homomorphic Encryption.US Patent 8,565,435 B2(October 22,2013).
[7]C.B.Gentry,Fully Homomorphic Encryption Method Based on a Bootstrappable Encryption Scheme,Computer and Apparatus.US Patent 8,630,422 B2(January 14,2014).
[8]C.B.Gentry,S.Halevi,N.P.Smart,Homomorphic Evaluation Including Key Switching,Modulus Switching,and Dynamical Noise Management.US Patent 9,281,941 B2(March 8,2016).
[9]C.B.Gentry,S.Halevi,N.P.Smart,Homomorphic Evaluation Including Key Switching,
Modulus Switching,and Dynamical Noise Management.US Patent 9,608,817 B2(March 28,2017).
[10]C.B.Gentry,S.Halevi,N.P.Smart,Homomorphic Evaluation Including Key Switching,Modulus Switching,and Dynamical Noise Management.US Patent 9,621,346 B2(April 11,2017).
[11]J.J.Loftus,M.Naehrig,J.W.Bos,K.E.Lauter,Managed Secure Computations on Encrypted Data.US Patent 9,306,738 B2(April 5,2016).
[12]M.Tamayo-Rios,Method for Fully Homomorphic Encryption Using Multivariate Cryptography.US Patent 9,313,028 B2(April 12,2016).
[13]A.Kipnis and E.Hibshoosh,Method and System for Homomorphicly Ramdomizing an Input.US Patent 9,350,543 B2(May 24,2016).
[14]G.Saldamli,Homomorphic Encryption in Computing Systems and Environments.US Patent 9,436,835 B1(September 16,2016).
[15]D.Coppersmith and E.Grossman,Generators for certain alternating groups with applications to cryptography.SIAM J.Appl.Math.29(4),624-627(1975).
[16]A.Parent,M.Roeteller,and M.Mosca,Improved Reversible and Circuits for Karatsuba-Based Integer Multiplication.arXiv:1706.03419(2017).
[17]S.Cuccaro,T.G.Drapper,S.A.Kutin,and D.P.Moulton,A New Quantum Ripple-Carry Addition Circuit.arXiv:quant-ph/0410184(2004).
[18]K.Iwama,Y.Kambayashi,and S.Yamashita,Transformation Rules for Designing CNOT-based Quantum Circuits,DAC2002,pp419-424(New Orleans,Louisiana,USA,2002).
Claims (30)
- 第一プロセッサで行う方法であって、
置換暗号化データを復号化して復号化データを生成するための第一セグメントと、前記復号化データに作用し一又は複数の派生復号化データを生成するための第二セグメントと、置換暗号化を用いて前記派生復号化データを暗号化して置換暗号化が施された結果データを生成するための第三セグメントとを含む可逆qビットゲートのシーケンスを示す第一データを受信すること、
入力Nビットワードの少なくとも一つの共有ビットに作用する二つのqビットゲートの第一シーケンスを、当該第一シーケンスとは異なる、同じ出力Nビットワードを生成する一又は複数のqビットゲートの第二シーケンスと置き換えるためのルールを示す第二データを、コンピューター可読媒体に記憶すること、
前記第二データを用いて、前記第二セグメントのqビットゲート内に又は当該qビットゲートを超えて、少なくとも一つのqビットゲートをJ数のゲートの距離だけ前記第一セグメントから伝搬し、前記第二セグメントのqビットゲート内に又は当該qビットゲートの前に、少なくとも一つのqビットゲートをK数のゲートの距離だけ前記第三セグメントから伝搬し、難読化された可逆qビットゲートシーケンスを生成すること、
前記難読化された可逆qビットゲートシーケンスに基づいて難読化命令を第二プロセッサに送信し実行すること、
を特徴とする方法。 - 請求項1記載の方法であって、
前記第一プロセッサとは異なる前記第二プロセッサで実行可能な形式の各コード命令をNビットワードに作用する一又は複数の可逆qビットゲートに関連付ける第三データを、コンピューター可読媒体に記憶すること、
前記第三データを用いて、前記難読化された可逆qビットゲートシーケンスを、前記第二プロセッサで実行可能な形式の難読化コード命令に変換すること、を更に含み、
前記難読化命令を送信することは、前記第二プロセッサで実行可能な形式の難読化コード命令を送信することを更に含む、
ことを特徴とする方法。 - 請求項1記載の方法であって、
前記第二プロセッサで実行可能な形式の各コード命令をNビットワードに作用する一又は複数の可逆qビットゲートに関連付ける第三データを、コンピューター可読媒体に記憶することを更に含み、
前記第一データを受信することは、
前記第二プロセッサで実行可能な形式であって前記暗号化データに作用するコード命令を受信して、一又は複数の派生復号化データを生成することと、
前記第三データを用いて、前記第二プロセッサで実行可能な形式であって、一又は複数の派生復号化データを生成するように前記暗号化データに作用する前記コード命令を、一又は複数の派生復号化データを生成するように前記暗号化データに作用する前記可逆qビットゲートシーケンスに変換することと、を更に含む、
ことを特徴とする方法。 - 請求項1記載の方法であって、
入力Nビットワードに作用して出力Nビットワードを生成する一又は複数の可逆qビットゲートシーケンスの各々を、同じ出力Nビットワードを生成する一又は複数の可逆kビットゲート(3<k≦N)と置き換えるためのルールを示す統合データをコンピューター可読媒体に記憶すること、
前記統合データを用いて、前記難読化された可逆qビットゲートシーケンスの一又は複数の可逆qビットゲートの特定のシーケンスを、当該特定のシーケンスを置き換え可能なkビットゲートと置き換えること、を更に含む、
ことを特徴とする方法。 - 請求項4記載の方法であって、
前記第一プロセッサとは異なる前記第二プロセッサで実行可能な形式の各コード命令をNビットワードに作用する一又は複数の可逆qビットゲートに関連付ける第三データを、コンピューター可読媒体に記憶すること、
前記一又は複数のkビットゲートの各々を前記異なる第二プロセッサへの一又は複数のコード命令に関連付ける統合コードデータを、コンピューター可読媒体に記憶すること、
前記統合コードデータを用いて、前記kビットゲートを難読化コード命令の少なくとも一部に変換すること、
前記第三データを用いて、前記難読化された可逆qビットゲートシーケンスの残りの可逆qビットゲートを前記難読化コード命令の残存部分に変換すること、を更に含み
前記難読化命令を送信することは、前記第二プロセッサで実行可能な形式の難読化コード命令を送信することを更に含む、
ことを特徴とする方法。 - 請求項1に記載の方法であって、
J>N及びK>Nである、
ことを特徴とする方法。 - 請求項1に記載の方法であって、
各可逆qビットゲートは、単一のターゲットビットとq-1制御ビットとを含む制御ゲートであって、前記q-1制御ビットは、当該q-1制御ビットにおける値及び当該q-1制御ビットに入力された値に基づいて前記単一のターゲットビットの値を決定する、
ことを特徴とする方法。 - 請求項1に記載の方法であって、
q∈{1、2、3}である、
ことを特徴とする方法。 - 請求項1に記載の方法であって、
前記第二プロセッサは前記第一プロセッサとは異なる、
ことを特徴とする方法。 - 請求項1に記載の方法であって、
前記第二プロセッサへのアクセスは、前記第一プロセッサへのアクセスとは異なる、
ことを特徴とする方法。 - 一又は複数の命令シーケンスを実行する非一時的コンピューター可読記憶媒体であって、
前記一又は複数の命令シーケンスが一又は複数のプロセッサを含む第一プロセッサ群により実行されると、前記一又は複数のプロセッサを含む第一プロセッサ群は、
置換暗号化データを復号化して復号化データを生成するための第一セグメントと、前記復号化データに作用し一又は複数の派生復号化データを生成するための第二セグメントと、置換暗号化を用いて前記派生復号化データを暗号化して置換暗号化が施された結果データを生成するための第三セグメントとを含む可逆qビットゲートのシーケンスを示す第一データを受信することと、
入力Nビットワードの少なくとも一つの共有ビットに作用する二つのqビットゲートの第一シーケンスを、当該第一シーケンスとは異なる、同じ出力Nビットワードを生成する一又は複数の可逆qビットゲートの第二シーケンスと置き換えるためのルールを示す第二データを記憶することと、
前記第二データを用いて、前記第二セグメントのqビットゲート内に又は当該qビットゲートを超えて、少なくとも一つのqビットゲートをJ数のゲートの距離だけ前記第一セグメントから伝搬し、前記第二セグメントのqビットゲート内に又は当該qビットゲートの前に、少なくとも一つのqビットゲートをK数のゲートの距離だけ前記第三セグメントから伝搬し、難読化された可逆qビットゲートシーケンスを生成することと、
前記難読化された可逆qビットゲートシーケンスに基づいて難読化命令を一又は複数のプロセッサを含む第二プロセッサ群に送信し実行することと、を含むステップを実行する、
ことを特徴とする非一時的コンピューター可読記憶媒体。 - 請求項11に記載の非一時的コンピューター可読記憶媒体であって、
前記第一プロセッサとは異なる前記第二プロセッサで実行可能な形式の各コード命令をNビットワードに作用する一又は複数の可逆qビットゲートに関連付ける第三データを、コンピューター可読媒体に記憶することと、
前記第三データを用いて、前記難読化された可逆qビットゲートシーケンスを、前記第二プロセッサで実行可能な形式の難読化コード命令に変換することと、を更に含み、
前記難読化命令を送信することは、前記一又は複数のプロセッサを含む第二プロセッサ群で実行可能な形式の難読化コード命令を送信することを更に含む、
ことを特徴とする非一時的コンピューター可読記憶媒体。 - 請求項11に記載の非一時的コンピューター可読記憶媒体であって、前記方法は、
前記一又は複数のプロセッサを含む第二プロセッサ群で実行可能な形式の各コード命令をNビットワードに作用する一又は複数の可逆qビットゲートに関連付ける第三データを、コンピューター可読媒体に記憶することを更に含み、
前記第一データを受信することは、
前記一又は複数のプロセッサを含む第二プロセッサ群で実行可能な形式であって前記暗号化データに作用するコード命令を受信して、一又は複数の派生復号化データを生成することと、
前記第三データを用いて、前記一又は複数のプロセッサを含む第二プロセッサ群で実行可能な形式であって、一又は複数の派生復号化データを生成するように前記暗号化データに作用する前記コード命令を、一又は複数の派生復号化データを生成するように前記暗号化データに作用する前記可逆qビットゲートシーケンスに変換することと、を更に含む、
ことを特徴とする非一時的コンピューター可読記憶媒体。 - 請求項11に記載の非一時的コンピューター可読記憶媒体であって、
入力Nビットワードに作用して出力Nビットワードを生成する一又は複数の可逆qビットゲートシーケンスの各々を、同じ出力Nビットワードを生成する一又は複数のkビットゲート(3<k≦N)と置き換えるためのルールを示す統合データをコンピューター可読媒体に記憶することと、
前記統合データを用いて、前記難読化された可逆qビットゲートシーケンスの一又は複数の可逆qビットゲートの特定のシーケンスを、当該特定のシーケンスを置き換え可能なkビットゲートと置き換えることと、を更に含む、
ことを特徴とする非一時的コンピューター可読記憶媒体。 - 請求項14に記載の非一時的コンピューター可読記憶媒体であって、
前記一又は複数のプロセッサを含む第二プロセッサ群で実行可能な形式の各コード命令をNビットワードに作用する一又は複数の可逆qビットゲートに関連付ける第三データを、コンピューター可読媒体に記憶することと、
前記一又は複数のkビットゲートの各々を前記第一プロセッサ群とは異なる前記一又は複数のプロセッサを含む第二プロセッサ群への一又は複数のコード命令に関連付ける統合コードデータを、コンピューター可読媒体に記憶することと、
前記統合コードデータを用いて、前記kビットゲートを難読化コード命令の少なくとも一部に変換することと、
前記第三データを用いて、前記難読化された可逆qビットゲートシーケンスの残りの可逆qビットゲートを前記難読化コード命令の残存部分に変換することと、を更に含み
前記難読化命令を送信することは、前記一又は複数のプロセッサを含む第二プロセッサ群で実行可能な形式の難読化コード命令を送信することを更に含む、
ことを特徴とする非一時的コンピューター可読記憶媒体。 - 請求項11に記載の非一時的コンピューター可読記憶媒体であって、
J>N及びK>Nである、
ことを特徴とする非一時的コンピューター可読記憶媒体。 - 請求項11に記載の非一時的コンピューター可読記憶媒体であって、
各可逆qビットゲートは、単一のターゲットビットとq-1制御ビットとを含む制御ゲートであって、前記q-1制御ビットは、当該q-1制御ビットにおける値及び当該q-1制御ビットに入力された値に基づいて前記単一のターゲットビットの値を決定する、
ことを特徴とする非一時的コンピューター可読記憶媒体。 - 請求項11に記載の非一時的コンピューター可読記憶媒体であって、
q∈{1、2、3}である、
ことを特徴とする非一時的コンピューター可読記憶媒体。 - 請求項11に記載の非一時的コンピューター可読記憶媒体であって、
前記一又は複数のプロセッサを含む第二プロセッサ群は前記一又は複数のプロセッサを含む第一プロセッサ群とは異なる、
ことを特徴とする非一時的コンピューター可読記憶媒体。 - 請求項11に記載の非一時的コンピューター可読記憶媒体であって、
前記一又は複数のプロセッサを含む第二プロセッサ群へのアクセスは、前記一又は複数のプロセッサを含む第一プロセッサ群へのアクセスとは異なる、
ことを特徴とする非一時的コンピューター可読記憶媒体。 - システムであって、
少なくとも一つのプロセッサを含む第一プロセッサ群と、
一又は複数の命令シーケンスを含む少なくとも一つのメモリと、を備え、
前記少なくとも一つのメモリと、前記一又は複数の命令シーケンスは、前記少なくとも一つのプロセッサによって、装置に少なくとも、
置換暗号化データを復号化して復号化データを生成するための第一セグメントと、前記復号化データに作用し一又は複数の派生復号化データを生成するための第二セグメントと、置換暗号化を用いて前記派生復号化データを暗号化して置換暗号化が施された結果データを生成するための第三セグメントとを含む可逆qビットゲートのシーケンスを示す第一データを受信すること、
入力Nビットワードの少なくとも一つの共有ビットに作用する二つのqビットゲートの第一シーケンスを、当該第一シーケンスとは異なる、同じ出力Nビットワードを生成する一又は複数のqビットゲートの第二シーケンスと置き換えるためのルールを示す第二データを、コンピューター可読媒体に記憶すること、
前記第二データを用いて、前記第二セグメントのqビットゲート内に又は当該qビットゲートを超えて、少なくとも一つのqビットゲートをJ数のゲートの距離だけ前記第一セグメントから伝搬し、前記第二セグメントのqビットゲート内に又は当該qビットゲートの前に、少なくとも一つのqビットゲートをK数のゲートの距離だけ前記第三セグメントから伝搬し、難読化された可逆qビットゲートシーケンスを生成すること、
前記難読化された可逆qビットゲートシーケンスに基づいて難読化命令を少なくとも一つのプロセッサを含む第二プロセッサ群に送信し実行すること、を行わせる、
ことを特徴とするシステム。 - 請求項21に記載のシステムであって、
前記少なくとも一つのプロセッサを含む第二プロセッサ群で実行可能な形式の各コード命令をNビットワードに作用する一又は複数の可逆qビットゲートに関連付ける第三データを、コンピューター可読媒体に記憶すること、
前記第三データを用いて、前記難読化された可逆qビットゲートシーケンスを、前記少なくとも一つのプロセッサを含む第二プロセッサ群で実行可能な形式の難読化コード命令に変換すること、を更に含み、
前記難読化命令を送信することは、前記少なくとも一つのプロセッサを含む第二プロセッサ群で実行可能な形式の難読化コード命令を送信することを更に含む、
ことを特徴とするシステム。 - 請求項21に記載のシステムであって、前記方法は、
前記少なくとも一つのプロセッサを含む第二プロセッサ群で実行可能な形式の各コード命令をNビットワードに作用する一又は複数の可逆qビットゲートに関連付ける第三データを、コンピューター可読媒体に記憶することを更に含み、
前記第一データを受信することは、
前記少なくとも一つのプロセッサを含む第二プロセッサ群で実行可能な形式であって前記暗号化データに作用するコード命令を受信して、一又は複数の派生復号化データを生成すること、
前記第三データを用いて、前記少なくとも一つのプロセッサを含む第二プロセッサ群で実行可能な形式であって、一又は複数の派生復号化データを生成するように前記暗号化データに作用する前記コード命令を、一又は複数の派生復号化データを生成するように前記暗号化データに作用する前記可逆qビットゲートシーケンスに変換すること、を更に含む、
ことを特徴とするシステム。 - 請求項21に記載のシステムであって、
入力Nビットワードに作用して出力Nビットワードを生成する一又は複数の可逆qビットゲートシーケンスの各々を、同じ出力Nビットワードを生成する一又は複数のkビットゲート(3<k≦N)と置き換えるためのルールを示す統合データをコンピューター可読媒体に記憶すること、
前記統合データを用いて、前記難読化された可逆qビットゲートシーケンスの一又は複数のqビットゲートの特定のシーケンスを、当該特定のシーケンスを置き換え可能なkビットゲートと置き換えること、を更に含む、
ことを特徴とするシステム。 - 請求項24に記載のシステムであって、
前記少なくとも一つのプロセッサを含む第二プロセッサ群で実行可能な形式の各コード命令をNビットワードに作用する一又は複数の可逆qビットゲートに関連付ける第三データを、コンピューター可読媒体に記憶すること、
前記一又は複数のkビットゲートの各々を前記少なくとも一つのプロセッサを含む第二プロセッサ群への一又は複数のコード命令に関連付ける統合コードデータを、コンピューター可読媒体に記憶すること、
前記統合コードデータを用いて、前記kビットゲートを難読化コード命令の少なくとも一部に変換すること、
前記第三データを用いて、前記難読化された可逆qビットゲートシーケンスの残りの可逆qビットゲートを前記難読化コード命令の残存部分に変換すること、を更に含み
前記難読化命令を送信することは、前記少なくとも一つのプロセッサを含む第二プロセッサ群で実行可能な形式の難読化コード命令を送信することを更に含む、
ことを特徴とするシステム。 - 請求項21に記載のシステムであって、
J>N及びK>Nである、
ことを特徴とするシステム。 - 請求項21に記載のシステムであって、
各可逆qビットゲートは、単一のターゲットビットとq-1制御ビットとを含む制御ゲートであって、前記q-1制御ビットは、当該q-1制御ビットにおける値及び当該q-1制御ビットに入力された値に基づいて前記単一のターゲットビットの値を決定する、
ことを特徴とするシステム。 - 請求項21に記載のシステムであって、
q∈{1、2、3}である、
ことを特徴とするシステム。 - 請求項21に記載のシステムであって、
前記少なくとも一つのプロセッサを含む第二プロセッサ群は前記少なくとも一つのプロセッサを含む第一プロセッサ群とは異なる、
ことを特徴とするシステム。 - 請求項21に記載のシステムであって、
前記少なくとも一つのプロセッサを含む第二プロセッサ群へのアクセスは、前記少なくとも一つのプロセッサを含む第一プロセッサ群へのアクセスとは異なる、
ことを特徴とするシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762607185P | 2017-12-18 | 2017-12-18 | |
US62/607,185 | 2017-12-18 | ||
PCT/US2018/066019 WO2019126044A1 (en) | 2017-12-18 | 2018-12-17 | Techniques for securely executing code that operates on encrypted data on a public computer |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021507438A JP2021507438A (ja) | 2021-02-22 |
JP7177849B2 true JP7177849B2 (ja) | 2022-11-24 |
Family
ID=66995109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020552680A Active JP7177849B2 (ja) | 2017-12-18 | 2018-12-17 | パブリックコンピューターにおいて暗号化データに作用するコードを安全に実行する方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11461435B2 (ja) |
EP (1) | EP3729304A4 (ja) |
JP (1) | JP7177849B2 (ja) |
KR (1) | KR102664551B1 (ja) |
CN (1) | CN111801670A (ja) |
IL (1) | IL275052B2 (ja) |
SG (1) | SG11202004674VA (ja) |
WO (1) | WO2019126044A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10860759B2 (en) * | 2015-06-08 | 2020-12-08 | Microsoft Technology Licensing, Llc | System for reversible circuit compilation with space constraint, method and program |
US20230315821A1 (en) * | 2020-08-27 | 2023-10-05 | Ntt Research Inc. | Obfuscation of executable instruction sets for enhanced security |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011130120A (ja) | 2009-12-16 | 2011-06-30 | Sony Corp | 量子公開鍵暗号システム、鍵生成装置、暗号化装置、復号装置、鍵生成方法、暗号化方法、及び復号方法 |
US20150171870A1 (en) | 2013-12-18 | 2015-06-18 | Rachael J. Parker | Secret operations using reconfigurable logics |
US20150326389A1 (en) | 2012-03-30 | 2015-11-12 | Irdeto Canada Corporation | Securing accessible systems using dynamic data mangling |
JP2016510912A (ja) | 2013-08-09 | 2016-04-11 | トムソン ライセンシングThomson Licensing | プライバシーを保護する行列因子分解のための方法及びシステム |
WO2017015357A1 (en) | 2015-07-21 | 2017-01-26 | Baffle, Inc. | Systems and processes for executing private programs on untrusted computers |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757831B1 (en) | 1999-08-18 | 2004-06-29 | Sun Microsystems, Inc. | Logic block used to check instruction buffer configuration |
US6665796B1 (en) * | 1999-08-18 | 2003-12-16 | Sun Microsystems, Inc. | Microprocessor instruction result obfuscation |
GB2453367A (en) * | 2007-10-04 | 2009-04-08 | Univ Newcastle | Cryptographic processing using isomorphic mappings of Galois fields |
US8732468B2 (en) | 2009-03-09 | 2014-05-20 | The Regents Of The University Of Michigan | Protecting hardware circuit design by secret sharing |
US8515058B1 (en) | 2009-11-10 | 2013-08-20 | The Board Of Trustees Of The Leland Stanford Junior University | Bootstrappable homomorphic encryption method, computer program and apparatus |
US8630422B2 (en) | 2009-11-10 | 2014-01-14 | International Business Machines Corporation | Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus |
US8903083B2 (en) | 2010-08-16 | 2014-12-02 | International Business Machines Corporation | Fast evaluation of many polynomials with small coefficients on the same point |
US9436835B1 (en) | 2012-01-05 | 2016-09-06 | Gokay Saldamli | Homomorphic encryption in computing systems and environments |
US9281941B2 (en) | 2012-02-17 | 2016-03-08 | International Business Machines Corporation | Homomorphic evaluation including key switching, modulus switching, and dynamic noise management |
US9313028B2 (en) | 2012-06-12 | 2016-04-12 | Kryptnostic | Method for fully homomorphic encryption using multivariate cryptography |
WO2014016795A2 (en) | 2012-07-26 | 2014-01-30 | Nds Limited | Method and system for homomorphicly randomizing an input |
US9306738B2 (en) | 2012-12-21 | 2016-04-05 | Microsoft Technology Licensing, Llc | Managed secure computations on encrypted data |
US10860759B2 (en) * | 2015-06-08 | 2020-12-08 | Microsoft Technology Licensing, Llc | System for reversible circuit compilation with space constraint, method and program |
US10664249B2 (en) * | 2015-11-20 | 2020-05-26 | Microsoft Technology Licensing, Llc | Verified compilation of reversible circuits |
-
2018
- 2018-12-17 CN CN201880089671.6A patent/CN111801670A/zh active Pending
- 2018-12-17 US US16/955,276 patent/US11461435B2/en active Active
- 2018-12-17 SG SG11202004674VA patent/SG11202004674VA/en unknown
- 2018-12-17 EP EP18890382.7A patent/EP3729304A4/en active Pending
- 2018-12-17 IL IL275052A patent/IL275052B2/en unknown
- 2018-12-17 KR KR1020207019453A patent/KR102664551B1/ko active IP Right Grant
- 2018-12-17 JP JP2020552680A patent/JP7177849B2/ja active Active
- 2018-12-17 WO PCT/US2018/066019 patent/WO2019126044A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011130120A (ja) | 2009-12-16 | 2011-06-30 | Sony Corp | 量子公開鍵暗号システム、鍵生成装置、暗号化装置、復号装置、鍵生成方法、暗号化方法、及び復号方法 |
US20150326389A1 (en) | 2012-03-30 | 2015-11-12 | Irdeto Canada Corporation | Securing accessible systems using dynamic data mangling |
JP2016510912A (ja) | 2013-08-09 | 2016-04-11 | トムソン ライセンシングThomson Licensing | プライバシーを保護する行列因子分解のための方法及びシステム |
US20150171870A1 (en) | 2013-12-18 | 2015-06-18 | Rachael J. Parker | Secret operations using reconfigurable logics |
WO2017015357A1 (en) | 2015-07-21 | 2017-01-26 | Baffle, Inc. | Systems and processes for executing private programs on untrusted computers |
Non-Patent Citations (1)
Title |
---|
Claudio Chamon ほか,Encrypted Operator Computing: an alternative to Fully Homomorphic Encryption,2022年03月16日,https://arxiv.org/pdf/2203.08876.pdf |
Also Published As
Publication number | Publication date |
---|---|
IL275052B2 (en) | 2024-05-01 |
US11461435B2 (en) | 2022-10-04 |
SG11202004674VA (en) | 2020-06-29 |
IL275052A (en) | 2020-07-30 |
CN111801670A (zh) | 2020-10-20 |
IL275052B1 (en) | 2024-01-01 |
EP3729304A4 (en) | 2021-08-18 |
KR102664551B1 (ko) | 2024-05-09 |
US20200394287A1 (en) | 2020-12-17 |
WO2019126044A1 (en) | 2019-06-27 |
JP2021507438A (ja) | 2021-02-22 |
EP3729304A1 (en) | 2020-10-28 |
KR20200105481A (ko) | 2020-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112148437B (zh) | 用于联邦学习的计算任务加速处理方法、装置及设备 | |
CN105453481B (zh) | 包括表网络的计算设备 | |
Kumar et al. | IEHC: An efficient image encryption technique using hybrid chaotic map | |
CN103221917A (zh) | 加密运算中模幂的保护 | |
CN114730389B (zh) | 用于隐私保护无监督学习的系统和方法 | |
Zanin et al. | Gray code permutation algorithm for high-dimensional data encryption | |
Feng et al. | Cryptanalysis of the integrated chaotic systems based image encryption algorithm | |
CN107408072A (zh) | 用于随机化计算机指令集、存储器寄存器和指针的方法和装置 | |
JP7177849B2 (ja) | パブリックコンピューターにおいて暗号化データに作用するコードを安全に実行する方法 | |
WO2022035909A1 (en) | Methods for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger technology | |
Xue et al. | Medical image protection algorithm based on deoxyribonucleic acid chain of dynamic length | |
US11863657B2 (en) | Using cryptographic blinding for efficient use of montgomery multiplication | |
US8707053B2 (en) | Performing boolean logic operations using arithmetic operations by code obfuscation | |
AbdElHaleem et al. | A generalized framework for elliptic curves based PRNG and its utilization in image encryption | |
US8553878B2 (en) | Data transformation system using cyclic groups | |
Zhao et al. | Image encryption algorithm based on a new chaotic system with Rubik's cube transform and Brownian motion model | |
CN105765896B (zh) | 用于表格网络的迭代应用的计算设备 | |
JP2020515093A (ja) | 符号化加算のための計算デバイス | |
CN106656500A (zh) | 加密装置及方法 | |
Liu et al. | Quantum image encryption scheme using independent bit-plane permutation and Baker map | |
Ge | ALCencryption: A secure and efficient algorithm for medical image encryption | |
Gao et al. | New image encryption algorithm based on hyperchaotic 3D-IHAL and a hybrid cryptosystem | |
US20240037249A1 (en) | Boolean function control gates for securely executing on a public computer code that operates on encrypted data | |
Rajan | QMedShield: A Novel Quantum Chaos-based Image Encryption Scheme for Secure Medical Image Storage in the Cloud | |
Pu | Image scrambling algorithm based on image block and zigzag transformation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20210219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20210220 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211122 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221012 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221014 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221111 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7177849 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |