JP2005080039A - 暗号解析処理装置、暗号処理装置、および方法、並びにコンピュータ・プログラム - Google Patents

暗号解析処理装置、暗号処理装置、および方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP2005080039A
JP2005080039A JP2003309588A JP2003309588A JP2005080039A JP 2005080039 A JP2005080039 A JP 2005080039A JP 2003309588 A JP2003309588 A JP 2003309588A JP 2003309588 A JP2003309588 A JP 2003309588A JP 2005080039 A JP2005080039 A JP 2005080039A
Authority
JP
Japan
Prior art keywords
key
bit information
cryptographic
search
analysis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003309588A
Other languages
English (en)
Inventor
Masashi Kanamaru
昌司 金丸
Joshi Abe
譲司 阿部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003309588A priority Critical patent/JP2005080039A/ja
Publication of JP2005080039A publication Critical patent/JP2005080039A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

【課題】 効率的な暗号解析を実現する装置、方法、また安全性の高い暗号処理装置および方法を実現する。
【解決手段】 電力差分解析による暗号解析において、ラウンド関数部内のデータ変換部に適用される鍵ビット情報の重複ビット情報を抽出し、重複した探索処理を排除し、新規ビットについてのみ探索処理を実行する。本構成により探索回数が大幅に削減され、効率的な暗号解析が可能となる。また、重複ビット情報についての重複探索を排除した探索処理の最小探索回数を算出し、該算出結果に基づく暗号処理の安全性評価が可能となる。さらに、最小探索回数が大きな回数となるようにラウンド鍵を設定可能としたラウンド鍵生成部を設定することで、安全性の高い暗号処理アルゴリズムが実現される。
【選択図】 図12

Description

本発明は、暗号解析処理装置、暗号処理装置、および方法、並びにコンピュータ・プログラムに関する。さらに詳細には、暗号処理を実行する例えばICモジュール等の演算回路における電力差分解析に基づく暗号解析を効率的に実行し、さらに、電力差分解析に基づく暗号解析に対する耐性の高い暗号処理を実現する暗号解析処理装置、暗号処理装置、および方法、並びにコンピュータ・プログラムに関する。
昨今、ネットワーク通信、電子商取引の発展に伴い、通信におけるセキュリティ確保が重要な問題となっている。セキュリティ確保の1つの方法が暗号技術であり、現在、様々な暗号化手法を用いた通信が実際に行なわれている。
例えばICカード等の小型の装置中に暗号処理モジュールを埋め込み、ICカードと、データ読み取り書き込み装置としてのリーダライタとの間でデータ送受信を行ない、認証処理、あるいは送受信データの暗号化、復号化を行なうシステムが実用化されている。
暗号処理モジュールにおいては、例えば、平文を入力し暗号文を出力するデータ暗号化処理、あるいは暗号文を入力し平文を出力する復号化処理が実行される。これらの暗号処理は、暗号処理モジュールを構成するハードウェア、例えば半導体による電気的な処理を含む。従って、このような半導体モジュールにおいて暗号処理が実行される際の電力消費を解析することで、暗号処理の適用鍵や、アルゴリズムが解析されてしまうという恐れがある。
例えば、IC等の演算処理装置に対する攻撃、すなわち暗号解読攻撃として、処理時間を解析することによる秘密情報を推定するタイミングアタック(TA:Timing attack)、暗号処理時の消費電力の観測により秘密情報を推定する単純電力解析(SPA:Simple Power Analysis)、さらに、大量のデータに対する暗号処理における消費電力を測定し、それらの測定データを統計的に解析することにより秘密情報を推定する電力差分解析(DPA:Differential Power Analysis)等がある。
一般的な暗号処理装置は、データ入力部と記憶部と暗号処理部、およびデータ出力部とから構成されており、例えば入力データの暗号化を行う場合は、次のように動作する。すなわち、データ入力部から暗号処理部に平文が入力される。暗号処理部は、例えばDES(Data Encryption Standard)などの暗号処理アルゴリズムを実行する処理部において一定の暗号処理アルゴリズムに従ったデータ処理がなされる。
暗号処理アルゴリズムの実行過程において生成される中間データを逐次、記憶部に格納し、また記憶部に格納した中間データを取得して予め定められた一定の処理順序に従って暗号化処理が実行される。暗号処理部において、予め定められた一連の暗号処理アルゴリズムが終了すると、生成暗号文が出力部を介して出力される。
このような暗号処理装置において、暗号化処理の開始時から特定の暗号化中間処理手続きが開始されるまでに要する時間は、おおよそ一定になる。なお、暗号アルゴリズムの実装方法については、例えば非特許文献1に詳しく述べられている。
このような暗号処理装置は、前述した単純電力解析(シンプル・パワー・アナリシス)や電力差分解析(ディファレンシャル・パワー・アナリシス)と呼ばれる暗号解析法を適用することで、暗号処理に適用する鍵情報や、アルゴリズムが解析される恐れがある。
単純電力解析および電力差分解析は、現在のメモリやレジスタ等の半導体デバイスにおいて、特定の時刻に、半導体デバイスの保持する値に変化が生じた場合と、保持する値に変化が生じなかった場合とで、消費電力に差が発生するという特徴を利用して、暗号処理装置が暗号処理を実行している様々なタイミングにおいて消費電力を測定することにより、暗号処理装置が保持している暗号鍵等の秘密情報を特定する暗号解析法である。
単純電力解析や電力差分解析が有効に機能する条件としては、第1に消費電力を測定している各時点で行われている暗号処理手続きが特定できること、第2に各時刻で測定した消費電力の値が当該時刻において暗号化装置内で行われている暗号化処理の演算結果を顕著に反映していること、の2点が挙げられる。
従来の暗号化装置、復号化装置および暗号化・復号装置等の暗号処理装置においては、上記の2点の条件が満たされてしまうために、単純電力解析や電力差分解析が有効に機能し、暗号の解読が可能になりうるという問題点が存在している。
暗号処理アルゴリズムには様々なものがあるが、大きく分類すると、暗号化鍵と復号化鍵を異なる鍵、例えば公開鍵と秘密鍵として設定する公開鍵暗号方式と、暗号化鍵と復号化鍵を共通の鍵として設定する共通鍵暗号方式とに分類される。
共通鍵暗号方式の1つに共通鍵をベースとして複数の鍵を生成して、生成した複数の鍵を用いて暗号処理を繰り返し実行する方式がある。このような鍵生成方式を適用したアルゴリズムの代表的なものが共通鍵ブロック暗号方式である。
共通鍵ブロック暗号のアルゴリズムは、主として、入力データの変換を実行するラウンド関数部と、ラウンド関数部の各ラウンドで適用する鍵を生成する鍵スケジュール部とに分けることができる。ラウンド関数部の各ラウンドで適用するラウンド鍵(副鍵)は、1つのマスター鍵(主鍵)に基づいて、鍵スケジュール部に入力されて生成され、各ラウンド関数部で適用される。この共通鍵暗号方式の代表的な方式に米国連邦標準暗号方式としてのDES(Data Encryption Standard)がある。
しかし、このような共通鍵暗号処理においては、暗号解析による鍵、あるいは暗号アルゴリズムの漏洩が問題となっている。暗号解析手法としては、上述したように複数の種類がある。まず、単純電力解析(SPA:Simple Power Analysis)について説明する。スマートカードなどの耐タンパデバイスのほとんどはトランジスタで構成された論理回路からなり、ゲートに電圧が加えられたときに電流が流れ、電力が消費される。一般に回路の消費電力は、実行している演算と用いられているデータの値に関係する。例えば、乗法演算は0を書き込む場合よりも1を書き込む場合のほうが消費電力が大きくなり、乗法演算と平方演算ではそれぞれ異なる電力を消費する。
このように演算やデータ値に応じて電力消費量が変動することから、秘密情報を用いた演算を行っているデバイスの消費電力の変化を観察することで、秘密情報に関してハミングウェイトなどの情報を得ることが可能となり、エントロピーを小さくすることができる。消費電力の変化を直接解析に用いる方法を単純電力解析と呼ぶ。
デバイスの消費電力は、デバイスと電源または接地との間に抵抗を直列に挿入し、抵抗を流れる電流値から求めることができる。実際に共通鍵暗号の演算を行っているスマートカードに対して消費電力測定を行うと、測定波形より共通鍵暗号の各段の演算がはっきり確かめられる。さらに、消費電力波形を詳しく解析することにより鍵レジスタの交換等の情報を得ることができる。
次に、電力差分解析(DPA:Differential Power Analysis)について説明する。耐タンパデバイスの消費電力は一般に演算内容と演算に用いられている秘密情報に依存する。しかしこれらの内容に依存した消費電力の変化は小さく、測定誤差やノイズなどから見分けることは一般に困難である。
そこでKocherらは大量の測定値の平均をとって測定誤差やノイズなどの影響を小さくし、全データの平均値との差分を取ることで演算プロセスによる電力消費の影響を除いて、用いられる秘密情報による消費電力の変化のみを取り出す方法(電力差分解析)を提案した。
KocherらはDESに対する適用例を示している。まず、ラウンド関数部の第1段、または第16段に入る鍵の一部のビットについて予想し、第1段、または第16段の最後にメモリに書きこまれると予想されるデータの1ビットの値に注目して、その値に従って消費電力の観測データを分類する。次にそれぞれのグループについて測定値の平均をとり、それらの差分をとる。予想が正しい場合注目したビットが演算に用いられるとき消費電力の差分が大きくなる。予想が異なる場合目立った差分は確認されない。このような事象確認処理に基づいて、暗号処理に適用した鍵の構成ビットを順次求めるものである。
このKocherらの提案に基づく暗号解析手法によれば、DESの第1段及び第16段のラウンド鍵を推定することが可能となる。しかしながら、この暗号解析手法は、ラウンド関数部に形成される非線形変換部としての8つのS−box各々に入力される複数ビット情報全てについて全探索を必要とするものであり、解析処理に要する計算時間やデータを格納するメモリが多数必要であるという問題点がある。
このように、Kocherらの提案に基づく暗号解析においては、多数のビット情報の探索処理が必要となり、暗号解析に要する時間が膨大になるという問題がある。また、解析を実行する装置についても、十分な処理能力、大きなメモリ容量などが必要となっていた。
暗号解析の困難性が高いということは、すなわち、暗号処理の安全性が高いということを意味するものである。一方、暗号解析に要する時間の短縮が実現されれば、例えばその暗号処理に適用されている鍵の推定に必要な時間が短くなるということであり、暗号処理の安全性が低くなるということになる。従って、暗号解析の困難性、例えば解析に必要な計算量が把握できれば、その計算量を指標として暗号処理の安全性の評価が可能となる。
また、暗号処理を実行する例えばICモジュールは、例えば駅の改札などの様々なゲート、あるいはショッピングセンターなどで盛んに利用されるようになっており、小型化および処理の迅速化の要求が厳しくなってきている。従って、処理アルゴリズムを複雑化させることなく、かつ、電力解析に対する耐性のある構成が必要とされている。
『「Applied Cryptography 」(Bruce Shneier 著) John Wieley& Sons ,Inc .,1996 ,ISBN 0 −471 −11709 −9 ,pp .623 −673 』
本発明は、上記問題点に鑑みてなされたものであり、暗号処理シーケンスの持つ規則的な処理に伴う消費電力変動の検出等に基づく電力解析による暗号解析の困難性を高めることを可能とした暗号処理装置および暗号処理方法を提供し、さらに、電力解析による暗号解析を効率的に実行し、また解析に必要な探索数を指標として暗号処理の安全性を評価することを可能とした暗号解析処理装置、暗号処理装置、および方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、
電力差分解析による暗号解析を実行する暗号解析処理装置であり、
複数段のラウンド関数部におけるデータ変換をマスター鍵に基づいて生成する複数のラウンド鍵を適用して実行する共通鍵暗号における鍵情報の解析を、電力差分解析に基づいて実行する構成を有し、
前記ラウンド関数部内のデータ変換部に適用される鍵ビット情報を電力差分解析に基づいて順次探索する処理において、異なるデータ変換部において重複適用される重複ビット情報を抽出し、該抽出情報に基づいて重複ビット情報についての重複した電力差分解析による探索処理を排除し、新規ビットについてのみ電力差分解析による探索処理を順次実行する構成を有することを特徴とする暗号解析処理装置にある。
さらに、本発明の暗号解析処理装置の一実施態様において、前記ビット情報の探索処理は、前記複数のラウンド関数部中、第1段および最終段に属する複数のデータ変換部に対応して適用されるラウンド鍵の部分鍵の構成ビット情報の探索処理として実行する構成であることを特徴とする。
さらに、本発明の暗号解析処理装置の一実施態様において、前記暗号解析処理装置は、前記ビット情報の重複探索を排除した電力差分解析に基づく鍵ビット情報探索処理により、前記マスター鍵の構成ビット情報を取得する構成であることを特徴とする。
さらに、本発明の暗号解析処理装置の一実施態様において、前記共通鍵暗号はDES(Data Encryption Standard)アルゴリズムに従った暗号処理であり、前記ラウンド関数部を構成する複数のデータ変換部は非線形変換部であるSボックスであり、暗号解析処理装置は、前記Sボックスに対応して適用する部分鍵の構成ビット情報の探索処理を順次実行する構成であることを特徴とする。
さらに、本発明の暗号解析処理装置の一実施態様において、前記暗号解析処理装置は、前記ラウンド関数部を構成する8つのSボックスに対応して適用する6ビットの部分鍵の構成ビット情報の探索処理を、重複ビット情報の重複探索を排除して順次実行する構成であることを特徴とする。
さらに、本発明の暗号解析処理装置の一実施態様において、前記暗号解析処理装置は、複数のラウンド関数部に属する16個のデータ変換部に適用される鍵ビット情報を、重複ビット情報の重複探索を排除して順次実行し、計528回の探索処理によって、前記マスター鍵を構成する56ビットの情報解析を行う構成であることを特徴とする。
さらに、本発明の暗号解析処理装置の一実施態様において、前記暗号解析処理装置は、前記ビット情報の重複探索を排除した電力差分解析に基づく鍵ビット情報探索処理により、前記マスター鍵の構成ビット情報の一部を取得し、一部を電力差分解析を伴わない全探索処理により解析する構成であることを特徴とする。
さらに、本発明の暗号解析処理装置の一実施態様において、前記暗号解析処理装置は、複数のラウンド関数部に属する8個のデータ変換部に適用される鍵ビット情報を、重複ビット情報の重複探索を排除して順次実行し、計188回の探索処理によって、31ビットの鍵ビット情報解析を行う構成であることを特徴とする。
さらに、本発明の暗号解析処理装置の一実施態様において、前記暗号解析処理装置は、複数のラウンド関数部に属する6個のデータ変換部に適用される鍵ビット情報を、重複ビット情報の重複探索を排除して順次実行し、計176回の探索処理によって、26ビットの鍵ビット情報解析を行う構成であることを特徴とする。
さらに、本発明の暗号解析処理装置の一実施態様において、前記暗号解析処理装置は、さらに、重複ビット情報の重複探索を排除した電力差分解析に基づく鍵ビット探索処理の最低所要回数に基づいて、暗号処理アルゴリズムの安全レベルを算出する処理を実行する構成であることを特徴とする。
さらに、本発明の第2の側面は、
複数段のラウンド関数部におけるデータ変換をマスター鍵に基づいて生成する複数のラウンド鍵を適用して実行する共通鍵暗号処理を実行する暗号処理装置であり、
前記複数段のラウンド関数部に属するデータ変換部に適用される鍵ビット情報解析を、重複ビット情報の重複探索を排除した電力差分解析により実行した場合、計528回の探索回数を超える最小探索回数を必要とするラウンド鍵を設定可能としたラウンド鍵生成部を有することを特徴とする暗号処理装置にある。
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理装置におけるラウンド鍵生成部は、置換処理(PC2)として、下記式、
Figure 2005080039
による置換処理を実行する構成であることを特徴とする。
さらに、本発明の暗号処理装置の一実施態様において、前記共通鍵暗号はDES(Data Encryption Standard)アルゴリズムに従った暗号処理であることを特徴とする。
さらに、本発明の第3の側面は、
複数段のラウンド関数部におけるデータ変換をマスター鍵に基づいて生成する複数のラウンド鍵を適用して実行する共通鍵暗号における鍵情報の解析を、電力差分解析に基づいて実行する暗号解析処理方法であり、
前記ラウンド関数部内のデータ変換部に適用される鍵ビット情報を電力差分解析に基づいて順次探索するステップと、
異なるデータ変換部において重複適用される重複ビット情報を抽出するステップと、
該抽出情報に基づいて重複ビット情報についての重複した電力差分解析による探索処理を排除し、新規ビットについてのみ電力差分解析による探索処理を順次実行するステップと、
を有することを特徴とする暗号解析処理方法にある。
さらに、本発明の暗号解析処理方法の一実施態様において、前記ビット情報の探索処理は、前記複数のラウンド関数部中、第1段および最終段に属する複数のデータ変換部に対応して適用されるラウンド鍵の部分鍵の構成ビット情報の探索処理として実行することを特徴とする。
さらに、本発明の暗号解析処理方法の一実施態様において、前記暗号解析処理方法は、前記ビット情報の重複探索を排除した電力差分解析に基づく鍵ビット情報探索処理により、前記マスター鍵の構成ビット情報を取得することを特徴とする。
さらに、本発明の暗号解析処理方法の一実施態様において、前記共通鍵暗号はDES(Data Encryption Standard)アルゴリズムに従った暗号処理であり、前記ラウンド関数部を構成する複数のデータ変換部は非線形変換部であるSボックスであり、暗号解析処理方法は、前記Sボックスに対応して適用する部分鍵の構成ビット情報の探索処理を順次実行することを特徴とする。
さらに、本発明の暗号解析処理方法の一実施態様において、前記暗号解析処理方法は、前記ラウンド関数部を構成する8つのSボックスに対応して適用する6ビットの部分鍵の構成ビット情報の探索処理を、重複ビット情報の重複探索を排除して順次実行することを特徴とする。
さらに、本発明の暗号解析処理方法の一実施態様において、前記暗号解析処理方法は、複数のラウンド関数部に属する16個のデータ変換部に適用される鍵ビット情報を、重複ビット情報の重複探索を排除して順次実行し、計528回の探索処理によって、前記マスター鍵を構成する56ビットの情報解析を行うことを特徴とする。
さらに、本発明の暗号解析処理方法の一実施態様において、前記暗号解析処理方法は、前記ビット情報の重複探索を排除した電力差分解析に基づく鍵ビット情報探索処理により、前記マスター鍵の構成ビット情報の一部を取得し、一部を電力差分解析を伴わない全探索処理により解析するステップを有することを特徴とする。
さらに、本発明の暗号解析処理方法の一実施態様において、前記暗号解析処理方法は、複数のラウンド関数部に属する8個のデータ変換部に適用される鍵ビット情報を、重複ビット情報の重複探索を排除して順次実行し、計188回の探索処理によって、31ビットの鍵ビット情報解析を行うステップを有することを特徴とする。
さらに、本発明の暗号解析処理方法の一実施態様において、前記暗号解析処理方法は、複数のラウンド関数部に属する6個のデータ変換部に適用される鍵ビット情報を、重複ビット情報の重複探索を排除して順次実行し、計176回の探索処理によって、26ビットの鍵ビット情報解析を行うステップを有することを特徴とする。
さらに、本発明の暗号解析処理方法の一実施態様において、前記暗号解析処理方法は、さらに、重複ビット情報の重複探索を排除した電力差分解析に基づく鍵ビット探索処理の最低所要回数に基づいて、暗号処理アルゴリズムの安全レベルを算出する処理を実行するステップを有することを特徴とする。
さらに、本発明の第4の側面は、
複数段のラウンド関数部におけるデータ変換をマスター鍵に基づいて生成する複数のラウンド鍵を適用して実行する共通鍵暗号処理を実行する暗号処理方法であり、
前記複数段のラウンド関数部に属するデータ変換部に適用される鍵ビット情報解析を、重複ビット情報の重複探索を排除した電力差分解析により実行した場合、計528回の探索回数を超える最小探索回数を必要とするラウンド鍵を設定可能としたラウンド鍵生成ステップを有することを特徴とする暗号処理方法にある。
さらに、本発明の暗号処理方法の一実施態様において、前記ラウンド鍵生成ステップは、
置換処理(PC2)として、下記式、
Figure 2005080039
による置換処理を実行するステップを含むことを特徴とする。
さらに、本発明の暗号処理方法の一実施態様において、前記共通鍵暗号はDES(Data Encryption Standard)アルゴリズムに従った暗号処理であることを特徴とする。
さらに、本発明の第5の側面は、
複数段のラウンド関数部におけるデータ変換をマスター鍵に基づいて生成する複数のラウンド鍵を適用して実行する共通鍵暗号における鍵情報の解析を、電力差分解析に基づいて実行する暗号解析処理コンピュータ・プログラムであり、
前記ラウンド関数部内のデータ変換部に適用される鍵ビット情報を電力差分解析に基づいて順次探索するステップと、
異なるデータ変換部において重複適用される重複ビット情報を抽出するステップと、
該抽出情報に基づいて重複ビット情報についての重複した電力差分解析による探索処理を排除し、新規ビットについてのみ電力差分解析による探索処理を順次実行するステップと、
を有することを特徴とする暗号解析処理コンピュータ・プログラムにある。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の構成によれば、電力差分解析による暗号解析において、ラウンド関数部内のデータ変換部に適用される鍵ビット情報の重複ビット情報を抽出し、該抽出情報に基づいて重複ビット情報についての重複した電力差分解析による探索処理を排除し、新規ビットについてのみ電力差分解析による探索処理を順次実行する構成としたので、探索回数が大幅に削減され、効率的な暗号解析が可能となる。
さらに、本発明の構成によれば、ラウンド関数部内のデータ変換部に適用される鍵ビット情報の重複ビット情報を抽出し、該抽出情報に基づいて重複ビット情報についての重複した電力差分解析による探索処理を実行する場合の最小の探索回数を算出し、該算出結果に基づいて暗号処理の安全性評価を行うことが可能となる。
さらに、本発明の構成によれば、複数段のラウンド関数部におけるデータ変換をマスター鍵に基づいて生成する複数のラウンド鍵を適用して実行する共通鍵暗号処理を実行する暗号処理装置において、重複ビット情報の重複探索を排除した電力差分解析による最小探索回数が大きな回数となるようにラウンド鍵を設定可能としたラウンド鍵生成部、具体的には、特定の置換処理を実行する置換処理部(PC2)を構成することで、電力差分解析に対する耐性の高い安全性の高い暗号処理アルゴリズムが実現される。
以下、本発明の暗号解析処理装置、暗号処理装置、および方法、並びにコンピュータ・プログラムの詳細について説明する。なお、説明は、以下の項目順に行う。
1.DES(Data Encryption Standard)暗号処理の概要と電力差分解析概要
2.電力差分解析に基づく暗号解析における計算量の削減構成、および暗号解析に必要な計算量を指標として暗号処理の安全性を評価可能とした暗号解析処理装置、および方法
3.電力差分解析に基づく暗号解析の困難性を高めた暗号処理装置および方法
[1.DES(Data Encryption Standard)暗号処理の概要と電力差分解析概要]
まず、DES(Data Encryption Standard)暗号処理の概要と電力差分解析概要について説明する。
暗号処理アルゴリズムには様々なものがあるが、大きく分類すると、暗号化鍵と復号化鍵を異なる鍵、例えば公開鍵と秘密鍵として設定する公開鍵暗号方式と、暗号化鍵と復号化鍵を共通の鍵として設定する共通鍵暗号方式とに分類される。
共通鍵暗号方式の1つに共通鍵をベースとして複数の鍵を生成して、生成した複数の鍵を用いて暗号処理を繰り返し実行する方式がある。このような鍵生成方式を適用したアルゴリズムの代表的なものが共通鍵ブロック暗号方式である。
共通鍵ブロック暗号のアルゴリズムは、主として、入力データの変換を実行するラウンド関数部と、ラウンド関数部の各ラウンドで適用する鍵を生成する鍵スケジュール部とに分けることができる。ラウンド関数部の各ランウドで適用する鍵(副鍵)は、1つのマスター鍵(主鍵)に基づいて、鍵スケジュール部に入力されて生成され、各ラウンド関数部で適用される。この共通鍵暗号方式の代表的な方式に米国連邦標準暗号方式としてのDES(Data Encryption Standard)がある。
DES暗号処理の基本構造について、図を参照して説明する。DES暗号処理は、変換関数の単純な繰り返しにより、平文を暗号文に変換する構造を持つ。図1にDES暗号処理の基本構成を示す。入力データの変換を実行するラウンド関数部110と、ラウンド関数部の各ラウンドで適用する鍵を生成する鍵スケジュール部120とによって構成される。
ラウンド関数部110において、平文(64ビット)は、まず、初期置換部111において、L,R各32ビットに分割され、分割されたL,R32ビットが、第1段ラウンド関数部112に入力され、鍵スケジュール部120の第1段鍵生成部122から入力する鍵K(1)に基づいて変換処理がなされる。変換処理結果は、次段の第2段ラウンド関数部113に入力される。
鍵スケジュール部120においては、まず、マスター鍵(主鍵)置換部(PC−1)121により入力マスター鍵(主鍵:64ビット)のパリティ8ビットが取り除かれ、残り56ビットの入れ替え処理が実行されて第1段ラウンド鍵生成部122に入力される。第1段ラウンド鍵生成部122では、入力ビット列のシフト処理およびパリティビットの除去等が実行され、48ビットのラウンド鍵K(1)を生成し、生成したラウンド鍵K(1)をラウンド関数部110の第1段ラウンド関数部112に出力する。第1段ラウンド鍵生成部122では、シフト処理による上位ビット列(28ビット)と下位ビット列(28ビット)とを下段の第2段ラウンド鍵生成部123に出力する。
ラウンド関数部は、16段のラウンド関数部を有し、それぞれ前段のラウンド関数部の出力を入力として鍵スケジュール部120から入力する鍵を適用した変換処理を実行し、変換結果を後段のラウンド関数部に出力する。16段のラウンド関数部で変換された出力が逆置換部114に入力され、初期置換部111の逆置換処理が実行されて、暗号文として出力される。
ラウンド関数部110の各ラウンドを構成する各段のラウンド関数部の構成を図2に示す。図2に示すように、ラウンド関数部は、前段(n−1段)のラウンド関数部から2つの入力、L(n−1)、R(n−1)を入力し、鍵スケジュール部から鍵(k(n))を入力する。F関数部151において、鍵スケジュール部から入力する鍵(k(n))を用いて、前段ラウンド関数部から入力するビット列(R(n−1))の変換処理がなされ、変換結果が、前段ラウンド関数部から入力する残りのビット列(L(n−1))と排他論理和が実行されて、次段のラウンド関数部の出力R(n)が生成される。次段のラウンド関数部には、R(n−1)をL(n)としたビット列と、上述のF関数および排他論理和演算により生成されたR(n)が入力され同様の処理が繰り返される。
F関数の構成を図3に示す。F関数は、非線形処理を実行する複数のSボックス(Sbox)を有する。ラウンド関数部の前段からの入力値R(n−1)は置換部171によって48ビットに拡大され、さらに鍵スケジュール部から入力する鍵(48ビット)と排他論理和が実行され、その出力が6ビットずつ非線形変換処理を実行する複数のSボックス181−1〜8に入力される。各Sボックスでは、例えば変換テーブルを適用した6ビットから4ビットへの非線形変換処理が実行される。
Sボックス181−1〜8からの出力ビット4×8=32ビットは、置換部172に入力されて、ビット位置の入れ替え処理がなされ、F関数出力32ビットを生成して出力する。
図1〜3を参照して説明したように複数段(16段)の変換処理によってDES暗号処理が実行される。このDES暗号処理をさらに暗号強度を高めるため複数繰り返し実行する構成、例えば3回のDES暗号処理を実行するトリプルDES暗号処理が様々な分野、例えばインターネットを介したデータ通信機器間の相互認証処理や、ICカードとリーダライタ間の相互認証処理等に適用する暗号処理として多く採用されている。なお、トリプルDES暗号処理と区別するため、1回のDES暗号処理をシングルDES暗号処理と呼ぶ。
トリプルDES(Triple DES)暗号処理構成は、図4に示すように、図1〜3を参照して説明したDES暗号処理を3回繰り返して実行することにより、平文から暗号文を生成する。シングルDES暗号処理部185、186,187のそれぞれが上述した16段のラウンド関数部を持ち、Sボックスを持つF関数による処理を16回繰り返す。
通常、トリプルDES暗号処理では、最初のシングルDES暗号処理部185と、最後のDES暗号処理部187においては同じマスター鍵(主鍵)(K1)を適用し、中間のDES暗号処理部186には異なるマスター鍵(主鍵)(K2)を適用する。このように、DES暗号処理を複数回繰り返し実行することで、暗号強度を向上させることができる。
しかし、このような共通鍵暗号処理においては、暗号解析による鍵、あるいは暗号アルゴリズムの漏洩が問題となっている。暗号解析手法としては、複数の種類がある。まず、単純電力解析(SPA:Simple Power Analysis)について説明する。スマートカードなどの耐タンパデバイスのほとんどはトランジスタで構成された論理回路からなり、ゲートに電圧が加えられたときに電流が流れ、電力が消費される。一般に回路の消費電力は、実行している演算と用いられているデータの値に関係する。例えば、乗法演算は0を書き込む場合よりも1を書き込む場合のほうが消費電力が大きくなり、乗法演算と平方演算ではそれぞれ異なる電力を消費する。
このように演算やデータ値に応じて電力消費量が変動することから、秘密情報を用いた演算を行っているデバイスの消費電力の変化を観察することで、秘密情報に関してハミングウェイトなどの情報を得ることが可能となり、エントロピーを小さくすることができる。消費電力の変化を直接解析に用いる方法を単純電力解析と呼ぶ。
デバイスの消費電力は、デバイスと電源または接地との間に抵抗を直列に挿入し、抵抗を流れる電流値から求めることができる。実際に共通鍵暗号の演算を行っているスマートカードに対して消費電力測定を行うと、測定波形より共通鍵暗号の各段の演算がはっきり確かめられる。さらに、消費電力波形を詳しく解析することにより鍵レジスタの交換等の情報を得ることができる。
次に、電力差分解析(DPA:Differential Power Analysis)について説明する。耐タンパデバイスの消費電力は一般に演算内容と演算に用いられている秘密情報に依存する。しかしこれらの内容に依存した消費電力の変化は小さく、測定誤差やノイズなどから見分けることは一般に困難である。
そこでKocherらは大量の測定値の平均をとって測定誤差やノイズなどの影響を小さくし、全データの平均値との差分を取ることで演算プロセスによる電力消費の影響を除いて、用いられる秘密情報による消費電力の変化のみを取り出す方法(電力差分解析)を提案した。
KocherらはDESに対する適用例を示している。まず、ラウンド関数部の第1段、または第16段に入るラウンド鍵の一部のビットについて予想し、第1段、または第16段の最後にメモリに書きこまれると予想されるデータの1ビットの値に注目して、その値に従って消費電力の観測データを分類する。次にそれぞれのグループについて測定値の平均をとり、それらの差分をとる。予想が正しい場合注目したビットが演算に用いられるとき消費電力の差分が大きくなる。予想が異なる場合目立った差分は確認されない。
電力差分解析は、具体的には、以下の手順(ステップ1〜ステップ7)に従った解析が行われる。
(ステップ1)
m回暗号化プロセスを観測し、それぞれ第16段の消費電力の変化T1,・・・,Tmを観測する。さらに、暗号文C1,・・・,Cmを記録する。第16段の消費電力の変化を解析に用いる場合、平文の情報は必要ない。なお、mは1000程度で十分である。
(ステップ2)
鍵に依存した分配関数D(Ks,C)を選択する。ただし、Ksは何らかの鍵情報、Cは暗号文である。
例えば、最終段のSボックス1の出力の1ビット目の値に着目し、Sボックス1に供給される6ビットの部分鍵を推定する場合を考える。この場合、関数Dは次式で与えられる。
Figure 2005080039
ただし、
K16は、第16段にSボックス1に供給される6ビットの部分鍵の予想値、
C6はK16と排他論理和(XOR)される暗号文の6ビット、
SBOX1(x)はSボックス1に6ビットxが供給された場合の出力結果の1ビット目、
C1はSBOX1の出力結果に排他論理和(XOR)される暗号文の1ビットである。
(ステップ3)
関数Dを用いてT1,・・・,Tmを2つのグループに分ける。
S0={Ti|D(・,・,・)=0}
S1={Ti|D(・,・,・)=1}
次に、それぞれのグループについて消費電力の平均値を取る。
Figure 2005080039
ただし、|S0|+|S1|=mである。
(ステップ4)
A0とA1の差分をとり、電力差分信号ΔDを得る。
ΔD=A−A
(ステップ5)
部分鍵の予想値Ksが正しくない場合、D(・,・,・)は暗号文に対してほぼランダムに"0"と"1"を出力する。従って十分多くのサンプルを取ると、ΔDの値は0に近づいていく。ただし、実際には正しい予想値Ksとの相互作用のため、ΔDの波形は完全にはフラットにならない。Ksが正しい場合は、D(・,・,・)は注目したビットの実際の値と同じ値を取るため、m→∞とすることで、ΔDは注目したビットを用いるときに消費する電力に近づいていく。
他のデータ値や測定誤差などD(・,・,・)に依存しないものは0に近づいていく。消費電力はデータのビット値に依存するため、D(・,・,・)の波形は注目したビットが用いられる領域でパルスを見せ、それ以外の領域では平坦になる。
(ステップ6)
以上を繰り返し、Sボックス1に供給される部分鍵を推定する。反復の最大値は2=64回である。
(ステップ7)
同様の作業を残り7つのSボックスについて行い、秘密鍵について48ビットの情報を得る。残りの8ビットの鍵情報は全探索によって求める。これは、DESに関する例であるが、Camellia等で利用されている8×8Sboxについても同様に適用が可能である。
[2.電力差分解析に基づく暗号解析における計算量の削減構成、および暗号解析に必要な計算量を指標として暗号処理の安全性を評価可能とした暗号解析処理装置、および方法]
次に、電力差分解析に基づく暗号解析における計算量の削減構成、および暗号解析に必要な計算量を指標として暗号処理の安全性を評価可能とした暗号解析処理装置、および暗号解析処理方法について説明する。
以下では、前述したKocherらによる電力差分解析(DPA:Differential Power Analysis)と同様、DESの第1段及び第16段のラウンド鍵の推定処理において、計算量を大幅に削減した処理について説明する。
前述のKocherらによる電力差分解析においては、DESの第1段及び第16段のラウンド鍵の推定において、DESの第1段及び第16段に構成される各々8つの6ビット入力のSboxに対応する鍵の全数探索を行う必要があり、計算時間やデータを格納するメモリが多数必要であるという問題点があった。
DES各ラウンドのF関数は、先に図3を参照して説明したように、8つのSボックス(Sbox)を有し、その各々のSボックスに対して、48ビットのラウンド鍵の6ビットの部分鍵が対応づけられる構成となっている。
図3に示すように、F関数は、非線形処理を実行する8つのSボックス(Sbox)を有する。ラウンド関数部の前段からの入力値R(n−1)は置換部171によって48ビットに拡大され、さらに鍵スケジュール部から入力する鍵(48ビット)と排他論理和が実行され、その出力が6ビットずつ非線形変換処理を実行する複数のSボックス181−1〜8に入力される。各Sボックスでは、例えば変換テーブルを適用した6ビットから4ビットへの非線形変換処理が実行される。
Sボックス181−1〜8からの出力ビット4×8=32ビットは、置換部172に入力されて、ビット位置の入れ替え処理がなされ、F関数出力32ビットを生成して出力する。
8つのSボックス(Sbox)181−1〜8各々への入力は、ラウンド関数部の前段からの入力値R(n−1)は置換部171によって48ビットに拡大置換されたデータの48/8=6ビットと、鍵スケジュール部から入力するラウンド鍵(48ビット)を構成する48/8=6ビットとの排他論理和結果である。
暗号解析においては、ラウンド関数部における第1段では既知の入力値を適用可能であり、第16段では、出力値を取得可能である。従って、ラウンド関数部における第1段および第16段の8つのSボックス(Sbox)181−1〜8の入力値を上述したKocherらによる電力差分解析(DPA:Differential Power Analysis)により推定することで、第1段および第16段のラウンド鍵が解析可能となる。
つまり、16段のラウンド関数部によって構成されるDES暗号処理において適用される第1段および第16段のラウンド鍵は、第1段が8組の6ビット鍵、第16段も8組の6ビット鍵が適用され、計16組の6ビット鍵によって表現することができる。
DESの鍵スケジュール、すなわち、ラウンド鍵の生成ルールによれば、各ラウンドのF関数部(ラウンド関数部)において適用するラウンド鍵の構成ビットはすべてが独立ビットということはなく、同一ビットが複数の組に属する6ビット鍵の一部として共有されている。
例えば、第1段のF関数部(ラウンド関数部)の第2Sボックス(Sbox)に対して入力するデータに対応して適用される第1段のラウンド鍵(48ビット)の部分鍵6ビットの第3及び第4ビットは、第16段のF関数部(ラウンド関数部)の第4Sボックス(Sbox)に対して入力するデータに対応して適用される第16段のラウンド鍵(48ビット)の部分鍵6ビットの第1及び第2ビットと常に同一となる。
すなわち、
第1段、第2Sboxの適用鍵6ビットが、
a,b,c,d,e,f
の6ビットであるとき、
第16段、第4Sboxの適用鍵6ビットは、
c,d,g,h,i,j
となる。
これは、DES暗号処理アルゴリズムにおいて予め定められた鍵スケジュールに基づくものであり、普遍的な関係である。
従って、第1段の第2Sボックス(Sbox)の入力データに対応して適用される部分鍵6ビットを探索して、6ビットの各ビット値(a,b,c,d,e,f)を求めた後に第16段の第4Sボックス(Sbox)の入力データに対応して適用される6ビットの部分鍵の構成ビットを探索する際には、6ビット全てを探索することは必要ではなく、未知の4ビット(g,h,i,j)のみを探索すればよい。
1つのSボックスに対応して供給される部分鍵の推定に必要な計算量、すなわち6ビット各々について探索する場合には、6ビットのすべての組み合わせ、すなわち[000000]〜[111111]の全パターンを設定して電力差分解析、すなわち探索処理を実行してみることが必要となる。すなわち、2=64回の探索処理が必要となる。
しかし、上述のように、第16段の第4Sボックス(Sbox)の入力データに対応して適用される6ビットの部分鍵中、4ビット(g,h,i,j)のみを探索する場合には、6ビット全てつまり64回の探索をする必要はなく、未知の4ビットのみの全パターンについてのみ探索、すなわち、2=16回の探索処理で処理を終了することができる。
1つのSボックスに対応する6ビット鍵の全てを探索する場合、その探索には、2=64回の探索処理が必要であるので、従来のKocherの全探索手法によれば、第1段の8つのSボックス全ての6ビット鍵、すなわち48ビットラウンド鍵の探索に8×2=512回、同様に第16段の8つのSボックス全ての6ビット鍵、すなわち48ビットラウンド鍵の探索に8×2=512回を要し、計1024回の探索処理が必要となっていた。
なお、これらの2つの異なる48ビットラウンド鍵K(1),K(16)が求まると、各ラウンド鍵の元鍵としてのマスター鍵56ビットの値を求めることができる。
すなわち、DESアルゴリズムにおけるラウンド鍵生成処理においては、マスター鍵、あるいは前段のラウンド鍵生成部からの入力に基づいて、予め決められた特定のデータ置換、シフト処理によって各ラウンドに適用するラウンド鍵を生成する。従って、2つの異なる48ビットラウンド鍵K(1),K(16)が求まると、各ラウンド鍵の元鍵としてのマスター鍵56ビットの値を求めることができる。
図5に、ラウンド鍵生成部の構成を示す。図5に示すように、ラウンド鍵生成部200は、前段のラウンド鍵生成部、あるいは、マスター鍵(主鍵)置換部(図1参照)からの入力56ビットの上位28ビットCn−1と、下位28ビットDn−1をそれぞれビットシフト手段201,202に入力し、予め各ラウンドにおいて決められたシフト量のビットシフト(巡回シフト)を行う。
シフト量は、図6に示すように、暗号化処理および復号処理において、各ラウンドに応じて予め設定された量の左巡回シフトまたは右巡回シフトが上位28ビットCn−1と、下位28ビットDn−1に対して行われる。
さらに、ビットシフトされたデータが、置換部(PC2)203に入力され、予め定められた置換処理により、ビット位置が入れ替えられラウンド鍵K(n)が生成され、ラウンド関数部に入力される。
置換部(PC2)203において実行する置換は、以下の置換行列PC2によって実行される。
Figure 2005080039
上記置換行列PC2は、例えば出力1ビット目は、入力の第14ビット、出力2ビット目は、入力の第17ビットのビットとして対応付けられて出力を決定していることを示している。なお、入力56ビットには、パリティが設定されているため、入力56ビットからパリティビットを除く変換を行い48ビットのラウンド鍵K(n)がラウンド関数部に出力される。
このように予め定められたルールに従ってラウンド鍵が生成される構成であり、2つの異なる48ビットラウンド鍵K(1),K(16)が求まると、各ラウンド鍵の元鍵としてのマスター鍵の構成ビットの値を求めることができる。
従来のKocherの全探索手法によれば、第1段の8つのSボックス全ての6ビット鍵、すなわち48ビットラウンド鍵の探索に8×2=512回、同様に第16段の8つのSボックス全ての6ビット鍵、すなわち48ビットラウンド鍵の探索に8×2=512回を要し、計1024回の探索処理が必要となっていた。
しかし、上述したように、例えば第16段の第4Sボックス(Sbox)の入力データに対応して適用される6ビットの部分鍵の2つのビットは、第1段の第2Sボックス(Sbox)に対して入力するデータに対応して適用される第1段のラウンド鍵(48ビット)の部分鍵6ビットの第3及び第4ビットに等しい。従って、第16段の第4Sボックス(Sbox)の入力データに対応して適用される6ビットの部分鍵の探索処理は、未知の4ビットのみを探索、すなわち、2=16回の探索処理で処理を終了することができる。
このように、第1段または第16段の各Sボックスに適用する部分鍵の共通なビット情報を考慮して、第1段の48ビットのラウンド鍵と第16段の48ビットのラウンド鍵の全てを求め、最終的に56ビットのマスター鍵を求めるために必要な探索回数が最小になるような探索順序を可能な順列について全て計算によって算出した。
その結果、56ビットのマスター鍵(DES鍵)全てのビット情報を導出するために要する最小探索回数は、528回であることが判明した。従来のKocherの全探索手法によれば計1024回の探索処理が必要となっていたが、本発明の手法によれば、この探索回数を大幅に削減し、528回の探索によって、56ビットのDES鍵全てを導出することが可能となった。
この最小の528回の探索回数で鍵を探索するシーケンスは1536通りある。図7は、その1つのシーケンスを示している。
図7において、K1は、第1段のラウンド関数部の第nのSボックスに適用する鍵の探索処理を示し、K16は、第16段のラウンド関数部の第nのSボックスに適用する鍵の探索処理を示している。すなわち、ステップS101の処理として、第1段のラウンド関数部の第2のSボックスに適用する鍵の探索処理を実行し、その次のステップS102の処理として、第16段のラウンド関数部の第4のSボックスに適用する鍵の探索処理を実行し、さらに、ステップS103の処理として、第1段のラウンド関数部の第3のSボックスに適用する鍵の探索処理、以下、最後のステップS116の第16段のラウンド関数部の第7のSボックスに適用する鍵の探索処理を実行することで、第1段の48ビットのラウンド鍵と第16段の48ビットのラウンド鍵の全てを求め、最終的に56ビットのマスター鍵を求めることができる。
ここで、例えばステップS102において実行する第16段のラウンド関数部の第4のSボックスに適用する鍵の探索処理では、先にステップS101で実行済みの第1段のラウンド関数部の第2のSボックスに適用する鍵の探索処理において取得したビット情報と重複するビットについての探索処理は実行しない。以下の探索処理においても、すでに実行済みの探索処理によって取得したビット情報と重複するビット情報が含まれる場合には、探索処理を行わない。この結果、従来、16×2=1024回の探索処理が必要となっていたが、528回の探索によって、56ビットのDES鍵全てを導出することが可能となる。
図8を参照して、図7に示すステップS101〜S108までの各ステップにおいて実行すべき探索処理と、各ステップにおいて、探索処理を省略可能なビット情報、すなわち、先行ステップにおいて検出済みのビット情報について説明する。
図8に示す二重枠の領域が各ステップにおいての鍵情報探索を実行するSボックスである。例えばステップS101においては、第1段ラウンドの第2Sボックスの6ビットを対象として探索処理がなされる。なお、第1段ラウンドの第2Sボックスの6ビットとして、[4,1,16,7,22,11]と示されているが、これらの数値はマスター鍵56ビットの各ビット位置情報に対応する。すなわち、このステップS101の探索処理において、マスター鍵1〜56のビット情報のうち、[4,1,16,7,22,11]の6ビットのビット値が取得される。このステップでの探索処理回数は、2=64回である。
次のステップS102においては、第16段ラウンドの第4Sボックスのビットを対象として探索処理がなされる。この処理において、第16段ラウンドの第4Sボックスの第1ビット[16]と、第2ビット[7]は、ステップS101における第1段ラウンドの第2Sボックスの6ビット中に含まれるビットと同一であり、これらの2つのビットについての探索処理を省いて、残り4ビット[27,20,13,2]のみについて探索処理を行う。図中、黒丸印が、新たに探索処理を実行するビットを示し、白丸印が、すでに探索済みのビットであることを示している。このステップでの探索処理回数は、2=16回である。
以下、同様に、ステップS103では、第1段ラウンドの第3Sボックスの3ビットを対象として探索処理(2=8回)を実行し、ステップS104で第16段ラウンドの第1Sボックスの2ビットを対象とした探索処理(2=4回)、ステップS105で第1段ラウンドの第4Sボックスの4ビットを対象とした探索処理(2=16回)、ステップS106で第16段ラウンドの第2Sボックスの3ビットを対象とした探索処理(2=8回)、ステップS107で第1段ラウンドの第1Sボックスの3ビットを対象とした探索処理(2=8回)、ステップS108で第16段ラウンドの第3Sボックスの3ビットを対象とした探索処理(2=8回)を実行する。
これら8つのステップで、マスター鍵の56ビットのうち、28ビットのビット情報が得られることになる。この8つのステップに続いて、図示しない、ステップS109〜S116の処理を同様に実行することで、計528回の探索処理で、マスター鍵(DES鍵)の全56ビット情報を解析することが可能となる。
最小の528回の探索回数で56ビットのDES鍵全てを導出することが可能となるシーケンスは全体で、1536通りある。以下にそのシーケンスのリスト[リスト1]を示す。以下のリストにおいて、[K1,〜,K16]は、左から右に順番に、第1段または第16段のラウンド関数部の第n番目(n=1〜8)のSボックスに適用する鍵ビットを求めることを示している。既に実行ずみの探索によって得られたビット情報と同一のビット情報を含む場合は、探索処理は実行しない。
[リスト1]
[K12,K164,K13,K161,K14,K162,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K12,K164,K13,K161,K14,K162,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K12,K164,K13,K161,K14,K162,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K12,K164,K13,K161,K14,K162,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K12,K164,K13,K161,K14,K162,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K12,K164,K13,K161,K14,K162,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K12,K164,K13,K161,K14,K162,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K12,K164,K13,K161,K14,K162,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K12,K164,K13,K161,K14,K162,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K12,K164,K13,K161,K14,K162,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K12,K164,K13,K161,K14,K162,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K12,K164,K13,K161,K14,K162,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K12,K164,K13,K161,K14,K162,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K12,K164,K13,K161,K14,K162,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K12,K164,K13,K161,K14,K162,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K12,K164,K13,K161,K14,K162,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K12,K164,K13,K161,K14,K162,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K12,K164,K13,K161,K14,K162,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K12,K164,K13,K161,K14,K162,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K12,K164,K13,K161,K14,K162,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K12,K164,K13,K161,K14,K162,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K12,K164,K13,K161,K14,K162,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K12,K164,K13,K161,K14,K162,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K12,K164,K13,K161,K14,K162,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K12,K164,K13,K161,K14,K162,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K12,K164,K13,K161,K14,K162,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K12,K164,K13,K161,K14,K162,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K12,K164,K13,K161,K14,K162,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K12,K164,K13,K161,K14,K162,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K12,K164,K13,K161,K14,K162,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K12,K164,K13,K161,K14,K162,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K12,K164,K13,K161,K14,K162,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K13,K161,K14,K162,K164,K11,K12,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K13,K161,K14,K162,K164,K11,K12,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K13,K161,K14,K162,K164,K11,K12,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K13,K161,K14,K162,K164,K11,K12,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K13,K161,K14,K162,K164,K11,K12,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K13,K161,K14,K162,K164,K11,K12,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K13,K161,K14,K162,K164,K11,K12,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K13,K161,K14,K162,K164,K11,K12,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K13,K161,K14,K162,K164,K11,K12,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K13,K161,K14,K162,K164,K11,K12,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K13,K161,K14,K162,K164,K11,K12,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K13,K161,K14,K162,K164,K11,K12,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K13,K161,K14,K162,K164,K11,K12,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K13,K161,K14,K162,K164,K11,K12,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K13,K161,K14,K162,K164,K11,K12,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K13,K161,K14,K162,K164,K11,K12,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K13,K161,K14,K162,K164,K11,K12,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K13,K161,K14,K162,K164,K11,K12,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K13,K161,K14,K162,K164,K11,K12,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K13,K161,K14,K162,K164,K11,K12,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K13,K161,K14,K162,K164,K11,K12,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K13,K161,K14,K162,K164,K11,K12,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K13,K161,K14,K162,K164,K11,K12,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K13,K161,K14,K162,K164,K11,K12,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K13,K161,K14,K162,K164,K11,K12,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K13,K161,K14,K162,K164,K11,K12,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K13,K161,K14,K162,K164,K11,K12,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K13,K161,K14,K162,K164,K11,K12,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K13,K161,K14,K162,K164,K11,K12,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K13,K161,K14,K162,K164,K11,K12,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K13,K161,K14,K162,K164,K11,K12,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K13,K161,K14,K162,K164,K11,K12,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K13,K161,K14,K162,K164,K12,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K13,K161,K14,K162,K164,K12,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K13,K161,K14,K162,K164,K12,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K13,K161,K14,K162,K164,K12,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K13,K161,K14,K162,K164,K12,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K13,K161,K14,K162,K164,K12,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K13,K161,K14,K162,K164,K12,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K13,K161,K14,K162,K164,K12,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K13,K161,K14,K162,K164,K12,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K13,K161,K14,K162,K164,K12,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K13,K161,K14,K162,K164,K12,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K13,K161,K14,K162,K164,K12,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K13,K161,K14,K162,K164,K12,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K13,K161,K14,K162,K164,K12,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K13,K161,K14,K162,K164,K12,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K13,K161,K14,K162,K164,K12,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K13,K161,K14,K162,K164,K12,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K13,K161,K14,K162,K164,K12,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K13,K161,K14,K162,K164,K12,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K13,K161,K14,K162,K164,K12,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K13,K161,K14,K162,K164,K12,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K13,K161,K14,K162,K164,K12,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K13,K161,K14,K162,K164,K12,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K13,K161,K14,K162,K164,K12,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K13,K161,K14,K162,K164,K12,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K13,K161,K14,K162,K164,K12,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K13,K161,K14,K162,K164,K12,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K13,K161,K14,K162,K164,K12,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K13,K161,K14,K162,K164,K12,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K13,K161,K14,K162,K164,K12,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K13,K161,K14,K162,K164,K12,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K13,K161,K14,K162,K164,K12,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K13,K161,K14,K164,K12,K162,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K13,K161,K14,K164,K12,K162,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K13,K161,K14,K164,K12,K162,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K13,K161,K14,K164,K12,K162,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K13,K161,K14,K164,K12,K162,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K13,K161,K14,K164,K12,K162,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K13,K161,K14,K164,K12,K162,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K13,K161,K14,K164,K12,K162,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K13,K161,K14,K164,K12,K162,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K13,K161,K14,K164,K12,K162,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K13,K161,K14,K164,K12,K162,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K13,K161,K14,K164,K12,K162,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K13,K161,K14,K164,K12,K162,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K13,K161,K14,K164,K12,K162,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K13,K161,K14,K164,K12,K162,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K13,K161,K14,K164,K12,K162,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K13,K161,K14,K164,K12,K162,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K13,K161,K14,K164,K12,K162,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K13,K161,K14,K164,K12,K162,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K13,K161,K14,K164,K12,K162,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K13,K161,K14,K164,K12,K162,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K13,K161,K14,K164,K12,K162,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K13,K161,K14,K164,K12,K162,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K13,K161,K14,K164,K12,K162,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K13,K161,K14,K164,K12,K162,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K13,K161,K14,K164,K12,K162,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K13,K161,K14,K164,K12,K162,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K13,K161,K14,K164,K12,K162,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K13,K161,K14,K164,K12,K162,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K13,K161,K14,K164,K12,K162,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K13,K161,K14,K164,K12,K162,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K13,K161,K14,K164,K12,K162,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K13,K161,K14,K164,K162,K11,K12,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K13,K161,K14,K164,K162,K11,K12,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K13,K161,K14,K164,K162,K11,K12,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K13,K161,K14,K164,K162,K11,K12,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K13,K161,K14,K164,K162,K11,K12,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K13,K161,K14,K164,K162,K11,K12,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K13,K161,K14,K164,K162,K11,K12,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K13,K161,K14,K164,K162,K11,K12,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K13,K161,K14,K164,K162,K11,K12,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K13,K161,K14,K164,K162,K11,K12,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K13,K161,K14,K164,K162,K11,K12,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K13,K161,K14,K164,K162,K11,K12,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K13,K161,K14,K164,K162,K11,K12,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K13,K161,K14,K164,K162,K11,K12,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K13,K161,K14,K164,K162,K11,K12,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K13,K161,K14,K164,K162,K11,K12,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K13,K161,K14,K164,K162,K11,K12,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K13,K161,K14,K164,K162,K11,K12,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K13,K161,K14,K164,K162,K11,K12,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K13,K161,K14,K164,K162,K11,K12,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K13,K161,K14,K164,K162,K11,K12,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K13,K161,K14,K164,K162,K11,K12,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K13,K161,K14,K164,K162,K11,K12,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K13,K161,K14,K164,K162,K11,K12,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K13,K161,K14,K164,K162,K11,K12,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K13,K161,K14,K164,K162,K11,K12,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K13,K161,K14,K164,K162,K11,K12,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K13,K161,K14,K164,K162,K11,K12,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K13,K161,K14,K164,K162,K11,K12,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K13,K161,K14,K164,K162,K11,K12,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K13,K161,K14,K164,K162,K11,K12,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K13,K161,K14,K164,K162,K11,K12,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K13,K161,K14,K164,K162,K12,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K13,K161,K14,K164,K162,K12,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K13,K161,K14,K164,K162,K12,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K13,K161,K14,K164,K162,K12,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K13,K161,K14,K164,K162,K12,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K13,K161,K14,K164,K162,K12,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K13,K161,K14,K164,K162,K12,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K13,K161,K14,K164,K162,K12,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K13,K161,K14,K164,K162,K12,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K13,K161,K14,K164,K162,K12,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K13,K161,K14,K164,K162,K12,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K13,K161,K14,K164,K162,K12,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K13,K161,K14,K164,K162,K12,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K13,K161,K14,K164,K162,K12,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K13,K161,K14,K164,K162,K12,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K13,K161,K14,K164,K162,K12,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K13,K161,K14,K164,K162,K12,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K13,K161,K14,K164,K162,K12,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K13,K161,K14,K164,K162,K12,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K13,K161,K14,K164,K162,K12,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K13,K161,K14,K164,K162,K12,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K13,K161,K14,K164,K162,K12,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K13,K161,K14,K164,K162,K12,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K13,K161,K14,K164,K162,K12,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K13,K161,K14,K164,K162,K12,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K13,K161,K14,K164,K162,K12,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K13,K161,K14,K164,K162,K12,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K13,K161,K14,K164,K162,K12,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K13,K161,K14,K164,K162,K12,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K13,K161,K14,K164,K162,K12,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K13,K161,K14,K164,K162,K12,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K13,K161,K14,K164,K162,K12,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K13,K161,K164,K12,K14,K162,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K13,K161,K164,K12,K14,K162,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K13,K161,K164,K12,K14,K162,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K13,K161,K164,K12,K14,K162,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K13,K161,K164,K12,K14,K162,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K13,K161,K164,K12,K14,K162,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K13,K161,K164,K12,K14,K162,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K13,K161,K164,K12,K14,K162,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K13,K161,K164,K12,K14,K162,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K13,K161,K164,K12,K14,K162,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K13,K161,K164,K12,K14,K162,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K13,K161,K164,K12,K14,K162,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K13,K161,K164,K12,K14,K162,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K13,K161,K164,K12,K14,K162,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K13,K161,K164,K12,K14,K162,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K13,K161,K164,K12,K14,K162,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K13,K161,K164,K12,K14,K162,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K13,K161,K164,K12,K14,K162,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K13,K161,K164,K12,K14,K162,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K13,K161,K164,K12,K14,K162,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K13,K161,K164,K12,K14,K162,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K13,K161,K164,K12,K14,K162,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K13,K161,K164,K12,K14,K162,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K13,K161,K164,K12,K14,K162,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K13,K161,K164,K12,K14,K162,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K13,K161,K164,K12,K14,K162,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K13,K161,K164,K12,K14,K162,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K13,K161,K164,K12,K14,K162,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K13,K161,K164,K12,K14,K162,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K13,K161,K164,K12,K14,K162,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K13,K161,K164,K12,K14,K162,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K13,K161,K164,K12,K14,K162,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K13,K161,K164,K14,K12,K162,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K13,K161,K164,K14,K12,K162,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K13,K161,K164,K14,K12,K162,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K13,K161,K164,K14,K12,K162,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K13,K161,K164,K14,K12,K162,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K13,K161,K164,K14,K12,K162,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K13,K161,K164,K14,K12,K162,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K13,K161,K164,K14,K12,K162,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K13,K161,K164,K14,K12,K162,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K13,K161,K164,K14,K12,K162,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K13,K161,K164,K14,K12,K162,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K13,K161,K164,K14,K12,K162,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K13,K161,K164,K14,K12,K162,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K13,K161,K164,K14,K12,K162,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K13,K161,K164,K14,K12,K162,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K13,K161,K164,K14,K12,K162,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K13,K161,K164,K14,K12,K162,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K13,K161,K164,K14,K12,K162,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K13,K161,K164,K14,K12,K162,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K13,K161,K164,K14,K12,K162,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K13,K161,K164,K14,K12,K162,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K13,K161,K164,K14,K12,K162,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K13,K161,K164,K14,K12,K162,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K13,K161,K164,K14,K12,K162,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K13,K161,K164,K14,K12,K162,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K13,K161,K164,K14,K12,K162,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K13,K161,K164,K14,K12,K162,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K13,K161,K164,K14,K12,K162,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K13,K161,K164,K14,K12,K162,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K13,K161,K164,K14,K12,K162,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K13,K161,K164,K14,K12,K162,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K13,K161,K164,K14,K12,K162,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K13,K161,K164,K14,K162,K11,K12,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K13,K161,K164,K14,K162,K11,K12,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K13,K161,K164,K14,K162,K11,K12,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K13,K161,K164,K14,K162,K11,K12,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K13,K161,K164,K14,K162,K11,K12,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K13,K161,K164,K14,K162,K11,K12,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K13,K161,K164,K14,K162,K11,K12,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K13,K161,K164,K14,K162,K11,K12,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K13,K161,K164,K14,K162,K11,K12,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K13,K161,K164,K14,K162,K11,K12,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K13,K161,K164,K14,K162,K11,K12,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K13,K161,K164,K14,K162,K11,K12,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K13,K161,K164,K14,K162,K11,K12,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K13,K161,K164,K14,K162,K11,K12,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K13,K161,K164,K14,K162,K11,K12,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K13,K161,K164,K14,K162,K11,K12,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K13,K161,K164,K14,K162,K11,K12,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K13,K161,K164,K14,K162,K11,K12,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K13,K161,K164,K14,K162,K11,K12,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K13,K161,K164,K14,K162,K11,K12,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K13,K161,K164,K14,K162,K11,K12,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K13,K161,K164,K14,K162,K11,K12,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K13,K161,K164,K14,K162,K11,K12,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K13,K161,K164,K14,K162,K11,K12,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K13,K161,K164,K14,K162,K11,K12,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K13,K161,K164,K14,K162,K11,K12,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K13,K161,K164,K14,K162,K11,K12,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K13,K161,K164,K14,K162,K11,K12,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K13,K161,K164,K14,K162,K11,K12,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K13,K161,K164,K14,K162,K11,K12,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K13,K161,K164,K14,K162,K11,K12,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K13,K161,K164,K14,K162,K11,K12,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K13,K161,K164,K14,K162,K12,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K13,K161,K164,K14,K162,K12,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K13,K161,K164,K14,K162,K12,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K13,K161,K164,K14,K162,K12,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K13,K161,K164,K14,K162,K12,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K13,K161,K164,K14,K162,K12,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K13,K161,K164,K14,K162,K12,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K13,K161,K164,K14,K162,K12,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K13,K161,K164,K14,K162,K12,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K13,K161,K164,K14,K162,K12,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K13,K161,K164,K14,K162,K12,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K13,K161,K164,K14,K162,K12,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K13,K161,K164,K14,K162,K12,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K13,K161,K164,K14,K162,K12,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K13,K161,K164,K14,K162,K12,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K13,K161,K164,K14,K162,K12,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K13,K161,K164,K14,K162,K12,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K13,K161,K164,K14,K162,K12,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K13,K161,K164,K14,K162,K12,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K13,K161,K164,K14,K162,K12,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K13,K161,K164,K14,K162,K12,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K13,K161,K164,K14,K162,K12,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K13,K161,K164,K14,K162,K12,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K13,K161,K164,K14,K162,K12,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K13,K161,K164,K14,K162,K12,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K13,K161,K164,K14,K162,K12,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K13,K161,K164,K14,K162,K12,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K13,K161,K164,K14,K162,K12,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K13,K161,K164,K14,K162,K12,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K13,K161,K164,K14,K162,K12,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K13,K161,K164,K14,K162,K12,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K13,K161,K164,K14,K162,K12,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K13,K164,K12,K161,K14,K162,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K13,K164,K12,K161,K14,K162,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K13,K164,K12,K161,K14,K162,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K13,K164,K12,K161,K14,K162,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K13,K164,K12,K161,K14,K162,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K13,K164,K12,K161,K14,K162,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K13,K164,K12,K161,K14,K162,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K13,K164,K12,K161,K14,K162,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K13,K164,K12,K161,K14,K162,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K13,K164,K12,K161,K14,K162,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K13,K164,K12,K161,K14,K162,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K13,K164,K12,K161,K14,K162,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K13,K164,K12,K161,K14,K162,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K13,K164,K12,K161,K14,K162,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K13,K164,K12,K161,K14,K162,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K13,K164,K12,K161,K14,K162,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K13,K164,K12,K161,K14,K162,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K13,K164,K12,K161,K14,K162,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K13,K164,K12,K161,K14,K162,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K13,K164,K12,K161,K14,K162,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K13,K164,K12,K161,K14,K162,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K13,K164,K12,K161,K14,K162,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K13,K164,K12,K161,K14,K162,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K13,K164,K12,K161,K14,K162,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K13,K164,K12,K161,K14,K162,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K13,K164,K12,K161,K14,K162,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K13,K164,K12,K161,K14,K162,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K13,K164,K12,K161,K14,K162,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K13,K164,K12,K161,K14,K162,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K13,K164,K12,K161,K14,K162,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K13,K164,K12,K161,K14,K162,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K13,K164,K12,K161,K14,K162,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K13,K164,K161,K12,K14,K162,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K13,K164,K161,K12,K14,K162,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K13,K164,K161,K12,K14,K162,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K13,K164,K161,K12,K14,K162,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K13,K164,K161,K12,K14,K162,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K13,K164,K161,K12,K14,K162,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K13,K164,K161,K12,K14,K162,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K13,K164,K161,K12,K14,K162,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K13,K164,K161,K12,K14,K162,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K13,K164,K161,K12,K14,K162,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K13,K164,K161,K12,K14,K162,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K13,K164,K161,K12,K14,K162,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K13,K164,K161,K12,K14,K162,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K13,K164,K161,K12,K14,K162,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K13,K164,K161,K12,K14,K162,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K13,K164,K161,K12,K14,K162,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K13,K164,K161,K12,K14,K162,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K13,K164,K161,K12,K14,K162,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K13,K164,K161,K12,K14,K162,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K13,K164,K161,K12,K14,K162,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K13,K164,K161,K12,K14,K162,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K13,K164,K161,K12,K14,K162,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K13,K164,K161,K12,K14,K162,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K13,K164,K161,K12,K14,K162,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K13,K164,K161,K12,K14,K162,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K13,K164,K161,K12,K14,K162,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K13,K164,K161,K12,K14,K162,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K13,K164,K161,K12,K14,K162,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K13,K164,K161,K12,K14,K162,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K13,K164,K161,K12,K14,K162,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K13,K164,K161,K12,K14,K162,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K13,K164,K161,K12,K14,K162,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K13,K164,K161,K14,K12,K162,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K13,K164,K161,K14,K12,K162,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K13,K164,K161,K14,K12,K162,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K13,K164,K161,K14,K12,K162,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K13,K164,K161,K14,K12,K162,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K13,K164,K161,K14,K12,K162,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K13,K164,K161,K14,K12,K162,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K13,K164,K161,K14,K12,K162,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K13,K164,K161,K14,K12,K162,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K13,K164,K161,K14,K12,K162,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K13,K164,K161,K14,K12,K162,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K13,K164,K161,K14,K12,K162,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K13,K164,K161,K14,K12,K162,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K13,K164,K161,K14,K12,K162,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K13,K164,K161,K14,K12,K162,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K13,K164,K161,K14,K12,K162,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K13,K164,K161,K14,K12,K162,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K13,K164,K161,K14,K12,K162,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K13,K164,K161,K14,K12,K162,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K13,K164,K161,K14,K12,K162,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K13,K164,K161,K14,K12,K162,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K13,K164,K161,K14,K12,K162,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K13,K164,K161,K14,K12,K162,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K13,K164,K161,K14,K12,K162,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K13,K164,K161,K14,K12,K162,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K13,K164,K161,K14,K12,K162,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K13,K164,K161,K14,K12,K162,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K13,K164,K161,K14,K12,K162,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K13,K164,K161,K14,K12,K162,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K13,K164,K161,K14,K12,K162,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K13,K164,K161,K14,K12,K162,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K13,K164,K161,K14,K12,K162,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K13,K164,K161,K14,K162,K11,K12,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K13,K164,K161,K14,K162,K11,K12,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K13,K164,K161,K14,K162,K11,K12,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K13,K164,K161,K14,K162,K11,K12,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K13,K164,K161,K14,K162,K11,K12,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K13,K164,K161,K14,K162,K11,K12,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K13,K164,K161,K14,K162,K11,K12,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K13,K164,K161,K14,K162,K11,K12,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K13,K164,K161,K14,K162,K11,K12,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K13,K164,K161,K14,K162,K11,K12,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K13,K164,K161,K14,K162,K11,K12,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K13,K164,K161,K14,K162,K11,K12,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K13,K164,K161,K14,K162,K11,K12,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K13,K164,K161,K14,K162,K11,K12,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K13,K164,K161,K14,K162,K11,K12,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K13,K164,K161,K14,K162,K11,K12,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K13,K164,K161,K14,K162,K11,K12,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K13,K164,K161,K14,K162,K11,K12,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K13,K164,K161,K14,K162,K11,K12,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K13,K164,K161,K14,K162,K11,K12,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K13,K164,K161,K14,K162,K11,K12,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K13,K164,K161,K14,K162,K11,K12,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K13,K164,K161,K14,K162,K11,K12,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K13,K164,K161,K14,K162,K11,K12,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K13,K164,K161,K14,K162,K11,K12,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K13,K164,K161,K14,K162,K11,K12,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K13,K164,K161,K14,K162,K11,K12,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K13,K164,K161,K14,K162,K11,K12,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K13,K164,K161,K14,K162,K11,K12,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K13,K164,K161,K14,K162,K11,K12,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K13,K164,K161,K14,K162,K11,K12,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K13,K164,K161,K14,K162,K11,K12,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K13,K164,K161,K14,K162,K12,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K13,K164,K161,K14,K162,K12,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K13,K164,K161,K14,K162,K12,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K13,K164,K161,K14,K162,K12,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K13,K164,K161,K14,K162,K12,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K13,K164,K161,K14,K162,K12,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K13,K164,K161,K14,K162,K12,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K13,K164,K161,K14,K162,K12,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K13,K164,K161,K14,K162,K12,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K13,K164,K161,K14,K162,K12,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K13,K164,K161,K14,K162,K12,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K13,K164,K161,K14,K162,K12,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K13,K164,K161,K14,K162,K12,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K13,K164,K161,K14,K162,K12,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K13,K164,K161,K14,K162,K12,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K13,K164,K161,K14,K162,K12,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K13,K164,K161,K14,K162,K12,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K13,K164,K161,K14,K162,K12,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K13,K164,K161,K14,K162,K12,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K13,K164,K161,K14,K162,K12,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K13,K164,K161,K14,K162,K12,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K13,K164,K161,K14,K162,K12,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K13,K164,K161,K14,K162,K12,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K13,K164,K161,K14,K162,K12,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K13,K164,K161,K14,K162,K12,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K13,K164,K161,K14,K162,K12,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K13,K164,K161,K14,K162,K12,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K13,K164,K161,K14,K162,K12,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K13,K164,K161,K14,K162,K12,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K13,K164,K161,K14,K162,K12,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K13,K164,K161,K14,K162,K12,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K13,K164,K161,K14,K162,K12,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K14,K161,K13,K162,K164,K11,K12,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K14,K161,K13,K162,K164,K11,K12,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K14,K161,K13,K162,K164,K11,K12,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K14,K161,K13,K162,K164,K11,K12,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K14,K161,K13,K162,K164,K11,K12,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K14,K161,K13,K162,K164,K11,K12,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K14,K161,K13,K162,K164,K11,K12,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K14,K161,K13,K162,K164,K11,K12,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K14,K161,K13,K162,K164,K11,K12,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K14,K161,K13,K162,K164,K11,K12,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K14,K161,K13,K162,K164,K11,K12,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K14,K161,K13,K162,K164,K11,K12,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K14,K161,K13,K162,K164,K11,K12,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K14,K161,K13,K162,K164,K11,K12,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K14,K161,K13,K162,K164,K11,K12,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K14,K161,K13,K162,K164,K11,K12,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K14,K161,K13,K162,K164,K11,K12,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K14,K161,K13,K162,K164,K11,K12,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K14,K161,K13,K162,K164,K11,K12,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K14,K161,K13,K162,K164,K11,K12,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K14,K161,K13,K162,K164,K11,K12,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K14,K161,K13,K162,K164,K11,K12,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K14,K161,K13,K162,K164,K11,K12,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K14,K161,K13,K162,K164,K11,K12,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K14,K161,K13,K162,K164,K11,K12,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K14,K161,K13,K162,K164,K11,K12,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K14,K161,K13,K162,K164,K11,K12,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K14,K161,K13,K162,K164,K11,K12,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K14,K161,K13,K162,K164,K11,K12,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K14,K161,K13,K162,K164,K11,K12,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K14,K161,K13,K162,K164,K11,K12,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K14,K161,K13,K162,K164,K11,K12,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K14,K161,K13,K162,K164,K12,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K14,K161,K13,K162,K164,K12,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K14,K161,K13,K162,K164,K12,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K14,K161,K13,K162,K164,K12,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K14,K161,K13,K162,K164,K12,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K14,K161,K13,K162,K164,K12,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K14,K161,K13,K162,K164,K12,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K14,K161,K13,K162,K164,K12,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K14,K161,K13,K162,K164,K12,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K14,K161,K13,K162,K164,K12,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K14,K161,K13,K162,K164,K12,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K14,K161,K13,K162,K164,K12,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K14,K161,K13,K162,K164,K12,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K14,K161,K13,K162,K164,K12,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K14,K161,K13,K162,K164,K12,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K14,K161,K13,K162,K164,K12,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K14,K161,K13,K162,K164,K12,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K14,K161,K13,K162,K164,K12,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K14,K161,K13,K162,K164,K12,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K14,K161,K13,K162,K164,K12,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K14,K161,K13,K162,K164,K12,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K14,K161,K13,K162,K164,K12,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K14,K161,K13,K162,K164,K12,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K14,K161,K13,K162,K164,K12,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K14,K161,K13,K162,K164,K12,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K14,K161,K13,K162,K164,K12,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K14,K161,K13,K162,K164,K12,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K14,K161,K13,K162,K164,K12,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K14,K161,K13,K162,K164,K12,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K14,K161,K13,K162,K164,K12,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K14,K161,K13,K162,K164,K12,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K14,K161,K13,K162,K164,K12,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K14,K161,K13,K164,K12,K162,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K14,K161,K13,K164,K12,K162,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K14,K161,K13,K164,K12,K162,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K14,K161,K13,K164,K12,K162,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K14,K161,K13,K164,K12,K162,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K14,K161,K13,K164,K12,K162,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K14,K161,K13,K164,K12,K162,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K14,K161,K13,K164,K12,K162,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K14,K161,K13,K164,K12,K162,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K14,K161,K13,K164,K12,K162,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K14,K161,K13,K164,K12,K162,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K14,K161,K13,K164,K12,K162,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K14,K161,K13,K164,K12,K162,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K14,K161,K13,K164,K12,K162,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K14,K161,K13,K164,K12,K162,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K14,K161,K13,K164,K12,K162,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K14,K161,K13,K164,K12,K162,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K14,K161,K13,K164,K12,K162,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K14,K161,K13,K164,K12,K162,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K14,K161,K13,K164,K12,K162,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K14,K161,K13,K164,K12,K162,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K14,K161,K13,K164,K12,K162,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K14,K161,K13,K164,K12,K162,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K14,K161,K13,K164,K12,K162,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K14,K161,K13,K164,K12,K162,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K14,K161,K13,K164,K12,K162,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K14,K161,K13,K164,K12,K162,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K14,K161,K13,K164,K12,K162,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K14,K161,K13,K164,K12,K162,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K14,K161,K13,K164,K12,K162,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K14,K161,K13,K164,K12,K162,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K14,K161,K13,K164,K12,K162,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K14,K161,K13,K164,K162,K11,K12,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K14,K161,K13,K164,K162,K11,K12,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K14,K161,K13,K164,K162,K11,K12,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K14,K161,K13,K164,K162,K11,K12,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K14,K161,K13,K164,K162,K11,K12,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K14,K161,K13,K164,K162,K11,K12,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K14,K161,K13,K164,K162,K11,K12,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K14,K161,K13,K164,K162,K11,K12,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K14,K161,K13,K164,K162,K11,K12,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K14,K161,K13,K164,K162,K11,K12,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K14,K161,K13,K164,K162,K11,K12,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K14,K161,K13,K164,K162,K11,K12,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K14,K161,K13,K164,K162,K11,K12,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K14,K161,K13,K164,K162,K11,K12,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K14,K161,K13,K164,K162,K11,K12,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K14,K161,K13,K164,K162,K11,K12,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K14,K161,K13,K164,K162,K11,K12,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K14,K161,K13,K164,K162,K11,K12,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K14,K161,K13,K164,K162,K11,K12,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K14,K161,K13,K164,K162,K11,K12,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K14,K161,K13,K164,K162,K11,K12,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K14,K161,K13,K164,K162,K11,K12,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K14,K161,K13,K164,K162,K11,K12,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K14,K161,K13,K164,K162,K11,K12,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K14,K161,K13,K164,K162,K11,K12,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K14,K161,K13,K164,K162,K11,K12,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K14,K161,K13,K164,K162,K11,K12,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K14,K161,K13,K164,K162,K11,K12,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K14,K161,K13,K164,K162,K11,K12,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K14,K161,K13,K164,K162,K11,K12,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K14,K161,K13,K164,K162,K11,K12,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K14,K161,K13,K164,K162,K11,K12,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K14,K161,K13,K164,K162,K12,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K14,K161,K13,K164,K162,K12,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K14,K161,K13,K164,K162,K12,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K14,K161,K13,K164,K162,K12,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K14,K161,K13,K164,K162,K12,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K14,K161,K13,K164,K162,K12,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K14,K161,K13,K164,K162,K12,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K14,K161,K13,K164,K162,K12,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K14,K161,K13,K164,K162,K12,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K14,K161,K13,K164,K162,K12,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K14,K161,K13,K164,K162,K12,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K14,K161,K13,K164,K162,K12,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K14,K161,K13,K164,K162,K12,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K14,K161,K13,K164,K162,K12,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K14,K161,K13,K164,K162,K12,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K14,K161,K13,K164,K162,K12,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K14,K161,K13,K164,K162,K12,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K14,K161,K13,K164,K162,K12,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K14,K161,K13,K164,K162,K12,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K14,K161,K13,K164,K162,K12,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K14,K161,K13,K164,K162,K12,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K14,K161,K13,K164,K162,K12,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K14,K161,K13,K164,K162,K12,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K14,K161,K13,K164,K162,K12,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K14,K161,K13,K164,K162,K12,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K14,K161,K13,K164,K162,K12,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K14,K161,K13,K164,K162,K12,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K14,K161,K13,K164,K162,K12,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K14,K161,K13,K164,K162,K12,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K14,K161,K13,K164,K162,K12,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K14,K161,K13,K164,K162,K12,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K14,K161,K13,K164,K162,K12,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K14,K161,K162,K13,K164,K11,K12,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K14,K161,K162,K13,K164,K11,K12,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K14,K161,K162,K13,K164,K11,K12,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K14,K161,K162,K13,K164,K11,K12,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K14,K161,K162,K13,K164,K11,K12,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K14,K161,K162,K13,K164,K11,K12,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K14,K161,K162,K13,K164,K11,K12,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K14,K161,K162,K13,K164,K11,K12,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K14,K161,K162,K13,K164,K11,K12,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K14,K161,K162,K13,K164,K11,K12,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K14,K161,K162,K13,K164,K11,K12,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K14,K161,K162,K13,K164,K11,K12,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K14,K161,K162,K13,K164,K11,K12,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K14,K161,K162,K13,K164,K11,K12,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K14,K161,K162,K13,K164,K11,K12,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K14,K161,K162,K13,K164,K11,K12,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K14,K161,K162,K13,K164,K11,K12,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K14,K161,K162,K13,K164,K11,K12,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K14,K161,K162,K13,K164,K11,K12,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K14,K161,K162,K13,K164,K11,K12,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K14,K161,K162,K13,K164,K11,K12,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K14,K161,K162,K13,K164,K11,K12,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K14,K161,K162,K13,K164,K11,K12,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K14,K161,K162,K13,K164,K11,K12,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K14,K161,K162,K13,K164,K11,K12,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K14,K161,K162,K13,K164,K11,K12,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K14,K161,K162,K13,K164,K11,K12,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K14,K161,K162,K13,K164,K11,K12,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K14,K161,K162,K13,K164,K11,K12,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K14,K161,K162,K13,K164,K11,K12,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K14,K161,K162,K13,K164,K11,K12,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K14,K161,K162,K13,K164,K11,K12,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K14,K161,K162,K13,K164,K12,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K14,K161,K162,K13,K164,K12,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K14,K161,K162,K13,K164,K12,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K14,K161,K162,K13,K164,K12,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K14,K161,K162,K13,K164,K12,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K14,K161,K162,K13,K164,K12,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K14,K161,K162,K13,K164,K12,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K14,K161,K162,K13,K164,K12,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K14,K161,K162,K13,K164,K12,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K14,K161,K162,K13,K164,K12,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K14,K161,K162,K13,K164,K12,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K14,K161,K162,K13,K164,K12,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K14,K161,K162,K13,K164,K12,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K14,K161,K162,K13,K164,K12,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K14,K161,K162,K13,K164,K12,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K14,K161,K162,K13,K164,K12,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K14,K161,K162,K13,K164,K12,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K14,K161,K162,K13,K164,K12,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K14,K161,K162,K13,K164,K12,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K14,K161,K162,K13,K164,K12,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K14,K161,K162,K13,K164,K12,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K14,K161,K162,K13,K164,K12,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K14,K161,K162,K13,K164,K12,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K14,K161,K162,K13,K164,K12,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K14,K161,K162,K13,K164,K12,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K14,K161,K162,K13,K164,K12,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K14,K161,K162,K13,K164,K12,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K14,K161,K162,K13,K164,K12,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K14,K161,K162,K13,K164,K12,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K14,K161,K162,K13,K164,K12,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K14,K161,K162,K13,K164,K12,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K14,K161,K162,K13,K164,K12,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K14,K162,K161,K13,K164,K11,K12,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K14,K162,K161,K13,K164,K11,K12,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K14,K162,K161,K13,K164,K11,K12,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K14,K162,K161,K13,K164,K11,K12,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K14,K162,K161,K13,K164,K11,K12,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K14,K162,K161,K13,K164,K11,K12,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K14,K162,K161,K13,K164,K11,K12,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K14,K162,K161,K13,K164,K11,K12,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K14,K162,K161,K13,K164,K11,K12,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K14,K162,K161,K13,K164,K11,K12,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K14,K162,K161,K13,K164,K11,K12,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K14,K162,K161,K13,K164,K11,K12,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K14,K162,K161,K13,K164,K11,K12,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K14,K162,K161,K13,K164,K11,K12,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K14,K162,K161,K13,K164,K11,K12,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K14,K162,K161,K13,K164,K11,K12,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K14,K162,K161,K13,K164,K11,K12,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K14,K162,K161,K13,K164,K11,K12,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K14,K162,K161,K13,K164,K11,K12,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K14,K162,K161,K13,K164,K11,K12,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K14,K162,K161,K13,K164,K11,K12,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K14,K162,K161,K13,K164,K11,K12,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K14,K162,K161,K13,K164,K11,K12,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K14,K162,K161,K13,K164,K11,K12,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K14,K162,K161,K13,K164,K11,K12,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K14,K162,K161,K13,K164,K11,K12,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K14,K162,K161,K13,K164,K11,K12,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K14,K162,K161,K13,K164,K11,K12,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K14,K162,K161,K13,K164,K11,K12,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K14,K162,K161,K13,K164,K11,K12,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K14,K162,K161,K13,K164,K11,K12,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K14,K162,K161,K13,K164,K11,K12,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K14,K162,K161,K13,K164,K12,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K14,K162,K161,K13,K164,K12,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K14,K162,K161,K13,K164,K12,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K14,K162,K161,K13,K164,K12,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K14,K162,K161,K13,K164,K12,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K14,K162,K161,K13,K164,K12,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K14,K162,K161,K13,K164,K12,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K14,K162,K161,K13,K164,K12,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K14,K162,K161,K13,K164,K12,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K14,K162,K161,K13,K164,K12,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K14,K162,K161,K13,K164,K12,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K14,K162,K161,K13,K164,K12,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K14,K162,K161,K13,K164,K12,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K14,K162,K161,K13,K164,K12,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K14,K162,K161,K13,K164,K12,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K14,K162,K161,K13,K164,K12,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K14,K162,K161,K13,K164,K12,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K14,K162,K161,K13,K164,K12,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K14,K162,K161,K13,K164,K12,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K14,K162,K161,K13,K164,K12,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K14,K162,K161,K13,K164,K12,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K14,K162,K161,K13,K164,K12,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K14,K162,K161,K13,K164,K12,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K14,K162,K161,K13,K164,K12,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K14,K162,K161,K13,K164,K12,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K14,K162,K161,K13,K164,K12,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K14,K162,K161,K13,K164,K12,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K14,K162,K161,K13,K164,K12,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K14,K162,K161,K13,K164,K12,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K14,K162,K161,K13,K164,K12,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K14,K162,K161,K13,K164,K12,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K14,K162,K161,K13,K164,K12,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K161,K13,K14,K162,K164,K11,K12,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K161,K13,K14,K162,K164,K11,K12,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K161,K13,K14,K162,K164,K11,K12,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K161,K13,K14,K162,K164,K11,K12,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K161,K13,K14,K162,K164,K11,K12,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K161,K13,K14,K162,K164,K11,K12,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K161,K13,K14,K162,K164,K11,K12,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K161,K13,K14,K162,K164,K11,K12,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K161,K13,K14,K162,K164,K11,K12,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K161,K13,K14,K162,K164,K11,K12,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K161,K13,K14,K162,K164,K11,K12,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K161,K13,K14,K162,K164,K11,K12,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K161,K13,K14,K162,K164,K11,K12,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K161,K13,K14,K162,K164,K11,K12,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K161,K13,K14,K162,K164,K11,K12,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K161,K13,K14,K162,K164,K11,K12,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K161,K13,K14,K162,K164,K11,K12,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K161,K13,K14,K162,K164,K11,K12,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K161,K13,K14,K162,K164,K11,K12,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K161,K13,K14,K162,K164,K11,K12,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K161,K13,K14,K162,K164,K11,K12,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K161,K13,K14,K162,K164,K11,K12,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K161,K13,K14,K162,K164,K11,K12,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K161,K13,K14,K162,K164,K11,K12,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K161,K13,K14,K162,K164,K11,K12,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K161,K13,K14,K162,K164,K11,K12,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K161,K13,K14,K162,K164,K11,K12,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K161,K13,K14,K162,K164,K11,K12,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K161,K13,K14,K162,K164,K11,K12,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K161,K13,K14,K162,K164,K11,K12,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K161,K13,K14,K162,K164,K11,K12,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K161,K13,K14,K162,K164,K11,K12,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K161,K13,K14,K162,K164,K12,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K161,K13,K14,K162,K164,K12,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K161,K13,K14,K162,K164,K12,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K161,K13,K14,K162,K164,K12,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K161,K13,K14,K162,K164,K12,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K161,K13,K14,K162,K164,K12,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K161,K13,K14,K162,K164,K12,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K161,K13,K14,K162,K164,K12,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K161,K13,K14,K162,K164,K12,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K161,K13,K14,K162,K164,K12,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K161,K13,K14,K162,K164,K12,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K161,K13,K14,K162,K164,K12,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K161,K13,K14,K162,K164,K12,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K161,K13,K14,K162,K164,K12,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K161,K13,K14,K162,K164,K12,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K161,K13,K14,K162,K164,K12,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K161,K13,K14,K162,K164,K12,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K161,K13,K14,K162,K164,K12,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K161,K13,K14,K162,K164,K12,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K161,K13,K14,K162,K164,K12,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K161,K13,K14,K162,K164,K12,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K161,K13,K14,K162,K164,K12,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K161,K13,K14,K162,K164,K12,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K161,K13,K14,K162,K164,K12,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K161,K13,K14,K162,K164,K12,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K161,K13,K14,K162,K164,K12,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K161,K13,K14,K162,K164,K12,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K161,K13,K14,K162,K164,K12,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K161,K13,K14,K162,K164,K12,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K161,K13,K14,K162,K164,K12,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K161,K13,K14,K162,K164,K12,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K161,K13,K14,K162,K164,K12,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K161,K13,K14,K164,K12,K162,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K161,K13,K14,K164,K12,K162,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K161,K13,K14,K164,K12,K162,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K161,K13,K14,K164,K12,K162,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K161,K13,K14,K164,K12,K162,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K161,K13,K14,K164,K12,K162,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K161,K13,K14,K164,K12,K162,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K161,K13,K14,K164,K12,K162,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K161,K13,K14,K164,K12,K162,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K161,K13,K14,K164,K12,K162,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K161,K13,K14,K164,K12,K162,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K161,K13,K14,K164,K12,K162,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K161,K13,K14,K164,K12,K162,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K161,K13,K14,K164,K12,K162,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K161,K13,K14,K164,K12,K162,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K161,K13,K14,K164,K12,K162,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K161,K13,K14,K164,K12,K162,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K161,K13,K14,K164,K12,K162,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K161,K13,K14,K164,K12,K162,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K161,K13,K14,K164,K12,K162,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K161,K13,K14,K164,K12,K162,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K161,K13,K14,K164,K12,K162,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K161,K13,K14,K164,K12,K162,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K161,K13,K14,K164,K12,K162,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K161,K13,K14,K164,K12,K162,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K161,K13,K14,K164,K12,K162,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K161,K13,K14,K164,K12,K162,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K161,K13,K14,K164,K12,K162,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K161,K13,K14,K164,K12,K162,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K161,K13,K14,K164,K12,K162,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K161,K13,K14,K164,K12,K162,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K161,K13,K14,K164,K12,K162,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K161,K13,K14,K164,K162,K11,K12,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K161,K13,K14,K164,K162,K11,K12,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K161,K13,K14,K164,K162,K11,K12,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K161,K13,K14,K164,K162,K11,K12,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K161,K13,K14,K164,K162,K11,K12,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K161,K13,K14,K164,K162,K11,K12,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K161,K13,K14,K164,K162,K11,K12,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K161,K13,K14,K164,K162,K11,K12,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K161,K13,K14,K164,K162,K11,K12,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K161,K13,K14,K164,K162,K11,K12,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K161,K13,K14,K164,K162,K11,K12,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K161,K13,K14,K164,K162,K11,K12,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K161,K13,K14,K164,K162,K11,K12,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K161,K13,K14,K164,K162,K11,K12,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K161,K13,K14,K164,K162,K11,K12,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K161,K13,K14,K164,K162,K11,K12,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K161,K13,K14,K164,K162,K11,K12,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K161,K13,K14,K164,K162,K11,K12,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K161,K13,K14,K164,K162,K11,K12,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K161,K13,K14,K164,K162,K11,K12,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K161,K13,K14,K164,K162,K11,K12,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K161,K13,K14,K164,K162,K11,K12,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K161,K13,K14,K164,K162,K11,K12,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K161,K13,K14,K164,K162,K11,K12,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K161,K13,K14,K164,K162,K11,K12,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K161,K13,K14,K164,K162,K11,K12,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K161,K13,K14,K164,K162,K11,K12,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K161,K13,K14,K164,K162,K11,K12,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K161,K13,K14,K164,K162,K11,K12,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K161,K13,K14,K164,K162,K11,K12,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K161,K13,K14,K164,K162,K11,K12,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K161,K13,K14,K164,K162,K11,K12,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K161,K13,K14,K164,K162,K12,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K161,K13,K14,K164,K162,K12,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K161,K13,K14,K164,K162,K12,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K161,K13,K14,K164,K162,K12,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K161,K13,K14,K164,K162,K12,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K161,K13,K14,K164,K162,K12,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K161,K13,K14,K164,K162,K12,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K161,K13,K14,K164,K162,K12,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K161,K13,K14,K164,K162,K12,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K161,K13,K14,K164,K162,K12,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K161,K13,K14,K164,K162,K12,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K161,K13,K14,K164,K162,K12,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K161,K13,K14,K164,K162,K12,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K161,K13,K14,K164,K162,K12,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K161,K13,K14,K164,K162,K12,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K161,K13,K14,K164,K162,K12,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K161,K13,K14,K164,K162,K12,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K161,K13,K14,K164,K162,K12,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K161,K13,K14,K164,K162,K12,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K161,K13,K14,K164,K162,K12,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K161,K13,K14,K164,K162,K12,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K161,K13,K14,K164,K162,K12,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K161,K13,K14,K164,K162,K12,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K161,K13,K14,K164,K162,K12,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K161,K13,K14,K164,K162,K12,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K161,K13,K14,K164,K162,K12,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K161,K13,K14,K164,K162,K12,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K161,K13,K14,K164,K162,K12,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K161,K13,K14,K164,K162,K12,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K161,K13,K14,K164,K162,K12,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K161,K13,K14,K164,K162,K12,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K161,K13,K14,K164,K162,K12,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K161,K13,K164,K12,K14,K162,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K161,K13,K164,K12,K14,K162,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K161,K13,K164,K12,K14,K162,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K161,K13,K164,K12,K14,K162,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K161,K13,K164,K12,K14,K162,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K161,K13,K164,K12,K14,K162,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K161,K13,K164,K12,K14,K162,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K161,K13,K164,K12,K14,K162,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K161,K13,K164,K12,K14,K162,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K161,K13,K164,K12,K14,K162,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K161,K13,K164,K12,K14,K162,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K161,K13,K164,K12,K14,K162,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K161,K13,K164,K12,K14,K162,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K161,K13,K164,K12,K14,K162,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K161,K13,K164,K12,K14,K162,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K161,K13,K164,K12,K14,K162,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K161,K13,K164,K12,K14,K162,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K161,K13,K164,K12,K14,K162,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K161,K13,K164,K12,K14,K162,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K161,K13,K164,K12,K14,K162,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K161,K13,K164,K12,K14,K162,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K161,K13,K164,K12,K14,K162,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K161,K13,K164,K12,K14,K162,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K161,K13,K164,K12,K14,K162,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K161,K13,K164,K12,K14,K162,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K161,K13,K164,K12,K14,K162,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K161,K13,K164,K12,K14,K162,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K161,K13,K164,K12,K14,K162,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K161,K13,K164,K12,K14,K162,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K161,K13,K164,K12,K14,K162,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K161,K13,K164,K12,K14,K162,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K161,K13,K164,K12,K14,K162,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K161,K13,K164,K14,K12,K162,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K161,K13,K164,K14,K12,K162,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K161,K13,K164,K14,K12,K162,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K161,K13,K164,K14,K12,K162,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K161,K13,K164,K14,K12,K162,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K161,K13,K164,K14,K12,K162,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K161,K13,K164,K14,K12,K162,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K161,K13,K164,K14,K12,K162,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K161,K13,K164,K14,K12,K162,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K161,K13,K164,K14,K12,K162,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K161,K13,K164,K14,K12,K162,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K161,K13,K164,K14,K12,K162,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K161,K13,K164,K14,K12,K162,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K161,K13,K164,K14,K12,K162,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K161,K13,K164,K14,K12,K162,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K161,K13,K164,K14,K12,K162,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K161,K13,K164,K14,K12,K162,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K161,K13,K164,K14,K12,K162,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K161,K13,K164,K14,K12,K162,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K161,K13,K164,K14,K12,K162,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K161,K13,K164,K14,K12,K162,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K161,K13,K164,K14,K12,K162,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K161,K13,K164,K14,K12,K162,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K161,K13,K164,K14,K12,K162,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K161,K13,K164,K14,K12,K162,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K161,K13,K164,K14,K12,K162,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K161,K13,K164,K14,K12,K162,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K161,K13,K164,K14,K12,K162,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K161,K13,K164,K14,K12,K162,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K161,K13,K164,K14,K12,K162,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K161,K13,K164,K14,K12,K162,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K161,K13,K164,K14,K12,K162,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K161,K13,K164,K14,K162,K11,K12,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K161,K13,K164,K14,K162,K11,K12,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K161,K13,K164,K14,K162,K11,K12,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K161,K13,K164,K14,K162,K11,K12,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K161,K13,K164,K14,K162,K11,K12,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K161,K13,K164,K14,K162,K11,K12,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K161,K13,K164,K14,K162,K11,K12,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K161,K13,K164,K14,K162,K11,K12,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K161,K13,K164,K14,K162,K11,K12,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K161,K13,K164,K14,K162,K11,K12,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K161,K13,K164,K14,K162,K11,K12,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K161,K13,K164,K14,K162,K11,K12,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K161,K13,K164,K14,K162,K11,K12,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K161,K13,K164,K14,K162,K11,K12,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K161,K13,K164,K14,K162,K11,K12,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K161,K13,K164,K14,K162,K11,K12,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K161,K13,K164,K14,K162,K11,K12,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K161,K13,K164,K14,K162,K11,K12,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K161,K13,K164,K14,K162,K11,K12,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K161,K13,K164,K14,K162,K11,K12,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K161,K13,K164,K14,K162,K11,K12,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K161,K13,K164,K14,K162,K11,K12,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K161,K13,K164,K14,K162,K11,K12,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K161,K13,K164,K14,K162,K11,K12,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K161,K13,K164,K14,K162,K11,K12,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K161,K13,K164,K14,K162,K11,K12,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K161,K13,K164,K14,K162,K11,K12,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K161,K13,K164,K14,K162,K11,K12,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K161,K13,K164,K14,K162,K11,K12,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K161,K13,K164,K14,K162,K11,K12,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K161,K13,K164,K14,K162,K11,K12,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K161,K13,K164,K14,K162,K11,K12,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K161,K13,K164,K14,K162,K12,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K161,K13,K164,K14,K162,K12,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K161,K13,K164,K14,K162,K12,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K161,K13,K164,K14,K162,K12,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K161,K13,K164,K14,K162,K12,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K161,K13,K164,K14,K162,K12,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K161,K13,K164,K14,K162,K12,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K161,K13,K164,K14,K162,K12,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K161,K13,K164,K14,K162,K12,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K161,K13,K164,K14,K162,K12,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K161,K13,K164,K14,K162,K12,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K161,K13,K164,K14,K162,K12,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K161,K13,K164,K14,K162,K12,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K161,K13,K164,K14,K162,K12,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K161,K13,K164,K14,K162,K12,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K161,K13,K164,K14,K162,K12,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K161,K13,K164,K14,K162,K12,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K161,K13,K164,K14,K162,K12,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K161,K13,K164,K14,K162,K12,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K161,K13,K164,K14,K162,K12,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K161,K13,K164,K14,K162,K12,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K161,K13,K164,K14,K162,K12,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K161,K13,K164,K14,K162,K12,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K161,K13,K164,K14,K162,K12,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K161,K13,K164,K14,K162,K12,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K161,K13,K164,K14,K162,K12,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K161,K13,K164,K14,K162,K12,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K161,K13,K164,K14,K162,K12,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K161,K13,K164,K14,K162,K12,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K161,K13,K164,K14,K162,K12,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K161,K13,K164,K14,K162,K12,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K161,K13,K164,K14,K162,K12,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K161,K14,K13,K162,K164,K11,K12,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K161,K14,K13,K162,K164,K11,K12,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K161,K14,K13,K162,K164,K11,K12,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K161,K14,K13,K162,K164,K11,K12,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K161,K14,K13,K162,K164,K11,K12,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K161,K14,K13,K162,K164,K11,K12,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K161,K14,K13,K162,K164,K11,K12,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K161,K14,K13,K162,K164,K11,K12,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K161,K14,K13,K162,K164,K11,K12,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K161,K14,K13,K162,K164,K11,K12,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K161,K14,K13,K162,K164,K11,K12,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K161,K14,K13,K162,K164,K11,K12,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K161,K14,K13,K162,K164,K11,K12,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K161,K14,K13,K162,K164,K11,K12,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K161,K14,K13,K162,K164,K11,K12,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K161,K14,K13,K162,K164,K11,K12,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K161,K14,K13,K162,K164,K11,K12,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K161,K14,K13,K162,K164,K11,K12,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K161,K14,K13,K162,K164,K11,K12,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K161,K14,K13,K162,K164,K11,K12,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K161,K14,K13,K162,K164,K11,K12,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K161,K14,K13,K162,K164,K11,K12,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K161,K14,K13,K162,K164,K11,K12,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K161,K14,K13,K162,K164,K11,K12,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K161,K14,K13,K162,K164,K11,K12,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K161,K14,K13,K162,K164,K11,K12,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K161,K14,K13,K162,K164,K11,K12,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K161,K14,K13,K162,K164,K11,K12,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K161,K14,K13,K162,K164,K11,K12,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K161,K14,K13,K162,K164,K11,K12,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K161,K14,K13,K162,K164,K11,K12,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K161,K14,K13,K162,K164,K11,K12,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K161,K14,K13,K162,K164,K12,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K161,K14,K13,K162,K164,K12,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K161,K14,K13,K162,K164,K12,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K161,K14,K13,K162,K164,K12,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K161,K14,K13,K162,K164,K12,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K161,K14,K13,K162,K164,K12,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K161,K14,K13,K162,K164,K12,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K161,K14,K13,K162,K164,K12,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K161,K14,K13,K162,K164,K12,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K161,K14,K13,K162,K164,K12,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K161,K14,K13,K162,K164,K12,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K161,K14,K13,K162,K164,K12,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K161,K14,K13,K162,K164,K12,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K161,K14,K13,K162,K164,K12,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K161,K14,K13,K162,K164,K12,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K161,K14,K13,K162,K164,K12,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K161,K14,K13,K162,K164,K12,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K161,K14,K13,K162,K164,K12,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K161,K14,K13,K162,K164,K12,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K161,K14,K13,K162,K164,K12,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K161,K14,K13,K162,K164,K12,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K161,K14,K13,K162,K164,K12,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K161,K14,K13,K162,K164,K12,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K161,K14,K13,K162,K164,K12,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K161,K14,K13,K162,K164,K12,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K161,K14,K13,K162,K164,K12,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K161,K14,K13,K162,K164,K12,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K161,K14,K13,K162,K164,K12,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K161,K14,K13,K162,K164,K12,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K161,K14,K13,K162,K164,K12,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K161,K14,K13,K162,K164,K12,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K161,K14,K13,K162,K164,K12,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K161,K14,K13,K164,K12,K162,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K161,K14,K13,K164,K12,K162,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K161,K14,K13,K164,K12,K162,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K161,K14,K13,K164,K12,K162,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K161,K14,K13,K164,K12,K162,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K161,K14,K13,K164,K12,K162,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K161,K14,K13,K164,K12,K162,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K161,K14,K13,K164,K12,K162,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K161,K14,K13,K164,K12,K162,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K161,K14,K13,K164,K12,K162,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K161,K14,K13,K164,K12,K162,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K161,K14,K13,K164,K12,K162,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K161,K14,K13,K164,K12,K162,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K161,K14,K13,K164,K12,K162,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K161,K14,K13,K164,K12,K162,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K161,K14,K13,K164,K12,K162,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K161,K14,K13,K164,K12,K162,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K161,K14,K13,K164,K12,K162,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K161,K14,K13,K164,K12,K162,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K161,K14,K13,K164,K12,K162,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K161,K14,K13,K164,K12,K162,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K161,K14,K13,K164,K12,K162,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K161,K14,K13,K164,K12,K162,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K161,K14,K13,K164,K12,K162,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K161,K14,K13,K164,K12,K162,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K161,K14,K13,K164,K12,K162,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K161,K14,K13,K164,K12,K162,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K161,K14,K13,K164,K12,K162,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K161,K14,K13,K164,K12,K162,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K161,K14,K13,K164,K12,K162,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K161,K14,K13,K164,K12,K162,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K161,K14,K13,K164,K12,K162,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K161,K14,K13,K164,K162,K11,K12,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K161,K14,K13,K164,K162,K11,K12,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K161,K14,K13,K164,K162,K11,K12,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K161,K14,K13,K164,K162,K11,K12,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K161,K14,K13,K164,K162,K11,K12,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K161,K14,K13,K164,K162,K11,K12,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K161,K14,K13,K164,K162,K11,K12,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K161,K14,K13,K164,K162,K11,K12,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K161,K14,K13,K164,K162,K11,K12,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K161,K14,K13,K164,K162,K11,K12,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K161,K14,K13,K164,K162,K11,K12,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K161,K14,K13,K164,K162,K11,K12,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K161,K14,K13,K164,K162,K11,K12,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K161,K14,K13,K164,K162,K11,K12,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K161,K14,K13,K164,K162,K11,K12,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K161,K14,K13,K164,K162,K11,K12,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K161,K14,K13,K164,K162,K11,K12,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K161,K14,K13,K164,K162,K11,K12,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K161,K14,K13,K164,K162,K11,K12,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K161,K14,K13,K164,K162,K11,K12,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K161,K14,K13,K164,K162,K11,K12,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K161,K14,K13,K164,K162,K11,K12,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K161,K14,K13,K164,K162,K11,K12,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K161,K14,K13,K164,K162,K11,K12,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K161,K14,K13,K164,K162,K11,K12,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K161,K14,K13,K164,K162,K11,K12,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K161,K14,K13,K164,K162,K11,K12,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K161,K14,K13,K164,K162,K11,K12,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K161,K14,K13,K164,K162,K11,K12,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K161,K14,K13,K164,K162,K11,K12,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K161,K14,K13,K164,K162,K11,K12,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K161,K14,K13,K164,K162,K11,K12,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K161,K14,K13,K164,K162,K12,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K161,K14,K13,K164,K162,K12,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K161,K14,K13,K164,K162,K12,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K161,K14,K13,K164,K162,K12,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K161,K14,K13,K164,K162,K12,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K161,K14,K13,K164,K162,K12,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K161,K14,K13,K164,K162,K12,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K161,K14,K13,K164,K162,K12,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K161,K14,K13,K164,K162,K12,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K161,K14,K13,K164,K162,K12,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K161,K14,K13,K164,K162,K12,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K161,K14,K13,K164,K162,K12,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K161,K14,K13,K164,K162,K12,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K161,K14,K13,K164,K162,K12,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K161,K14,K13,K164,K162,K12,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K161,K14,K13,K164,K162,K12,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K161,K14,K13,K164,K162,K12,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K161,K14,K13,K164,K162,K12,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K161,K14,K13,K164,K162,K12,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K161,K14,K13,K164,K162,K12,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K161,K14,K13,K164,K162,K12,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K161,K14,K13,K164,K162,K12,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K161,K14,K13,K164,K162,K12,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K161,K14,K13,K164,K162,K12,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K161,K14,K13,K164,K162,K12,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K161,K14,K13,K164,K162,K12,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K161,K14,K13,K164,K162,K12,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K161,K14,K13,K164,K162,K12,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K161,K14,K13,K164,K162,K12,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K161,K14,K13,K164,K162,K12,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K161,K14,K13,K164,K162,K12,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K161,K14,K13,K164,K162,K12,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K161,K14,K162,K13,K164,K11,K12,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K161,K14,K162,K13,K164,K11,K12,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K161,K14,K162,K13,K164,K11,K12,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K161,K14,K162,K13,K164,K11,K12,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K161,K14,K162,K13,K164,K11,K12,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K161,K14,K162,K13,K164,K11,K12,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K161,K14,K162,K13,K164,K11,K12,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K161,K14,K162,K13,K164,K11,K12,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K161,K14,K162,K13,K164,K11,K12,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K161,K14,K162,K13,K164,K11,K12,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K161,K14,K162,K13,K164,K11,K12,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K161,K14,K162,K13,K164,K11,K12,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K161,K14,K162,K13,K164,K11,K12,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K161,K14,K162,K13,K164,K11,K12,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K161,K14,K162,K13,K164,K11,K12,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K161,K14,K162,K13,K164,K11,K12,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K161,K14,K162,K13,K164,K11,K12,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K161,K14,K162,K13,K164,K11,K12,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K161,K14,K162,K13,K164,K11,K12,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K161,K14,K162,K13,K164,K11,K12,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K161,K14,K162,K13,K164,K11,K12,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K161,K14,K162,K13,K164,K11,K12,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K161,K14,K162,K13,K164,K11,K12,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K161,K14,K162,K13,K164,K11,K12,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K161,K14,K162,K13,K164,K11,K12,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K161,K14,K162,K13,K164,K11,K12,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K161,K14,K162,K13,K164,K11,K12,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K161,K14,K162,K13,K164,K11,K12,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K161,K14,K162,K13,K164,K11,K12,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K161,K14,K162,K13,K164,K11,K12,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K161,K14,K162,K13,K164,K11,K12,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K161,K14,K162,K13,K164,K11,K12,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K161,K14,K162,K13,K164,K12,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K161,K14,K162,K13,K164,K12,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K161,K14,K162,K13,K164,K12,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K161,K14,K162,K13,K164,K12,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K161,K14,K162,K13,K164,K12,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K161,K14,K162,K13,K164,K12,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K161,K14,K162,K13,K164,K12,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K161,K14,K162,K13,K164,K12,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K161,K14,K162,K13,K164,K12,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K161,K14,K162,K13,K164,K12,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K161,K14,K162,K13,K164,K12,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K161,K14,K162,K13,K164,K12,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K161,K14,K162,K13,K164,K12,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K161,K14,K162,K13,K164,K12,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K161,K14,K162,K13,K164,K12,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K161,K14,K162,K13,K164,K12,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K161,K14,K162,K13,K164,K12,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K161,K14,K162,K13,K164,K12,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K161,K14,K162,K13,K164,K12,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K161,K14,K162,K13,K164,K12,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K161,K14,K162,K13,K164,K12,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K161,K14,K162,K13,K164,K12,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K161,K14,K162,K13,K164,K12,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K161,K14,K162,K13,K164,K12,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K161,K14,K162,K13,K164,K12,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K161,K14,K162,K13,K164,K12,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K161,K14,K162,K13,K164,K12,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K161,K14,K162,K13,K164,K12,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K161,K14,K162,K13,K164,K12,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K161,K14,K162,K13,K164,K12,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K161,K14,K162,K13,K164,K12,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K161,K14,K162,K13,K164,K12,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K162,K14,K161,K13,K164,K11,K12,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K162,K14,K161,K13,K164,K11,K12,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K162,K14,K161,K13,K164,K11,K12,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K162,K14,K161,K13,K164,K11,K12,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K162,K14,K161,K13,K164,K11,K12,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K162,K14,K161,K13,K164,K11,K12,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K162,K14,K161,K13,K164,K11,K12,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K162,K14,K161,K13,K164,K11,K12,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K162,K14,K161,K13,K164,K11,K12,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K162,K14,K161,K13,K164,K11,K12,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K162,K14,K161,K13,K164,K11,K12,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K162,K14,K161,K13,K164,K11,K12,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K162,K14,K161,K13,K164,K11,K12,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K162,K14,K161,K13,K164,K11,K12,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K162,K14,K161,K13,K164,K11,K12,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K162,K14,K161,K13,K164,K11,K12,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K162,K14,K161,K13,K164,K11,K12,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K162,K14,K161,K13,K164,K11,K12,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K162,K14,K161,K13,K164,K11,K12,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K162,K14,K161,K13,K164,K11,K12,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K162,K14,K161,K13,K164,K11,K12,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K162,K14,K161,K13,K164,K11,K12,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K162,K14,K161,K13,K164,K11,K12,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K162,K14,K161,K13,K164,K11,K12,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K162,K14,K161,K13,K164,K11,K12,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K162,K14,K161,K13,K164,K11,K12,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K162,K14,K161,K13,K164,K11,K12,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K162,K14,K161,K13,K164,K11,K12,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K162,K14,K161,K13,K164,K11,K12,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K162,K14,K161,K13,K164,K11,K12,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K162,K14,K161,K13,K164,K11,K12,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K162,K14,K161,K13,K164,K11,K12,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K162,K14,K161,K13,K164,K12,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K162,K14,K161,K13,K164,K12,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K162,K14,K161,K13,K164,K12,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K162,K14,K161,K13,K164,K12,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K162,K14,K161,K13,K164,K12,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K162,K14,K161,K13,K164,K12,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K162,K14,K161,K13,K164,K12,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K162,K14,K161,K13,K164,K12,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K162,K14,K161,K13,K164,K12,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K162,K14,K161,K13,K164,K12,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K162,K14,K161,K13,K164,K12,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K162,K14,K161,K13,K164,K12,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K162,K14,K161,K13,K164,K12,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K162,K14,K161,K13,K164,K12,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K162,K14,K161,K13,K164,K12,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K162,K14,K161,K13,K164,K12,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K162,K14,K161,K13,K164,K12,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K162,K14,K161,K13,K164,K12,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K162,K14,K161,K13,K164,K12,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K162,K14,K161,K13,K164,K12,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K162,K14,K161,K13,K164,K12,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K162,K14,K161,K13,K164,K12,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K162,K14,K161,K13,K164,K12,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K162,K14,K161,K13,K164,K12,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K162,K14,K161,K13,K164,K12,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K162,K14,K161,K13,K164,K12,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K162,K14,K161,K13,K164,K12,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K162,K14,K161,K13,K164,K12,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K162,K14,K161,K13,K164,K12,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K162,K14,K161,K13,K164,K12,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K162,K14,K161,K13,K164,K12,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K162,K14,K161,K13,K164,K12,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K164,K12,K13,K161,K14,K162,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K164,K12,K13,K161,K14,K162,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K164,K12,K13,K161,K14,K162,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K164,K12,K13,K161,K14,K162,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K164,K12,K13,K161,K14,K162,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K164,K12,K13,K161,K14,K162,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K164,K12,K13,K161,K14,K162,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K164,K12,K13,K161,K14,K162,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K164,K12,K13,K161,K14,K162,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K164,K12,K13,K161,K14,K162,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K164,K12,K13,K161,K14,K162,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K164,K12,K13,K161,K14,K162,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K164,K12,K13,K161,K14,K162,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K164,K12,K13,K161,K14,K162,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K164,K12,K13,K161,K14,K162,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K164,K12,K13,K161,K14,K162,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K164,K12,K13,K161,K14,K162,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K164,K12,K13,K161,K14,K162,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K164,K12,K13,K161,K14,K162,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K164,K12,K13,K161,K14,K162,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K164,K12,K13,K161,K14,K162,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K164,K12,K13,K161,K14,K162,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K164,K12,K13,K161,K14,K162,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K164,K12,K13,K161,K14,K162,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K164,K12,K13,K161,K14,K162,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K164,K12,K13,K161,K14,K162,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K164,K12,K13,K161,K14,K162,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K164,K12,K13,K161,K14,K162,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K164,K12,K13,K161,K14,K162,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K164,K12,K13,K161,K14,K162,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K164,K12,K13,K161,K14,K162,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K164,K12,K13,K161,K14,K162,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K164,K13,K12,K161,K14,K162,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K164,K13,K12,K161,K14,K162,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K164,K13,K12,K161,K14,K162,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K164,K13,K12,K161,K14,K162,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K164,K13,K12,K161,K14,K162,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K164,K13,K12,K161,K14,K162,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K164,K13,K12,K161,K14,K162,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K164,K13,K12,K161,K14,K162,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K164,K13,K12,K161,K14,K162,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K164,K13,K12,K161,K14,K162,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K164,K13,K12,K161,K14,K162,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K164,K13,K12,K161,K14,K162,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K164,K13,K12,K161,K14,K162,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K164,K13,K12,K161,K14,K162,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K164,K13,K12,K161,K14,K162,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K164,K13,K12,K161,K14,K162,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K164,K13,K12,K161,K14,K162,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K164,K13,K12,K161,K14,K162,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K164,K13,K12,K161,K14,K162,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K164,K13,K12,K161,K14,K162,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K164,K13,K12,K161,K14,K162,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K164,K13,K12,K161,K14,K162,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K164,K13,K12,K161,K14,K162,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K164,K13,K12,K161,K14,K162,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K164,K13,K12,K161,K14,K162,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K164,K13,K12,K161,K14,K162,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K164,K13,K12,K161,K14,K162,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K164,K13,K12,K161,K14,K162,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K164,K13,K12,K161,K14,K162,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K164,K13,K12,K161,K14,K162,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K164,K13,K12,K161,K14,K162,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K164,K13,K12,K161,K14,K162,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K164,K13,K161,K12,K14,K162,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K164,K13,K161,K12,K14,K162,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K164,K13,K161,K12,K14,K162,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K164,K13,K161,K12,K14,K162,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K164,K13,K161,K12,K14,K162,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K164,K13,K161,K12,K14,K162,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K164,K13,K161,K12,K14,K162,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K164,K13,K161,K12,K14,K162,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K164,K13,K161,K12,K14,K162,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K164,K13,K161,K12,K14,K162,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K164,K13,K161,K12,K14,K162,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K164,K13,K161,K12,K14,K162,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K164,K13,K161,K12,K14,K162,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K164,K13,K161,K12,K14,K162,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K164,K13,K161,K12,K14,K162,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K164,K13,K161,K12,K14,K162,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K164,K13,K161,K12,K14,K162,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K164,K13,K161,K12,K14,K162,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K164,K13,K161,K12,K14,K162,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K164,K13,K161,K12,K14,K162,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K164,K13,K161,K12,K14,K162,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K164,K13,K161,K12,K14,K162,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K164,K13,K161,K12,K14,K162,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K164,K13,K161,K12,K14,K162,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K164,K13,K161,K12,K14,K162,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K164,K13,K161,K12,K14,K162,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K164,K13,K161,K12,K14,K162,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K164,K13,K161,K12,K14,K162,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K164,K13,K161,K12,K14,K162,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K164,K13,K161,K12,K14,K162,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K164,K13,K161,K12,K14,K162,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K164,K13,K161,K12,K14,K162,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K164,K13,K161,K14,K12,K162,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K164,K13,K161,K14,K12,K162,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K164,K13,K161,K14,K12,K162,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K164,K13,K161,K14,K12,K162,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K164,K13,K161,K14,K12,K162,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K164,K13,K161,K14,K12,K162,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K164,K13,K161,K14,K12,K162,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K164,K13,K161,K14,K12,K162,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K164,K13,K161,K14,K12,K162,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K164,K13,K161,K14,K12,K162,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K164,K13,K161,K14,K12,K162,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K164,K13,K161,K14,K12,K162,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K164,K13,K161,K14,K12,K162,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K164,K13,K161,K14,K12,K162,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K164,K13,K161,K14,K12,K162,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K164,K13,K161,K14,K12,K162,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K164,K13,K161,K14,K12,K162,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K164,K13,K161,K14,K12,K162,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K164,K13,K161,K14,K12,K162,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K164,K13,K161,K14,K12,K162,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K164,K13,K161,K14,K12,K162,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K164,K13,K161,K14,K12,K162,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K164,K13,K161,K14,K12,K162,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K164,K13,K161,K14,K12,K162,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K164,K13,K161,K14,K12,K162,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K164,K13,K161,K14,K12,K162,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K164,K13,K161,K14,K12,K162,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K164,K13,K161,K14,K12,K162,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K164,K13,K161,K14,K12,K162,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K164,K13,K161,K14,K12,K162,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K164,K13,K161,K14,K12,K162,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K164,K13,K161,K14,K12,K162,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K164,K13,K161,K14,K162,K11,K12,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K164,K13,K161,K14,K162,K11,K12,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K164,K13,K161,K14,K162,K11,K12,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K164,K13,K161,K14,K162,K11,K12,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K164,K13,K161,K14,K162,K11,K12,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K164,K13,K161,K14,K162,K11,K12,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K164,K13,K161,K14,K162,K11,K12,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K164,K13,K161,K14,K162,K11,K12,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K164,K13,K161,K14,K162,K11,K12,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K164,K13,K161,K14,K162,K11,K12,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K164,K13,K161,K14,K162,K11,K12,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K164,K13,K161,K14,K162,K11,K12,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K164,K13,K161,K14,K162,K11,K12,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K164,K13,K161,K14,K162,K11,K12,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K164,K13,K161,K14,K162,K11,K12,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K164,K13,K161,K14,K162,K11,K12,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K164,K13,K161,K14,K162,K11,K12,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K164,K13,K161,K14,K162,K11,K12,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K164,K13,K161,K14,K162,K11,K12,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K164,K13,K161,K14,K162,K11,K12,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K164,K13,K161,K14,K162,K11,K12,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K164,K13,K161,K14,K162,K11,K12,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K164,K13,K161,K14,K162,K11,K12,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K164,K13,K161,K14,K162,K11,K12,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K164,K13,K161,K14,K162,K11,K12,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K164,K13,K161,K14,K162,K11,K12,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K164,K13,K161,K14,K162,K11,K12,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K164,K13,K161,K14,K162,K11,K12,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K164,K13,K161,K14,K162,K11,K12,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K164,K13,K161,K14,K162,K11,K12,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K164,K13,K161,K14,K162,K11,K12,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K164,K13,K161,K14,K162,K11,K12,K163,K167,K16,K165,K18,K166,K15,K168,K17
[K164,K13,K161,K14,K162,K12,K11,K163,K16,K165,K18,K166,K17,K168,K15,K167
[K164,K13,K161,K14,K162,K12,K11,K163,K16,K165,K18,K166,K167,K15,K168,K17
[K164,K13,K161,K14,K162,K12,K11,K163,K16,K165,K18,K167,K166,K15,K168,K17
[K164,K13,K161,K14,K162,K12,K11,K163,K16,K165,K167,K18,K166,K15,K168,K17
[K164,K13,K161,K14,K162,K12,K11,K163,K16,K167,K165,K18,K166,K15,K168,K17
[K164,K13,K161,K14,K162,K12,K11,K163,K17,K166,K18,K165,K16,K168,K15,K167
[K164,K13,K161,K14,K162,K12,K11,K163,K18,K165,K16,K166,K17,K168,K15,K167
[K164,K13,K161,K14,K162,K12,K11,K163,K18,K165,K16,K166,K167,K15,K168,K17
[K164,K13,K161,K14,K162,K12,K11,K163,K18,K165,K16,K167,K166,K15,K168,K17
[K164,K13,K161,K14,K162,K12,K11,K163,K18,K165,K166,K16,K17,K168,K15,K167
[K164,K13,K161,K14,K162,K12,K11,K163,K18,K165,K166,K16,K167,K15,K168,K17
[K164,K13,K161,K14,K162,K12,K11,K163,K18,K165,K166,K17,K16,K168,K15,K167
[K164,K13,K161,K14,K162,K12,K11,K163,K18,K166,K17,K165,K16,K168,K15,K167
[K164,K13,K161,K14,K162,K12,K11,K163,K18,K166,K165,K16,K17,K168,K15,K167
[K164,K13,K161,K14,K162,K12,K11,K163,K18,K166,K165,K16,K167,K15,K168,K17
[K164,K13,K161,K14,K162,K12,K11,K163,K18,K166,K165,K17,K16,K168,K15,K167
[K164,K13,K161,K14,K162,K12,K11,K163,K165,K16,K18,K166,K17,K168,K15,K167
[K164,K13,K161,K14,K162,K12,K11,K163,K165,K16,K18,K166,K167,K15,K168,K17
[K164,K13,K161,K14,K162,K12,K11,K163,K165,K16,K18,K167,K166,K15,K168,K17
[K164,K13,K161,K14,K162,K12,K11,K163,K165,K16,K167,K18,K166,K15,K168,K17
[K164,K13,K161,K14,K162,K12,K11,K163,K165,K18,K16,K166,K17,K168,K15,K167
[K164,K13,K161,K14,K162,K12,K11,K163,K165,K18,K16,K166,K167,K15,K168,K17
[K164,K13,K161,K14,K162,K12,K11,K163,K165,K18,K16,K167,K166,K15,K168,K17
[K164,K13,K161,K14,K162,K12,K11,K163,K165,K18,K166,K16,K17,K168,K15,K167
[K164,K13,K161,K14,K162,K12,K11,K163,K165,K18,K166,K16,K167,K15,K168,K17
[K164,K13,K161,K14,K162,K12,K11,K163,K165,K18,K166,K17,K16,K168,K15,K167
[K164,K13,K161,K14,K162,K12,K11,K163,K166,K17,K18,K165,K16,K168,K15,K167
[K164,K13,K161,K14,K162,K12,K11,K163,K166,K18,K17,K165,K16,K168,K15,K167
[K164,K13,K161,K14,K162,K12,K11,K163,K166,K18,K165,K16,K17,K168,K15,K167
[K164,K13,K161,K14,K162,K12,K11,K163,K166,K18,K165,K16,K167,K15,K168,K17
[K164,K13,K161,K14,K162,K12,K11,K163,K166,K18,K165,K17,K16,K168,K15,K167
[K164,K13,K161,K14,K162,K12,K11,K163,K167,K16,K165,K18,K166,K15,K168,K17
次に、本発明に係る暗号解読方法の第2の実施の形態について詳細に説明する。上述した第1の実施例では、DESの56ビット鍵全てをいわゆる電力差分解析(DPA:Differential Power Analysis)により求めたが、必ずしも、このように、DESの56ビット鍵全てを電力差分解析(DPA)に基づいて求めることは必要はなく、幾つかの一部の鍵ビットのみを電力差分解析(DPA)により求め、残りの鍵ビットをソフトウェア的による総当たり攻撃で行うことも可能である。
例えば、図9に示す探索経路を適用する。図9に示すステップS201〜S208の探索経路を適用することで、図9に示す処理は、ステップS201の処理として、第1段のラウンド関数部の第2のSボックスに適用する鍵の探索処理を実行し、その次のステップS202の処理として、第16段のラウンド関数部の第4のSボックスに適用する鍵の探索処理、ステップS203において、第1段のラウンド関数部の第3のSボックスに適用する鍵の探索処理、ステップS204において、第16段のラウンド関数部の第1のSボックスに適用する鍵の探索処理、ステップS205において、第1段のラウンド関数部の第6のSボックスに適用する鍵の探索処理、ステップS206において、第16段のラウンド関数部の第5のSボックスに適用する鍵の探索処理、ステップS207において、第1段のラウンド関数部の第8のSボックスに適用する鍵の探索処理、ステップS208において、第16段のラウンド関数部の第6のSボックスに適用する鍵の探索処理を実行することを示している。
ここで、例えばステップS102において実行する第16段のラウンド関数部の第4のSボックスに適用する鍵の探索処理では、先にステップS101で実行済みの第1段のラウンド関数部の第2のSボックスに適用する鍵の探索処理において取得したビット情報と重複するビットについての探索処理は実行しない。以下の探索処理においても、すでに実行済みの探索処理によって取得したビット情報と重複するビット情報が含まれる場合には、探索処理を行わない。この結果、ステップS201〜S208の処理のみで、ラウンド関数部の第1段と第16段の計16個のSボックス中、半数の8個のSボックス(Sbox)に対応する鍵を、重複鍵ビット情報の探索を省略した電力差分解析(DPA)で求めると、188回の探索によって31ビットの鍵を求めることができる。
図8に示す経路は、8個のSボックス(Sbox)について、最小探索回数(188回)の探索により、31ビットの鍵を求めることができる順序の一例である。図8に示した経路を含めて、8個のSボックス(Sbox)に対して最小探索回数(188回)の探索により、31ビットの鍵を求めることができる経路としては、64通りの探索経路が存在する。
マスター鍵は56ビットであるので、残りの25ビットが未知のままであるが、これらの25ビットは、パソコンなどの情報処理装置を適用して、総当たり探索を行う。すなわち解析対象の暗号処理装置において、入力する所定の平文に基づいて出力される暗号文と同一の対応となる平文−暗号文となる鍵ビット情報をパソコンなどの情報処理装置を適用して総当たり探索する。
56ビット鍵情報の全てのビットが未知の場合、総当り検索を行った場合、想定される鍵パターン数は、256通りとなるが、既に電力差分解析(DPA)の188回の探索によって31ビットの鍵が求められており、残りの未知のビットは、25ビットのみであるので、総当り検索を行った場合、想定される鍵パターン数は、225通りとなり、256と比較すると大幅に計算量が減少し、数秒で探索が可能となる。このように、電力差分解析(DPA)による解析と、パソコンなどの情報処理装置を適用した総当たり探索を組み合わせることで、56ビット鍵全てのビット情報の算出を効率的に行うことが可能となる。
なお、8個のSボックス(Sbox)について、最小探索回数(188回)の探索により、31ビットの鍵を求めることができるシーケンスは、64通りの探索経路が存在し、以下にそのリスト[リスト2]を示す。以下のリストにおいて、[K1,〜,K16]は、左から右に順番に、第1段または第16段のラウンド関数部の第n番目(n=1〜8)のSボックスに適用する鍵ビットを求めることを示している。既に実行ずみの探索によって得られたビット情報と同一のビット情報を含む場合は、探索処理は実行しない。
[リスト2]
[K1,K16,K1,K16,K1,K16,K1,K16
[K1,K16,K1,K16,K1,K16,K1,K16
[K1,K16,K1,K16,K1,K16,K16,K1
[K1,K16,K1,K16,K1,K16,K16,K1
[K1,K16,K1,K16,K16,K1,K1,K16
[K1,K16,K1,K16,K16,K1,K1,K16
[K1,K16,K1,K16,K16,K1,K16,K1
[K1,K16,K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K1,K16,K1,K16
[K1,K16,K16,K1,K1,K16,K1,K16
[K1,K16,K16,K1,K1,K16,K16,K1
[K1,K16,K16,K1,K1,K16,K16,K1
[K1,K16,K16,K1,K16,K1,K1,K16
[K1,K16,K16,K1,K16,K1,K1,K16
[K1,K16,K16,K1,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K1,K16,K1
[K1,K16,K1,K16,K1,K16,K1,K16
[K1,K16,K1,K16,K1,K16,K1,K16
[K1,K16,K1,K16,K1,K16,K16,K1
[K1,K16,K1,K16,K1,K16,K16,K1
[K1,K16,K1,K16,K16,K1,K1,K16
[K1,K16,K1,K16,K16,K1,K1,K16
[K1,K16,K1,K16,K16,K1,K16,K1
[K1,K16,K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K1,K16,K1,K16
[K1,K16,K16,K1,K1,K16,K1,K16
[K1,K16,K16,K1,K1,K16,K16,K1
[K1,K16,K16,K1,K1,K16,K16,K1
[K1,K16,K16,K1,K16,K1,K1,K16
[K1,K16,K16,K1,K16,K1,K1,K16
[K1,K16,K16,K1,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K1,K16,K1,K16
[K16,K1,K16,K1,K1,K16,K1,K16
[K16,K1,K16,K1,K1,K16,K16,K1
[K16,K1,K16,K1,K1,K16,K16,K1
[K16,K1,K16,K1,K16,K1,K1,K16
[K16,K1,K16,K1,K16,K1,K1,K16
[K16,K1,K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K1,K16,K1
[K16,K1,K1,K16,K1,K16,K1,K16
[K16,K1,K1,K16,K1,K16,K1,K16
[K16,K1,K1,K16,K1,K16,K16,K1
[K16,K1,K1,K16,K1,K16,K16,K1
[K16,K1,K1,K16,K16,K1,K1,K16
[K16,K1,K1,K16,K16,K1,K1,K16
[K16,K1,K1,K16,K16,K1,K16,K1
[K16,K1,K1,K16,K16,K1,K16,K1
[K16,K1,K1,K16,K1,K16,K1,K16
[K16,K1,K1,K16,K1,K16,K1,K16
[K16,K1,K1,K16,K1,K16,K16,K1
[K16,K1,K1,K16,K1,K16,K16,K1
[K16,K1,K1,K16,K16,K1,K1,K16
[K16,K1,K1,K16,K16,K1,K1,K16
[K16,K1,K1,K16,K16,K1,K16,K1
[K16,K1,K1,K16,K16,K1,K16,K1
[K16,K1,K16,K1,K1,K16,K1,K16
[K16,K1,K16,K1,K1,K16,K1,K16
[K16,K1,K16,K1,K1,K16,K16,K1
[K16,K1,K16,K1,K1,K16,K16,K1
[K16,K1,K16,K1,K16,K1,K1,K16
[K16,K1,K16,K1,K16,K1,K1,K16
[K16,K1,K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K1,K16,K1
なお、上述した例では、8個のSボックス(Sbox)について電力差分解析(DPA)を適用した鍵探索を行い、残りビットを計算機による総当りで探索する処理例を説明したが、これら2つの処理の切り分けは、上述の例に限らず、例えば10個のSボックス(Sbox)について電力差分解析(DPA)を適用した鍵探索を行い、残りビットを計算機による総当りで探索するなど、様々な設定が可能である。
例えば、6個のSボックス(Sbox)について電力差分解析(DPA)を適用した鍵探索を行い、残りビットを計算機による総当りで探索する処理例について、図10を参照して説明する。
図10に示す電力差分解析(DPA)を適用した鍵探索シーケンスは、ラウンド関数部の第1段および第16段に含まれる6個のSボックス(Sbox)のみを対象とした鍵探索シーケンスである。この処理によって、176回の探索によって26ビットの鍵を求めることができる。
図10に示す処理は、ステップS301の処理として、第1段のラウンド関数部の第2のSボックスに適用する鍵の探索処理を実行し、その次のステップS302の処理として、第16段のラウンド関数部の第4のSボックスに適用する鍵の探索処理、ステップS303において、第1段のラウンド関数部の第3のSボックスに適用する鍵の探索処理、ステップS304において、第1段のラウンド関数部の第6のSボックスに適用する鍵の探索処理、ステップS305において、第16段のラウンド関数部の第5のSボックスに適用する鍵の探索処理、ステップS306において、第1段のラウンド関数部の第8のSボックスに適用する鍵の探索処理を実行することを示している。
図10に示す経路は、6個のSボックス(Sbox)を探索し、最小探索回数(176回)の探索によって26ビットの鍵を求めることができる1つのシーケンス例であり、図10に示したシーケンスを含めて、同様に、最小探索回数(176回)の探索によって26ビットの鍵を求めることができるシーケンスは、256通り存在する。
マスター鍵は56ビットであるので、残りの30ビットが未知のままであるが、これらの30ビットは、パソコンなどの情報処理装置を適用して、総当たり探索を行う。総当り検索を行った場合、想定されるパターン数は、230通りとなるが、56ビットの全ての総当り回数256と比較すると大幅に計算量が減少し、数秒で探索が可能であり、結果として56ビット鍵全てのビット情報の算出を効率的に行うことが可能となる。
6個のSボックス(Sbox)について、最小探索回数(176回)の探索により、26ビットの鍵を求めることができるシーケンスは、256通りの探索経路が存在し、以下にそのリスト[リスト3]を示す。以下のリストにおいて、[K1,〜,K16]は、左から右に順番に、第1段または第16段のラウンド関数部の第n番目(n=1〜8)のSボックスに適用する鍵ビットを求めることを示している。既に実行ずみの探索によって得られたビット情報と同一のビット情報を含む場合は、探索処理は実行しない。
[リスト3]
[K1,K16,K1,K1,K16,K1
[K1,K16,K1,K1,K16,K16
[K1,K16,K1,K1,K16,K16
[K1,K16,K1,K1,K16,K1
[K1,K16,K1,K1,K16,K1
[K1,K16,K1,K1,K16,K16
[K1,K16,K1,K1,K16,K1
[K1,K16,K1,K1,K16,K16
[K1,K16,K1,K16,K1,K1
[K1,K16,K1,K16,K1,K16
[K1,K16,K1,K16,K1,K1
[K1,K16,K1,K16,K1,K16
[K1,K16,K1,K16,K1,K1
[K1,K16,K1,K16,K1,K1
[K1,K16,K1,K16,K1,K16
[K1,K16,K1,K16,K1,K16
[K1,K16,K1,K1,K16,K1
[K1,K16,K1,K1,K16,K16
[K1,K16,K1,K1,K16,K16]]
[ [K1,K16,K1,K1,K16,K1
[K1,K16,K1,K1,K16,K1
[K1,K16,K1,K1,K16,K16
[K1,K16,K1,K1,K16,K1
[K1,K16,K1,K1,K16,K16
[K1,K16,K1,K16,K1,K1
[K1,K16,K1,K16,K1,K16
[K1,K16,K1,K16,K1,K1
[K1,K16,K1,K16,K1,K16
[K1,K16,K1,K16,K1,K1
[K1,K16,K1,K16,K1,K1
[K1,K16,K1,K16,K1,K16
[K1,K16,K1,K16,K1,K16
[K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K16
[K1,K16,K16,K1,K16,K16
[K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K16
[K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K16
[K1,K16,K16,K16,K1,K1
[K1,K16,K16,K16,K1,K16
[K1,K16,K16,K16,K1,K1
[K1,K16,K16,K16,K1,K16
[K1,K16,K16,K16,K1,K1
[K1,K16,K16,K16,K1,K1
[K1,K16,K16,K16,K1,K16
[K1,K16,K16,K16,K1,K16
[K1,K16,K1,K1,K16,K1
[K1,K16,K1,K1,K16,K16
[K1,K16,K1,K1,K16,K16
[K1,K16,K1,K1,K16,K1
[K1,K16,K1,K1,K16,K1
[K1,K16,K1,K1,K16,K16
[K1,K16,K1,K1,K16,K1
[K1,K16,K1,K1,K16,K16
[K1,K16,K1,K16,K1,K1
[K1,K16,K1,K16,K1,K16
[K1,K16,K1,K16,K1,K1
[K1,K16,K1,K16,K1,K16
[K1,K16,K1,K16,K1,K1
[K1,K16,K1,K16,K1,K1
[K1,K16,K1,K16,K1,K16
[K1,K16,K1,K16,K1,K16
[K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K16
[K1,K16,K16,K1,K16,K16
[K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K16
[K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K16
[K1,K16,K16,K16,K1,K1
[K1,K16,K16,K16,K1,K16
[K1,K16,K16,K16,K1,K1
[K1,K16,K16,K16,K1,K16
[K1,K16,K16,K16,K1,K1
[K1,K16,K16,K16,K1,K1
[K1,K16,K16,K16,K1,K16
[K1,K16,K16,K16,K1,K16
[K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K16
[K1,K16,K16,K1,K16,K16
[K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K16
[K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K16
[K1,K16,K16,K16,K1,K1
[K1,K16,K16,K16,K1,K16
[K1,K16,K16,K16,K1,K1
[K1,K16,K16,K16,K1,K16
[K1,K16,K16,K16,K1,K1
[K1,K16,K16,K16,K1,K1
[K1,K16,K16,K16,K1,K16
[K1,K16,K16,K16,K1,K16
[K1,K16,K1,K1,K16,K1
[K1,K16,K1,K1,K16,K16
[K1,K16,K1,K1,K16,K16
[K1,K16,K1,K1,K16,K1
[K1,K16,K1,K1,K16,K1
[K1,K16,K1,K1,K16,K16
[K1,K16,K1,K1,K16,K1
[K1,K16,K1,K1,K16,K16
[K1,K16,K1,K16,K1,K1
[K1,K16,K1,K16,K1,K16
[K1,K16,K1,K16,K1,K1
[K1,K16,K1,K16,K1,K16
[K1,K16,K1,K16,K1,K1
[K1,K16,K1,K16,K1,K1
[K1,K16,K1,K16,K1,K16
[K1,K16,K1,K16,K1,K16
[K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K16
[K1,K16,K16,K1,K16,K16
[K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K16
[K1,K16,K16,K1,K16,K1
[K1,K16,K16,K1,K16,K16
[K1,K16,K16,K16,K1,K1
[K1,K16,K16,K16,K1,K16
[K1,K16,K16,K16,K1,K1
[K1,K16,K16,K16,K1,K16
[K1,K16,K16,K16,K1,K1
[K1,K16,K16,K16,K1,K1
[K1,K16,K16,K16,K1,K16
[K1,K16,K16,K16,K1,K16
[K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K16
[K16,K1,K16,K1,K16,K16
[K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K16
[K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K16
[K16,K1,K16,K16,K1,K1
[K16,K1,K16,K16,K1,K16
[K16,K1,K16,K16,K1,K1
[K16,K1,K16,K16,K1,K16
[K16,K1,K16,K16,K1,K1
[K16,K1,K16,K16,K1,K1
[K16,K1,K16,K16,K1,K16
[K16,K1,K16,K16,K1,K16
[K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K16
[K16,K1,K16,K1,K16,K16
[K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K16
[K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K16
[K16,K1,K16,K16,K1,K1
[K16,K1,K16,K16,K1,K16
[K16,K1,K16,K16,K1,K1
[K16,K1,K16,K16,K1,K16
[K16,K1,K16,K16,K1,K1
[K16,K1,K16,K16,K1,K1
[K16,K1,K16,K16,K1,K16
[K16,K1,K16,K16,K1,K16
[K16,K1,K1,K1,K16,K1
[K16,K1,K1,K1,K16,K16
[K16,K1,K1,K1,K16,K16
[K16,K1,K1,K1,K16,K1
[K16,K1,K1,K1,K16,K1
[K16,K1,K1,K1,K16,K16
[K16,K1,K1,K1,K16,K1
[K16,K1,K1,K1,K16,K16
[K16,K1,K1,K16,K1,K1
[K16,K1,K1,K16,K1,K16
[K16,K1,K1,K16,K1,K1
[K16,K1,K1,K16,K1,K16
[K16,K1,K1,K16,K1,K1
[K16,K1,K1,K16,K1,K1
[K16,K1,K1,K16,K1,K16
[K16,K1,K1,K16,K1,K16
[K16,K1,K1,K1,K16,K1
[K16,K1,K1,K1,K16,K16
[K16,K1,K1,K1,K16,K16
[K16,K1,K1,K1,K16,K1
[K16,K1,K1,K1,K16,K1
[K16,K1,K1,K1,K16,K16
[K16,K1,K1,K1,K16,K1
[K16,K1,K1,K1,K16,K16
[K16,K1,K1,K16,K1,K1
[K16,K1,K1,K16,K1,K16
[K16,K1,K1,K16,K1,K1
[K16,K1,K1,K16,K1,K16
[K16,K1,K1,K16,K1,K1
[K16,K1,K1,K16,K1,K1
[K16,K1,K1,K16,K1,K16
[K16,K1,K1,K16,K1,K16
[K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K16
[K16,K1,K16,K1,K16,K16
[K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K16
[K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K16
[K16,K1,K16,K16,K1,K1
[K16,K1,K16,K16,K1,K16
[K16,K1,K16,K16,K1,K1
[K16,K1,K16,K16,K1,K16
[K16,K1,K16,K16,K1,K1
[K16,K1,K16,K16,K1,K1
[K16,K1,K16,K16,K1,K16
[K16,K1,K16,K16,K1,K16
[K16,K1,K1,K1,K16,K1
[K16,K1,K1,K1,K16,K16
[K16,K1,K1,K1,K16,K16
[K16,K1,K1,K1,K16,K1
[K16,K1,K1,K1,K16,K1
[K16,K1,K1,K1,K16,K16
[K16,K1,K1,K1,K16,K1
[K16,K1,K1,K1,K16,K16
[K16,K1,K1,K16,K1,K1
[K16,K1,K1,K16,K1,K16
[K16,K1,K1,K16,K1,K1
[K16,K1,K1,K16,K1,K16
[K16,K1,K1,K16,K1,K1
[K16,K1,K1,K16,K1,K1
[K16,K1,K1,K16,K1,K16
[K16,K1,K1,K16,K1,K16
[K16,K1,K1,K1,K16,K1
[K16,K1,K1,K1,K16,K16
[K16,K1,K1,K1,K16,K16
[K16,K1,K1,K1,K16,K1
[K16,K1,K1,K1,K16,K1
[K16,K1,K1,K1,K16,K16
[K16,K1,K1,K1,K16,K1
[K16,K1,K1,K1,K16,K16
[K16,K1,K1,K16,K1,K1
[K16,K1,K1,K16,K1,K16
[K16,K1,K1,K16,K1,K1
[K16,K1,K1,K16,K1,K16
[K16,K1,K1,K16,K1,K1
[K16,K1,K1,K16,K1,K1
[K16,K1,K1,K16,K1,K16
[K16,K1,K1,K16,K1,K16
[K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K16
[K16,K1,K16,K1,K16,K16
[K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K16
[K16,K1,K16,K1,K16,K1
[K16,K1,K16,K1,K16,K16
[K16,K1,K16,K16,K1,K1
[K16,K1,K16,K16,K1,K16
[K16,K1,K16,K16,K1,K1
[K16,K1,K16,K16,K1,K16
[K16,K1,K16,K16,K1,K1
[K16,K1,K16,K16,K1,K1
[K16,K1,K16,K16,K1,K16
[K16,K1,K16,K16,K1,K16
以上、説明したように、本発明の構成においては、電力差分解析(DPA)に基づく暗号解析における計算量の大幅な削減が可能となる。すなわち、従来のKocherの全探索手法によれば計1024回の探索処理が必要となっていた鍵情報解析処理について、図7、図8を参照して説明した手法、すなわち、全ての56ビットのマスター鍵(DES鍵)の算出を電力差分解析(DPA)に基づいて解析するとともに、先のステップにおいて解析済みのビットに重複するビット情報に関する探索処理を省略した方法によれば、従来のKocherの全探索手法における探索回数1024回を、528回の探索まで削減することが可能となる。
また、図9および図10を参照して説明した手法、すなわち、56ビットのマスター鍵(DES鍵)の一部のビット情報解析を電力差分解析(DPA)に基づいて解析し、残りのビット情報をPC等の情報処理装置を用いた全探索処理を行うことにより、電力差分解析(DPA)に基づく全探索処理回数をさらに削減することが可能となり、暗号処理において適用されている鍵解析の効率性を大幅に上昇させることが可能となった。
なお、上述した説明においては、全てDESに関する暗号解析法について説明したが、本発明はこれに限られるものではない。例えば、文献「Hierocrypt−L1/3 の鍵スケジュール解析」金丸他、電子情報通信学会技術研究報告,ISEC2002−91,2002 に記載されているような手法によってラウンド鍵ビット間に成立する線形関係式を導出し、これを用いて、未知ビットを既知ビットから算出することにより不要な探索を削除することも可能である。
なお、上述した鍵情報の解析処理を実行する暗号解析処理装置は、例えば図11に示す構成を有する。暗号解析処理装置300は、データ処理部301と、電力解析部302を有し、解析対象となる暗号処理を実行する例えばICモジュールなどからなる暗号処理実行回路310と接続する。
データ処理部301は、暗号処理対象となる平文、様々なビットパターンからなる鍵データを生成し、暗号処理実行回路310に入力し、また、暗号処理実行回路310から出力される暗号文を入力し、解析を行う。また、電力解析部302は、データ処理部301かにおいて生成した様々なビットパターンからなる鍵データの入力時の暗号処理実行回路310における電力消費量の変動を計測する。
電力差分解析(DPA)に基づく探索処理においては、データ処理部301からの入力する鍵ビットパターンごとの電力変動を計測し、鍵データの推定を行うことになる。データ処理部301は、ラウンド関数部の第1段の8つのSボックスと、第16段の8つのSボックスに適用される鍵のビット情報について、どのビットが重複するデータであるかの鍵ビット情報(例えば図8を参照して説明した各Sボックスに適用される鍵ビット識別データ)をメモリに格納しており、実行予定のSボックスに含まれる鍵ビットが、すでに実行済みのステップにおいて取得された鍵構成ビット情報と重複するビット情報があるか否かを判定し、ある場合は、それらのビットについての探索を実行せず、実行済みステップにおいて取得されていない鍵情報ビットのみを対象とした探索処理を行う。
図12を参照して、本発明の暗号解析装置において実行する処理手順について説明する。
ステップS501において、電力解析シーケンスに従って、鍵探索処理を実行するSボックスを選択する。シーケンスとは、例えば先に説明した図7や図9、あるいは図10に示すシーケンス、あるいは上述したリストに示すシーケンスのいずれかである。
ステップS502において、実行予定のSボックスに対応する鍵の構成ビット情報と、既に実行済みのSボックスの鍵探索処理において取得済みのビット情報とを比較し、重複するビット情報が存在するか否かを判定する。
重複するビット情報がない場合は、ステップS504において、全てのビットすなわち6ビットについての全探索処理、すなわち2=64回の電力差分解析に基づく鍵探索処理を実行する。
重複するビット情報がある場合は、ステップS503において、重複するビット情報を除くビットのみについて電力差分解析に基づく探索処理を実行する。
ステップS505では、電力解析シーケンスに設定された電力差分解析に基づく鍵探索処理を実行するSボックスが終了したか否かを判定する。例えば図7に示すシーケンスの場合は、ステップS116のK16のSボックス、すなわち、第16段の第7Sボックスについての鍵探索処理が終了したか否かが判定される。図9に示すシーケンスの場合は、ステップS208のK16のSボックス、すなわち、第16段の第6Sボックスについての鍵探索処理が終了したか否かが判定される。図10に示すシーケンスの場合は、ステップS306のK1のSボックス、すなわち、第1段の第8Sボックスについての鍵探索処理が終了したか否かが判定される。
終了していれば、ステップS506に進み、未終了であれば、ステップS501に戻り、次のSボックスを選択して、同様の処理を繰り返す。ステップS506では、電力差分解析に基づく鍵探索処理により全ての鍵ビット情報、すなわちマスター鍵を構成する56ビット鍵情報が取得されたか否かを判定し、全てのビット情報が電力差分解析に基づく鍵探索処理によって求められて要る場合は処理を終了する。
全てのビット情報が電力差分解析に基づく鍵探索処理によって求められていない場合は、ステップS507に進み、未解析ビットについて、PC等の情報処理装置を用いた全探索処理を実行する。
これらの処理によりマスター鍵(主鍵)を構成する56ビット情報の解析が終了する。
次に、上述した暗号解析処理を利用して既存の暗号アルゴリズムの安全性を評価する暗号アルゴリズム評価装置および方法について説明する。暗号アルゴリズム評価装置は、先に図11を参照して説明した暗号解析処理装置と同様の構成によって実現される。ただし、データ処理部301は、解析結果に基づく暗号アルゴリズムの安全性評価処理を実行する。
図13を参照して暗号アルゴリズムの安全性評価処理のシーケンスについて説明する。ステップS501〜S508は、図12を参照して説明した暗号解析処理と同様の処理であり、重複ビット情報を考慮した電力差分解析による鍵情報の解析を行うシーケンスである。
ステップS508では、解析処理に要したトータルの探索回数を算出する。ここで算出するトータルの探索回数は電力差分解析において実行した重複ビットを考慮した鍵情報の解析に要する最小の探索回数と、情報処理装置において実行する全探索処理における処理回数の両者を考慮したものである。両回数を単純加算するか、あるいは処理時間に応じた
重み例数を設定して加算した値を用いる。ただし、情報処理装置における探索処理は全探索処理であり、鍵のビット長に依存することになるので、電力差分解析のみで全ビットを解析した場合の最小探索回数を評価値として用いてもよい。
ステップS509では、この算出値として得られるトータル探索回数に基づいて、暗号処理の安全レベル値を算出する。すなわち、鍵探索に必要な最小のトータル探索回数が大きければ、鍵解析困難性が高くより安全なアルゴリズムであるとし、鍵探索に必要な最小のトータル探索回数が少ない場合は、鍵解析困難性が小さく、安全性の低いアルゴリズムであると判定する。
上述したように、本発明の構成によれば、電力差分解析による暗号解析において、ラウンド関数部内のデータ変換部に適用される鍵ビット情報の重複ビット情報を抽出し、該抽出情報に基づいて重複ビット情報についての重複した電力差分解析による探索処理を排除し、新規ビットについてのみ電力差分解析による探索処理を順次実行する構成としたので、探索回数が大幅に削減され、効率的な暗号解析が可能となる。また、重複ビット情報についての重複した電力差分解析による探索処理を実行する場合の最小の探索回数を算出し、該算出結果に基づいて暗号処理の安全性評価を行うことが可能となる。
[3.電力差分解析に基づく暗号解析の困難性を高めた暗号処理装置および方法]
次に、電力差分解析に基づく暗号解析の困難性を高めた暗号処理装置および方法について、説明する。上述した説明から明らかなように、鍵探索に必要な最小のトータル探索回数が大きければ、鍵解析困難性が高くより安全なアルゴリズムである。情報処理装置における探索処理は全探索処理であり、鍵のビット長に依存することになるが、電力差分解析の場合は、上述したSボックス毎の解析では、重複ビットの配列によってその最小探索処理回数が異なるものと考えられる。
図1を参照して説明した通常のDES暗号アルゴリズムにおいては、各段のラウンド関数部(F関数)に適用するラウンド鍵は、図5を参照して説明したラウンド鍵生成部において生成される。
すなわち、ラウンド関数部に出力される各ラウンド鍵は、図5に示すラウンド鍵生成部において実行するビットシフトおよびPC2置換によって構成ビット値が決定されることになる。
前述したように、図5に示すラウンド鍵生成部200の置換部(PC2)203において実行する置換は、以下の置換行列PC2によって実行される。
Figure 2005080039
上記置換行列PC2は、例えば出力1ビット目は、入力の第14ビット、出力2ビット目は、入力の第17ビットのビットとして対応付けられて出力を決定していることを示している。なお、入力56ビットには、パリティが設定されているため、入力56ビットからパリティビットを除く変換を行い48ビットのラウンド鍵K(n)がラウンド関数部に出力される。
このように予め定められたルールに従ってラウンド鍵が生成される構成であり、2つの異なる48ビットラウンド鍵K(1),K(16)も上述の置換行列によって置換されており、その結果、先に図8を参照して説明したような重複ビット関係を持つラウンド鍵が生成されることになる。
従って、このラウンド鍵生成部における置換処理を異なる置換処理として実行することで、図8を参照して説明したような重複ビット関係と異なる対応を持つラウンド鍵の生成が可能となり、結果として、上述した重複ビットを考慮した鍵探索シーケンスを実行した場合であっても、大幅な探索回数の削減が実現されないラウンド鍵の生成が可能となると考えられる。
例えば、図14に示すようなPC2置換を持つラウンド鍵生成部500を構成する。図14に示すように、ラウンド鍵生成部500は、前段のラウンド鍵生成部、あるいは、マスター鍵(主鍵)置換部(図1参照)からの入力56ビットの上位28ビットCn−1と、下位28ビットDn−1をそれぞれビットシフト手段501,502に入力し、予め各ラウンドにおいて決められたシフト量のビットシフト(巡回シフト)を行う。
シフト量は、先に説明した図6に示すように、暗号化処理および復号処理において、各ラウンドに応じて予め設定された量の左巡回シフトまたは右巡回シフトが上位28ビットCn−1と、下位28ビットDn−1に対して行われる。
さらに、ビットシフトされたデータが、置換部(PC2)503に入力され、置換処理により、ビット位置が入れ替えられラウンド鍵K(n)が生成され、ラウンド関数部に入力される。
本発明の暗号処理装置における置換部(PC2)503の実行する置換は、図14の置換行列510に示すとおりであり、以下の置換行列PC2によって実行される。
Figure 2005080039
上記置換行列PC2は、例えば出力1ビット目は、入力の第2ビット、出力2ビット目は、入力の第8ビットのビットとして対応付けられて出力を決定していることを示している。なお、入力56ビットには、パリティが設定されているため、入力56ビットからパリティビットを除く変換を行い48ビットのラウンド鍵K(n)がラウンド関数部に出力される。
このように上記置換行列PC2を適用してラウンド鍵が生成する。上記置換行列PC2を適用して生成したラウンド鍵K(1),K(16)の場合、重複ビットの対応が、先に説明した図8に示す対応とは異なるものとなり、重複ビットを考慮した電力差分解析(DPA)に基づくシーケンスを設定した場合であっても、電力差分解析で56ビットのマスター鍵の全ビットを解析するには、最低でも544回の探索が必要となり、攻撃に対する耐性が僅かに上昇する。
このような、電力差分解析(DPA)攻撃に対する耐性を向上させた変形DESを暗号化装置に用いることにより、システム全体のセキュリティを向上させることが可能となる。
なお、上述した説明においては、主に暗号化処理を実行する場合について説明したが、復号処理を実行する復号装置や、暗号化・復号装置についても同様のことがいえる。
最後に、暗号処理を実行する暗号処理装置デバイスとしてのICモジュール600の構成例を図15に示す。上述の処理は、例えばPC、ICカード、リーダライタ、その他、様々な情報処理装置において実行可能であり、図15に示すICモジュール600は、これら様々な機器に構成することが可能である。
図15に示すCPU(Central processing Unit)601は、暗号処理の開始や、終了、データの送受信の制御、各構成部間のデータ転送制御、その他の各種プログラムを実行するプロセッサである。メモリ602は、CPU601が実行するプログラム、あるいは演算パラメータとしての固定データを格納するROM(Read-Only-Memory)、CPU601の処理において実行されるプログラム、およびプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用されるRAM(Random Access Memory)等からなる。ここに上述した中間テータの格納領域が形成される。また、メモリ602は暗号処理に必要な鍵データ等の格納領域として使用可能である。データ等の格納領域は、耐タンパ構造を持つメモリとして構成されることが好ましい。
暗号処理手部603は、例えば上述したDESその他のアルゴリズムに従った暗号処理、復号処理等を実行する。なお、ここでは、暗号処理手段を個別モジュールとした例を示したが、このような独立した暗号処理モジュールを設けず、例えば暗号処理プログラムをROMに格納し、CPU601がROM格納プログラムを読み出して実行するように構成してもよい。
乱数発生器604は、暗号処理に必要となる鍵の生成などにおいて必要となる乱数の発生処理を実行する。
送受信部605は、外部とのデータ通信を実行するデータ通信処理部であり、例えばリーダライタ等、ICモジュールとのデータ通信を実行し、ICモジュール内で生成した暗号文の出力、あるいは外部のリーダライタ等の機器からのデータ入力などを実行する。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
上述したように、本発明は、電力差分解析による暗号解析において、ラウンド関数部内のデータ変換部に適用される鍵ビット情報の重複ビット情報を抽出し、該抽出情報に基づいて重複ビット情報についての重複した電力差分解析による探索処理を排除し、新規ビットについてのみ電力差分解析による探索処理を順次実行する構成としたので、探索回数が大幅に削減され、効率的な暗号解析が可能となり、また、重複ビット情報についての重複した電力差分解析による探索処理を実行する場合の最小の探索回数を算出し、該算出結果に基づいて暗号処理の安全性評価を行うことが可能となるので、様々な暗号処理アルゴリズムの解析および安全性評価に適用可能となる。
さらに、本発明の構成によれば、複数段のラウンド関数部におけるデータ変換をマスター鍵に基づいて生成する複数のラウンド鍵を適用して実行する共通鍵暗号処理を実行する暗号処理装置において、重複ビット情報の重複探索を排除した電力差分解析による最小探索回数が大きな回数となるようにラウンド鍵を設定可能としたラウンド鍵生成部、具体的には、特定の置換処理を実行する置換処理部(PC2)を構成することで、電力差分解析に対する耐性の高い安全性の高い暗号処理アルゴリズムが実現される。
DES暗号処理の基本構成を示す図である。 ラウンド関数部の各ラウンドを構成するラウンド関数部の構成を示す図である。 F関数の構成を示す図である。 トリプルDES(Triple DES)暗号処理構成を示す図である。 ラウンド鍵生成部の構成について説明する図である。 ラウンド鍵生成部のシフト処理部におけるシフト処理を説明する図である。 本発明に係る暗号解析における処理シーケンスを説明する図である。 本発明に係る暗号解析において、探索処理の省略可能な重複ビットの対応関係を説明する図である。 本発明に係る暗号解析における処理シーケンスを説明する図である。 本発明に係る暗号解析における処理シーケンスを説明する図である。 本発明に係る暗号解析処理装置、暗号アルゴリズム評価装置の構成を説明する図である。 本発明に係る暗号解析処理のシーケンスを説明するフローチャートである。 本発明に係る暗号アルゴリズム評価処理のシーケンスを説明するフローチャートである。 本発明に係る暗号処理装置におけるラウンド鍵生成部の構成を示す図である。 本発明の構成が適用可能な暗号処理実行デバイスとしてのICモジュールの構成例を示す図である。
符号の説明
110 ラウンド関数部
111 初期置換部
112,113 ラウンド関数部
114 逆置換部
120 鍵スケジュール部
121 マスター鍵(主鍵)置換部
122,123 ラウンド鍵生成部
151 F関数部
171,172 置換部
181 Sボックス
185,186,187 DES暗号処理部
200 ラウンド鍵生成部
201 シフト処理部
202 シフト処理部
203 置換部(PC2)
300 暗号解析処理装置
301 データ処理部
302 電力解析部
310 暗号処理実行回路
500 ラウンド鍵生成部
501 シフト処理部
502 シフト処理部
503 置換部(PC2)
600 ICモジュール
601 CPU(Central processing Unit)
602 メモリ
603 暗号処理部
604 乱数発生器
605 送受信部

Claims (27)

  1. 電力差分解析による暗号解析を実行する暗号解析処理装置であり、
    複数段のラウンド関数部におけるデータ変換をマスター鍵に基づいて生成する複数のラウンド鍵を適用して実行する共通鍵暗号における鍵情報の解析を、電力差分解析に基づいて実行する構成を有し、
    前記ラウンド関数部内のデータ変換部に適用される鍵ビット情報を電力差分解析に基づいて順次探索する処理において、異なるデータ変換部において重複適用される重複ビット情報を抽出し、該抽出情報に基づいて重複ビット情報についての重複した電力差分解析による探索処理を排除し、新規ビットについてのみ電力差分解析による探索処理を順次実行する構成を有することを特徴とする暗号解析処理装置。
  2. 前記ビット情報の探索処理は、
    前記複数のラウンド関数部中、第1段および最終段に属する複数のデータ変換部に対応して適用されるラウンド鍵の部分鍵の構成ビット情報の探索処理として実行する構成であることを特徴とする請求項1に記載の暗号解析処理装置。
  3. 前記暗号解析処理装置は、
    前記ビット情報の重複探索を排除した電力差分解析に基づく鍵ビット情報探索処理により、前記マスター鍵の構成ビット情報を取得する構成であることを特徴とする請求項1に記載の暗号解析処理装置。
  4. 前記共通鍵暗号はDES(Data Encryption Standard)アルゴリズムに従った暗号処理であり、前記ラウンド関数部を構成する複数のデータ変換部は非線形変換部であるSボックスであり、
    暗号解析処理装置は、前記Sボックスに対応して適用する部分鍵の構成ビット情報の探索処理を順次実行する構成であることを特徴とする請求項1に記載の暗号解析処理装置。
  5. 前記暗号解析処理装置は、
    前記ラウンド関数部を構成する8つのSボックスに対応して適用する6ビットの部分鍵の構成ビット情報の探索処理を、重複ビット情報の重複探索を排除して順次実行する構成であることを特徴とする請求項4に記載の暗号解析処理装置。
  6. 前記暗号解析処理装置は、
    複数のラウンド関数部に属する16個のデータ変換部に適用される鍵ビット情報を、重複ビット情報の重複探索を排除して順次実行し、計528回の探索処理によって、前記マスター鍵を構成する56ビットの情報解析を行う構成であることを特徴とする請求項1に記載の暗号解析処理装置。
  7. 前記暗号解析処理装置は、
    前記ビット情報の重複探索を排除した電力差分解析に基づく鍵ビット情報探索処理により、前記マスター鍵の構成ビット情報の一部を取得し、一部を電力差分解析を伴わない全探索処理により解析する構成であることを特徴とする請求項1に記載の暗号解析処理装置。
  8. 前記暗号解析処理装置は、
    複数のラウンド関数部に属する8個のデータ変換部に適用される鍵ビット情報を、重複ビット情報の重複探索を排除して順次実行し、計188回の探索処理によって、31ビットの鍵ビット情報解析を行う構成であることを特徴とする請求項1に記載の暗号解析処理装置。
  9. 前記暗号解析処理装置は、
    複数のラウンド関数部に属する6個のデータ変換部に適用される鍵ビット情報を、重複ビット情報の重複探索を排除して順次実行し、計176回の探索処理によって、26ビットの鍵ビット情報解析を行う構成であることを特徴とする請求項1に記載の暗号解析処理装置。
  10. 前記暗号解析処理装置は、さらに、
    重複ビット情報の重複探索を排除した電力差分解析に基づく鍵ビット探索処理の最低所要回数に基づいて、暗号処理アルゴリズムの安全レベルを算出する処理を実行する構成であることを特徴とする請求項1に記載の暗号解析処理装置。
  11. 複数段のラウンド関数部におけるデータ変換をマスター鍵に基づいて生成する複数のラウンド鍵を適用して実行する共通鍵暗号処理を実行する暗号処理装置であり、
    前記複数段のラウンド関数部に属するデータ変換部に適用される鍵ビット情報解析を、重複ビット情報の重複探索を排除した電力差分解析により実行した場合、計528回の探索回数を超える最小探索回数を必要とするラウンド鍵を設定可能としたラウンド鍵生成部を有することを特徴とする暗号処理装置。
  12. 前記暗号処理装置におけるラウンド鍵生成部は、
    置換処理(PC2)として、下記式、
    Figure 2005080039
    による置換処理を実行する構成であることを特徴とする請求項11に記載の暗号処理装置。
  13. 前記共通鍵暗号はDES(Data Encryption Standard)アルゴリズムに従った暗号処理であることを特徴とする請求項11に記載の暗号処理装置。
  14. 複数段のラウンド関数部におけるデータ変換をマスター鍵に基づいて生成する複数のラウンド鍵を適用して実行する共通鍵暗号における鍵情報の解析を、電力差分解析に基づいて実行する暗号解析処理方法であり、
    前記ラウンド関数部内のデータ変換部に適用される鍵ビット情報を電力差分解析に基づいて順次探索するステップと、
    異なるデータ変換部において重複適用される重複ビット情報を抽出するステップと、
    該抽出情報に基づいて重複ビット情報についての重複した電力差分解析による探索処理を排除し、新規ビットについてのみ電力差分解析による探索処理を順次実行するステップと、
    を有することを特徴とする暗号解析処理方法。
  15. 前記ビット情報の探索処理は、
    前記複数のラウンド関数部中、第1段および最終段に属する複数のデータ変換部に対応して適用されるラウンド鍵の部分鍵の構成ビット情報の探索処理として実行することを特徴とする請求項14に記載の暗号解析処理方法。
  16. 前記暗号解析処理方法は、
    前記ビット情報の重複探索を排除した電力差分解析に基づく鍵ビット情報探索処理により、前記マスター鍵の構成ビット情報を取得することを特徴とする請求項14に記載の暗号解析処理方法。
  17. 前記共通鍵暗号はDES(Data Encryption Standard)アルゴリズムに従った暗号処理であり、前記ラウンド関数部を構成する複数のデータ変換部は非線形変換部であるSボックスであり、
    暗号解析処理方法は、
    前記Sボックスに対応して適用する部分鍵の構成ビット情報の探索処理を順次実行することを特徴とする請求項14に記載の暗号解析処理方法。
  18. 前記暗号解析処理方法は、
    前記ラウンド関数部を構成する8つのSボックスに対応して適用する6ビットの部分鍵の構成ビット情報の探索処理を、重複ビット情報の重複探索を排除して順次実行することを特徴とする請求項17に記載の暗号解析処理方法。
  19. 前記暗号解析処理方法は、
    複数のラウンド関数部に属する16個のデータ変換部に適用される鍵ビット情報を、重複ビット情報の重複探索を排除して順次実行し、計528回の探索処理によって、前記マスター鍵を構成する56ビットの情報解析を行うことを特徴とする請求項14に記載の暗号解析処理方法。
  20. 前記暗号解析処理方法は、
    前記ビット情報の重複探索を排除した電力差分解析に基づく鍵ビット情報探索処理により、前記マスター鍵の構成ビット情報の一部を取得し、一部を電力差分解析を伴わない全探索処理により解析するステップを有することを特徴とする請求項14に記載の暗号解析処理方法。
  21. 前記暗号解析処理方法は、
    複数のラウンド関数部に属する8個のデータ変換部に適用される鍵ビット情報を、重複ビット情報の重複探索を排除して順次実行し、計188回の探索処理によって、31ビットの鍵ビット情報解析を行うステップを有することを特徴とする請求項14に記載の暗号解析処理方法。
  22. 前記暗号解析処理方法は、
    複数のラウンド関数部に属する6個のデータ変換部に適用される鍵ビット情報を、重複ビット情報の重複探索を排除して順次実行し、計176回の探索処理によって、26ビットの鍵ビット情報解析を行うステップを有することを特徴とする請求項14に記載の暗号解析処理方法。
  23. 前記暗号解析処理方法は、さらに、
    重複ビット情報の重複探索を排除した電力差分解析に基づく鍵ビット探索処理の最低所要回数に基づいて、暗号処理アルゴリズムの安全レベルを算出する処理を実行するステップを有することを特徴とする請求項14に記載の暗号解析処理方法。
  24. 複数段のラウンド関数部におけるデータ変換をマスター鍵に基づいて生成する複数のラウンド鍵を適用して実行する共通鍵暗号処理を実行する暗号処理方法であり、
    前記複数段のラウンド関数部に属するデータ変換部に適用される鍵ビット情報解析を、重複ビット情報の重複探索を排除した電力差分解析により実行した場合、計528回の探索回数を超える最小探索回数を必要とするラウンド鍵を設定可能としたラウンド鍵生成ステップを有することを特徴とする暗号処理方法。
  25. 前記ラウンド鍵生成ステップは、
    置換処理(PC2)として、下記式、
    Figure 2005080039
    による置換処理を実行するステップを含むことを特徴とする請求項24に記載の暗号処理方法。
  26. 前記共通鍵暗号はDES(Data Encryption Standard)アルゴリズムに従った暗号処理であることを特徴とする請求項24に記載の暗号処理方法。
  27. 複数段のラウンド関数部におけるデータ変換をマスター鍵に基づいて生成する複数のラウンド鍵を適用して実行する共通鍵暗号における鍵情報の解析を、電力差分解析に基づいて実行する暗号解析処理コンピュータ・プログラムであり、
    前記ラウンド関数部内のデータ変換部に適用される鍵ビット情報を電力差分解析に基づいて順次探索するステップと、
    異なるデータ変換部において重複適用される重複ビット情報を抽出するステップと、
    該抽出情報に基づいて重複ビット情報についての重複した電力差分解析による探索処理を排除し、新規ビットについてのみ電力差分解析による探索処理を順次実行するステップと、
    を有することを特徴とする暗号解析処理コンピュータ・プログラム。
JP2003309588A 2003-09-02 2003-09-02 暗号解析処理装置、暗号処理装置、および方法、並びにコンピュータ・プログラム Pending JP2005080039A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003309588A JP2005080039A (ja) 2003-09-02 2003-09-02 暗号解析処理装置、暗号処理装置、および方法、並びにコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003309588A JP2005080039A (ja) 2003-09-02 2003-09-02 暗号解析処理装置、暗号処理装置、および方法、並びにコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
JP2005080039A true JP2005080039A (ja) 2005-03-24

Family

ID=34411681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003309588A Pending JP2005080039A (ja) 2003-09-02 2003-09-02 暗号解析処理装置、暗号処理装置、および方法、並びにコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP2005080039A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101759133B1 (ko) * 2015-03-17 2017-07-18 현대자동차주식회사 비밀 정보 기반의 상호 인증 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101759133B1 (ko) * 2015-03-17 2017-07-18 현대자동차주식회사 비밀 정보 기반의 상호 인증 방법 및 장치
US9960915B2 (en) 2015-03-17 2018-05-01 Hyundai Motor Company Method and apparatus for performing cross-authentication based on secret information

Similar Documents

Publication Publication Date Title
US8306217B2 (en) Cryptographic processing apparatus and cryptographic processing method, and computer program
CN101908958B (zh) 密码处理装置、方法、算法构建方法和信息处理装置
JP4961909B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US8340282B2 (en) Information processing apparatus
KR20050006062A (ko) 암호 처리 장치, 암호 처리 방법 및 컴퓨터 프로그램
JP5050454B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP5023624B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US20090103714A1 (en) Encryption device, encryption method, and computer program
JP5364840B2 (ja) 暗号化装置
JP2007192893A (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP2007195132A (ja) 暗号処理装置
JP2004212828A (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP5184659B2 (ja) 秘密鍵を伴う電子暗号アセンブリを安全に守る方法
JP2005134478A (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP2006019872A (ja) 暗号処理装置
JP2005031471A (ja) 暗号処理装置、および暗号処理方法
JP2007174024A (ja) 暗号処理装置
JP2006054568A (ja) 暗号化装置、復号化装置、および方法、並びにコンピュータ・プログラム
JP2005080039A (ja) 暗号解析処理装置、暗号処理装置、および方法、並びにコンピュータ・プログラム
JP2005045752A (ja) 暗号処理装置、および暗号処理方法
JP2005134477A (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP2014007705A (ja) サイドチャネル評価装置及びサイドチャネル評価方法
CN110601818B (zh) 一种检测sms4密码算法抵御统计故障攻击的方法
JP4337328B2 (ja) 暗号強度指標算出方法、および暗号強度評価処理装置、並びにコンピュータ・プログラム
KR20230088201A (ko) 경량 블록암호 pipo에 대한 신규 딥러닝 기반 프로파일링 및 비프로파일링 부채널 분석 방법 및 장치