張三が試験でカンニングをしたい場合、どのような暗号化アルゴリズムを使用すればよいでしょうか?先生にバレないように?

張三が試験でカンニングをしたい場合、どのような暗号化アルゴリズムを使用すればよいでしょうか?先生にバレないように?

「平常時に努力しなければ、試験では友達に頼らざるを得なくなる」ということわざがある。試験が近づくにつれ、カンニングマニアの張三は期末試験でカンニングする方法を考えている。

張三の学校には試験に関して2つの特別な規則があることが知られています。

  • 試験前に試験用紙は封印されます。試験監督者は試験問題を知らず、試験中に学生の試験用紙の内容を確認することができないため、教師は正解を知ることができません。
  • 生徒がカンニングをしているのを見つけたら、証拠を提示してください。生徒がメモを渡しているのが見つかったとしても、教師がメモの内容を理解または解読できない場合は、生徒をカンニングで有罪にすることはできません。

もちろん、この学校の教師たちは不正行為防止の経験が豊富です。左耳に触れるとBを表し、右耳に触れるとAを表すといったことは、教師たちの目を逃れることはできません。

[[398937]]

対称暗号化

彼は昔からハッカーになることを夢見ていた。一昨日、ネットワーク情報セキュリティに関する本を読んだところ、「対称暗号化」という暗号化方式について触れられていた。

暗号化と復号化の両方に同じキーを使用する方法です。

データ送信者は、特殊なアルゴリズムを使用して平文と暗号化キーを処理し、非常に複雑な暗号化された暗号文に変換してから、データ受信者に送信します。データ受信者は、暗号化キーと同じアルゴリズムの逆アルゴリズムを使用して暗号文を復号化し、平文に戻します。

張三は考えた。

私は親友の李思に、正解を紙に書いて、対称暗号化を使って暗号化してから私に送ってもらうように頼みました。先生がその紙を受け取っても内容を理解できなかったとしても、私に何もできないのです!

張三はすぐに次の不正行為のプロセスを設計しました。

  • 張三は李斯に内緒でこう言った。「y=3(鍵)」
  • 試験室の黒板に次のように書きます: x+y=z (x は答え、z は紙に書かれた暗号化されたテキストを表します)
  • このアルゴリズムによれば、Li Siは答えを暗号化し、答えにzの値を書き込み、それをZhang Sanに渡す。
  • 張三はメモを入手し、yの値を使って解読し答えを復元する。

このように、張三と李思だけがy=3(鍵)を知っているため、試験監督者がメモを入手したとしても、yの値を持っていないためメモの内容を解読できず、何もできません。

張三は李四にその考えを伝えた。李四はしばらく考えた後、それに伴うリスクについて次のように語った。

(1)鍵が漏洩しないようにするにはどうすればいいですか?

私たちが鍵について話し合っているときに他の生徒がそれを知り、先生に伝えたら、私たちの努力はすべて無駄になってしまいます。

(2)鍵管理が難しい

李思がこの問題を解決する方法がわからない場合、王武に助けを求めるしかありません。王武と鍵について話し合う必要があります。王武がこの問題を解決する方法がわからない場合、他の学生と鍵について話し合う必要があります。このように、鍵はたくさんあります。間違って覚えていたらどうしますか?

実際、対称暗号化には多くの欠点があります。

非対称暗号化

諦めきれなかった張三は、戻ってもう一度読み始めました。今度は、より良い方法、非対称暗号化を見つけました。

非対称暗号化アルゴリズムには、公開鍵と秘密鍵の 2 つの鍵が必要です。これら 2 つはペアになっており、公開鍵はデータの暗号化を担当し、秘密鍵はデータの復号化を担当します。

非対称暗号化の利点は、公開鍵は公開されており、誰でもそれを使ってデータを暗号化できるが、それを復号化できるのは秘密鍵だけである。張三が秘密鍵を厳重に保持している限り、誰もデータを復号化できない。

そこで彼は不正行為のプロセスのステップを設計し始めました。

(1)張三は試験室の黒板に「((x*y)%1000)*m)%1000」と書いた。ここでxは3桁の数字、y=91、yは公開鍵である。xとyの積の最後の3桁を取り、それをmで乗じて、最後の3桁を取る。

  • 李思は公開鍵で回答を暗号化し、張三に送る。
  • 張三は暗号化されたデータを入手した後、m=11を使用してそれを復号化する。

注: たとえば、質問の正解が 111 の場合、111 に 91 を掛けると 10101 となり、最後の 3 桁を取ると 101*11=1111 となり、最後の 3 桁を取ると 111 となり、答えを復元できます。これは、91*11=1001 であり、3 桁の数字に 1001 を掛けても最後の 3 桁は変化しないためです。このため、暗号化には y=91 が使用されますが、復号化には m=11 を使用できます。

非対称暗号化により、Li Si、Wang Wu、およびその他の学生は y=91 (公開鍵) を使用して答えを暗号化できます。Zhang San だけが m=11 (秘密鍵) を知っているため、彼だけが答えを復号化して復元できます。

プロセス全体を通じて、張三は誰にも鍵を渡す必要がないため、当然漏洩のリスクはありません。必要な鍵は 1 組 (公開鍵と秘密鍵) だけなので、管理も非常に簡単です。

張三は浮気の計画を立てた後、興奮しながら李四に話した。これを聞いた優秀な学生の李思はうなずいたが、その後、別の質問をした。

対称暗号化と比較すると、非対称暗号化ははるかに安全ですが、計算もより複雑になります。以前は、x+y=z を計算するだけでしたが、現在は (((x*y)%1000)*m)%1000 を計算することになります。

このように、李斯が張三に答えを渡すと、張三はそれを解読するために必死に取り組まなければならず、試験が終わっても解読が終わらないかもしれません。

私に何ができる?

諦めきれなかった張三は解決策を考えるために戻りました...

(つづく...)

<<:  AIに対する期待や考え

>>:  インタビュアーは、なぜ新世代ではマークスイープアルゴリズムを使わないのかと尋ねた。

ブログ    
ブログ    
ブログ    

推薦する

絵が醜すぎて見せられない?機械学習用の描画テンプレートセットを作った人がいます。ダークモードもあります

機械学習の専門家は、ニューラル ネットワーク図の描き方について心配する必要がなくなりました。論文やブ...

...

トランプ大統領、米国の製造業の発展にロボット活用を視野に

トランプ大統領は米国の製造業がかつての栄光を取り戻すことを望んでいる。彼はロボットに狙いを定め、米国...

2021年にデータセンターに起こる変化と傾向

2020 年は、IT プロフェッショナルがインフラストラクチャを管理およびプロビジョニングする方法を...

フロントエンドの面接でよく聞かれるアルゴリズムに関する質問

ただし、フロントエンドでアルゴリズムに触れる機会はほとんどありません。ほとんどがインタラクティブな操...

...

...

ザッカーバーグの最新VRプロトタイプが登場。仮想と現実を混同させるようなものだ

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

求職者の履歴書はどうすればAIやロボットによる審査に合格できるのでしょうか?

今日では、求人ウェブサイトに提出された多くの求職者の履歴書は、新しい仕事の面接を受ける前に人工知能ツ...

強化学習はアプリケーションにおける戦略の「最適解」を見つける

現在、AI システムは、さまざまなパターン認識や予測分析タスクを実行するために業界で一般的に使用され...

2024年のGenAIおよびその他の技術への投資の変化

この記事では、GenAI やその他のテクノロジーへの投資が 2024 年までにどのように変化するかに...

IT サービス管理における 3 つの主要な NLP 使用例

[[421132]] [51CTO.com クイック翻訳]自然言語処理 (NLP) は、機械学習の専...

探索的データ分析: 人工知能と機械学習の有効性を判断するための第一歩

データ品質の低さは、人工知能 (AI) および機械学習 (ML) テクノロジの実際のパフォーマンスを...