JP5980178B2 - Program conversion apparatus, program conversion method, and program - Google Patents
Program conversion apparatus, program conversion method, and program Download PDFInfo
- Publication number
- JP5980178B2 JP5980178B2 JP2013156669A JP2013156669A JP5980178B2 JP 5980178 B2 JP5980178 B2 JP 5980178B2 JP 2013156669 A JP2013156669 A JP 2013156669A JP 2013156669 A JP2013156669 A JP 2013156669A JP 5980178 B2 JP5980178 B2 JP 5980178B2
- Authority
- JP
- Japan
- Prior art keywords
- group
- program
- pairing
- node
- variables
- 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
Images
Description
この発明は、ある楕円曲線を利用するペアリング群上のプログラムを異なる楕円曲線を利用するペアリング群上のプログラムへ変換する技術に関する。 The present invention relates to a technique for converting a program on a pairing group using a certain elliptic curve into a program on a pairing group using a different elliptic curve.
近年、ペアリングと呼ばれる双線形写像を用いた様々な暗号プリミティブが提案されている。暗号分野で用いられる双線形写像は、ある種の楕円曲線上の二点に定義されるペアリング演算を行うための関数である。具体的には、G1,G2,GTを素数位数qの群とし、e:G1×G2→GTを効率的に計算可能であり、任意の生成元g∈G1、h∈G2及び任意のa,b∈Zqに対して、e(ga,hb)=e(g,h)ab、e(g,h)≠1となる性質を持つ写像である。このような群の集合λq=(G1,G2,GT)をペアリング群と呼ぶ。 In recent years, various cryptographic primitives using bilinear mapping called pairing have been proposed. The bilinear mapping used in the cryptographic field is a function for performing a pairing operation defined at two points on a certain elliptic curve. Specifically, let G 1 , G 2 , and G T be a group of prime orders q, and e: G 1 × G 2 → G T can be efficiently calculated, and any generator g∈G 1 , This is a mapping with the property that e (g a , h b ) = e (g, h) ab , e (g, h) ≠ 1 for h∈G 2 and any a, b∈Z q . Such a set of groups λ q = (G 1 , G 2 , G T ) is called a pairing group.
このとき、定数Ai,Ci∈G1、Bi,Di∈G2、dij∈Zqおよび変数Yi∈G1,Xi∈G2からなる式(1)の等式を変数Xi,Yiに関するペアリング積の等式と呼ぶ。特に、変数が一方の群にのみ現れる場合を線形の式と呼び、それ以外の場合を非線形の式と呼ぶ。 In this case, the equation (1) consisting of constants A i , C i ∈ G 1 , B i , D i ∈ G 2 , d ij ∈ Z q and variables Y i ∈ G 1 , X i ∈ G 2 is expressed as This is called the pairing product equation for variables X i and Y i . In particular, a case where a variable appears only in one group is called a linear expression, and the other case is called a non-linear expression.
G1=G2であるペアリング群をタイプIのペアリング群と呼ぶ。タイプIのペアリング群では、特にG1とG2とを区別せず、単にGと表記する。例えば、非特許文献1には、タイプIのペアリング群を用いるIDベース暗号方式が記載されている。 A pairing group in which G 1 = G 2 is called a type I pairing group. In the type I pairing group, G 1 and G 2 are not particularly distinguished from each other, and are simply written as G. For example, Non-Patent Document 1 describes an ID-based encryption method using a type I pairing group.
一方、G1≠G2であって、ランダムに選んだ非ゼロのa,b∈Zqに対して、ga∈G1からaの値を知らずにha∈G2を求めること、及び、hb∈G2からbの値を知らずにgb∈G1を求めることがどちらも困難であるとき、そのペアリング群をタイプIIIのペアリング群と呼ぶ。ここで、Zqはqを位数とする剰余環である。例えば、非特許文献2には、タイプIIIのペアリング群を用いるIDベース暗号方式及び署名方式が記載されている。 On the other hand, for G 0 ≠ G 2 and for randomly chosen non-zero a, b∈Z q , finding h a ∈G 2 without knowing the value of a from g a ∈G 1 , and When it is difficult to find g b εG 1 without knowing the value of b from h b εG 2 , the pairing group is called a type III pairing group. Here, Z q is a remainder ring with q as the order. For example, Non-Patent Document 2 describes an ID-based encryption method and signature method using a type III pairing group.
タイプIのペアリング群は、方式の表記が容易であり、群要素がどちらの群に属しているかを勘案する必要が無いという特徴を持つ。それ故、署名やゼロ知識証明、公開鍵暗号などの様々な暗号プリミティブを複数組み合わせる暗号プロトコルの構成に便利である。しかし、タイプIのペアリング群は特殊な楕円曲線を利用するため、安全性に劣る。実際、タイプIの群GTにおける離散対数問題の解法が進展している。 The type I pairing group has a feature that the method is easy to describe and it is not necessary to consider which group the group element belongs to. Therefore, it is convenient for the construction of a cryptographic protocol that combines a plurality of various cryptographic primitives such as a signature, zero knowledge proof, and public key cryptography. However, the type I pairing group uses a special elliptic curve, which is inferior in safety. In fact, the solution of the discrete logarithm problem in the group G T Type I is progressing.
タイプIIIのペアリング群は群G1と群G2の間に効率的な写像がないため、群要素がどちらの群に属しているかを常に考慮しなければならない。そのため、方式の表記や設計に特別の配慮が必要である。しかし、タイプIIIのペアリング群はより一般的な構造であり、安全性に優れていると考えられている。そのため、同じ安全性パラメータの上ではタイプIのペアリング群よりもタイプIIIのペアリング群の方が群要素のビット表現を短くすることができるという特徴を持つ。 Since type III pairing groups do not have an efficient mapping between group G 1 and group G 2 , it is always necessary to consider which group the group element belongs to. Therefore, special consideration is required for the notation and design of the system. However, the type III pairing group has a more general structure and is considered to be excellent in safety. Therefore, in the same safety parameter, the type III pairing group has a feature that the bit representation of the group element can be shortened compared to the type I pairing group.
あるペアリング群上の暗号方式を異なるペアリング群上の暗号方式に変換する技術が提案されている。例えば、非特許文献3や非特許文献4には、合成数位数のペアリング群で構成された暗号方式を、素数位数のペアリング群で構成された暗号方式へ変換する方法が記載されている。しかしながら、タイプIのペアリング群上の暗号方式からタイプIIIのペアリング群上の暗号方式へ変換する方式は提案されていない。 Techniques have been proposed for converting an encryption scheme on a pairing group into an encryption scheme on a different pairing group. For example, Non-Patent Document 3 and Non-Patent Document 4 describe a method of converting an encryption system configured with a paired group of composite orders into an encryption system configured with a pairing group of prime orders. Yes. However, a method for converting an encryption method on a type I pairing group to an encryption method on a type III pairing group has not been proposed.
タイプIのペアリング群において設計、記述された方式(プリミティブやプロトコル)は、必ずしもタイプIIIのペアリング群で直接的には動作しない。 A scheme (primitive or protocol) designed and described in a type I pairing group does not necessarily operate directly in a type III pairing group.
簡単な例として、タイプIのペアリング群上の方式Aを考える。方式Aは、群要素X∈G1に対してe(X,X)なるペアリング演算を含むとする。タイプIではG1=G2であるため、この演算は実行できる。しかし、方式AをタイプIIIのペアリング群を使って実装しようとすると、群要素X∈G1に対応するX~∈G2を求めることができないため、ペアリング演算e(X,X)に相当する演算を実行することができない。別の例として、タイプIのペアリング群上の方式Aが、群要素X,Yに対してe(X,Y)なるペアリング演算及びZ←X・Yなる群演算(ここでは・を群演算と考える)を含むとする。タイプIにおいてはこれらの演算はいずれも実行可能である。タイプIIIの場合、ペアリング演算e(X,Y)が計算できるためにはX∈G1、Y∈G2とすればよいが、そうすると群演算X・Yを計算することができなくなる。逆に、群演算X・Yが計算できるようにするには、XとYの両方をG1(またはG2)の群要素とすればよいが、そうするとペアリング演算e(X,Y)を計算できない。したがって、タイプIのペアリング群上の方式AをタイプIIIのペアリング群で直接実装することはできない。 As a simple example, consider method A on a type I pairing group. Method A is to include pairing operation comprising e (X, X) with respect to the group element X∈G 1. Since G 1 = G 2 for Type I, this operation can be performed. However, if we try to implement method A using a type III pairing group, X ~ ∈G 2 corresponding to the group element X∈G 1 cannot be found, so the pairing operation e (X, X) The corresponding operation cannot be executed. As another example, method A on a pairing group of type I has a pairing operation of e (X, Y) and a group operation of Z ← X · Y (here, ). In type I, all these operations can be executed. In the case of type III, X∈G 1 and Y∈G 2 may be used so that the pairing operation e (X, Y) can be calculated. However, the group operation X · Y cannot be calculated. Conversely, in order to be able to calculate group operations X and Y, both X and Y should be group elements of G 1 (or G 2 ), but then the pairing operation e (X, Y) It cannot be calculated. Therefore, method A on a type I pairing group cannot be directly implemented in a type III pairing group.
上記は方式中の演算に関して説明しているが、方式の安全性証明中の演算においても同様のことが言える。例えば、ある方式の証明中にe(X,X)なるペアリング演算が行われている場合、その方式自体がe(X,X)なるペアリング演算を利用しておらずタイプIIIのペアリング群において動作可能であっても、安全性証明が成り立たないためタイプIIIにおける実装の安全性は保証されない。 The above describes the operation in the system, but the same can be said for the operation in the system security proof. For example, if a pairing operation e (X, X) is performed during the proof of a certain method, the method itself does not use the pairing operation e (X, X) and type III pairing Even if it is operable in the group, the safety of the implementation in Type III is not guaranteed because the safety proof is not valid.
この発明の目的は、タイプIのペアリング群上で動作して安全性が証明された方式をタイプIIIのペアリング群上で動作する方式へ変換することである。 An object of the present invention is to convert a system that has been proven to be safe by operating on a type I pairing group to a system that operates on a type III pairing group.
上記の課題を解決するために、この発明のプログラム変換装置は、二重化部と群演算変換部とペアリング演算変換部と等価性検査変換部とを含む。この発明では、G1,G2,GTを素数位数qの群とし、gを群G1の生成元とし、hを群G2の生成元とし、xをqを法とする剰余環Zqの元とし、タイプIのペアリング演算はG1×G1→GTの双線形写像であり、タイプIIIのペアリング演算はG1×G2→GTの双線形写像である。二重化部は、少なくとも一つのタイプIのペアリング演算を含むプログラムを入力とし、プログラムの演算過程で用いられる群G1上の変数X=gxに対して群G2上で対応する変数X~=hxを生成する。群演算変換部は、プログラムに含まれる上記群G1上の変数を用いる群演算について、上記群G2上の変数を用いる群演算を生成する。ペアリング演算変換部は、プログラムに含まれる二つの群G1上の変数を入力とするタイプIのペアリング演算を、群G1上の変数及び群G2上の変数を入力とするタイプIIIのペアリング演算へ変換する。等価性検査変換部は、プログラムに含まれる群G1上の変数と群G2上の変数との等価性検査を群G1上の変数及び群G2の生成元を入力とするタイプIIIのペアリング演算と群G2上の変数及び群G1の生成元を入力とするタイプIIIのペアリング演算とを用いた等式に変換する。 In order to solve the above problems, a program conversion apparatus of the present invention includes a duplexing unit, a group operation conversion unit, a pairing operation conversion unit, and an equivalence checking conversion unit. In this invention, G 1 , G 2 , G T are groups of prime order q, g is a generator of group G 1 , h is a generator of group G 2 , and x is a modulo ring modulo q the original Z q, the pairing operation type I is bilinear mapping of G 1 × G 1 → G T , pairing operation type III is bilinear mapping of G 1 × G 2 → G T . The duplexing unit receives as input a program including at least one type I pairing operation, and the variable X ~ corresponding to the variable X = g x on the group G 1 used in the calculation process of the program on the group G 2 = h Generates x . The group operation conversion unit generates a group operation using the variable on the group G 2 for the group operation using the variable on the group G 1 included in the program. Pairing operation converting unit type to a type I pairing operation to enter the two variables on the group G 1 included in the program, as input variables and variables on the group G 2 on the group G 1 III To the pairing operation. The equivalence checking conversion unit is a type III variable in which the equivalence checking between the variables on the group G 1 and the variables on the group G 2 included in the program is input to the variables on the group G 1 and the generation source of the group G 2 . converted into equations and using a pairing operation type III to type the pairing operation and the group G 2 on the variables and generator of the group G 1.
この発明によれば、表記が簡易で設計に特段の注意を必要としないタイプIのペアリング群でアルゴリズムを記述し、それを効率の良いタイプIIIのペアリング群で実装することが可能になる。これにより、タイプIのペアリング群において、実装や記述を大きく変更することなく安全性を向上できる。 According to the present invention, it is possible to describe an algorithm with a type I pairing group that is simple in notation and does not require special attention in design, and can implement it with an efficient type III pairing group. . As a result, in the type I pairing group, safety can be improved without significantly changing the implementation and description.
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the component which has the same function in drawing, and duplication description is abbreviate | omitted.
[実施形態]
図1を参照して、実施形態に係るプログラム変換装置の機能構成の一例を説明する。実施形態に係るプログラム変換装置1は、二重化部10、変換部20、制御部101及びメモリ102を含む。二重化部10は、グラフ構築部12、サブグラフ複製部14、エッジ切替部16及びサブグラフ削除部18を含む。変換部20は、群演算変換部22、ペアリング演算変換部24及び等価性検査変換部26を含む。プログラム変換装置1は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。プログラム変換装置1は、例えば、制御部101の制御のもとで各処理を実行する。プログラム変換装置1に入力されたデータや各処理で得られたデータは、例えば、メモリ102に格納され、メモリ102に格納されたデータは必要に応じて読み出されて他の処理に利用される。
[Embodiment]
An example of a functional configuration of the program conversion apparatus according to the embodiment will be described with reference to FIG. The program conversion apparatus 1 according to the embodiment includes a duplex unit 10, a
図2を参照して、プログラム変換方法の処理フローの一例を、実際に行われる手続きの順に従って説明する。 With reference to FIG. 2, an example of the processing flow of the program conversion method will be described according to the order of procedures actually performed.
プログラム変換装置1は、タイプIのペアリング群上で動作し安全性が証明された方式Aを実装したプログラムαを入力とし、タイプIIIのペアリング群上で動作し安全性が保証できる方式A’を実装したプログラムα’を出力する。 The program conversion apparatus 1 is operated on a type I pairing group and receives a program α that implements a method A that has been proven to be safe. The program A operates on a type III pairing group and can guarantee safety. Outputs the program α that implements '.'
ある方式Aの安全性は帰着と呼ばれるアルゴリズムの集合が存在することによって示されているものとする。なお、方式A自体もアルゴリズムの集合である。方式Aとその帰着アルゴリズム(以下、これらのアルゴリズムを単にアルゴリズムAと呼ぶ)において、タイプIのペアリング群の群要素に関する演算は、群への所属検査、同一群の群要素同士の比較(以下、等価性検査と呼ぶこともある)、群演算及びペアリング演算に限るものとする。 Assume that the security of a scheme A is shown by the existence of a set of algorithms called reduction. Note that method A itself is a set of algorithms. In method A and its reduction algorithm (hereinafter these algorithms are simply referred to as algorithm A), the operations related to group elements of type I pairing groups include group membership checks and comparisons between group elements in the same group (hereinafter referred to as "group A"). , Sometimes referred to as equivalence checking), limited to group operations and pairing operations.
ステップS10において、二重化部10は、入力されたタイプIのペアリング群上のプログラムαから方向性グラフTを生成し、方向性グラフTをタイプIIIで動作できるように変換した方向性グラフT’を出力する。方向性グラフT’は変換部20へ入力される。以下、二重化部10の処理をより詳細に説明する。
In step S10, the duplexing unit 10 generates a directional graph T from the input program α on the type I pairing group, and the directional graph T ′ obtained by converting the directional graph T so that it can operate in type III. Is output. The directionality graph T ′ is input to the
ステップS12において、グラフ構築部12は、タイプIのペアリング群上のプログラムαを入力とし、プログラムαに基づいて方向性グラフTを生成する。まず、グラフ構築部12はアルゴリズムAの群演算全体を方向性グラフによって表現する。アルゴリズムAの記述において、入力、出力、途中結果として現れる各群要素には固有のラベルが与えられるものとする。このラベルを変数と呼ぶ。方向性グラフでは、アルゴリズムが扱うすべての変数がノードに割り当てられ、群演算が行われる変数が割り当てられたノードからその結果を格納する変数のノードにエッジを持つ。ペアリング演算については、固有のラベルを持つノード(以下、ペアリングノードと呼ぶ)により表される。ペアリングノードは、ペアリング演算へ入力される変数が割り当てられた二つのノードに向かうエッジを持つ。入力エッジを持たないノードを入力ノードと呼び、入力ノードに割り当てられた変数を入力変数と呼ぶ。ディジタル署名方式を例に考えると、典型的には、入力ノードには署名対象のメッセージ及び帰着の対象となる困難性問題のインスタンスが割り当てられる。こうしてプログラムαから生成された方向性グラフをTで表す。方向性グラフTはいくつかの分離したグラフで構成されている場合もある。
In step S12, the
図3に方向性グラフTの一例を示す。図3の例では、ノードは実線の円で描かれ、ペアリングノードは一点鎖線の円で描かれている。群演算を表すエッジは実線の矢印であり、矢印の方向は演算対象のノードから演算結果のノードへ向かう。ペアリング演算を表すエッジは一点鎖線の矢印であり、矢印の方向はペアリングノードから演算対象のノードへ向かう。図3に示すように、方向性グラフTに表されたアルゴリズムAには、X3←X1・X2なる群演算、X4←X2・X3なる群演算、X6←X2・X5なる群演算、X8←X6・X7なる群演算、X3←Y1・Y2なる群演算及びe(X4,X8)なるペアリング演算が含まれている。方向性グラフTにおいて、入力ノードは、ノードX1,X2,X5,X7,Y1,Y2である。 An example of the directionality graph T is shown in FIG. In the example of FIG. 3, the nodes are drawn with solid circles, and the pairing nodes are drawn with dashed-dotted circles. The edge representing the group operation is a solid arrow, and the direction of the arrow is from the node to be calculated to the node of the calculation result. The edge representing the pairing calculation is a one-dot chain line arrow, and the direction of the arrow is from the pairing node to the calculation target node. As shown in FIG. 3, the algorithm A shown in the direction graph T includes a group operation X 3 ← X 1 · X 2, a group operation X 4 ← X 2 · X 3 , X 6 ← X 2 · A group operation X 5, a group operation X 8 ← X 6 · X 7, a group operation X 3 ← Y 1 · Y 2, and a pairing operation e (X 4 , X 8 ) are included. In the directional graph T, input nodes are nodes X 1 , X 2 , X 5 , X 7 , Y 1 , Y 2 .
方向性グラフTに含まれるノードXに対して、「Xのサブグラフ」とはノードXに到達するパスを持つすべてのノード(ただし、ペアリングノードを除く)とそのエッジからなるグラフを指す。図3の例では、「X8のサブグラフ」は点線で囲った部分、すなわちノードX2,X5,X6,X7,X8と各ノードを接続するエッジから構成されるグラフである。 For the node X included in the direction graph T, the “X subgraph” refers to a graph including all nodes having a path reaching the node X (except for a pairing node) and its edges. In the example of FIG. 3, “X 8 subgraph” is a graph composed of a portion surrounded by a dotted line, that is, nodes X 2 , X 5 , X 6 , X 7 , X 8 and edges connecting each node.
ノードXのサブグラフは群演算の連鎖によるノードXの生成を意味するので、サブグラフに含まれる変数はタイプIIIにおいて同一の群に所属する必要がある。一方、タイプIIIのペアリング演算は異なる群に所属する変数に対して行うため、同じサブグラフに含まれる二つのノードがペアリングノードを介して接続されている場合、そのアルゴリズムはタイプIIIでは動作しない。図3の例では、ノードX2は、ペアリングノードPX4,X8に繋がるノードX4のサブグラフ及びノードX8のサブグラフいずれにも含まれるため、この方向性グラフTに表されたアルゴリズムAはタイプIIIのペアリング群上では動作しないことがわかる。 Since the subgraph of node X means generation of node X through a chain of group operations, variables included in the subgraph need to belong to the same group in type III. On the other hand, since type III pairing operations are performed on variables belonging to different groups, if two nodes included in the same subgraph are connected via a pairing node, the algorithm does not work on type III . In the example of FIG. 3, since the node X 2 is included in both the subgraph of the node X 4 and the subgraph of the node X 8 connected to the pairing nodes P X4 and X8 , the algorithm A represented in the direction graph T is It can be seen that it does not work on the type III pairing group.
ステップS14において、サブグラフ複製部14は、ペアリングノードに接続されるエッジのいずれかを選択し、そのエッジに繋がるノードのサブグラフを複製する。すなわち、アルゴリズムAがペアリング演算e(X,Y)を計算するとき、X,Yいずれかのノードを選び(以下では、Xが選択されたものとする)、選ばれたノードXのサブグラフを複製する。複製したサブグラフに含まれるノードには異なる変数名を与える。例えば、複製したノードには元の変数名に「~」(チルダ)を付けた記号を変数名として与える。先行する上記の処理によって既にチルダ付きの変数名が付いたノードを持つグラフが存在している場合、そのグラフとマージする。このように複製したノードを複製ノードと呼ぶ。以降の説明では、群G1に属するノードをノードXと表し、ノードXに対応する複製ノードを複製ノードX~と表す場合がある。
In step S14, the
図4にサブグラフ複製部14がサブグラフを複製した後の方向性グラフTの一例を示す。図4の例では、複製ノードは破線の円で描かれている。この例ではペアリングノードPX4,X8の二つのエッジのうちノードX8に繋がるエッジを選択し、ノードX8のサブグラフを複製している。具体的には、ノードX2,X5,X6,X7,X8を複製して複製ノードX~2,X~5,X~6,X~7,X~8を生成している。
FIG. 4 shows an example of the directional graph T after the
ステップS16において、エッジ切替部16は、ペアリングノードからノードXに向かっていたエッジを複製ノードX~につなぎ替える。図5にエッジ切替部16がペアリングノードのエッジを切り替えた後の方向性グラフTの一例を示す。この例ではペアリングノードPX4,X8の二つのエッジのうちノードX8に繋がっていたエッジを複製ノードX~8へつなぎ替えている。
In step S16, the
ステップS18において、サブグラフ削除部18は、他のグラフと連結していないサブグラフが発生しているかどうかを確認し、そのサブグラフ全体を削除する。図6にサブグラフ削除部18が削除すべきサブグラフを特定したときの方向性グラフTの一例を示す。この例では、ペアリングノードPX4,X8のエッジが切り離されたノードX8のサブグラフに含まれるノードのうち他のノードへ入力されることがなくなったノードX5,X6,X7,X8を削除すべきサブグラフとして選択している。こうして選択したサブグラフを削除した状態の方向性グラフTの一例を図7に示す。
In step S <b> 18, the
二重化部10は、ステップS14からステップS18の処理を、方向性グラフTに含まれるすべてのペアリングノードに対して行う。結果として得られたグラフ全体を方向性グラフT’として出力する。 The duplexer 10 performs the processing from step S14 to step S18 on all pairing nodes included in the directionality graph T. The entire graph obtained as a result is output as a directional graph T '.
ステップS14において方向性グラフTに含まれるペアリングノードのうちどのペアリングノードから処理を行うか、及び、ステップS16においてペアリングノードに繋がる二つのエッジのうちどちらのエッジを選択するかについては、いくつかの方法が考えられる。最終的に得られる方向性グラフT’が小さくなるように選択を行えば、変換された後のアルゴリズムA’の効率が良くなるため望ましいが、この発明ではどのような基準で選択しても構わない。 From which pairing node of the pairing nodes included in the directivity graph T in step S14, and which edge of the two edges connected to the pairing node to select in step S16, Several methods are conceivable. It is desirable to make a selection so that the finally obtained directional graph T ′ is small because the efficiency of the algorithm A ′ after the conversion is improved. However, in this invention, any selection may be made. Absent.
ステップS20において、変換部20は、入力された方向性グラフT’に基づいて、プログラムαに含まれるタイプIのペアリング群上の各演算をタイプIIIのペアリング群上の演算に変換し、タイプIIIのペアリング群上のプログラムα’を出力する。以下、変換部20の処理をより詳細に説明する。
In step S20, the
ステップS22において、群演算変換部22は、入力された方向性グラフT’に基づいて、プログラムαに含まれるノードXに対するタイプIのペアリング群上の群演算について、対応する複製ノードX~に対するタイプIIIのペアリング群上の群演算を生成する。図7の例に群演算変換部22の処理を適用すると、X~6←X~2・X~5なる群演算、X~8←X~6・X~7なる群演算を生成することになる。
In step S22, the group
ステップS24において、ペアリング演算変換部24は、入力された方向性グラフT’に基づいて、プログラムαに含まれるノードXを入力とするタイプIのペアリング演算について、ノードX及びノードX~を入力とするタイプIIIのペアリング演算に変換する。図7の例にペアリング演算変換部24の処理を適用すると、e(X4,X8)なるペアリング演算をe(X4,X~8)なるペアリング演算に変換することになる。
In step S24, the pairing
ステップS26において、等価性検査変換部26は、ノードXと複製ノードX~との等価性検査を、ノードX及び複製ノードX~を入力とするタイプIIIのペアリング演算を用いた等式に変換する。具体的には、gを群G1の生成元、hを群G2の生成元、Aを群G1の要素、Bを群G2の要素として、A=Bの等価性検査は以下の式(2)に置き換えればよい。
In step S26, the equivalence
a,b∈Zqとして、Aはgaと表すことができ、Bはhbと表すことができる。したがって、式(2)は以下の式(3)のように表すことができる。 A can be expressed as g a, and B can be expressed as h b , where a, bεZ q . Therefore, the equation (2) can be expressed as the following equation (3).
式(3)はペアリング演算の性質から式(4)のように変形できる。 Equation (3) can be transformed into Equation (4) due to the nature of the pairing operation.
したがって、等価性検査変換部26は、異なる群G1,G2に属する群要素A∈G1とB∈G2との比較を、同じ剰余環Zqに属する値a,b∈Zqの比較に変換していると言える。
Therefore, equivalence
このようにして、この発明のプログラム変換技術は、タイプIのペアリング群上のプログラムαを、タイプIIIのペアリング群上のプログラムα’へ変換する。タイプIのペアリング群はベースとなる群が一つしかないため記述が簡易でアルゴリズムの設計に格段の注意を必要としないが、特殊な群のため安全性に劣る場合がある。一方、タイプIIIのペアリング群はベースとなる群が二つあるため記述がやや複雑でアルゴリズムの設計には注意を要するが、より一般的な群のため安全性は良いとされている。 In this way, the program conversion technique of the present invention converts the program α on the type I pairing group into the program α ′ on the type III pairing group. The type I pairing group is simple to describe because there is only one base group, and does not require special attention in the design of the algorithm, but may be inferior in safety because of the special group. On the other hand, the type III pairing group has two base groups, so the description is somewhat complicated and the design of the algorithm requires attention. However, because it is a more general group, it is said to be safe.
ただし、タイプIのペアリング群のために設計されたアルゴリズムは、タイプIIIのペアリング群においては、入力の群要素を二つある群にどのように振り分けたとしても動作しない場合があることには注意を要する。この発明の目的は、タイプIのペアリング群のために設計されたアルゴリズムをタイプIIIのペアリング群で動作するように群要素と演算を追加する手段を提供することにある。この発明の提供すべき場面は、そのアルゴリズムに要求される安全性などの特性を鑑みて決定すればよい。 However, algorithms designed for Type I pairing groups may not work in Type III pairing groups no matter how the input group elements are divided into two groups. Need attention. An object of the present invention is to provide means for adding group elements and operations so that an algorithm designed for a type I pairing group operates in a type III pairing group. The scene to be provided by the present invention may be determined in view of characteristics such as safety required for the algorithm.
[プログラム、記録媒体]
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[Program, recording medium]
The present invention is not limited to the above-described embodiment, and it goes without saying that modifications can be made as appropriate without departing from the spirit of the present invention. The various processes described in the above-described embodiments are not only executed in time series according to the order described, but may be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes.
また、上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。 When various processing functions in each device described in the above embodiment are realized by a computer, the processing contents of the functions that each device should have are described by a program. Then, by executing this program on a computer, various processing functions in each of the above devices are realized on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。 The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.
1 プログラム変換装置
10 二重化部
12 グラフ構築部
14 サブグラフ複製部
16 エッジ切替部
18 サブグラフ削除部
20 変換部
22 群演算変換部
24 ペアリング演算変換部
26 等価性検査変換部
101 制御部
102 メモリ
DESCRIPTION OF SYMBOLS 1 Program conversion apparatus 10
Claims (7)
少なくとも一つのタイプIのペアリング演算を含むプログラムを入力とし、上記プログラムの演算過程で用いられる群G1上の変数X=gxに対して群G2上で対応する変数X~=hxを生成する二重化部と、
上記プログラムに含まれる上記群G1上の変数を用いる群演算について、上記群G2上の変数を用いる群演算を生成する群演算変換部と、
上記プログラムに含まれる二つの上記群G1上の変数を入力とするタイプIのペアリング演算を、上記群G1上の変数及び上記群G2上の変数を入力とするタイプIIIのペアリング演算へ変換するペアリング演算変換部と、
上記プログラムに含まれる上記群G1上の変数と上記群G2上の変数との等価性検査を上記群G1上の変数及び群G2の生成元を入力とするタイプIIIのペアリング演算と上記群G2上の変数及び群G1の生成元を入力とするタイプIIIのペアリング演算とを用いた等式に変換する等価性検査変換部と、
を含むプログラム変換装置。 G 1 , G 2 , G T are groups of prime order q, g is a generator of group G 1 , h is a generator of group G 2 , and x is a modulo ring Z q element modulo q And the type I pairing operation is a G 1 × G 1 → G T bilinear map, and the type III pairing operation is a G 1 × G 2 → G T bilinear map,
A program including at least one type I pairing operation is used as an input, and a variable X ~ = h x corresponding to the variable X = g x on the group G 1 used in the calculation process of the above program on the group G 2 A duplexer that generates
For group operations using variables on the group G 1 included in the program, a group operation conversion unit that generates group operations using variables on the group G 2 ;
Type I pairing operation with two variables on the group G 1 included in the program as input, type III pairing with the variables on the group G 1 and variables on the group G 2 as inputs A pairing calculation conversion unit for converting to calculation;
A type III pairing operation in which the equivalence check between the variable on the group G 1 and the variable on the group G 2 included in the program is input to the variable on the group G 1 and the generation source of the group G 2 And an equivalence checking conversion unit for converting to an equation using a type III pairing operation that takes as input a variable on the group G 2 and a generator of the group G 1 ,
A program conversion apparatus including:
上記二重化部は、
上記プログラムを入力とし、上記群G1上の変数をノードとして表し、上記プログラムに含まれるタイプIのペアリング演算をペアリングノードとして表し、上記プログラムに含まれる群演算について演算対象のノード同士を演算への入出力を表すエッジにより接続し、上記プログラムに含まれるタイプIのペアリング演算について演算対象の各ノードとペアリングノードとを上記エッジにより接続することで、上記プログラムの構造を表す方向性グラフに変換するグラフ構築部と、
上記ペアリングノードに接続するいずれかのエッジを選択し、上記選択したエッジに接続するノードを先頭ノードとして、上記先頭ノードへ上記エッジの連鎖により連なる一連のノードからなるサブグラフに基づいて、上記群G1上の変数を表すノードを複製して上記群G2上の変数を表すノードを生成し、上記サブグラフと等しい構造となるように上記群G2上の変数を表すノードを上記エッジにより接続することで、上記サブグラフを複製するサブグラフ複製部と、
上記選択したエッジを上記先頭ノードに対応する上記群G2上の変数を表すノードへ接続するエッジ切替部と、
上記方向性グラフ中に他のノードへの出力を表すエッジを持たないノードが存在すれば、当該ノードへ上記エッジの連鎖により連なる一連のノードからなるサブグラフを削除するサブグラフ削除部と、
を含むプログラム変換装置。 The program conversion device according to claim 1,
The duplex part is
With the program as an input, the variables on the group G 1 are represented as nodes, the type I pairing operations included in the program are represented as pairing nodes, and the operation target nodes of the group operations included in the program are A direction that represents the structure of the program by connecting the nodes to be operated and the pairing nodes for the type I pairing operation included in the program by the edge, connected by an edge representing input / output to the operation. A graph construction unit to convert to a sex graph;
Select any edge connected to the pairing node, and use the group connected to the selected edge as a leading node based on a subgraph consisting of a series of nodes connected to the leading node by a chain of edges. duplicating nodes representing variables on G 1 generates a node representing the variables on the group G 2, the node that so that equal upper Symbol subgraph structure representing the variables on the group G 2 the edge A subgraph duplication unit that duplicates the subgraph by connecting with
An edge switching section for connecting the selected edge to a node representing the variables on the group G 2 corresponding to the first node,
If there is a node that does not have an edge representing an output to another node in the directional graph, a subgraph deletion unit that deletes a subgraph composed of a series of nodes connected to the node by a chain of edges;
A program conversion apparatus including:
gを群G1の生成元とし、hを群G2の生成元とし、Aを群G1の群要素とし、Bを群G2の群要素とし、eを上記タイプIIIのペアリング演算とし、
上記等価性検査変換部は、上記プログラムに含まれる等価性検査A=Bを次式に置き換えるものである
The g and a generator of the group G 1, and h is a generator of the group G 2, the A and the group member of the group G 1, and the B and group member of the group G 2, the e the pairing operation of the type III ,
The equivalence checking conversion unit replaces the equivalence checking A = B included in the program with the following expression:
G1,G2,GTを素数位数qの群とし、gを群G1の生成元とし、hを群G2の生成元とし、xをqを法とする剰余環Zqの元とし、タイプIのペアリング演算はG1×G1→GTの双線形写像であり、タイプIIIのペアリング演算はG1×G2→GTの双線形写像であり、
上記二重化部が、少なくとも一つのタイプIのペアリング演算を含むプログラムを入力とし、上記プログラムの演算過程で用いられる群G1上の変数X=gxに対して群G2上で対応する変数X~=hxを生成する二重化ステップと、
上記群演算変換部が、上記プログラムに含まれる上記群G1上の変数を用いる群演算について、上記群G2上の変数を用いる群演算を生成する群演算変換ステップと、
上記ペアリング演算変換部が、上記プログラムに含まれる二つの上記群G1上の変数を入力とするタイプIのペアリング演算を、上記群G1上の変数及び上記群G2上の変数を入力とするタイプIIIのペアリング演算へ変換するペアリング演算変換ステップと、
上記等価性検査変換部が、上記プログラムに含まれる上記群G1上の変数と上記群G2上の変数との等価性検査を上記群G1上の変数及び群G2の生成元を入力とするタイプIIIのペアリング演算と上記群G2上の変数及び群G1の生成元を入力とするタイプIIIのペアリング演算とを用いた等式に変換する等価性検査変換ステップと、
を含むプログラム変換方法。 A program conversion method executed by a program conversion apparatus including a duplication unit, a group operation conversion unit, a pairing operation conversion unit, and an equivalence checking conversion unit,
G 1 , G 2 , G T are groups of prime order q, g is a generator of group G 1 , h is a generator of group G 2 , and x is a modulo ring Z q element modulo q And the type I pairing operation is a G 1 × G 1 → G T bilinear map, and the type III pairing operation is a G 1 × G 2 → G T bilinear map,
The duplication unit receives a program including at least one type I pairing operation as an input, and the variable corresponding to the variable X = g x on the group G 1 used in the calculation process of the program on the group G 2 A duplication step to generate X ~ = h x ;
The group arithmetic conversion unit, the group operation using a variable on the group G 1 that is included in the program, a group operation converting step of generating a group operation using a variable on the group G 2,
The pairing operation conversion part, a pairing computation of type I to type the two variables on the group G 1 that is included in the program, the variables and variables on the group G 2 on the group G 1 A pairing calculation conversion step for converting to an input type III pairing calculation;
The equivalence checking conversion unit inputs equivalence checking between the variable on the group G 1 and the variable on the group G 2 included in the program, and the variable on the group G 1 and the generation source of the group G 2 An equivalence check conversion step for converting into an equation using a type III pairing operation and a variable on the group G 2 and a type III pairing operation with the generation source of the group G 1 as inputs,
A program conversion method including:
上記二重化部は、グラフ構築部とサブグラフ複製部とエッジ切替部とサブグラフ削除部とを含むものであり、
上記二重化ステップは、
上記グラフ構築部が、上記プログラムを入力とし、上記群G1上の変数をノードとして表し、上記プログラムに含まれるタイプIのペアリング演算をペアリングノードとして表し、上記プログラムに含まれる群演算について演算対象のノード同士を演算への入出力を表すエッジにより接続し、上記プログラムに含まれるタイプIのペアリング演算について演算対象の各ノードとペアリングノードとを上記エッジにより接続することで、上記プログラムの構造を表す方向性グラフに変換するグラフ構築ステップと、
上記サブグラフ複製部が、上記ペアリングノードに接続するいずれかのエッジを選択し、上記選択したエッジに接続するノードを先頭ノードとして、上記先頭ノードへ上記エッジの連鎖により連なる一連のノードからなるサブグラフに基づいて、上記群G1上の変数を表すノードを複製して上記群G2上の変数を表すノードを生成し、上記サブグラフと等しい構造となるように上記群G2上の変数を表すノードを上記エッジにより接続することで、上記サブグラフを複製するサブグラフ複製ステップと、
上記エッジ切替部が、上記選択したエッジを上記先頭ノードに対応する上記群G2上の変数を表すノードへ接続するエッジ切替ステップと、
上記サブグラフ削除部が、上記方向性グラフ中に他のノードへの出力を表すエッジを持たないノードが存在すれば、当該ノードへ上記エッジの連鎖により連なる一連のノードからなるサブグラフを削除するサブグラフ削除ステップと、
を含むプログラム変換方法。 The program conversion method according to claim 4,
The duplexing unit includes a graph construction unit, a subgraph replication unit, an edge switching unit, and a subgraph deletion unit,
The duplexing step is
The graph construction unit takes the program as an input, represents a variable on the group G 1 as a node, represents a type I pairing operation included in the program as a pairing node, and includes a group operation included in the program. By connecting the nodes to be operated with an edge representing input / output to the operation, and connecting each node to be operated with the pairing node for the type I pairing operation included in the program by the edge, A graph construction step for converting to a directional graph representing the structure of the program;
The subgraph duplicating unit selects any edge connected to the pairing node, the node connected to the selected edge as a head node, and a subgraph composed of a series of nodes connected to the head node by the chain of edges. based on duplicates nodes representing variables on the group G 1 generates a node representing the variables on the group G 2, the variables on the group G 2 so as to be equal to the upper Symbol subgraph structure the node representing by connecting the said edge, and subgraph replication step of replicating the sub-graph,
The edge switching unit, an edge switching step of connecting the selected edge to a node representing the variables on the group G 2 corresponding to the first node,
The subgraph deletion unit deletes a subgraph composed of a series of nodes connected to the node by a chain of edges if there is a node that does not have an edge representing an output to another node in the directivity graph. Steps,
A program conversion method including:
gを群G1の生成元とし、hを群G2の生成元とし、Aを群G1の群要素とし、Bを群G2の群要素とし、eを上記タイプIIIのペアリング演算とし、
上記等価性検査変換ステップは、上記プログラムに含まれる等価性検査A=Bを次式に置き換えるものである
The g and a generator of the group G 1, and h is a generator of the group G 2, the A and the group member of the group G 1, and the B and group member of the group G 2, the e the pairing operation of the type III ,
The equivalence checking conversion step replaces the equivalence checking A = B included in the program with the following equation:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013156669A JP5980178B2 (en) | 2013-07-29 | 2013-07-29 | Program conversion apparatus, program conversion method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013156669A JP5980178B2 (en) | 2013-07-29 | 2013-07-29 | Program conversion apparatus, program conversion method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015026005A JP2015026005A (en) | 2015-02-05 |
| JP5980178B2 true JP5980178B2 (en) | 2016-08-31 |
Family
ID=52490693
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013156669A Active JP5980178B2 (en) | 2013-07-29 | 2013-07-29 | Program conversion apparatus, program conversion method, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5980178B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6348082B2 (en) * | 2015-04-23 | 2018-06-27 | 日本電信電話株式会社 | Structure conversion apparatus and program |
| JP6445474B2 (en) * | 2016-01-15 | 2018-12-26 | 日本電信電話株式会社 | Pairing type conversion device, pairing type conversion method, program |
-
2013
- 2013-07-29 JP JP2013156669A patent/JP5980178B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2015026005A (en) | 2015-02-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108718231B (en) | A fully homomorphic encryption method, device and computer-readable storage medium | |
| JP6353536B2 (en) | Method and apparatus for generating digital signature | |
| KR20240005674A (en) | Cyphergenics-based ecosystem security platforms | |
| WO2020006692A1 (en) | Fully homomorphic encryption method and device and computer readable storage medium | |
| JP2017515195A (en) | Solve digital logic constraint problems via adiabatic quantum computation | |
| US10218494B1 (en) | Performing block form reductions modulo non-Mersenne primes in cryptographic protocols | |
| CN104412539A (en) | Secret sharing system, data distribution device, distributed data conversion device, secret sharing method, and program | |
| Ananth et al. | Cryptography with updates | |
| JP2019113777A (en) | Processor, processing method, processing program and encryption processing system | |
| US11599681B2 (en) | Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program | |
| JP2010049213A (en) | Encrypting device, decrypting device, cipher communication system, method and program | |
| Lau et al. | Key recovery attacks on some rank metric code-based signatures | |
| JP6006809B2 (en) | Decoding service providing apparatus, processing apparatus, safety evaluation apparatus, program, and recording medium | |
| JP5980178B2 (en) | Program conversion apparatus, program conversion method, and program | |
| CN105933120A (en) | Spark platform-based password hash value recovery method and device | |
| US12120231B2 (en) | Digital watermark system, digital watermark method and program | |
| JP6059159B2 (en) | Share conversion system, share conversion method, program | |
| JP6139469B2 (en) | Signature generation device, signature verification device, verification system, and program | |
| JP2006184831A (en) | Key generation device, encryption device, inspection device, decryption device, key generation program, encryption program, inspection program, decryption program | |
| CN112395636A (en) | Power grid data encryption model training method, system, storage medium and equipment | |
| JP5300373B2 (en) | Apparatus and program for performing data compression processing using algebraic torus | |
| JP5858938B2 (en) | Calculation apparatus, calculation system, calculation method | |
| WO2019069403A1 (en) | Random number generation system, random number generation method, and random number generation program | |
| CN114817954A (en) | Image processing method, system and device | |
| Johansson et al. | EUROCRYPT 2013 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150724 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160413 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160524 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160623 |
|
| 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: 20160719 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160726 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5980178 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| 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 |