まとめ
あなたのアイデアは、代数曲線(たとえば楕円曲線)を使い、X軸を時間tと見立て、tがある区間(例:10〜20)のときに対応するY値を用いて暗号文を復号できる、というものです。
この発想は「区間鍵」や「時間に基づくアクセス制御付き暗号」と呼ばれる分野に該当し、理論的に実現可能です。
ポイント
- 時間区間を曲線の区間にマッピングし、t∈であれば復号可能な鍵を生成する。
- 区間内のtから派生する鍵は、同じ暗号文を復号できるように設計する(区間鍵派生)。
- 区間外のtでは復号できないような安全な鍵派生関数を使う。
- 既存の研究として、「Timed-Release Encryption」や「タイムスタンプ付きECC暗号」などがあり、これらを参考に設計できる。
実装上の注意
- 区間内外の判定と鍵生成の仕組みがセキュアであること。
- 曲線のパラメータと時間tの安全な対応付け。
- 区間外のtからは復号できないことの保証。
参考資料
Timed-Release Encryption With Master Time Bound Key (英語)
- 時間区間に基づく主鍵で復号を可能にする暗号方式の論文です。
- https://eprint.iacr.org/2019/904.pdf
Time Stamp Based ECC Encryption and Decryption (英語)
- タイムスタンプと楕円曲線暗号を組み合わせた動的鍵生成の例です。
- https://ccis2k.org/iajit/PDF/vol.11,no.3⁄4571.pdf
Algebraic curves and cryptography (英語)
- 代数曲線暗号の理論的基礎を解説した文献です。
- https://cacr.uwaterloo.ca/techreports/2005/cacr2005-02.pdf
A Cryptosystem Using the Concepts of Algebraic … (英語)
代数曲線による時間指定暗号
あなたの、代数曲線のX軸を時間として捉え、特定の時間区間の関数値(Y軸の値)を復号に利用するというアイデアは非常に興味深く、時間によって暗号が解除されるという概念に直結しています。これは、提供された資料にも関連する概念が見られます。
特に、ソース[1-43]の「Timed-Release Encryption (時間指定復号暗号)」という概念は、あなたのアイデアと非常に近いです。このスキームでは、メッセージは特定の「解放時間 (release time) t」まで復号できないように暗号化されます[1-4]。復号は、信頼できるサーバーが解放時間 t に「時間指定鍵 (time bound key) τt」をブロードキャストすることで可能になります[1, 11]。あなたのアイデアにおける「時間区間の関数値」は、この「時間指定鍵 τt」に相当すると考えられます。
ソース[1-43]で提案されているTimed-Release Encryptionの具体的な構成は、楕円曲線とWeilペアリングという技術に基づいています[1, 8]。このスキームでは、暗号文は3つの要素 (ct0, ct1, ct2) から構成され[24]、復号時には受信者の秘密鍵 (skR) と時間指定鍵 (τt) またはマスター時間指定鍵 (mkTS) を用いて、ペアリング計算e(τt, ct1) または e(mkTS, ct1) を行います[24]。このペアリングの結果が復号に必要な値の一部となります[24]。ここでの時間指定鍵 τt は、楕円曲線の点に関連する値として定義されており[23]、曲線上のある種の「点」(またはそれから導かれる値)が鍵として機能するという点で、あなたの「Y軸の値」という発想と概念的な類似性があります。
また、ソース[1-43]では、マスター時間指定鍵 (master time bound key) mkTSという概念も導入されています[1, 5, 6, 38]。これは、任意の解放時間 t の時間指定鍵の代わりに使用できる鍵です[1, 5, 6, 38]。これにより、暗号化時に使用された解放時間 t が不明な場合でも復号が可能になります[1, 38]。これは、あなたのアイデアの「特定の時間区間」とは異なりますが、時間によらずに機能する単一の鍵という関連する強力な概念です。
別の関連情報として、ソース[44-57]では、ECC暗号化スキームにタイムスタンプやノンス値を用いることで、鍵の強度や暗号化プロセスを強化する手法が述べられています[46, 52]。ここでは、暗号化された点の座標を、タイムスタンプなどを入力とする数理モデル(時系列モデルのようなもの)で処理することで、暗号文の一部を変換しています[52]。これも、暗号スキームに時間の要素を取り入れる一例と言えます。
あなたのアイデアの「特定の時間区間(例えば10から20)」に注目すると、これはソース[1-43]のTimed-Release Encryptionが「解放時間 t 以降に復号可能になる」というモデルや、特定の時間区間のみ復号可能な「Time-Specific Encryption」[4, 42]に近い考え方です。あなたの提案では、その区間内の「任意の点」が復号を可能にするとのことですが、これは、その区間内の任意の時間 t に対して生成される時間指定鍵 τt が全て同じ暗号文を復号できる、あるいはその区間全体をカバーする単一の鍵が存在する、といった形で実装される可能性があります。
代数曲線(特に楕円曲線)は、提供された複数のソース[1-43, 58-139]において、暗号システムの基盤として広く利用されています。ソース[58-68]では代数幾何符号 (Algebraic Geometric Code)と楕円曲線[58, 59]、ソース[69-139]では離散対数問題やペアリングの計算対象としての代数曲線[69, 71, 77, 92]、ソース[1-43]ではTimed-Release Encryptionの構成要素としての楕円曲線とペアリング[1, 8]が詳細に論じられています。これらのシステムは、楕円曲線上の離散対数問題 (ECDLP) [65, 77]や決定版双線形Diffie-Hellman問題 (DBDH) [9, 32]といった数学的な困難性に基づいてセキュリティが構築されています。
あなたのアイデアは、これらのソースにある「時間指定復号」や「暗号における曲線の利用」といった概念と非常に親和性があります。特にソース[1-43]のTimed-Release Encryptionは、時間(解放時間 t)が復号の可否を制御するという点で、あなたの発想を具体的な暗号システムとして実現するための重要な参考になるでしょう。ただし、暗号システムでは通常、連続的な時間や関数値ではなく、有限体上の離散的な点や値が扱われることに注意が必要です。あなたのアイデアを実際に構築する際には、この点をどのようにモデル化するかが重要になります。