TAO TIME暗号評価の現状報告
暗号評価の現状報告(スクリーニング評価)
スクリーニング評価)
平成14年1月28日
共通鍵暗号評価小委員会
委員 宝木 和夫
1

TAO TIMEにおける相手認証基本フロー
秘密の共有情報αClientを認知を認知Serverチャレンジｆ（α）

・・・

レスポンス
ｇ（α）

ClientServerを認知
を認知

秘密の共有情報α2

処理シーケンスイメージs R (n ‑ 2 )↑V ̲S T IM E (n ‑ 2 )↑S T IM E (n ‑ 2 )S e rve r

X ̲c R (n ‑ 3 )c S (n ‑ 3 )C (n ‑ 2 )s R (n ‑ 1 )↑V ̲S T IM E (n ‑ 1 )↑S T IM E (n ‑ 1 )X ̲c R (n ‑ 2 )V ̲S T IM E (n ‑ 2 )s R (n )↑V ̲S T IM E (n )↑S T IM E (n )V ̲S T IM E (n ‑ 1 )C (n ‑ 1 )X (n ‑ 4 )V ̲S T IM E (n )c S (n ‑ 1 )c S (n ‑ 2 )S (n ‑ 3 )X ̲c R (n ‑ 2 )S (n ‑ 2 )X (n ‑ 3 )C (n )S (n ‑ 1 )X (n ‑ 2 )C lie n t
c S (n ‑ 2 )↑C T IM E (n ‑ 2 )→ 乱 数 ａ(n ‑ 2 )生 成

c R (n ‑ 2 )c S (n ‑ 1 )↑C T IM E (n ‑ 1 )→ 乱 数 ａ(n ‑ 1 )生 成

c R (n ‑ 1 )c S (n )↑C T IM E (n )→ 乱 数 ａ(n )生 成

c R (n )cR(n-2)＝＜＝＜V_STIME(n－2)…＋＋{cR(n －3)－－cS(n －3)}＋＋…＋＋ａ (n-2)＞＋１＞＋１＝＜X_cR(n-2) = cR(n-2) + {αα(X(n-2)) + β(X(n-2))}－－－－赤字はネットワークに露出しないTAOデータ情報－－－
データ情報－－－－－－－赤字はネットワークに露出しない3

評価対象とした擬似乱数生成関数
CRYPTRECとしての着目
点

乱数ａ (n)がが今回募集の擬似乱数生成関数か→他に見当たらないのでそのように評価→ａ (n)はは擬似乱数生成関数として認められるか評価対象となるａ (n)のの計算式：【CTIME(n)の計算式】：の計算式】：CTIME(n)＝クライアント・ローカルクロッの計算式】：
クの送信イベント時（現在時刻のミリ秒）
クの送信イベント時（現在時刻のミリ秒）【rand()の初期値計算式】：ａの初期値計算式】：ａ (n-1)＊＊1000 ＋CTIME(n) mod 1000
上記計算は、ａ (n-1)を生成する毎に毎回行う。
を生成する毎に毎回行う。
ａ (n)＝＝ａ (n-1)＋＋{rand( )+1}＊＊100000 ＋CTIME(n) mod 100000
4ANSI 規格C 言語によるrand関数について● rand関数は0 と RAND_MAX の間のランダムな整数を発生させる● ANSI C の規格で決められていることは RAND_MAX は最低 32767 なければならないことのみ● ANSI の規格に準拠した C 言語であっても、計算法などは違っていてもよい● しかし、実際のところ、 rand() で生成される疑似乱数は線型合同法によるもののみのよう実例として Visual C++ の場合を見れば、
x1 = 1(これが seed。 srand() で変更可)
xn≡ 214013 * xn-1 + 2531011 mod 231
X = (xn/216) の整数部分 (0 < X < 215)5

a(n)系列について系列について● CTIME(n)はは現在時刻（送信時）のミリ秒表示をしたもの。
つまり、物理タイム● 計算式
ａ (n)＝＝ａ (n-1)＋＋{rand( )+1}＊＊100000 ＋CTIME(n) mod100000
より、ａ (n)－－ａ (n-1)をを１０進表記したときの下５桁はCTIME(n)１０１０進表記の下５桁と一致する
１０進表記の下５桁と一致する
つまり、ａ (n)－－ａ (n-1)の下５桁が常に物理タイムとなるの下５桁が常に物理タイムとなる6

評価者１の評価
結論：詳細評価を行う必要はないコメント（抜粋）：● 仕様書では、クライアント、サーバー間の簡単な認証機能を供給することを主な目的として記述されている。
● マイナーな改良を施すことにより、疑似乱数を生成する仕様に変更することは可能である。
● しかし、
しかし、本仕様では暗号学的な関数（公開鍵暗号で基本的に用いられる演算（素体や、拡大体、それに準じる環、群での加算、乗算など）、ハッシュ関数、疑似乱数生成器（鍵ストリーム生成器）、ブロック暗号）をまったく用いておらず、どのような改良を加えたところで安全な鍵生成などに用いる乱数生成は期待できない。
7

評価者２の評価
結論：詳細評価を行う必要はない
コメント（抜粋）：● 暗号技術仕様書の「1.
暗号技術仕様書の「1.はじめに」の中で応募者は、「1.はじめに」の中で応募者は、「TAOはじめに」の中で応募者は、「TAO TIME 認知アルゴ
リズムはネットワーク上の任意の２ 地点に存在する client と server 間の相互認知システム構築を目的とする認知アルゴリズムである」と主張しており仕様書にはその認知アルゴリズムが記述されている。
● この暗号技術仕様書は疑似乱数生成器の仕様書に必要な「種(この暗号技術仕様書は疑似乱数生成器の仕様書に必要な「種(入力値)入力値)に対して(対して(疑似乱)疑似乱) 数列を出力する決定的アルゴリズム」を記述したものではないと判断した。
● したがって応募書類の不備としてスクリーニング評価対象とは認められず詳細評価を行う必要はないとの結論に至った。
8

評価者３の評価
結論：詳細評価を行う必要はない
コメント（抜粋）：● 乱数生成技術として応募されているが、乱数生成を利用した“認知乱数生成技術として応募されているが、乱数生成を利用した 認知”システ
認知 システムの提案であり、乱数生成は既存の方法を利用しているに過ぎない。また、認知”システムとしてみても、説明が不十分である上に安全性にも問題があ“認知認知 システムとしてみても、説明が不十分である上に安全性にも問題があるように思える。
● 乱数を導入することが“認知乱数を導入することが 認知”のために重要と思われるがそれに関して説明
認知 のために重要と思われるがそれに関して説明されていない。

9

評価者４の評価
結論：詳細評価を行う必要はない
コメント（抜粋）：● 提案者がTAO
提案者がTAO TIME 認知アルゴリズムが擬似乱数生成系であると主張する根拠が全く認められない。評価者は、本方式が擬似乱数生成系ではないと判断する。よって詳細評価を行う必要はない。
● 提案者がTAO
提案者がTAO TIME 認知アルゴリズムが擬似乱数生成系であると主張する根拠がない。もし提案者がそう主張するのであれば、生成された擬似乱数列の周期、線形複雑度、0/1似乱数列の周期、線形複雑度、0/1 等頻度性などに関する評価をしなければならない。

10

CRYPTREC共通鍵暗号評価委員会としての評価
見解：詳細評価を行う必要はない
理由：● 乱数生成技術として応募されているが、乱数生成を利用した“認知乱数生成技術として応募されているが、乱数生成を利用した 認知”システ
認知 システムの提案となっている。
● マイナーな改良を施すことにより、乱数生成技術としての応募仕様に変更することは可能である。
● しかし、提案者がTAO
しかし、提案者がTAO TIME 認知アルゴリズムが擬似乱数生成系であると主張する根拠に乏しい、と判断される。

11