Pythonランダムモジュールを使用した転置暗号

従来の暗号化では、メッセージを非表示にし、平文を暗号メッセージに変換するという歴史を通じて使用される2つの操作があります。

置換と転置

で置換アルゴリズム(シーザー暗号とヴィジュネル暗号で使用されるような)私たちは場所の事前定義された番号とアルファベットでその場所をシフトすることにより、他との1つの文字に置き換えます

転置アルゴリズムでは、名前が示すように、平文が並べ替えられ、要素の順序が変更されます。しかし、キャラクターは同じままです

私たちが使用してみましょうPythonの擬似乱数発生器モジュールをキーがあることで、プレーンテキストおよび使用転置操作を取るためにランダム シード(乱数発生器は、その数学演算を開始する初期値)

ランダムモジュールを起動してインポートします。ランダムのみを使用します。文字列をランダム化できるサンプル関数

次に、ブール値である変数を作成します。そして、whileループを使用しましょう。実際にコードを何度も続けることができるように。

1回目はメッセージ自体に、2回目はキーにユーザー入力が必要になります

それを作成しましょう

最初の入力「あなたのメッセージは何ですか」 2番目の入力「あなたの鍵は何ですか」

キーは実際にはシード値であるため、キーは最も興味深い部分です。

前述のように、シード値は、ランダムモデルが実際に疑似乱数を生成する数学演算の開始時に使用する初期値です。

次に、ランダムシードを設定しましょう。キーのユーザー入力は、キーを使用するだけの変数として保存されます。

次に、2つのパラメーターを受け取るrandom.sample()関数自体を使用します。最初のものはリストまたは文字列であり、この場合はメッセージです。入ったばかりです。2つ目は、必要なサンプルの長さです。文字列が保持するのと同じ数のサンプルが必要です。同じ数の文字。そのため、メッセージの長さを使用します— len(message)。

コードの最後の行は、暗号化されたメッセージを印刷することです。

次に、スクリプトを実行します。

あなたのメッセージは何ですか?

メッセージは「attackatdawn」になります

キーは何ですか?

キーは9になります。

暗号化されたメッセージは「akaatcdwtatn」です

別のランダムシードキーを使用しましょう

提案された投稿

Langchain を使用して ChatGPT プラグインを無料で実行する方法

Langchain を使用して ChatGPT プラグインを無料で実行する方法

ブラウザ、コード インタープリターなどの新しい強力な ChatGPT プラグインについては聞いたことがあるはずです。しかし、問題があります。プラグインへのアクセスは待機リストに制限されているため、多くの人がアクセスできません。

zk-SNARKs の構築 (ボリューム 2)

多項式の zkSNARK、ステップバイステップ

zk-SNARKs の構築 (ボリューム 2)

はじめに 前回の投稿では、SNARK の概念と必要な基本プロパティを紹介しました。この一連の投稿の主な目的、つまり、あらゆる計算用の zk-SNARK を構築する方法を念頭に置いて、この投稿では、多項式の知識を証明するための SNARK の作成について紹介します。

関連記事

安全な労働環境の構築

安全な労働環境の構築

「私が危険にさらされたとき、彼は私を守ってくれます。彼は私をテントの中に隠すでしょう。

緩やかな浸食: 人々がキャリアを無駄に浪費する方法を明らかにする

緩やかな浸食: 人々がキャリアを無駄に浪費する方法を明らかにする

今日のペースが速く競争の激しい世界では、個人の成長、経済的安定、そして人生全体の満足度において、個人のキャリアが重要な役割を果たしています。しかし、多くの人は停滞と不満の絶え間ないサイクルに陥っており、職業生活が徐々に消耗していきます。

ネットワークテレビツイッター

ネットワークテレビツイッター

古いものは再び新しくなり、以前はキラキラ輝いていたものがくすんで見えます。私は、JNCO ジーンズが 1990 年代後半の他のファッションとともにダウンタウンのクールな子供たちの間で復活したことについて話しているのではありません。

お子様向けの初めてのハイになる本

お子様向けの初めてのハイになる本

(警告 - これは風刺であり、大喜びで破壊的な意図があります - 絶対に子供向けではありません) あなたは、お母さんとお父さんがキッチンに隠れて臭いタバコを吸っているのを見たことがあるでしょう。彼らはあなたに言います。