• はじめに

 皆さんは、ご自分の大切なファイルをどのように暗号化しますか?

 日本は、暗号を10年と想定しています([1]、[2]のp.20)。また、個人情報を暗号化している場合、漏えい等が発生しても、告知する義務はありません([3])。しかし、第三者が保管した電子データは、事実上永久に不変です。
 この10年は(従来型の)スーパーコンピューターを前提としていますが、家庭用のコンピューター(以下PC)も15~25年で同等の性能になります([2]のp.41、[4])。前段と合わせると、20歳の時に暗号化したファイルは、長くても25年後の45歳の時に、第三者が家庭用のPCで解読できることになります。
 デジタル庁では、10年毎に新たに暗号処理をするとしていますが、個人では手間はもちろん、第三者にコピーされたデータはそのままです。また、量子コンピューターが実用化するとのニュースも見かけます。

 結局、自分の秘密は自分で守るしかありません。このために、「百年解読できない暗号([5])」を考案しました。このアプリ開発をお手伝いください。

本プロジェクト完了後の予定は、目標200種類を目指し、暗号exeの数を増やしていきます。


自己紹介

 暗号に興味があり、西洋や日本の考え方の違い、発達史等が趣味です。本業ではありませんが、暗号について講義することもあります。この頃は、何を守るべきかをどう判断するかを考えています。

本プロジェクトでは、個人情報の観点から、メールアドレスのみを取得しています。おなじく、個人情報の観点から、私の写真や住所なども公表していませんが、CAMPFIRE社には、登録してあります。

アプリの原理

 暗号化の方式がわかっている場合、従来の暗号化方式では、「鍵の総数」だけが強度となるため、最大でも鍵の総数の処理だけで解読できます。さらに、DES暗号方式のように解読方法が発見されることがありので、単独の暗号方式には危険がともないます。本アプリの原理は、元のファイルをランダムな長さに区切り、各区切りに「複数の方式/複数の鍵」を使用し、「ランダムに並び変える」とすることで、解析に必要な処理能力が「区切位置×鍵の総数×並び」で増加することです。「区切位置」「方式/鍵」「並び順」の三種類を同時に解析しなければならないため、単独の暗号方式に比べて非常に多くの処理能力([6])を必要とします。さらに、偽データを埋め込めることも可能です。

アプリの構成

 本アプリは、「分散アプリ」「合成アプリ」「暗号exe(群)」で構成しています。

「分散アプリ」:「秘密にしたいファイル(群)」を、1~201Byteのファイルに分解します。各ファイル毎に「(暗号用)暗号exe(群)」による複数の暗号方式/複数の鍵で暗号化し、ランダムな並びで指定数・指定比率のファイルに再結合します。この時、「秘密にしたいファイル(群)」を複数の「Group」に登録することができます。

「合成アプリ」:復元します。Groupのパスワードにより、指定したファイルのみを取り出すことができます。

「暗号exe(群)」:「暗号用」と「複合用」のペアで1組となります。暗号処理と対の復号プログラムをデータに添付することで、復号の確実性を確保します。暗号exeのバージョン違い等による不整合がなくなるからです。また、独自作製などによりバグがあっても、暗号時に復号を確認することで、「そのデータの組み合わせ」では、復号可能である事が確定します。


画面構成

「分散アプリ」 (開発中の画面です。変更するかもしれません。)
ファイル(群)の指定:Group別に分けます。ドラッグ&ドロップ、手入力が可能です。

パスワードの設定:日本語の長文もOK、お気に入りの小説の1節などいかがでしょうか。

その他の設定画面:作成するQRサイズの指定、偽データの割合、作業場所、偽データのファイル、出力ファイルの比率と場所を指定します。

暗号exeの確認画面:入力はありません。

「合成アプリ」(開発中の画面です。変更するかもしれません。)

QRコードを読み取るカメラの設定、作業場所、出力場所、分散ファイルの指定、パスワードとKeysの入力ができます。パスワードは、①QRコードをカメラで読み取る、②スキャナーで読み取った画像を指定、③手入力、ができます。


こだわり・特徴

・「分参アプリ」は、暗号化したいファイルを、1つでも複数でも、「複数に分割([7])し、複数の方式/複数の鍵([8])で暗号化し、複数のファイルに結合([9])」します。作成したファイルを分散して保存しやすくするためです。

・独自の暗号exeも使用可能です([10])。ユーザー自身が「鍵生成モード」で鍵を生成することも、当方([11])での生成も可能です。

・ユーザーが作製した暗号exeを当方のリストに登録することも可能で、ダウンロード数に応じて払い込みを行います。ただし、監査料がかかります。

・暗号化したファイル群から、一部のファイルのみ復元できるように、パスワードで制限できます。

・パスワードには、Unicode文字(日本の漢字・平仮名・片仮名・等)と半角文字を使用できます。お気に入りの小説の一節はいかがでしょうか。パスワードは、QRコードに変換し、紙に印刷して管理します。紙で保存すれば、第三者が電子的に読み取ることはできません。また、QRコードであれば、たくさんの文字数でも、入力ミスは事実上なくなります。QRコードをスキャンした画像を入力することもできます。送信するときは、FAXや郵送によることで、送信経路を分散できるので、安全度が格段に上がります。

・暗号exeは多いほど安全です([5])。

・各暗号exeの鍵は多いほど安全です([5])。

・QRコードを人間が瞬時に読み取ることは難しいため、いわゆる"ショルダーハック"は困難です。

・ネットへの接続は不要です。本アプリの提供元がなくなっても動作します。また、Windows11の互換環境があれば、本アプリも動作しますので、百年の動作が期待できます。

・オンラインストレージの管理者は、保管しているファイルを技術的には読めるため、通常は暗号化します。しかし、本アプリで部分ごとに異なるストレージに保管すれば、暗号を破られても、ファイル全体を読むことは原理的に不可能です。ファイルを分割し並び替えていますので、1つのストレージだけでは部分が欠けることになるからです。

動作環境

Windows7~11です。なお、Windows7・8のMicrosoftのサポート期間は終了していますが、クリーンインストール環境で確認の予定です。

スケジュールについて

2023年5月 プロジェクト開始、ベータ版をデバッグ中
2023年7月 プロジェクト終了
2023年8月 追加の暗号exeの開発
2023年9月 追加の暗号exeのデバッグ
2023年10月 順次送付予定(メールにダウンロードのURLを記述する予定)
特許申請中のため、遅くなる可能性があります。この場合は、お報せします。 
バグを発見・ご報告頂いた方には、暗号exeを進呈させて頂きます。発生手順をお知らせ頂ける場合は3個、画面のコピーなど発生の状況のみの場合は1個となります。

支援金の使い道

皆様のご声援は、大切に使用させて頂きます。
デバッグの人件費:20万円(1ヶ月を想定)
CAMPFIRE掲載手数料・決済手数料とリターンの人件費:20万円
サイトなどの開発費用:10万円 

リターンについて

開発状況:現在、「分散アプリ」「合成アプリ」、「暗号exe(群)」の「AES_0」「RSA-CBC_0」「Caesar_0」のベータ版が完成して、デバッグを行っています。

分散アプリの基本セットに同梱の鍵は固定で、鍵生成は有料です。リターンに含まれる「暗号exeの鍵1セット」の"鍵"はご支援者別に生成しますので、世界で唯一(ユニーク)となります。鍵の送信後、当方の鍵データを消去しますので、確実に保管して下さい。また、消去後の復元は不可能です。

リターンの「分散アプリ」「合成アプリ」「暗号exe(群)」は、個人の使用を前提としています。法人として使用する場合、複数人での使用が前提となる場合は、当方[11]にご連絡下さい。

プロジェクトの終了後、「ユーザーID」を連絡します。メールアドレスは捨てアドでもかまいませんが、「メールアドレス」を必ず記録して下さい。「メールアドレス」は後日変更できます。サポート等には、「ユーザーID」と「メールアドレス」が必要となります。

分散アプリ基本セット:「分散アプリ」と「暗号exe(群)」の「AES_0」「RSA-CBC_0」「Caesar_0」の4種の構成です。現状では、無料で配布の予定です。

合成アプリ基本セット:「合成アプリ」のみの構成です。こちらも、無料で配布の予定です。

割引率:開発終了後に当方[11]での予定販売価格に対する割引率になります。

当方での予定 価格


免責について

直接・間接にかかわらず、当アプリを使用することにより生じた損害に対し、アプリの作成者が損害を賠償することはありません。ただし、作成者の故意による損害については、賠償するものとします。
作成者が損害を賠償する場合、賠償額の総額は、使用者が作成者に譲渡した合計金額を超えないものとします。


  • [1]:「電子政府における調達のために参照すべき暗号のリスト」(CRYPTREC暗号リスト)の改定案に対する意見募集」

  • [2]:暗号強度要件(アルゴリズム及び鍵長選択)に 関する設定基準」 

  • [3]:「漏えい等が発生し、又は発生したおそれがある個人データについて、高度な暗号化等の秘匿化がされている場合」とは、どのような場合が該当しますか」

  • [4]:2023年現在のPCの性能を4G(4×10⁹)とすると、同性能の1位のスパコンは1985年頃、500位は1995年頃でした。

  • [5]:基本セットに添付の暗号exeだけでも、「500年後の量子コンピューターで解読不能」です。
    5.1 前提
    ①シーサー暗号、鍵は256種 
    ②対象のファイルを1KByteで切り、個別にランダムな鍵で暗号化する。(実際は、1~201Byteの一様乱数の値で切ります。ダミーデータやAES等の別暗号方式も混在する。) 
    ③1K個のファイルをランダムに並べて1ファイルにする。
    ④解読は、1FLOPSで、データの読込、解読処理、真偽の判定、出力、他処理を行うとする。
    ⑤量子PCの量子ビット数の発展を表1とする。

  • 表1 1プロセッサーの量子ビット数の開発ロードマップ
    1プロセッサーの量子ビット数の開発ロードマップ出典:IBM、実用的な量子コンピューティングの時代に向けた新たなロードマップを発表:4,000 ビット超のシステムの提供を計画の「開発ロードマップ」

  • ⑥2019年時点のスパコンの性能を200PFLOPS(=2E+15)とする。(出典:スーパーコンピュータ)
    ⑦2019年10月23日時点の量子コンピューターの性能を、3.15E+11PFLOPS/秒とする。年間の処理能力は、1.87E+32FLOPSとなる。(出典:米グーグル、「量子超0越性」達成と発表 スパコン超える )

  • 5.2 「1プロセッサーの量子ビット数」の近似を「10.82442746E(経年×0.390782545) R²=0.986」とし、近似式からの抜粋を表2に記す。 

  • 表2 ムーアの法則が続く仮定での量子コンピューターの処理能力

  • 5.3 暗号解読に必要な性能(量子コンピューターに専属で処理させた場合)
    ケース①1,000,000Byteを1,000分割の場合 2561000×1000!=(1.74E+2408)×(4.02E+2567)=6.99E+4975  ⇒表2にあてはめると、西暦14668年に解読できる。
    ケース②100,000Byteを100分割の場合 256100×100!=(6.67E+240)×(9.33E+157)=6.22E+398  ⇒表2にあてはめると、西暦2955年に解読できる。
    追記:演算に使用したサイト:フリー計算(CASIO提供)

  • [6]:100,000Byteを1~201Byteで区切ると、9.99E+30102(=2100000-299800+201)通りになる。基本セットに添付の鍵数は、2.26E+459(「Caesar_0:256」「AES_0:4.31E+9」「RSA-CBC_0:2.26E+459、1536bitまでの個数」)となる。したがって、2.89E+492025の処理能力が必要となり、量子コンピューターで1259075年以上かかる。

  • [7]:分割した部分ごとに異なる暗号方式・異なる暗号鍵を使用します。例えば、よく使用されるRSA方式は、鍵長で強度を調整した単一の鍵を使用します。現在推奨の鍵長は「短期:112bit 長期:256bit(暗号鍵設定ガイダンス 表14)」で、スパコンでも解読に数十年かかるとされていますが(より推定)、量子コンピューターだと事実上の瞬時に解読できる可能性があります。しかし、例えば2ファイルを鍵のみが異なるRSA方式で暗号化して結合した場合、結合部分を特定できなければ、解読はできません。つまり、切り分ける場所、暗号方式と鍵、全てを同時に解読しなければなりません。区切り位置特定×暗号解読の処理は、計算量が莫大になり、強度が飛躍的に増します。

  • [8]:複数の暗号化方式を使用するのは、DESのように、解読方法が発見されることがあるからです。しかし、1暗号方式を解読できても、異なる方式が混在すればより安全になります。

  • [9]:オンラインストレージを使用する場合、通常は暗号化します。ストレージの管理者は、保管しているファイルを技術的には読めるからです。しかし、ファイルを分割し、部分ごとに異なるストレージに保管すれば、暗号を破られても、ファイル全体を読むことはできません。 ファイルにまとめる場合でも、各部分をランダムに並べることで、簡単な転置暗号となります。また、分割部分が判りにくいことは、暗号方式の特定が難しくなります。第三者には、分割結果できるファイル数がわかりません。また、ダミーデータも使用します。これらを合わせると、どこまで解析すればよいか判らなくなります。「木の葉は木の葉に隠す」のイメージです。

    • [10]:RSAの様な公開鍵暗号方式は、公開する以上方法を秘匿できないため、解読に必要な演算量(鍵長)で暗号強度を調整します。公開しない条件で自分専用の独自暗号化プログラムを使用することで、一般には解読できない暗号を作成することが可能です。当サイトからダウンロードできる暗号化プログラムも参考にしてください。

    • [11]:「当方」とは、「分散.exe/復元.exe」の作成者を指します。「https://metacipher.jp」から連絡して下さい。  

    • 最後に
    • 私の拙い文章をここまでお読みいただきありがとうございます。私の励みにもなりますので、疑問や質問はどんなことでもお知らせください。出来るだけ返答させて頂きます。右上の緑の「メッセージを送る」からお願いいたします。


  • 2023/07/29 22:25

    デバッグについてランダム生成のデータセットで、デバッグを10万回以上行っています。現在のところバグは発生していません。特許について特許庁の方から 返答がありました。請求項16のうち1項について、オハナシ中です。この返答が4カ月(目安)かかる見込みです。これが決着するまで、本アプリの使用には、守...

  • 2023/06/09 18:57

    当方のサイトが完成しました。日、英、仏の切り替えができます。デバッグ状況です。本体は、1MB〜100GB程度で繰り返しています。現在のところバグはない模様です。インターフェイスについては、普通に使っている限りでは、大丈夫の模様です。発見済みの細かいバグは訂正済みです。

  • 2023/05/20 15:47

    β版をダウンロードできるようにしましたhttps://metacipher.jp/の「ダウンロード(右上)」の頁の、「合成アプリ関連 」と「分散アプリ関連 」の「ダウンロード 」からダウンロードできます。但し、β版ですので、動作に問題があると想定されます。よく注意して下さい。

このプロジェクトの問題報告はこちらよりお問い合わせください