package Ġcom . is land . y osh iz . mpp . k rypto . aes . checks Ċ Ċ import Ġcom . is land . y osh iz . mpp . k rypto . aes . model . config . Aes Block Mode . CBC Ċ import Ġcom . is land . y osh iz . mpp . k rypto . aes . model . config . Aes Keys Length . Aes 2 5 6 Ċ import Ġcom . is land . y osh iz . mpp . k rypto . aes . model . keys . IV Ċ import Ġcom . is land . y osh iz . mpp . k rypto . aes . random . Aes Secure Random Ċ import Ġkotlin . test .* Ċ Ċ class ĠA es Input San ity Check Not Secure Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġaes Mode Ġ= ĠCBC ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġchecker : ĠA es Input San ity Check Not Secure ĊĊĠĠĠ Ġ@ Before Test ĊĠĠĠ Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġchecker Ġ= ĠA es Input San ity Check Not Secure ( aes Mode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Validate Iv _ given Iv Is Zero ed _ then Aes Invalid No Exception () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġiv Ġ= ĠIV ( aes Mode . iv Length Bytes ) ĊĊĠĠĠĠĠĠĠ Ġchecker . validate Iv ( iv ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Validate Iv _ given Iv IsNot Zero ed _ then No Exception () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġiv Ġ= ĠA es Secure Random ( Aes 2 5 6 , Ġaes Mode ). generate Iv () ĊĊĠĠĠĠĠĠĠ Ġchecker . validate Iv ( iv ) ĊĠĠĠ Ġ} Ċ }