ketyiaの学んだこと議事録

このサイトでは学んだことを記事にまとめていきます

CNDの勉強21 ~暗号化アルゴリズム~

こんにちは!
今日もCND試験の対策勉強をしていきます。

今回は「暗号化アルゴリズム」について学んでいきます♪

DSEについて


DESは、56ビットの鍵の制御化で64ビットからなるデータブロックを暗号化及び復号するため設計してます。

共通鍵暗号方式で利用されているデータ暗号化アルゴリズムです。

この暗号アルゴリズムは脆弱とされているため、使用される際はプロセスを3回繰り返す3DESが使用されます。

AESについて


AESとは、主に無線LANや通信データを暗号化する際に使用される暗号化アルゴリズムです。

共通鍵暗号方式で利用されているデータ暗号化アルゴリズムで、同じ操作を複数回繰り返すことによつ反復ブロック暗号です。

この暗号は、DESの後続とされていて、現在多くの場所で使用されています。

ブロックサイズ(鍵長)は下記から選ぶことが可能です。

・128ビット (AES-128)

・192ビット (AES-192)

・256ビット (AES-256)

RC暗号について


RCシリーズの暗号は、共通鍵の暗号化アルゴリズムです。

メインが4~6なので、これを下記にまとめます。

RC4
 ⇒鍵を元に1ビットずつ疑似乱数数列を作成し、平文とXOR(排他的論理和)をとったものが暗号文となる暗号アルゴリズム

RC5
 ⇒可変のデータと鍵サイズ、ラウンド数(繰り返し数)を設定できる暗号アルゴリズム

RC6
 ⇒RC5に整数乗算と4つのビットワーキングレジスタを組み込んだ暗号アルゴリズム

RSAについて


RSA素因数分解の難しさや計算量の多さを利用した公開鍵暗号方式アルゴリズムです。事実上、暗号化標準の一つで一般的に使用されています!

また、デジタル署名の生成と検証にも応用されていて、DSAと規定されています。

MD5について


MD5は、ハッシュアルゴリズムに一つで、任意の長さのメッセージを入力として受け取り、128ビットのハッシュを出力します。

ただ、衝突(偶然同じハッシュ値が生成されること)が起こる可能性があるため、他のハッシュアルゴリズムを使用することをお勧めされています。
と同時に、署名アプリケーションや完全性チェック、パスワード保存にいまだ使用されています。。

SHAについて


SHAは、安全な一方向ハッシュを生成するアルゴリズムです。
SSL/TLSサーバ証明書に使用されたりしています!

また、このアルゴリズムにはそれぞれ種類があります。

SHA1
 ⇒最大長(264-1)ビットのメッセージから160ビットのハッシュを作成します

SHA2
 ⇒変換ビットが定められたハッシュアルゴリズムです。大きくSHA256(256ビット)とSHA512(512ビット)と分けられます

SHA3
 ⇒メッセージブロックが状態の初期ビットにXORされてから反転置換されるスポンジ構造を使用します

HMACについて


HMACは、暗号鍵を暗号科学的ハッシュ関数と組み合わせて使用する暗号です。
MD5を使用したらHMAC-MD5SHA1を使用したらHMAC-SHA1という呼び方があります。

メッセージを送信する際に使用されていて、相手の偽装やメッセージが改ざんされていないか等を確認します。

基盤となるハッシュ関数を2回実行しているため、様々な伸長攻撃からデータを保護します!

まとめ


今回はここまでです。

聞いたことある単語から、初めて聞く単語が多くあった気がします!
暗号は数学の世界で、突っ込むととんでもなく深いので、自分はほどほどにしておきます。興味ある方はぜひ挑戦してみると楽しいのではないでしょうか。そして自分に教えてください♪

ここまで読んでいただきありがとうございました!