Connway's Game of Lifeの紹介
「Connway のライフ ゲーム」の概念に基づいてセル グリッドの成長と制御をエミュレートし、「セル オートマトン」を実証するフラッター アプリです。
セルオートマトン:
セル オートマトン (CA) は、複雑なシステムをシミュレートするための数学的モデルであり、通常は有限数の状態の 1 つをとることができるセルのグリッドとして表されます。セルは、その状態が周囲のセルの状態によってどのような影響を受けるかを決定する一連のルールに基づいて状態を変更します。これにより、時間の経過とともに進化するパターンと構造が作成され、多くの場合、複雑で一見知的な動作が生じます。 CA は、物理学、生物学、コンピューター サイエンスなどのさまざまな分野で、パターン形成から自己組織化や創発的な行動に至るまでの現象を研究するために使用されています。
コンウェイの人生ゲーム:
コンウェイのライフ ゲームは、1970 年に数学者のジョン ホートン コンウェイによって初めて提案されたセル オートマトンです。これは、複雑で興味深いパターンを生成できる単純なルールのシミュレーションです。
シミュレーションはセルの 2 次元グリッド上で行われ、各セルは「生きている」か「死んでいる」かのいずれかになります。各ステップで、各セルの状態は、次のルールに従って、8 つの隣接セルの状態に基づいて更新されます。
セルが生きていて、2 つまたは 3 つの生きている隣接セルがある場合、そのセルは生きたままになります。セルが死んでいて、生きている隣接セルがちょうど 3 つある場合、そのセルは生き返ります。それ以外の場合はすべて、細胞は死ぬか、死んだままになります。これらの単純なルールにより、単純なオシレーターから時間の経過とともに進化する複雑な形状に至るまでのパターンを生成できます。ライフ ゲームはセル オートマトンの例としてよく使用され、複雑なシステムや創発的な動作に興味のある数学者、コンピューター科学者、その他の研究者によって広く研究されています。
実験的機能 - 対称暗号化キー/IV 生成:
セル オートマトンの性質と、セル オートマトンが複数の有限状態を経て進行する方法を考慮すると、秘密暗号キーの目的を果たす可能性のある疑似乱数/文字列の生成に使用できます。対称キーの生成とは、安全な方法でデータの暗号化と復号化に使用できる秘密キーを生成するプロセスを指します。このアプローチでは、CA がランダムな初期状態で初期化され、ルールが繰り返し適用されて一連の状態が生成されます。一連の状態は、秘密鍵として使用できる一連の数値に変換されます。対称キーの生成に CA を使用する利点は、結果として得られる一連の数値が非常にランダムで予測不可能であるため、攻撃者がキーを推測することが非常に困難になることです。さらに、CA はさまざまな長さのキーを生成するように簡単に構成できるため、幅広い暗号アプリケーションに適しています。
仕様:
この実験的機能の具体的な実装の詳細は次のとおりです。
これらの暗号化キーは、セルラー オートマトンの現在の状態を使用して生成されます。
鍵の生成時に、セル オートマトンの現在の状態/世代がバイナリ文字列 (生存の場合は 1、死亡の場合は 0) に変換されます。
このバイナリ文字列は 12 個の部分文字列に分割され、各部分文字列はそれに相当する 10 進数に変換されます。
これらの数値はそれぞれ文字にエンコードされます。このようにして、専門用語の文字列が生成されます。次に、この文字列は 2 つの半分に分割され、秘密キーと初期化ベクトルの生成に使用されます。
次に、これら 2 つの部分のそれぞれに UTF-8 エンコードと SHA-256 ハッシュが適用されます。
次に、2 つの半分の最初の 16 バイトがそれぞれキーと IV に変換されます。
このように生成された対称キーのテストに使用されるアルゴリズムは AES (Advanced Encryption Standard) です。私の目的はキー生成を紹介することだけであり、暗号化アルゴリズム自体を再実装することではなかったので、AES アルゴリズムを実装するために暗号化パッケージを使用しました。
セルオートマトン:
セル オートマトン (CA) は、複雑なシステムをシミュレートするための数学的モデルであり、通常は有限数の状態の 1 つをとることができるセルのグリッドとして表されます。セルは、その状態が周囲のセルの状態によってどのような影響を受けるかを決定する一連のルールに基づいて状態を変更します。これにより、時間の経過とともに進化するパターンと構造が作成され、多くの場合、複雑で一見知的な動作が生じます。 CA は、物理学、生物学、コンピューター サイエンスなどのさまざまな分野で、パターン形成から自己組織化や創発的な行動に至るまでの現象を研究するために使用されています。
コンウェイの人生ゲーム:
コンウェイのライフ ゲームは、1970 年に数学者のジョン ホートン コンウェイによって初めて提案されたセル オートマトンです。これは、複雑で興味深いパターンを生成できる単純なルールのシミュレーションです。
シミュレーションはセルの 2 次元グリッド上で行われ、各セルは「生きている」か「死んでいる」かのいずれかになります。各ステップで、各セルの状態は、次のルールに従って、8 つの隣接セルの状態に基づいて更新されます。
セルが生きていて、2 つまたは 3 つの生きている隣接セルがある場合、そのセルは生きたままになります。セルが死んでいて、生きている隣接セルがちょうど 3 つある場合、そのセルは生き返ります。それ以外の場合はすべて、細胞は死ぬか、死んだままになります。これらの単純なルールにより、単純なオシレーターから時間の経過とともに進化する複雑な形状に至るまでのパターンを生成できます。ライフ ゲームはセル オートマトンの例としてよく使用され、複雑なシステムや創発的な動作に興味のある数学者、コンピューター科学者、その他の研究者によって広く研究されています。
実験的機能 - 対称暗号化キー/IV 生成:
セル オートマトンの性質と、セル オートマトンが複数の有限状態を経て進行する方法を考慮すると、秘密暗号キーの目的を果たす可能性のある疑似乱数/文字列の生成に使用できます。対称キーの生成とは、安全な方法でデータの暗号化と復号化に使用できる秘密キーを生成するプロセスを指します。このアプローチでは、CA がランダムな初期状態で初期化され、ルールが繰り返し適用されて一連の状態が生成されます。一連の状態は、秘密鍵として使用できる一連の数値に変換されます。対称キーの生成に CA を使用する利点は、結果として得られる一連の数値が非常にランダムで予測不可能であるため、攻撃者がキーを推測することが非常に困難になることです。さらに、CA はさまざまな長さのキーを生成するように簡単に構成できるため、幅広い暗号アプリケーションに適しています。
仕様:
この実験的機能の具体的な実装の詳細は次のとおりです。
これらの暗号化キーは、セルラー オートマトンの現在の状態を使用して生成されます。
鍵の生成時に、セル オートマトンの現在の状態/世代がバイナリ文字列 (生存の場合は 1、死亡の場合は 0) に変換されます。
このバイナリ文字列は 12 個の部分文字列に分割され、各部分文字列はそれに相当する 10 進数に変換されます。
これらの数値はそれぞれ文字にエンコードされます。このようにして、専門用語の文字列が生成されます。次に、この文字列は 2 つの半分に分割され、秘密キーと初期化ベクトルの生成に使用されます。
次に、これら 2 つの部分のそれぞれに UTF-8 エンコードと SHA-256 ハッシュが適用されます。
次に、2 つの半分の最初の 16 バイトがそれぞれキーと IV に変換されます。
このように生成された対称キーのテストに使用されるアルゴリズムは AES (Advanced Encryption Standard) です。私の目的はキー生成を紹介することだけであり、暗号化アルゴリズム自体を再実装することではなかったので、AES アルゴリズムを実装するために暗号化パッケージを使用しました。
表示