(57)【特許請求の範囲】
【請求項１】
鍵生成処理部と暗号化処理部と復号処理部を備え、
鍵生成処理部は、
ｌ次代数体Ｋ、Ｋの整数環ＯＫ、ＯＫの素イデアルｐ’、剰余類体ＯＫ  ／ｐ’＝ＧＦ（ｑ）の一つの完全代表系Ｒｐ’、その生成元ｇ  （ｍｏｄ  ｐ’）、有理整数ｎ，ｋとしたとき、ＯＫのｎ個の要素｛ｐ１，ｐ２，・・・，ｐｎ｝で、それぞれのノルムＮ（ｐ１），・・・，Ｎ（ｐｎ）が互いに素であり、そのｋ個の要素からなる任意の部分集合｛ｐｉ１，ｐｉ２，・・・，ｐｉｋ｝に対して
【数１】
0003615133.tif 000010
となるものを生成し、ｐ１，ｐ２，・・・，ｐｎから、各々の１≦ｉ≦ｎに対してｐｉ≡ｇａｉ（ｍｏｄ  ｐ’）を満たすような有理整数ａ１，ａ２，・・・，ａｎ（１≦ａｉ＜ｑ−１）を生成し、Ｚ／（ｑ−１）Ｚ（（ｑ−１）を法とする整数の体）からのランダムにｄを取り、ａ１，ａ２，・・・，ａｎから、各々の１≦ｉ≦ｎに対して公開鍵ｂｉ＝（ａｉ＋ｄ）  ｍｏｄ（ｑ−１）を生成して、
暗号化処理部は、
長さ
【数２】
0003615133.tif 000011
の平文をＭとしたとき、Ｍを、長さｎでハミング重さｋであるビット列ｍ＝（ｍ１，ｍ２，・・・，ｍｎ）に変換し、ｍから暗号文
【数３】
0003615133.tif 000012
を生成し、
復号処理部は、
暗号文ｃからｒ＝（ｃ−ｋｄ）  ｍｏｄ（ｑ−１）を生成し、ｒからｕ＝ｇｒ  （ｍｏｄ  ｐ’）を計算し、長さｎでハミング重さｋであるビット列ｍ＝（ｍ１，ｍ２，・・・，ｍｎ）を、ｐｉ  がｕの因子ならばｍｉ＝１とし、因子でないならば、ｍｉ＝０とすることにより生成し、ｍを平文Ｍに変換すること
を特徴とする代数体を用いた公開鍵暗号化復号方法。
【請求項２】
鍵生成処理部と暗号化処理部を備え、
鍵生成処理部は、
ｌ次代数体Ｋ、Ｋの整数環ＯＫ、ＯＫの素イデアルｐ’、剰余類体ＯＫ  ／ｐ’＝ＧＦ（ｑ）の一つの完全代表系Ｒｐ’、その生成元ｇ  （ｍｏｄ  ｐ’）、有理整数ｎ，ｋとしたとき、ＯＫのｎ個の要素｛ｐ１，ｐ２，・・・，ｐｎ｝で、それぞれのノルムＮ（ｐ１），・・・，Ｎ（ｐｎ）が互いに素であり、そのｋ個の要素からなる任意の部分集合｛ｐｉ１，ｐｉ２，・・・，ｐｉｋ｝に対して
【数４】
0003615133.tif 000013
となるものを生成し、ｐ１，ｐ２，・・・，ｐｎから、各々の１≦ｉ≦ｎに対してｐｉ≡ｇａｉ（ｍｏｄ  ｐ’）を満たすような有理整数ａ１，ａ２，・・・，ａｎ（１≦ａｉ＜ｑ−１）を生成し、Ｚ／（ｑ−１）Ｚ（（ｑ−１）を法とする整数の体）からのランダムにｄを取り、ａ１，ａ２，・・・，ａｎから、各々の１≦ｉ≦ｎに対して公開鍵ｂｉ＝（ａｉ＋ｄ）  ｍｏｄ（ｑ−１）を生成して、
暗号化処理部は、
長さ
【数５】
0003615133.tif 000014
の平文をＭとしたとき、Ｍを、長さｎでハミング重さｋであるビット列ｍ＝（ｍ１，ｍ２，・・・，ｍｎ）に変換し、ｍから暗号文
【数６】
0003615133.tif 000015
を生成すること
を特徴とする代数体を用いた公開鍵暗号化方法。
【請求項３】
鍵生成処理として、ｌ次代数体Ｋ、Ｋの整数環ＯＫ、ＯＫの素イデアルｐ’、剰余類体ＯＫ  ／ｐ’＝ＧＦ（ｑ）の一つの完全代表系Ｒｐ’、その生成元ｇ  （ｍｏｄ  ｐ’）、有理整数ｎ，ｋとしたとき、ＯＫのｎ個の要素｛ｐ１，ｐ２，・・・，ｐｎ｝で、それぞれのノルムＮ（ｐ１），・・・，Ｎ（ｐｎ）が互いに素であり、そのｋ個の要素からなる任意の部分集合｛ｐｉ１，ｐｉ２，・・・，ｐｉｋ｝に対して
【数７】
0003615133.tif 000016
となるものを生成し、ｐ１，ｐ２，・・・，ｐｎから、各々の１≦ｉ≦ｎに対してｐｉ≡ｇａｉ（ｍｏｄ  ｐ’）を満たすような有理整数ａ１，ａ２，・・・，ａｎ（１≦ａｉ＜ｑ−１）を生成し、Ｚ／（ｑ−１）Ｚ（（ｑ−１）を法とする整数の体）からのランダムにｄを取り、ａ１，ａ２，・・・，ａｎから、各々の１≦ｉ≦ｎに対して公開鍵ｂｉ＝（ａｉ＋ｄ）  ｍｏｄ（ｑ−１）を生成して、
暗号化処理として、
長さ
【数８】
0003615133.tif 000017
の平文をＭとしたとき、Ｍを、長さｎでハミング重さｋであるビット列ｍ＝（ｍ１，ｍ２，・・・，ｍｎ）に変換し、ｍから暗号文
【数９】
0003615133.tif 000018
を生成する暗号化方法により生成された暗号文ｃを入力し、
復号処理部は、
暗号文ｃからｒ＝（ｃ−ｋｄ）  ｍｏｄ（ｑ−１）を生成し、ｒからｕ＝ｇｒ  （ｍｏｄ  ｐ’）を計算し、長さｎでハミング重さｋであるビット列ｍ＝（ｍ１，ｍ２，・・・，ｍｎ）を、ｐｉ  がｕの因子ならばｍｉ＝１とし、因子でないならば、ｍｉ＝０とすることにより生成し、ｍを平文Ｍに変換すること
を特徴とする代数体を用いた公開鍵復号方法。
【請求項４】
鍵生成処理として、
ｌ次代数体Ｋ、Ｋの整数環ＯＫ、ＯＫの素イデアルｐ’、剰余類体ＯＫ  ／ｐ’＝ＧＦ（ｑ）の一つの完全代表系Ｒｐ’、その生成元ｇ  （ｍｏｄ  ｐ’）、有理整数ｎ，ｋとしたとき、
ＯＫのｎ個の要素｛ｐ１，ｐ２，・・・，ｐｎ｝で、それぞれのノルムＮ（ｐ１），・・・，Ｎ（ｐｎ）が互いに素であり、そのｋ個の要素からなる任意の部分集合｛ｐｉ１，ｐｉ２，・・・，ｐｉｋ｝に対して
【数１０】
0003615133.tif 000019
となるものを生成する剰余類判定器と、
ｐ１，ｐ２，・・・，ｐｎから、各々の１≦ｉ≦ｎに対してｐｉ≡ｇａｉ（ｍｏｄ  ｐ’）を満たすような有理整数ａ１，ａ２，・・・，ａｎ（１≦ａｉ＜ｑ−１）を生成する離散対数器と、
Ｚ／（ｑ−１）Ｚ（（ｑ−１）を法とする整数の体）からのランダムにｄを取り、ａ１，ａ２，・・・，ａｎから、各々の１≦ｉ≦ｎに対して公開鍵ｂｉ＝（ａｉ＋ｄ）  ｍｏｄ（ｑ−１）を生成する加算器Ａと、
暗号化処理として、
長さ
【数１１】
0003615133.tif 000020
の平文をＭとしたとき、Ｍを、長さｎでハミング重さｋであるビット列ｍ＝（ｍ１，ｍ２，・・・，ｍｎ）に変換し、ｍから暗号文
【数１２】
0003615133.tif 000021
を生成する加算器Ｂと、
復号処理として、
暗号文ｃからｒ＝（ｃ−ｋｄ）  ｍｏｄ（ｑ−１）を生成し、ｒからｕ＝ｇｒ  （ｍｏｄ  ｐ’）を計算し、長さｎでハミング重さｋであるビット列ｍ＝（ｍ１，ｍ２，・・・，ｍｎ）を生成する巾乗剰余器と、
ｐｉ  がｕの因子ならばｍｉ＝１とし、因子でないならば、ｍｉ＝０とすることにより生成する因子判定器と、
ｍを平文Ｍに変換する中間復号文変換器を備えたこと
を特徴とする代数体を用いた公開鍵暗号化復号システム。
【請求項５】
鍵生成処理として、
ｌ次代数体Ｋ、Ｋの整数環ＯＫ、ＯＫの素イデアルｐ’、剰余類体ＯＫ  ／ｐ’＝ＧＦ（ｑ）の一つの完全代表系Ｒｐ’、その生成元ｇ  （ｍｏｄ  ｐ’）、有理整数ｎ，ｋとしたとき、
ＯＫのｎ個の要素｛ｐ１，ｐ２，・・・，ｐｎ｝で、それぞれのノルムＮ（ｐ１），・・・，Ｎ（ｐｎ）が互いに素であり、そのｋ個の要素からなる任意の部分集合｛ｐｉ１，ｐｉ２，・・・，ｐｉｋ｝に対して
【数１３】
0003615133.tif 000022
となるものを生成する剰余類判定器と、
ｐ１，ｐ２，・・・，ｐｎから、各々の１≦ｉ≦ｎに対してｐｉ≡ｇａｉ（ｍｏｄ  ｐ’）を満たすような有理整数ａ１，ａ２，・・・，ａｎ（１≦ａｉ＜ｑ−１）を生成する離散対数器と、
Ｚ／（ｑ−１）Ｚ（（ｑ−１）を法とする整数の体）からのランダムにｄを取り、ａ１，ａ２，・・・，ａｎから、各々の１≦ｉ≦ｎに対して公開鍵ｂｉ＝（ａｉ＋ｄ）  ｍｏｄ（ｑ−１）を生成する加算器Ａを備え、
暗号化処理として、
長さ
【数１４】
0003615133.tif 000023
の平文をＭとしたとき、Ｍを、長さｎでハミング重さｋであるビット列ｍ＝（ｍ１，ｍ２，・・・，ｍｎ）に変換し、ｍから暗号文
【数１５】
0003615133.tif 000024
を生成する加算器Ｂを備えたこと
を特徴とする代数体を用いた公開鍵暗号化装置。
【請求項６】
鍵生成処理として、
ｌ次代数体Ｋ、Ｋの整数環ＯＫ、ＯＫの素イデアルｐ’、剰余類体ＯＫ  ／ｐ’＝ＧＦ（ｑ）の一つの完全代表系Ｒｐ’、その生成元ｇ  （ｍｏｄ  ｐ’）、有理整数ｎ，ｋとしたとき、
ＯＫのｎ個の要素｛ｐ１，ｐ２，・・・，ｐｎ｝で、それぞれのノルムＮ（ｐ１），・・・，Ｎ（ｐｎ）が互いに素であり、そのｋ個の要素からなる任意の部分集合｛ｐｉ１，ｐｉ２，・・・，ｐｉｋ｝に対して
【数１６】
0003615133.tif 000025
となるものを生成する剰余類判定器と、
ｐ１，ｐ２，・・・，ｐｎから、各々の１≦ｉ≦ｎに対してｐｉ≡ｇａｉ（ｍｏｄ  ｐ’）を満たすような有理整数ａ１，ａ２，・・・，ａｎ（１≦ａｉ＜ｑ−１）を生成する離散対数器と、
Ｚ／（ｑ−１）Ｚ（（ｑ−１）を法とする整数の体）からのランダムにｄを取り、ａ１，ａ２，・・・，ａｎから、各々の１≦ｉ≦ｎに対して公開鍵ｂｉ＝（ａｉ＋ｄ）  ｍｏｄ（ｑ−１）を生成する加算器Ａを備え、
暗号化処理として、
長さ
【数１７】
0003615133.tif 000026
の平文をＭとしたとき、Ｍを、長さｎでハミング重さｋであるビット列ｍ＝（ｍ１，ｍ２，・・・，ｍｎ）に変換し、ｍから暗号文
【数１８】
0003615133.tif 000027
を生成する加算器Ｂを備えた暗号化装置により生成された暗号文ｃを入力し、
復号処理として、
暗号文ｃからｒ＝（ｃ−ｋｄ）  ｍｏｄ（ｑ−１）を生成し、ｒからｕ＝ｇｒ  （ｍｏｄ  ｐ’）を計算し、長さｎでハミング重さｋであるビット列ｍ＝（ｍ１，ｍ２，・・・，ｍｎ）を生成する巾乗剰余器と、
ｐｉ  がｕの因子ならばｍｉ＝１とし、因子でないならば、ｍｉ＝０とすることにより生成する因子判定器と、
ｍを平文Ｍに変換する中間復号文変換器を備えたこと
を特徴とする代数体を用いた公開鍵復号装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、公開鍵暗号化復号方法及びシステムに関し、特にナップサック問題をよりどころとする公開鍵暗号化復号方法及びシステムに関する。
【０００２】
【従来の技術】
公開鍵暗号システムは、その安全性のよりどころとする問題により類別される。
このよりどころとなる問題としては、素因数分解問題、離散対数問題、ナップサック問題などが挙げられる。今現在、安全で実用的であると考えられている公開鍵暗号システムは、素因数分解問題、離散対数問題に基づくものがほとんどで、ナップサック問題を安全性のよりどころとする公開鍵暗号システムとしては、Ｍａｒｋｌｅ−Ｈｅｌｌｍａｎ（マークル−ヘルマン）暗号やＣｈｏｒ−Ｒｉｖｅｓｔ（コール−リベスト）暗号など多数提案されているが、そのほとんどが安全性の解析が十分でないか、ある種の攻撃が成功した報告がされている。
【０００３】
【発明が解決しようとする課題】
現在の実用的な公開鍵暗号システムで用いられている問題である、素因数分解問題及び離散対数問題は、Ｓｈｏｒ（ショァー）により提案されたアルゴリズムを用いれば、量子計算機と呼ばれるものが実現した時点で非常に効率良く解かれてしまう、すなわち、これらに基づく公開鍵暗号システムは、完全に解読されてしまうことが知られている。文献（Ｐ．Ｗ．Ｓｈｏｒ，”Ｐｏｌｙｎｏｍｉａｌ−ｔｉｍｅ  ａｌｇｏｒｉｔｈｍｓ  ｆｏｒ  ｐｒｉｍｅ  ｆａｃｔｏｒｉｚａｔｉｏｎ    ａｎｄ  ｄｉｓｃｒｅｔｅ  ｌｏｇａｒｉｔｈｍｓ  ｏｎ  ａ  ｑｕａｎｔｕｍ  ｃｏｍｐｕｔｅｒ”，ＳＩＡＭ  Ｊ．Ｃｏｍｐｕｔ．２６，５（Ｏｃｔ．１９９７），１４８４−１５０９．）
本発明は、量子計算機が実現されても解読が困難である、ナップサック問題を安全性のよりどころとする新しい公開鍵暗号化復号方法及びシステムを実現する。
【０００４】
【課題を解決するための手段】
本発明では、代数体の整数環、その素イデアル及びその剰余類体を用い、かつその上で離散対数問題を解くアルゴリズムを援用して鍵生成処理を行い、長さ
【０００５】
【数１９】
0003615133.tif 000002
は、二項係数、即ち、ｎ個のものからｋ個のものを選び出す組合せの数を表すものとする。さらに注意として、ここで使われている代数体、整数環、素イデアルなどの数論の用語については、文献（河田敬義  著，「数論」岩波書店発行）などを参照、特に、通常の整数と代数的整数を区別する必要がある場合は、通常の整数を有理数と呼ぶことにする。
【０００６】
【発明の実施の形態】
図１に鍵生成処理部、図２に暗号化処理部、図３に復号処理部の構成図を示す。
本発明で用いる公開鍵暗号方式の構成法の実施例について、図１、図２、図３を参照して説明する。
（鍵生成処理：図１）
鍵生成処理部は、乱数発生器Ａ（１０１）、互素判定器（１０２）、剰余類判定器（１０３）、乱数発生器Ｂ（１０４）、離散対数器（１０５）、乱数発生器Ｃ（１０６）、加算器Ａ（１０７）から構成される。
【０００７】
ｌ次（エル次）代数体Ｋ、Ｋの整数環ＯＫ、ＯＫの素イデアルｐ’、剰余類体ＯＫ／ｐ’＝ＧＦ（ｑ）の一つの完全代表系Ｒｐ’、ｎとｋを有理整数として、これらを公開する。
（１）Ｋ、ＯＫ、ｐ’、ｎ、ｋ、Ｒｐ’を乱数発生器Ａ（１０１）に入力し、乱数発生器Ａ（１０１）、互素判定器（１０２）及び剰余類判定器（１０３）を用いて、整数環ＯＫから｛ｐ１，ｐ２，・・・，ｐｎ｝でそのノルムが互いに素であり、この任意の部分集合｛ｐｉ１，ｐｉ２，・・・，ｐｉｎ｝が
【０００８】
【数２０】
0003615133.tif 000003
【０００９】
を満たすようなｎ個の整数｛ｐ１，ｐ２，・・・，ｐｎ｝を生成する。
（２）乱数発生器Ｂ（１０４）を用いて、乗法群（ＯＫ／ｐ）×＝ＧＦ（ｑ）×の生成元ｇを生成する。
（３）次に、剰余類判定器（１０３）で生成したｎ個の整数｛ｐ１，ｐ２，・・・，ｐｎ｝と乱数発生器Ｂ（１０４）で生成した生成元ｇを入力し、離散対数計算器（１０５）を用いて、各々の１≦ｉ≦ｎに対してｐｉ≡ｇａｉ（ｍｏｄ  ｐ’）を満たすようなａ１，ａ２，・・・，ａｎを求める。
（３）さらに、乱数発生器Ｃ（１０６）を用いて、Ｚ／（ｑ−１）Ｚ（（ｑ−１）を法とする整数の体）からの整数（乱数）ｄを発生させる。
（４）最後に、離散対数計算器（１０５）で求めたａ１，ａ２，・・・，ａｎと乱数発生器Ｃ（１０６）で発生した整数（乱数）ｄを入力し、加算器Ａ（１０７）を用いて、各々の１≦ｉ≦ｎに対して公開鍵ｂｉ＝（ａｉ＋ｄ）  ｍｏｄ（ｑ−１）を求めて出力する。
（剰余類判定器（１０２）について）
剰余類判定器（１０２）の実現方法について二種類説明する。
【００１０】
乱数発生器Ａ（１０１）を用いて、｛ｐ１，ｐ２，・・・，ｐｎ｝が、すべて互いに素な有理整数として選ばれた場合、素イデアルｐ’のノルムをＮ（ｐ’）＝ｐｆ（ｐは有理素数、ｆは自然数）とすれば、この任意の部分集合｛ｐｉ１，ｐｉ２，・・・，ｐｉｋ｝が
【００１１】
【数２１】
0003615133.tif 000004
【００１２】
を満たしているかどうかで判定できる。
次に、Ｋが判別式−Ｄの虚二次体Ｋ＝Ｑ（√（−Ｄ））である場合、素イデアルｐ’が二次のもの、つまり、ｆ＝２を取る場合、−Ｄ≡２，３（ｍｏｄ  ４）であれば、ノルムが互いに素なｎ個の整数｛ｐ１，ｐ２，・・・，ｐｎ｝で、この任意の部分集合｛ｐｉ１，ｐｉ２，・・・，ｐｉｋ｝が
【００１３】
【数２２】
0003615133.tif 000005
【００１４】
を満たしているかどうかで判定する。
一方、−Ｄ≡１（ｍｏｄ  ４）であれば、
【００１５】
【数２３】
0003615133.tif 000006
【００１６】
を満たしているかどうかを判定する。但し、今の場合完全代表系はＲｐ’＝｛ｘ＋ｙω｜−ｐ／２＜ｘ，  ｙ＜−ｐ／２｝で取っている。ここに［１，ω］は、整数環ＯＫの標準基底である。
（暗号化処理：図２）
暗号化処理部は、平文変換器（２０１）、加算器Ｂ（２０２）から構成される。
長さ（ビット数）
【００１７】
【数２４】
0003615133.tif 000007
の平文をＭとする。
（１）平文Ｍを入力し、平文変換器（２０１）を用いて、長さｎでＨａｍｍｉｎｇ（ハミング）重さがｋであるビット列ｍ＝｛ｍ１，ｍ２，・・・，ｍｎ｝に変換する。
（２）平文変換器（２０１）で変換したｍと鍵生成処理部で求めた｛ｂ１，ｂ２，・・・，ｂｎ｝を入力し、加算器Ｂ（２０２）を用いて、暗号文
【００１８】
【数２５】
0003615133.tif 000008
【００１９】
を生成して出力する。
（復号処理：図３）
復号処理部は、乗算・剰余及び減算器（３０１）、巾乗剰余器（３０２）、因子判定器（３０３）、中間復号文変換器（３０４）から構成される。
（１）暗号文ｃ、ｋ、ｑ、秘密鍵ｄを入力し、乗算・剰余及び減算器（３０１）を用いてｒ＝（ｃ−ｋｄ）  ｍｏｄ（ｑ−１）を求める。
（２）次に、秘密鍵ｇ、ｐ’と乗算・剰余及び減算器（３０１）で生成したｒを入力し、巾乗剰余器（３０２）を用いて、ｒからｕ＝ｇｒ  （ｍｏｄ  ｐ’）を生成する。
（３）さらに、巾乗剰余器（３０２）で生成したｕと剰余類判定器（１０３）で生成した｛ｐ１，ｐ２，・・・，ｐｎ｝を入力し、因子判定器（３０３）を用いて、長さｎでＨａｍｍｉｎｇ重さｋであるビット列ｍ＝｛ｍ１，ｍ２，・・・，ｍｎ｝を、ｐｉ  がｕの因子ならばｍｉ＝１とし、因子でないならば、ｍｉ＝０とすることにより求める。
（４）最後に、中間復号文変換器（３０４）を用いて、因子判定器（３０３）で求めたｍを平文Ｍに変換して出力する。
【００２０】
【発明の効果】
本発明で実現する公開鍵暗号システムは、鍵生成処理において素イデアルを法として整数環の剰余類群上の離散対数問題を解くアルゴリズムを利用すること、及び、ｐ，ｐ１，ｐ２，・・・，ｐｎ，ｇ，ｄを秘密にすることにより、公開鍵から秘密鍵を直接求める攻撃に耐えうる。また、暗号化処理と復号処理において、長さ
【００２１】
【数２６】
0003615133.tif 000009
【００２２】
の整数の平文と長さｎでハミング重さｋであるビット列との変換を利用することにより、ナップサック暗号の安全性の指標であるｄｅｎｓｉｔｙ（密度）を十分に高めることができ、したがって、平文から暗号文を直接求めるｌｏｗ−ｄｅｎｓｉｔｙ攻撃に対しても安全である。なお、安全性などの詳細な議論については、文献（Ｔ．Ｏｋａｍｏｔｏ，Ｋ．Ｔａｎａｋａ，Ｓ．Ｕｃｈｉｙａｍａ，”Ｑｕａｎｔｕｍ  Ｐｕｂｌｉｃ−Ｋｅｙ  Ｃｒｙｐｔｏｓｙｓｔｅｍｓ”，Ｐｒｏｃ．ｏｆ  ＣＲＹＰＴＯ２０００，Ｓｐｒｉｎｇｅｒ２０００）を参照されたい。
【図面の簡単な説明】
【図１】本発明の鍵生成処理部の構成図。
【図２】本発明の暗号化処理部の構成図。
【図３】本発明の復号処理部の構成図。
【符号の説明】
１０１        乱数発生器Ａ
１０２        互素判定器
１０３        剰余類判定器
１０４        乱数発生器Ｂ
１０５        離散対数器
１０６        乱数発生器Ｃ
１０７        加算器Ａ
２０１        平文変換器
２０２        加算器Ｂ
３０１        乗算・剰余及び減算器
３０２        巾乗剰余器
３０３        因子判定器
３０４        中間復号文変換器
【図１】
0003615133.tif 000028
【図２】
0003615133.tif 000029
【図３】
0003615133.tif 000030