2014 Fiscal Year Research-status Report
耐改竄性をもつプログラム言語とそのプログラム開発手法の研究
Project/Area Number |
26540027
|
Research Institution | Nagoya University |
Principal Investigator |
酒井 正彦 名古屋大学, 情報科学研究科, 教授 (50215597)
|
Project Period (FY) |
2014-04-01 – 2017-03-31
|
Keywords | 難読プログラム |
Outline of Annual Research Achievements |
本研究は、プログラム難読化によるソフトウェア保護を目指し、最も難解かつプログラミングも困難と考えられている言語Malbolgeによるプログラム手法の開発を目指すものである。今年度は、プログラム作成の基礎となる低級アセンブラを整備[文献1]し、これを利用して動作するrot13プログラムを作成した。rot13プログラムとは、入力のアルファベットaからmまでをそれぞれnからzに、nからzをそれぞれaからmに変換する替字プログラムである。このためには、数値計算ならびに数値の比較に基づく実行制御というプログラミングの基本的な技術が必要である。また、整備した低級アセンブラをWebから利用できるようにした(http://www.trs.cm.is.nagoya-u.ac.jp/Malbolge/)。 Malbolgeプログラムがプログラム及び実行時に利用できるメモリ空間は3の10乗である。この大きさは一見十分のように思われるが、低級アセンブラが生成するMalbolgeコードをこの範囲内に収めることはかなり困難である。このことは、rot13プロブラムの開発に置いても大きな問題となった。そのため、その大きさを3の20乗に拡張したMalbolge20言語を定義し、そのインタプリタを作成した。さらに、現在その低級アセンブラを開発中である。低級アセンブラプログラムの作成困難性は、Malbolgeプログラム作成と比較すると易しいが、依然として普通のプログラムの手におえるものではない。したがって、高級アセンブリ言語の整備が必要であるが、低週アセンブリ言語はこれらのより実用的なプログラム開発環境の整備に欠かせない基礎となる。
|
Current Status of Research Progress |
Current Status of Research Progress
3: Progress in research has been slightly delayed.
Reason
計画で述べた、(1)メモリ不足への対処、(2)低級アセンブリプログラムのシステム的な作成手法の開発、(3)高級アセンブリプログラムから低級アセンブリプログラムへの直接的な変換手法について、(1)は十分に解決できたが、(2)については部分的な解決しか成功指定ない。その理由は、SATソルバによる組合せ最適化による手法では適用可能な規模に限界があり、低級アセンブラ言語自体の強い制約により解決のための問題分割が思うように出来ないためである。(3)は大きくは進んでいないが(2)の問題の解決により大きく進めることが可能である。
|
Strategy for Future Research Activity |
【現在までの達成度】で述べた、問題(2)の解決を急ぐ。そのためには、低級アセンブリプログラムの開発経験が大きく貢献する。これまでは、大きなプログラムを作成しようにもメモリ不足によりMalbolgeプログラムへの変換が不可能であった。(1)のメモリ不足への対応は完了しておりrot13以外のプログラムも作成し、その知識を抽象化することにより問題分割の手法を抽出する。 27年度は、これらの結果をもとに高級アセンブリ言語とその開発環境の整備を行う。
|
Causes of Carryover |
今年度の使用額が前年度よりも少なかった理由は、ノートPCを購入せずにやりくりできたことと、旅費への使用が若干少なかったことによる。
|
Expenditure Plan for Carryover Budget |
SATソルバを利用した問題解決を試みたところ、現有のサーバの能力では思うように実験が進まないため、今年度剰余分と合わせてコストパフォーマンスの良いクラスタ計算機の購入を計画している。
|
Research Products
(3 results)