読書会(Javaで作って学ぶ暗号技術 - RSA,AES,SHAの基礎からSSLまで)第3回議事録
[ 戻る ]
==============================================================
Java読書会BOF「Javaで作って学ぶ暗号技術」を読む会 第3回
==============================================================
.. csv-table:: 開催概要
"日時", "2017年11月11日 10:00 - 17:00"
"場所", "川崎市教育文化会館 第3会議室"
"出席者(敬称略)", "高橋(徹)、常念、サトウ、平山、吉本、岩室、高橋(智)"
4. 米国標準共通鍵暗号AES
+++++++++++++++++++++++++
本日は、p.115 から
4.1 AESのしくみ
===============
「AESの処理は、粗く言うと、入力をばらばらにして、それらを鍵といっしょにかき混ぜる操作を
所定の回数だけ繰り返すもの」
p.118 上4行目、上6行目
-----------------------
* 誤植) 「InvAddRoundKey」→「AddRoundKey」 (2箇所)
p.119 リスト4.1 ソースコード
------------------------------
java.nio.ByteBffer を使うと、このようなビット積(AND)やビット和(OR)、シフト演算子、キャストを
使うことなくコードが簡単に書けるはず(宿題)
p.120 表4.3 の下
-----------------
* 元の状態配列が、S0,0 S0,1 ... で、排他的論理和を取った後の状態配列も S0,0 S0,1 ... となっているのは
分かりにくい。S'0,0 S'0,1 ... にした方がよい。
* p.125 の図4.5では、状態配列の図の上に, S と S' と書かれている
p.122 リスト4.3のタイトル
-------------------------
* 誤植) 「AddRoundKey」→「SubWord」
p.124 上7行目
-------------
* 誤植) 「者)は、」→「者は、」 (閉じ括弧が余分)
p.125 図4.5
-----------
* どうしてシフトするの?
* 単純に置換するだけだと、平文を1文字だけ替えた別な平文を暗号化すると、暗号文の1文字しか変わらないので
比較してばれてしまう。
p.127 MixColumns の説明
-----------------------
* 分からな過ぎる
* ガロア体(Galois field) を理解する必要がある
整数を素数で除算した余りの集合であり、要素が有限で四則演算が閉じている集合 <= ?
https://mathtrain.jp/galoisfield
非線形かつ可逆な変換、AESでは8bitの数値をGF(2^8)に見立ててその逆元を求める変換を使用
p.128 リスト4.6 の mul2_F2メソッド
----------------------------------
* p.127下1行目の記述では「mul2_F2(byte a)という関数は、入力値aを2倍する関数」とあるが、
mul2_F2の実装がよく分からないので、いろいろ試して報告する(宿題)
4.2 暗号利用モード
==================
4.2.3 CTR(Couner)モード MSBについて
-----------------------------------
* p.140 の式にあるMSBはなにか?
p.160 下2行目
-------------
誤植) 「HAMC」→「HMAC」
6章 ミニチュアSSLをつくってみよう!
++++++++++++++++++++++++++++++++++
* 本日時点、SSLv3は脆弱性のため無効化されている。TSL 1.1または1.2が使われている。
* 2014 POODLE攻撃 SSL3.0のブロック暗号をCBCモードで利用する場合の脆弱性を利用した攻撃
回避方法なし。このためSSL3.0を利用不可とする対策が進んでいる。
p.162 図6.2
-----------
誤植) 「Cyper」 → 「Cipher」
p.163 表6.1
-----------
誤植) 「Chipher」→ 「Cipher」
本日は、p.167 上2行目まで。
[ 戻る ]