C言語とGAPによる
暗号と代数プログラミング


澤田秀樹(山形大学理学部数理科学科助教授)著
A5・208頁・定価(本体2,400円+税)
ISBN4-303-72370-3
初版2000年3月発行/第2版2002年5月発行


amazonの紹介ページへ セブンネットショッピングの紹介ページへ bk1の紹介ページへ

 概 要
オープンソースによるソフトウエア開発方式の浸透により教育・研究の現場でも安価で質の良いOSと開発環境そして様々なソフトウエアが自由に使えるようになった。研究者としての立場からは、このオープンソースソフトウエア開発は基礎科学の成果が人類共通の財産として誰にでもフリーに提供されるというアカデミズムの伝統にも結び付くところがあり、国籍や収入に関係なく皆が平等に知的な活動に参加できることを保証するこのシステムはきわめて貴重で重要に思える。

前著『暗号理論と代数学』の知識を仮定してそこに使われる代数学をプログラミングによって解説したとも言える本書が可能になったのもオープンソース方式の恩恵に拠るところきわめて大である。本書のTeX原稿、C言語やGAPプログラミングもすべて著者のLINUXサーバ上で書かれている。

第1章では暗号系について簡単に復習する。前著の秘密性は守秘性と改め、さらに代数的暗号系の定義もより精密にした。第2章ではプログラマの教養とも言える計算量理論から現代暗号を理解するのに必要なNP完全について触れた。第3章はC言語プログラミングで、演習にも独習にも使えるように初歩的なことから説明した。古典暗号の解読法はすでに確立されているが、このプログラム例にあるように実際に解読してみれば暗号理論がよりいっそう身近なものになると思う。第4章はオープンソースプログラムとして代数学の研究者にも広く使用されているGAP (Groups, Algorithms and Programming)の1999年7月26日リリースの最新安定版4.1を使った暗号理論に必要な代数学の解説である。第5章ではGAPのインストールについて説明する。(「はじめに」より)
 
 目 次
第1章 暗号とは
     1.1 暗号系の定義
     1.2 公開鍵暗号系
     1.3 代数的暗号系

第2章 NP完全について
     2.1 計算モデル
     2.2 問題とアルゴリズム
     2.3 多項式時間と指数時間
     2.4 非決定性計算モデル
     2.5 NP完全性

第3章 C言語に親しむ
     3.1 コンピュータとは
     3.2 プログラミングを始める前に
     3.3 端末の扱いかた
     3.4 文字列の操作
     3.5 コンパイルについて
     3.6 UNIXに慣れる
     3.7 古典暗号を書く
     3.8 古典暗号を解く
     3.9 初等整数論から、計算のプログラム
     3.10 関 数
     3.11 ポインタ

第4章 GAPを使う
     4.1 始めると終える
     4.2 単純な計算
     4.3 整数の計算
     4.4 群の計算I
     4.5 群を定義する
     4.6 群の計算II
     4.7 有限体
     4.8 有限体上の楕円曲線

第5章 GAP覚え書き
     5.1 GAPのホームページ
     5.2 GAP4.1のインストール(LINUX)
     5.3 GAP4.1のインストール(WINDOWS)
     5.4 GAP3.4.4について


理工学(数学)のページへ
トップページ
弊社へ直接ご注文の場合はこちらから