スマートフォンアプリ作成

AppStoreにて無料公開中! ”システム手帳”で検索! - AppStoreへ iPad版 - iPhone版

暗号技術(ハッシュ・署名・暗号・鍵交換)を概観する

暗号技術を大きく分けると次のようになる。

・ハッシュ(メッセージダイジェスト、フィンガープリント)

・Base64エンコード

・署名

・暗号

・鍵交換

一つづつ説明していこう。

ハッシュ

大きなデータやテキストを20文字(512ビット)ごとに文字置換えや排他的論理和などの計算操作を繰り返すことで、導き出したユニークで小さなデータ集合(256ビット)。

送信者と受信者が相互にハッシュを求め突合することにより、送信データが改ざんされていない真正なものであることが証明できる。

通常、「Base64文字変換(エンコード)」によって、人が見分けやすい英数記号文字に変換して扱う。

フィンガープリント(指紋)やメッセージダイジェストとも言う。

Base64エンコード

コンピュータ内部データ形式(バイナリ・二進数)は、人が見ても判別しずらいため、一見して判別しやすいように、アルファベット数字記号に変換する方法。

6ビットごとに英数字や記号に変換し、結果の文字数は4の倍数となる。

署名

公開鍵暗号方式がもつ特徴であるところの、「ある秘密鍵で暗号した暗号文は、その秘密鍵が生成した公開鍵でしか復号できない」という特徴を使い、「秘密鍵」で暗号した暗号文を「秘密鍵」が生成した「公開鍵」によって復号することで本人確認(本人認証)を行う。

主に、公開データの「ハッシュ値」に対して、「秘密鍵」によって暗号を行い署名する。

署名に使用されている暗号は、「ある法(または離散条件)において、その計算結果を見ても計算経緯を類推することが極めて難しい」という数学的問題を利用している。

通常、「Base64文字変換(エンコード)」によって、人が見分けやすい英数記号文字に変換して扱う。

暗号

「1対nの通信」や「放送・メディアでの著作物配布」において、「平文」にべき乗または文字置換えや排他的論理和などの計算操作を行うことで、第三者による傍受を防ぐ。

コストの大きな暗号方法はいくらでも考えられるが、暗号方法に必要とされる条件は、小さな電子計算機でも即時に暗号/復号できることである。

コストの大きい「公開鍵」として、主に使用されている暗号は、「ある法(または離散条件)において、その計算結果を見ても計算経緯を類推することが極めて難しい」という数学的問題を利用している。

コストの小さい「共通鍵」、例えば、AES128では、平文を4バイト×4バイトの行列として、32ビットごとに左バイトシフトしたり、バイトごとに文字置き換えや排他的論理和という計算操作を繰り返し暗号する。

通常、コンピュータ内部データ形式(バイナリ・二進数)のまま扱う。

鍵交換

暗号/復号に必須となる「共通鍵」は、「暗号通信」や「暗号化済み著作物配布」を実施する直前に1対n間で共有する必要がある。

鍵交換の代表的方法は次のとおりである。

1)メディアや再生閲覧機器に組み込む(エンベディッド)。

2)コストの大きい「公開鍵暗号方式」を用いて、これから暗号に使用する「共通鍵」を通信相手に渡す。

3)「ある法(または離散条件)において、その計算結果を見ても計算経緯を類推することが極めて難しい」という数学的問題を利用して、これから暗号に使う「共通鍵」を通信者間で生成しあう(デフィヘルマン鍵交換)。

2018年11月
    123
45678910
11121314151617
18192021222324
252627282930 
android
iOS
アプリの著作権
ブロックチェーン/暗号技術
日本のなりたち

AppStoreにて無料公開中! ”システム手帳”で検索! - AppStoreへ iPad版 - iPhone版
スマートフォンアプリ作成