読書会(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行目まで。


[ 戻る ]