わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

年を秒に,秒を年に

 いきなりですが問題です.

 1年は,何秒ですか.求める式と答えを書きなさい.

 さっそくですが解答です.

 うるう年の場合とうるう年でない場合に分けて考える.
 i) うるう年の場合,年,日,時間,分,および秒の関係式は以下のとおりとなる.
  1年=366日
  1日=24時間
  1時間=60分
  1分=60秒
 これらの式において,「年」「日」「時間」「分」をそれぞれ文字とみなす(1年=年であり,他の文字についても同様とする).すると以下のようにして,1年が1秒の何倍か,すなわち1年は何秒であるかが求められる.
  1年=366・24時間=366・24・60分=366・24・60・60秒=31622400秒
 ii) うるう年でない場合は,うるう年の場合の「1年=366日」を「1年=365日」に変更する.1年を秒で表すための式は以下のとおりとなる.
  1年=365・24時間=365・24・60分=365・24・60・60秒=31536000秒

 日本語を(文字式における)文字として使用するのが,なじみでなければ,y=366d,d=24h,h=60m,m=60sとおくことでも,同様に求められます.
 もし,小学校の算数の求め方でとなると,こういった文字の使用も,場合分けも,不自然です.1年は何日かを後回しにして,まず,1分は60秒,1時間は60×60で3600秒,1日は3600×24で86400秒を求めておきます.
 次に1年は365日か,366日にするか,それとも...については,wikipedia:ユリウス年に書かれた「正確に365.25日」を採用します.きちんと書くと,「1年は365.25日」です.
 あとは,86400×365.25を,筆算か電卓で求めることで,1年は31557600秒であると,算出できます.
 それぞれの「×」の左側(かけられる数)は,1つ分の大きさの秒数を表していて,積も秒数,「×」の右側(かける数)はそれらと異なる数量であり,かける際にこれは,何倍かを表す無次元量となります.総合式にすることもでき,60×60×24×365.25=31557600と表せます.
 続いてですが問題です.
f:id:takehikom:20190811052238j:plain
 スライド下部に書いた出典は,Kindle版がおすすめです.

 出題の詳細や,環境がいかに非現実的であるかについては,512ビット鍵特定と三千世界をご覧ください.
 授業では,少し,学生に考える時間をとったのち,解答を表示させています.
f:id:takehikom:20190811052253j:plain
 探索鍵数の式に,単位を付けると,次のようになります.「計算機1台で毎秒10^{20}個の鍵を生成し正誤判定できる」は,10^{20}[個/台・秒]という,複内包量で表しています.

10^{20}[個/台・秒]×(366[日/年]×24[時/日]×60[分/時]×60[秒/分])×10^{100}[台]×10^{20}[年]

 この式について,「10の何乗か」と「10の何乗か以外の数」と「単位」に分けて計算すると,順に10^{140}と31622400と[個]を得ます.31622400は,1億=10^{8}よりも小さいので,「{}<10^{148}」を最後に付け,512ビットの鍵の総数(を10の何乗の形で概算した値)と比較できるようにしています.
 スライドの式のうち「366×24×60×60」は,小学校での求め方と同じように「60×60×24×366」を用いても,間違いというわけではありません.なお,単位を付けた式の中の「366[日/年]×24[時/日]×60[分/時]×60[秒/分]」について,因数はいずれも内包量で,その積もまた内包量となるというのは,小学校で学習する範囲を超えていますが,Schwarz (1988)の「I×I'=I''」*1で説明がつきます.積は31622400[秒/年]と表現でき,10^{20}[個/台・秒]×31622400[秒/年]について,単位は[個/台・年]に変わります.計算機1台で毎年約3×10^{27}*2の鍵を生成し正誤判定できる,と解釈できます.*3
 『暗号技術入門』p.77の問題文では,上と同じ「ナンセンスなまでに過大に見積もって」いる仮定のもとで,「鍵空間全部をブルート・フォース・アタックで調べられないようにするためには,鍵のビット長は何ビットあればよいでしょうか」と出題して「(A) 512ビットあれば十分である」から「(E) 100万ビットでも足りない」まで,5つの選択肢を提示しています.そしてp.79の解答・解説は以下のとおりとなっています.

f:id:takehikom:20190811052305j:plain


 本日の記事を書くきっかけとなったツイートに,リンクしておきます.

*1:https://takehikom.hateblo.jp/entry/20130312/1363031965

*2:「秒を年に」することで,単位を除いた数が大きくなっているのは,実は「秒あたりを年あたりに」変換しているためです.

*3:そのあとのかけ算から,すべての計算機および想定する期間で,探索できる鍵の個数を算出しています.「10^{100}台の計算機それぞれが毎秒10^{20}個の鍵を生成し正誤判定」すると考え,[個/秒]を先に求めるというのも,因数の順序を少し変更することで,式に表せます.