暗号化プログラムを作りたい理由が何であれ、暗号化プログラムを作るのは楽しく、とてもやりがいのあることだ。しかし、それが初めてのことであれば、どのようにすればよいかを理解するのは難しいかもしれません。この記事では、機能的で現実的な暗号化プログラムを作成するために必要な、一般的な考え方と基本的な手順を説明します。
知っておくべきこと
- 最初に暗号化アルゴリズムを決めたら、短いメッセージでテストすべきです。
- 緊急事態が発生した場合に備えて、権限を与えられた関係者が暗号化されたデータにアクセスできるようにしておく必要があります。
- 暗号化アルゴリズムが確定したら、それをフォーラムでチャレンジとして共有し、他のプログラマーがその信頼性を確認できるかどうかを確認しましょう。
暗号化方式の作成
-
アルゴリズムを設計する。一般的なアルゴリズムは、すべての暗号化方式の骨格となるものです。RSAは大きな素数の数学的性質を利用して、プライベートなデータを迅速かつ安全に暗号化する。ビットコインは、支払いを安全に保護し、送信者が実際にビットコインを別のユーザーに送信することを望んでいることを確認するために、RSAのバージョンを使用しています。秘密鍵暗号化や公開鍵暗号化など、さまざまな種類の暗号化アルゴリズムについて調べる必要がある。データを取り出すつもりであれば、どのような暗号化も破られないことに注意すべきである。暗号化は、気軽な盗聴を阻止し、深刻な攻撃を遅らせることしかできません。バイナリとは何かを学ぶことをお勧めします。そうすることで、アルゴリズムの作成がより簡単になり、データ暗号化に関連したものになります。
-
アルゴリズムをテストする。良いアルゴリズムができたと思ったら、非常に短いメッセージを手で暗号化してみるべきです。これは、良い暗号化アルゴリズムでは数分以上かかるはずです。経験則から言うと、もしあなたが頭の中でメッセージを暗号化できるなら、それは本格的な暗号化には安全ではないということです。もし最終的なメッセージが元のメッセージと似ているなら、それは安全ではないかもしれない。
-
復号化について考えてみよう。あなたのアルゴリズムによって暗号化されたデータに、権限を与えられた関係者がアクセスする方法が必要です。キーを知っていれば簡単にデータを復号化できるようにし、攻撃者が試行錯誤の末に偶然キーを見つけることが難しいようにしなければなりません。
- データをまったく復元できないようにしたい場合は、代わりにハッシュ・アルゴリズムを作成することを検討してください。ハッシュ・アルゴリズムは入力を受け取り、その入力に基づいて一方通行の値を作成する。ソース入力からハッシュ値に戻ることは可能だが、ハッシュ値からソース入力に戻ることは理想的には不可能である。これは特にパスワード保護に有効である。パスワードを使ってウェブサイトにアカウントを作成する場合、倫理的なウェブサイトはパスワードを保存する前にハッシュ化する。これには、攻撃者がパスワードを解読するのを遅らせるなど、多くの利点がある。しかし、パスワードを忘れてしまった場合は、新しいパスワードを作らなければならなくなる。
-
擬似コードを作成する。アルゴリズムが作成され、それが機能することを証明するためにテストされれば、これは比較的簡単なはずです。擬似コードは、普通の人が理解できる程度に読みやすく、プログラマーがCやJavaなどの言語にアルゴリズムを簡単に実装できる程度に教訓的で、簡単で教訓的な英語のように読むべきです。
アルゴリズムを公開する
-
あなたのアルゴリズムを他のデータ暗号化愛好家と共有しましょう。そうすることで、あなたの暗号化で起こりうるトラップドアを発見し、アルゴリズムのセキュリティと実行可能性に関するフィードバックを得ることができる。もしあなたのアルゴリズムが複雑すぎて誰も理解できないのであれば、誰もそれを使うことはないでしょう。しかし、アルゴリズムがとても簡単で、誰でも最小限の努力でメッセージを解読できる場合も同様です。
-
フォーラムに課題を投稿する。データを解いたり解読したりすることに特化したフォーラムがあるので、暗号化した短いメッセージを、使用したアルゴリズムについてのヒントとともに公開してみよう。自信があれば、あなたのアルゴリズムを公開し、他の人がブルートフォースで解読するのにかかる時間を見ることもできる。
コメント
最新を表示する
NG表示方式
NGID一覧