Mathematicaにおける文字のコード化
Mathematicaでの文字コ-ドの扱いをアルファベットについて述べます. Mathematicaではaが 97 です.
数値から文字コ-ドの規則に従って変換します.
空白も含めアルファベットを 27 文字として扱います.
文字のコ-ド化
次のコマンドによって,与えられた文字列を数値に変換します.(以下,文字コード列を27進数表示桁として扱います.)
コ-ドの文字化(逆変換)
逆に,与えられた10進数を,27進数表示した時の各桁を表示させます.
関数としてまとめます.
公開鍵暗号・・・RSA体系(AからBへメッセージを送る場合)
AがBの公開鍵をもとに,メッセ-ジを送る場合を考えます.
Bの公開鍵 ( n , r )の作り方
まず,大きな二つの素数を用意します.
次に,公開鍵の一つであるnをp ,q の積とします.
次にrを,(p-1)(q-1)と互いに素となるように選びます.
確かに,
そして,Bはnとrを公開鍵として公表します.
送信者の暗号化方法(AはBの公開鍵を用いてメッセージを暗号化する)
Aはまずメッセ-ジ(平文)をつくります.(実際は,文字列を数字列に変換し,nより小さい適当な数字列にする)
そして,Bの公開鍵を用いて,次のように暗号化します.
受信者の復号化(Bは自分だけが知っている秘密鍵 sを計算して,暗号文を復号化する)
Bは秘密鍵 sを計算します.( s は p , q から計算できる)
実際, s は r の逆数です.
そして,次の計算でもとのメッセ-ジが復元されます.
例題
具体的な文字列で確かめます.
Created by Mathematica (February 1, 2004)