package Ġdigital . k lik . helper . security . encryption . constant Ċ Ċ import Ġdigital . k lik . helper . security . exception . SecretKey Exception Ċ Ċ enum Ġclass ĠSecret Key Size ( val Ġrequired Key Length : ĠInt ) Ġ{ ĊĠĠĠ ĠSIZE _ 8 ( 8 ), ĊĠĠĠ ĠSIZE _ 1 6 ( Ġ 1 6 ), ĊĠĠĠ ĠSIZE _ 2 4 ( 2 4 ), ĊĠĠĠ ĠSIZE _ 3 2 ( Ġ 3 2 ); ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom ( key Length : ĠInt ): ĠSecret Key Size Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġfound : ĠSecret Key Size ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( aes Key Size Ġin Ġvalues ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmatched Ġ= Ġkey Length Ġ== Ġaes Key Size . required Key Length ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( matched ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfound Ġ= Ġaes Key Size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfound Ġ?: Ġthrow ĠSecret Key Exception (" Unsupported Ġaes Ġkey Ġsize Ġfor Ġround Ġsize Ġ: Ġ$ key Length ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }