JP2016127405A - 暗号化装置 - Google Patents

暗号化装置 Download PDF

Info

Publication number
JP2016127405A
JP2016127405A JP2014266066A JP2014266066A JP2016127405A JP 2016127405 A JP2016127405 A JP 2016127405A JP 2014266066 A JP2014266066 A JP 2014266066A JP 2014266066 A JP2014266066 A JP 2014266066A JP 2016127405 A JP2016127405 A JP 2016127405A
Authority
JP
Japan
Prior art keywords
conversion
information
encryption
unit
unitized
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
JP2014266066A
Other languages
English (en)
Inventor
小川 秀明
Hideaki Ogawa
秀明 小川
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.)
Dnp Hypertech Co Ltd
Original Assignee
Dnp Hypertech Co Ltd
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 Dnp Hypertech Co Ltd filed Critical Dnp Hypertech Co Ltd
Priority to JP2014266066A priority Critical patent/JP2016127405A/ja
Priority to US15/539,961 priority patent/US20170352296A1/en
Priority to EP15872521.8A priority patent/EP3239962A4/en
Priority to PCT/JP2015/081756 priority patent/WO2016103952A1/ja
Priority to KR1020177019281A priority patent/KR20170094395A/ko
Publication of JP2016127405A publication Critical patent/JP2016127405A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】 従来技術では、4バイト単位での変換を前提とするものであるところ、存在する情報の種類が「2の32乗」通りであることになり、「2の32乗」の予め分かっている情報を入力して変換結果を見るという方法により検証すれば、暗号化の変換内容を特定することが現実的に可能であるという問題を抱えるものであった。そこで、本発明は、暗号化単位を工夫することによって、暗号の解読を事実上不可能にする暗号化装置を提供する。
【解決手段】 情報を暗号化して暗号化情報とする暗号化装置であって、情報を取得する情報取得部と、取得した情報を後述する変換部にて変換する単位である16バイト単位の単位化情報に単位化する変換用単位化部と、変換用単位化部にて単位化された単位化情報を一つの一次式では表現できない関数にて変換することで変換済単位化情報とする変換部と、からなる暗号化装置を開発した。
【選択図】図1

Description

本発明は、情報を暗号化して暗号化情報を生成する暗号化装置に関するものである。
一般に、情報を暗号化するための暗号化装置が知られている。
暗号化装置は、第三者による解読の危険から守るための機能を備えていることが重要である。なぜなら、暗号化の目的は、情報に秘匿性をもたせる点にあるところ、第三者による解読が容易であれば、秘匿性が低くなり、暗号化の目的が全うされないからである。
第三者による暗号解読の方法は、暗号化情報についての通信を傍受した上、(1)取得した暗号化情報に対して既に保有している固定の関数の逆変換を実施するという方法及び(2)暗号化対象の情報と暗号化情報の組み合わせから暗号化の関数を推定し、その逆変換を実施するという方法が一般的である。
このような暗号化装置において、暗号の解読を困難にするための工夫が存在する。例えば、工夫が記載された先行技術文献として、特許文献1が挙げられる。
特表2010−510539
特許文献1は、従来から1つの実装に対して適用される関数が固定されていたという問題点を解決するため、暗号化処理部に対する暗号化鍵を入力する機能を追加し、その都度入力される暗号化鍵の情報に応じて、暗号化の関数や方式を変更するという方法である。
この方法によれば、暗号化関数が暗号化鍵の入力情報ごとに異なるので、第三者が通信を傍受して暗号化情報を取得しても既に保有している固定の関数の逆変換を実施するという方法では暗号の解読ができないことになる。
しかし、特許文献1では、第三者の暗号解読レベルによっては、暗号化の関数が解読されてしまう危険があった。具体的には、特許文献1は、暗号化の処理において変換を行う単位について何らの特徴がないため、従来どおり4バイト単位での変換を前提とするものであるところ、存在する情報の種類が「2の32乗」通りであることになり、「2の32乗」の予め分かっている情報を入力して変換結果を見るという方法により検証すれば、暗号化の変換内容を特定することが現実的に可能であるという問題を抱えるものであった。
そこで、本発明は、暗号化単位を工夫することによって、暗号の解読を事実上不可能にする暗号化装置を提供する。さらには、暗号化の関数の内容を工夫することによって、「(2)暗号化対象の情報と暗号化情報の組み合わせから暗号化の関数を推定」するという方法では解読できないような機能を備えた暗号化装置を提供する。
具体的には、以下の特徴を有する暗号化装置、暗号化方法及び暗号化プログラムを提供する。以下では、本発明の内容を暗号化装置として列挙するが、本出願は、同様の特徴を有する暗号化方式及び暗号化プログラムをも対象に含めるものである。
まず、情報を暗号化して暗号化情報とする暗号化装置であって、情報を取得する情報取得部と、取得した情報を後述する変換部にて変換する単位である16バイト単位の単位化情報に単位化する変換用単位化部と、変換用単位化部にて単位化された単位化情報を一つの一次式では表現できない関数にて変換することで変換済単位化情報とする変換部と、からなる暗号化装置である。
また、前記特徴に加えて、変換部にて得られた全ての変換済単位化情報を結合することで暗号化情報とする暗号化情報結合部をさらに有する暗号化装置である。
また、前記特徴に加えて、変換部は、同一の変換についての順変換と逆変換を隣接する原変換に対して複合させた複合変換を実行する複合変換手段を含む暗号化装置である。
また、前記特徴に加えて、変換部は、入力値に対して前記順変換を複合した前段による演算結果である前方変換結果の複数について排他的論理和処理をした後に前記逆変換を複合した後段による変換処理を前記入力値と同数得る変換処理を実行する排他的論理和処理手段を有する暗号化装置である。
また、前記特徴に加えて、変換部は、一次式では表現できない変換入力と変換出力との関係を定めるテーブルである変換テーブルを用いて変換を行うための変換手段を保持する暗号化装置である。
また、前記特徴に加えて、変換部は、変換部にて実行されるべき複数の変換理の一部に対してのみ変換テーブルを適用するテーブル適用手段を有する暗号化装置である。
また、前記特徴に加えて、変換部は、複数の処理段に対して適用すべきテーブルを動的に制御する適用テーブル制御手段をさらに有する暗号化装置である。
また、前記特徴に加えて、変換部は、入力値に対して適用すべきテーブルの適用位置を動的に制御する適用位置制御手段をさらに有する暗号化装置である。
最後に、上記暗号化装置によって暗号化された暗号化情報を復号して情報とする復号化装置であって、暗号化情報を取得する暗号化情報取得部と、取得した暗号化情報を後述する逆変換部にて変換する単位である16バイト単位の単位化暗号化情報に単位化する逆変換用単位化部と、逆変換用単位化部にて単位化された単位化暗号化情報を前記変換部の変換とは逆変換することで逆変換済単位化情報とする逆変換部と、逆変換部にて得られた全ての逆変換済単位化情報を結合することで暗号化情報の元となる情報である元情報とする元情報結合部と、からなる復号化装置である。
本発明により、第三者による暗号解読が事実上不可能な暗号を生成することができ、暗号解読が事実上不可能である暗号化装置を提供することができる。
実施例1にかかる暗号化装置の機能ブロック 実施例1において任意の関数を用いた場合の暗号化の内容 実施例1にかかる暗号化装置のハードウェア構成を示す図 実施例1にかかる暗号化装置を用いた場合の処理の流れを示す図 16バイト単位に単位化した順に変換する構成における変換用単位化ステップと変換ステップとの関係を示す図 実施例2にかかる暗号化装置の機能ブロック 実施例2にかかる暗号化装置のハードウェア構成を示す図 実施例2にかかる暗号化装置を用いた場合の処理の流れを示す図 実施例3にかかる暗号化装置の機能ブロック 従来の複合変換の流れを示す図 実施例3における複合変換の内容を示す図 実施例3にかかる暗号化装置のハードウェア構成を示す図 実施例3にかかる暗号化装置を用いた場合の処理の流れを示す図 実施例4にかかる暗号化装置の機能ブロック 従来のXOR演算を挟んだ多対一の変換の内容を示す図 実施例4におけるXOR演算を挟んだ多対一の変換の内容を示す図 実施例4にかかる暗号化装置のハードウェア構成を示す図 実施例4にかかる暗号化装置を用いた場合の処理の流れを示す図 実施例5にかかる暗号化装置の機能ブロック 変換テーブルを用いた変換の内容を示した図 実施例5にかかる暗号化装置のハードウェア構成を示す図 実施例5にかかる暗号化装置を用いた場合の処理の流れを示す図 実施例6にかかる暗号化装置の機能ブロック 実施例6にかかる暗号化装置のハードウェア構成を示す図 実施例6にかかる暗号化装置を用いた場合の処理の流れを示す図 実施例7にかかる暗号化装置の機能ブロック 実施例7にかかる暗号化装置のハードウェア構成を示す図 実施例7にかかる暗号化装置を用いた場合の処理の流れを示す図 実施例8にかかる暗号化装置の機能ブロック 実施例8にかかる暗号化装置のハードウェア構成を示す図 実施例8にかかる暗号化装置を用いた場合の処理の流れを示す図 実施例9にかかる復号化装置の機能ブロック 実施例9にかかる復号化装置のハードウェア構成を示す図 実施例9にかかる復号化装置を用いた場合の処理の流れを示す図
以下、本発明の実施の形態を図示例と共に説明する。実施例と請求項の相互の関係は以下の通りである。実施例1は主に請求項1,10、19に関し、実施例2は主に請求項2,11,20に関し、実施例3は主に請求項3,12,21に関し、実施例4は主に請求項4,13,22に関し、実施例5は主に請求項5,14,23に関し、実施例6は主に請求項6,15,24に関し、実施例7は主に請求項7,16,25に関し、実施例8は主に請求項8,17,26に関し、実施例9は主に請求項9,18,27に関する。なお、本発明はこれら実施例に何ら限定されるものではなく、その要旨を逸脱しない範囲内において、様々な態様で実施しうる。
<本実施例の概要>
本実施例にかかる暗号化装置は、情報取得部と変換用単位化部と変換部と、からなる暗号化装置である。
本実施例にかかる暗号化装置は、本発明の最も基本的な構成である。そして、特に変換用単位化部の機能に特徴がある。以下、本実施例にかかる暗号化装置について、その機能的構成と、ハードウェア構成と、処理の方法に分けて説明する。
<機能的構成>
図1は、実施例1にかかる暗号化装置の機能ブロックである。暗号化装置(0101)には、情報取得部(0102)と、変換用単位化部(0103)と、変換部(0104)が存在する。以下、それぞれの機能を説明する。
まず、「情報取得部」とは、情報を取得する機能である。ここにおける情報は、暗号化の対象となる情報である。取得の方法としては、キーボードなどを用いて直接入力する方法でも良いし、既存の情報を移行する方法でも良いし、その他でも良い。
例えば、文章作成ソフトで作成した文章を暗号化したい場合、サーバや外部機器のHDDに保存されている文章情報を暗号化装置に移行することによって、情報を取得するという具合である。
次に、「変換用単位化部」とは、取得した情報を後述する変換部にて変換する単位である16バイト単位の単位化情報に単位化する機能である。前述のように、暗号化においては、この16バイトをさらに4バイト(32ビット)単位の4つの小単位に分割し暗号化の変換を行うのが通常であったが、この16バイト(128bit)単位のままで暗号化の変換を行うことによって、入力する変数の数が「2の128乗」通りであることになる。そのため、暗号化の変換内容を特定するためには、「2の128乗」という天文学的数の予め分かっている値を入力して変換結果を見て検証するということになり、暗号化の変換内容の特定が事実上不可能となる。実現の方法は、後述するように、暗号化装置内でのCPUによる演算処理によって実現する。
最後に、「変換部」とは、変換用単位化部にて単位化された単位化情報を一つの一次式では表現できない関数にて変換することで変換済単位化情報とする機能である。「一つの一次式では表現できない関数」とは、実施例5で後述する、単位化情報を構成するバイトデータに対して「変換テーブル」による不規則な変換と、構成バイト間での演算を施す、というものが典型的な実施態様であるが、それに限られない。図2は、暗号化の関数として例示した関数f(x)を1回適用した場合の変換を示す図である。例えば図2に記載の関数のように非線形関数を暗号化の関数として利用しても良い。
このような関数を用いた場合の暗号化の内容について図2を用いて説明する。変換前の値「1」に関数を適用した場合に得られる値は「1」、変換前の値「2」に関数を適用した場合に得られる値は「0」、変換前の値「3」に関数を適用した場合に得られる値は「9」、変換前の値「4」に関数を適用した場合に得られる値は「8」となる。
なお、以上は、暗号化の関数を用いた変換部の機能の説明であるが、関数f(x)はあくまで一例であり、本発明の内容をこの変換に限定するものではない。
変換部の実現の方法は、後述するように、暗号化装置内でのCPUによる演算処理によって実現する。
以上によって、4バイト(32ビット)単位での変換を行う従来の技術に比して、16バイト(128bit)単位での暗号化の変換を行うことによって、暗号化の変換内容を特定するためには、「2の128乗」という天文学的数の予め分かっている値を入力して変換結果を見て検証するということになり、暗号化の変換内容の特定が事実上不可能となる。

<ハードウェア構成>
図3は、本実施例にかかる暗号化装置のハードウェア構成を示す図である。以下、この図を用いて説明する。
この図にあるように、本実施例に係る暗号化装置は、各種演算処理を行う「CPU(中央演算装置)」(0301)と、「主メモリ」(0302)と、を備えている。また、取得した情報などを保持する「HDD」(0303)や、外部機器と情報の送受信を行う「I/O(インプット/アウトプット)」(0304)及びサーバと情報の送受信を行う「ネットワークインターフェイス」(0308)も備えている。そして、それらが「システムバス」(0305)などのデータ通信経路によって相互に接続され、情報の送受信や処理を行う。なお、「サーバ」及び「ネットワークインターフェイス」については、本発明において必須の構成要素ではない。
また、「主メモリ」は、各種処理を行うプログラムを「CPU」に実行させるために読み出すと同時にそのプログラムの作業領域でもあるワーク領域を提供する。また、この「主メモリ」や「HDD」にはそれぞれ複数のアドレスが割り当てられており、「CPU」で実行されるプログラムは、そのアドレスを特定しアクセスすることで相互にデータのやりとりを行い、処理を行うことが可能になっている。本実施例において「主メモリ」に格納されているプログラムは、情報取得プログラム、変換用単位化プログラム、変換プログラムである。
暗号化装置の「I/O」は、「主メモリ」に格納されている情報取得プログラムにより、例えば、外部機器(0306)の「UI(ユーザーインターフェース)」(0307)から送信された情報を取得する。あるいは、「サーバ」(0309)から「ネットワークインターフェイス」を通じて情報を取得する。取得した情報は、「HDD」に格納される。そして、この取得した情報は、「主メモリ」に格納されている変換用単位化プログラムを用いた「CPU」の演算処理により、変換する単位である16バイト単位の単位化情報に単位化される。この単位化された単位化情報は、「主メモリ」に格納される。さらに、この単位化情報は、「主メモリ」に格納されている変換プログラムを用いた「CPU」の演算処理により一つの一次式では表現できない関数にて変換されることで変換済単位化情報となる。この変換済単位化情報は、「主メモリ」に格納される。
以上によって、4バイト(32ビット)単位での変換を行う従来の技術に比して、16バイト(128bit)単位での暗号化の変換を行うことによって、暗号化の変換内容を特定するためには、「2の128乗」という天文学的数の予め分かっている値を入力して変換結果を見て検証するということになり、暗号化の変換内容の特定が事実上不可能となる。
<処理の流れ>
図4は、本実施例にかかる暗号化装置を用いた場合の処理の流れを示す図である。本実施例にかかる暗号化装置の処理の流れは、情報取得ステップと変換用単位化ステップと変換ステップに分かれる。以下、それぞれの処理の内容・流れについて説明する。
「情報取得ステップ」(S0401)とは、情報を取得する段階である。ここにおける情報は、暗号化の対象となる情報である。取得の方法としては、キーボードなどを用いて直接入力する方法でも良いし、既存の情報を移行する方法でも良いし、その他でも良い。
「変換用単位化ステップ」(S0402)とは、取得した情報を後述する変換ステップにて変換する単位である16バイト単位の単位化情報に単位化する段階である。前述のように、暗号化においては、この16バイトをさらに4バイト(32ビット)単位の4つの小単位に分割し暗号化の変換を行うのが通常であったが、この16バイト(128bit)単位のままで暗号化の変換を行うことによって、入力する変数の数が「2の128乗」通りであることになる。そのため、暗号化の変換内容を特定するためには、「2の128乗」という天文学的数の予め分かっている値を入力して変換結果を見て検証するということになり、暗号化の変換内容の特定が事実上不可能となる。実現の方法は、暗号化装置内でのCPUによる演算処理によって実現する。
「変換ステップ」(S0403)とは、変換用単位化ステップにて単位化された単位化情報を一つの一次式では表現できない関数にて変換することで変換済単位化情報とする段階である。「一つの一次式では表現できない関数」とは、実施例5で後述する、単位化情報を構成するバイトデータに対して「変換テーブル」による不規則な変換と、構成バイト間での演算を施す、というものが典型的な実施態様であるが、それに限られない。
これらの変換用単位化ステップと変換ステップとの関係は、取得した情報について、全て16バイト単位に単位化した後に一斉に変換をしても良いし、他方、16バイト単位に単位化した順に変換をしても良い。図5は、後者の場合の変換態様を示す図である。取得した情報のうち、一部については変換が完了していても、一部については変換が未了のものもある。そのため、この未了の部分についても、変換をするための処理が必要となる。
具体的には、取得した情報全てについて変換が完了したか否かを判断する段階(S0404)が必要となる。この判断のステップにおいて、完了したと判断されれば終了し、未完了であると判断されれば変換用単位化ステップに戻って残っている部分の単位化処理と変換処理を完了するまで繰り返す。
以上によって、4バイト(32ビット)単位での変換を行う従来の技術に比して、16バイト(128bit)単位での暗号化の変換を行うことによって、暗号化の変換内容を特定するためには、「2の128乗」という天文学的数の予め分かっている値を入力して変換結果を見て検証するということになり、暗号化の変換内容の特定が事実上不可能となる。
<本実施例の概要>
本実施例に係る暗号化装置は、実施例1の特徴に加えて、暗号化情報結合部をさらに有する暗号化装置である。
以下、機能的構成、ハードウェア構成、処理の流れを順に説明する。
<機能的構成>
図6は、本実施例に係る暗号化装置の機能的構成を示す図である。本実施例に係る暗号化装置(0601)は、実施例1と同様に、情報取得部(0602)と変換用単位化部(0603)と変換部(0604)とを有している。これらの機能的構成については、実施例1と同様である。以下では、本実施例で加わった暗号化情報結合部(0605)の機能について説明する。
「暗号化情報結合部」とは、変換部にて得られた全ての変換済単位化情報を結合することで暗号化情報とする機能である。実現の方法は、後述する「CPU」の演算処理により結合を実行するという具合である。
結合する際の態様は、変換用単位化部において16バイトに単位化した際の順番と同じ順番で結合することが望ましい。そうすれば、複合するための処理が容易となる。
このように変換済単位化情報が結合されて暗号化情報となることによって、1つの情報として送受信の対象とすることができる。
<ハードウェア構成>
図7は、上記機能的な各構成要件をハードウェアとして実現した際の暗号化装置における構成の一例を示す概略図である。暗号化装置は、「CPU(中央演算装置)」(0701)、「主メモリ」(0702)、「HDD」(0703)、「I/O(インプット/アウトプット)」(0704)、「システムバス」(0705)及びサーバ(0709)と情報の送受信を行う「ネットワークインターフェイス」(0708)を有しており、「外部機器」(0706)は、「UI」(0707)を有している。 本実施例において「主メモリ」に格納されているプログラムは、情報取得プログラム、変換用単位化プログラム、変換プログラム、暗号化情報結合プログラムある。
これらの図を利用して、本装置での各処理におけるそれぞれのハードウェア構成部のうち本実施例の特徴的な部分について説明し、その他の部分については実施例1の説明と同様である。
実施例1でも述べたように、暗号化装置により、変換済単位化情報が生成される。このような変換済単位化情報について、「主メモリ」に格納されている暗号化情報結合プログラムを用いた「CPU」の演算処理により結合することで暗号化情報とする。この暗号化情報は、「HDD」に格納される。
このように変換済単位化情報が結合されて暗号化情報となることによって、1つの情報として送受信の対象とすることができる。
<処理の流れ>
図8は、本実施例の暗号化装置における処理の流れの一例を示すフローチャートである。本実施例の処理の流れは、(a)及び(b)の2通り存在することから、順に説明する。(a)では、情報取得ステップ(S0801)、変換用単位化ステップ(S0802)、変換ステップ(S0803)、暗号化情報結合ステップ(S0805)、全て結合完了したか否かの判断ステップ(S0806)を有している。また、(b)では、情報取得ステップ(S0801)、変換用単位化ステップ(S0802)、変換ステップ(S0803)、全て変換完了したか否かの判断ステップ(S0804)、暗号化情報結合ステップ(S0805)を有している。この図を利用して、本装置での各処理の流れのうち本実施例の特徴的な部分について説明し、その他の部分については実施例1の説明と同様である。
「暗号化情報結合ステップ」とは、変換ステップにて得られた変換済単位化情報を結合することで暗号化情報とする段階である。(a)では、変換済単位化情報を受け取る毎に暗号化情報として逐次結合し、全ての変換済単位化情報を受け取るまでこれを繰り返す。(b)では、既に全ての変換が終了している段階において、全ての結合を実行する。
(a)と(b)のいずれの場合であっても、結合する態様について、変換用単位化部において16バイトに単位化した際の順番と同じ順番で結合することが望ましい。そうすれば、複合するための処理が容易となる。
このように変換済単位化情報が結合されて暗号化情報となることによって、1つの情報として送受信の対象とすることができる。
<本実施例の概要>
本実施例に係る暗号化装置は、実施例1又は2の特徴に加えて、変換部が複合変換手段をさらに有する暗号化装置である。
以下、機能的構成、ハードウェア構成、処理の流れを順に説明する。以下の説明では、実施例1の構成に特徴が付加されているものとして説明するが、更に実施例2や3の特徴を有していても本実施例の範囲に含まれるものである。
<機能的構成>
図9は、本実施例に係る暗号化装置の機能的構成を示す図である。本実施例に係る暗号化装置(0901)は、実施例1と同様に、情報取得部(0902)と変換用単位化部(0903)と変換部(0904)とを有している。これらの機能的構成については、実施例1と同様である。以下では、本実施例で加わった複合変換手段(0905)の機能について説明する。
本実施例に係る暗号化装置の変換部は、複合変換手段を有する。「複合変換手段」とは、同一の変換についての順変換と逆変換を隣接する原変換に対して複合させた複合変換を実行する機能である。
図10は、従来の複合変換の流れを示す図である。図11は、本実施例における複合変換の内容を示す図である。ここでは、本実施例の一例として、変換部において、乗算処理による変換を二回実施する実施態様を前提に説明する。
図10は、取得した情報xを1つ目の関数Aと2つ目の関数Bで変換を実施した場合の流れである。Aが「入力された値を3倍する」であり、Bが「入力された値を2倍する」である場合を例とする。例えば、取得された情報xが「3」であった場合、Aの関数を適用して「9」となり、Bの関数を適用して「18」となる。また、取得された情報xが「1」であった場合、Aの関数を適用して「3」となり、Bの関数を適用して「6」になる。さらに、取得された情報xが「2」であった場合、Aの関数を適用して「6」となり、Bの関数を適用して「12」になる。
これに対して、図11では、本実施例における複合変換の内容が示されているところ、同じくAが「入力された値を3倍する」であり、Bが「入力された値を2倍する」である場合を例としても、変換に用いられる関数は、Aに対して任意の関数を乗じた「A'」、及び、Bに対して前記Aに対して乗じた任意の関数の逆関数を乗じた「B'」である。これを前提に、例えば、前記「任意の関数」が「2」の場合、A'が「入力された値を6倍する」となり、B'が「入力された値を1倍する」となる。これらを前提に、例えば、取得された情報xが「3」であった場合、A'の関数を適用して「18」となり、B'の関数を適用して「18」となる。また、取得された情報xが「1」であった場合、A'の関数を適用して「6」となり、B'の関数を適用して「6」となる。さらに、取得された情報xが「2」であった場合、A'の関数を適用して「12」となり、B'の関数を適用して「12」となる。このようにすることにより、従来の複合変換の場合より、さらにより一層、AとBの内容を特定することが困難になる。
これらは、CPUによる演算処理によって実現する。
これにより、暗号化の態様が一層複雑になり、第三者による暗号解読が困難となる。特に、暗号化対象の情報と暗号化情報の組み合わせから暗号化の関数を推定する暗号解読の方法ではなく、関数の内容を直接的に特定しようとする暗号解読の方法に対して効果がある。
<ハードウェア構成>
図12は、上記機能的な各構成要件をハードウェアとして実現した際の暗号化装置における構成の一例を示す概略図である。暗号化装置は、「CPU(中央演算装置)」(1201)、「主メモリ」(1202)、「HDD」(1203)、「I/O(インプット/アウトプット)」(1204)、「システムバス」(1205)及びサーバ(1209)と情報の送受信を行う「ネットワークインターフェイス」(1208)を有しており、「外部機器」(1206)は、「UI」(1207)を有している。本実施例において「主メモリ」に格納されているプログラムは、情報取得プログラム、変換用単位化プログラム、変換プログラムである。そして、変換プログラムは、複合変換手段を有する。
これらの図を利用して、本装置での各処理におけるそれぞれのハードウェア構成部のうち本実施例の特徴的な部分について説明し、その他の部分については実施例1の説明と同様である。
暗号化装置により変換用に単位化された16バイトの単位化情報を「CPU」の演算処理により暗号化する際、同一の変換についての順変換と逆変換を隣接する原変換に対して複合させた複合変換を実行することによる処理を行う。この処理によって得られた変換済単位化情報は、「主メモリ」に格納される。
このような暗号化情報生成方法によって、暗号化の態様が一層複雑になり、第三者による暗号解読がより一層困難となる。特に、暗号化対象の情報と暗号化情報の組み合わせから暗号化の関数を推定する暗号解読の方法ではなく、関数の内容を直接的に特定しようとする暗号解読の方法に対して効果がある。
<処理の流れ>
図13は、本実施例の暗号化装置における処理の流れの一例を示すフローチャートである。情報取得ステップ(S1301)、変換用単位化ステップ(S1302)、変換ステップ(S1303)、複合変換サブステップ(S1304)、完了か否かの判断ステップ(S1305)を有している。この図を利用して、本装置での各処理の流れのうち本実施例の特徴的な部分について説明し、その他の部分については実施例1の説明と同様である。
「複合変換サブステップ」とは、同一の変換についての順変換と逆変換を隣接する原変換に対して複合させた複合変換を実行する段階である。複合変換の内容は、本実施例の機能的構成において説明したとおりである。これらは、CPUによる演算処理によって実現する。
このような暗号化情報生成方法によって、暗号化の態様が一層複雑になり、第三者による暗号解読がより一層困難となる。特に、暗号化対象の情報と暗号化情報の組み合わせから暗号化の関数を推定する暗号解読の方法ではなく、関数の内容を直接的に特定しようとする暗号解読の方法に対して効果がある。
<本実施例の概要>
本実施例に係る暗号化装置は、実施例3の特徴に加えて、変換部が排他的論理和処理手段をさらに有する暗号化装置である。
以下、機能的構成、ハードウェア構成、処理の流れを順に説明する。
<機能的構成>
図14は、本実施例に係る暗号化装置の機能的構成を示す図である。本実施例に係る暗号化装置(1401)は、実施例3と同様に、情報取得部(1402)と変換用単位化部(1403)と変換部(1404)と複合変換手段(1405)とを有している。これらの機能的構成については、実施例3と同様である。以下では、本実施例で加わった排他的論理和処理手段(1406)の機能について説明する。
変換部は、排他的論理和処理手段を有している。「排他的論理和処理手段」とは、入力値に対して前記順変換を複合した前段による演算結果である前方変換結果の複数について排他的論理和処理をした後に前記逆変換を複合した後段による変換処理を前記入力値と同数得る変換処理を実行する機能である。「排他的論理和処理」とは、2進数表現した数値の各ビットに対し、2を法とした剰余体での加減算処理を意味する。
図15は、通常のXOR演算を挟んだ多対一の変換の内容を示す図である。図16は、本実施例におけるXOR演算を挟んだ多対一の変換の内容を示す図である。
図15は、通常のXOR演算を挟んだ多対一の変換の内容である。その変換の一例として、図15において、Pが「入力された値を2倍する」、Qが「入力された値を1倍する」、Rが「入力された値を4倍する」である場合を例とする。例えば、取得された情報のうち、xが「4」でxが「3」であった場合、XはPの関数を適用して「8」となり、XはQの関数を適用して「3」となる。そして、その合計である「11」に対してRの関数を適用して「44」という値が得られる。次に、取得された情報のうち、xが「1」でxが「2」であった場合、XはPの関数を適用して「2」となり、XはQの関数を適用して「2」となる。そして、その合計である「4」に対してRの関数を適用して「16」という値が得られる。
これに対して、図16では、本実施例におけるXOR演算を挟んだ多対一の変換の内容が示されているところ、同じくPが「入力された値を2倍する」、Qが「入力された値を1倍する」、Rが「入力された値を4倍する」である場合を例としても、変換に用いられる関数は、P及びQに対して任意の共通の関数を乗じた「P'」と「Q'」、及び、Rに対して前記P及びQに対して乗じた任意の共通の関数の逆関数を乗じた「R'」である。これらを前提に、例えば、前記「任意の関数」が「2」の場合、P'が「入力された値を4倍する」となり、Q'が「入力された値を2倍する」となり、R'が「入力された値を2倍する」となる。これらを前提に、例えば、取得された情報のうち、xが「4」でxが「3」であった場合、XはP'の関数を適用して「16」となり、XはQ'の関数を適用して「6」となる。そして、その合計である「22」に対してR'の関数を適用して「44」という値が得られる。次に、取得された情報のうち、xが「1」でxが「2」であった場合、XはP'の関数を適用して「4」となり、XはQ'の関数を適用して「4」となる。そして、その合計である「8」に対してR'の関数を適用して「16」という値が得られる。このようにすることにより、通常のXOR演算を挟んだ多対一の変換の場合より、さらにより一層、P、Q、Rの内容を特定することが困難になる。
このような暗号化情報生成方法によって、暗号化の態様が一層複雑になり、第三者による暗号解読がより一層困難となる。特に、暗号化対象の情報と暗号化情報の組み合わせから暗号化の関数を推定する暗号解読の方法ではなく、関数の内容を直接的に特定しようとする暗号解読の方法に対して効果がある。
<ハードウェア構成>
図17は、上記機能的な各構成要件をハードウェアとして実現した際の暗号化装置における構成の一例を示す概略図である。暗号化装置は、「CPU(中央演算装置)」(1701)、「主メモリ」(1702)、「HDD」(1703)、「I/O(インプット/アウトプット)」(1704)、「システムバス」(1705)及びサーバ(1709)と情報の送受信を行う「ネットワークインターフェイス」(1708)を有しており、「外部機器」(1706)は、「UI」(1707)を有している。本実施例において「主メモリ」に格納されているプログラムは、情報取得プログラム、変換用単位化プログラム、変換プログラムである。そして、変換プログラムは、複合変換手段及び排他的論理和処理手段を有する。
これらの図を利用して、本装置での各処理におけるそれぞれのハードウェア構成部のうち本実施例の特徴的な部分について説明し、その他の部分については実施例3の説明と同様である。
暗号化装置により変換用に単位化された16バイトの単位化情報を「CPU」の演算処理により暗号化する際、入力値に対して前記順変換を複合した前段による演算結果である前方変換結果の複数について排他的論理和処理をした後に前記逆変換を複合した後段による変換処理を前記入力値と同数得る変換処理を行う。この処理によって得られた変換済単位化情報は、「主メモリ」に格納される。
このような暗号化情報生成方法によって、暗号化の態様が一層複雑になり、第三者による暗号解読がより一層困難となる。特に、暗号化対象の情報と暗号化情報の組み合わせから暗号化の関数を推定する暗号解読の方法ではなく、関数の内容を直接的に特定しようとする暗号解読の方法に対して効果がある。
<処理の流れ>
図18は、本実施例の暗号化装置における処理の流れの一例を示すフローチャートである。情報取得ステップ(S1801)、変換用単位化ステップ(S1802)、変換ステップ(S1803)、複合変換サブステップ(S1804)、排他的論理和処理サブステップ(S1805)、完了か否かの判断ステップ(S1806)を有している。この図を利用して、本装置での各処理の流れのうち実施例4の特徴的な部分について説明し、その他の部分については実施例3の説明と同様である。
「排他的論理和処理サブステップ」とは、入力値に対して前記順変換を複合した前段による演算結果である前方変換結果の複数について排他的論理和処理をした後に前記逆変換を複合した後段による変換処理を前記入力値と同数得る変換処理を実行する段階である。「排他的論理和処理」とは、2進数表現した数値の各ビットに対し、2を法とした剰余体での加減算処理を意味する。内容は、本実施例の機能的構成において説明したとおりである。
このような暗号化情報生成方法によって、暗号化の態様が一層複雑になり、第三者による暗号解読がより一層困難となる。特に、暗号化対象の情報と暗号化情報の組み合わせから暗号化の関数を推定する暗号解読の方法ではなく、関数の内容を直接的に特定しようとする暗号解読の方法に対して効果がある。
<本実施例の概要>
本実施例に係る暗号化装置は、実施例1ないし4の特徴に加えて、変換部が変換テーブルを用いた変換手段をさらに有する暗号化装置である。
以下、機能的構成、ハードウェア構成、処理の流れを順に説明する。以下の説明では、実施例1の構成に特徴が付加されているものとして説明するが、更に実施例2ないし4の特徴を有していても本実施例の範囲に含まれるものである。
<機能的構成>
図19は、本実施例に係る暗号化装置の機能的構成を示す図である。本実施例に係る暗号化装置(1901)は、実施例1と同様に、情報取得部(1902)と変換用単位化部(1903)と変換部(1904)とを有している。これらの機能的構成については、実施例1と同様である。以下では、本実施例で加わった変換テーブルを用いた変換手段(1905)の機能について説明する。
変換部は、変換手段を有している。「変換手段」とは、一次式では表現できない変換入力と変換出力との関係を定めるテーブルである変換テーブルを用いて変換を行う機能である。変換テーブルを用いることにより、規則性のない変換を実現することができる。これは、CPUにおける変換テーブルから読み出す処理によって実現する。
図20は、変換テーブルを用いた変換の内容を示した図である。本発明に係る暗号化装置は、16バイト単位で変換するものであり、ここでは変換態様の説明の便宜のため、適当に選択した16バイトの値を例として説明する。また、これらの数字は、10進数で表現している。
1番から16番までの丸で囲まれた数字は単位化情報を構成する各バイトデータを識別する為のバイト位置番号である。図20では単位化情報のバイトデータとして「0〜9」の情報が変換前の情報として存在する。変換テーブルについては、バイト位置に対応するG1〜G16の変換テーブルが存在する。 この変換テーブルで定められた「変換入力値と変換出力値の対応」に基づく変換と、バイト位置に対応するF1〜F16で定められる演算を組み合わせることで、単位化情報を変換する。なお、G1〜G16の各テーブルはそれぞれ独立に定める事ができるが、この例では便宜上全て変換テーブルG1と同じ内容のテーブルを使用している。
これらを踏まえ、バイト位置の1番から4番までの変換処理を順に説明する。なおバイト位置1番の変換処理ではバイト位置16番の変換テーブルによる変換結果も参照される。図中変換テーブル適用の段階では、情報「1」に関数変換テーブルG1を適用することで「8」という情報に変換している。次に、情報「0」に変換テーブルG2を適用することで「9」という情報に変換している。次に、情報「5」に変換テーブルG3を適用することで「4」という情報に変換している。次に、情報「9」に変換テーブルG4を適用することで「0」という情報に変換している。最後に、バイト位置の16番では情報「1」に変換テーブルG16を適用することで「8」という情報に変換している。
そして、演算処理の段階では先の変換テーブル適用後の変換結果を組み合わせて演算処理を行う。演算処理F1では変換テーブルG16による変換情報「8」と変換テーブルG1による変換情報「8」のXOR演算により「0」を算出する。演算処理F2では変換テーブルG1による変換情報「8」と変換テーブルG2による変換情報「9」のXOR演算により「1」を算出する。演算処理F3では変換テーブルG2による変換情報「9」と変換テーブルG3による変換情報「4」のXOR演算により「13」を算出する。演算処理F4では変換テーブルG3による変換情報「4」と変換テーブルG4による変換情報「0」のXOR演算により「4」を算出する。
図20では便宜上、比較的単純な変換テーブル1種類と演算処理Gi, Fi (1≦ i ≦ 16) を一回だけ適用する例で説明しているが、本発明の内容をこれに限定するものではなく、変換テーブルはより不規則なものを複数使用し、演算処理はより構成バイト間の依存度が強くなるものを使用し、さらに同様の変換処理を繰り返し適用するなどでより複雑な構成としてもよい。
これにより、16バイト単位で規則性のない暗号化が可能となり、暗号解読がより一層困難になる。
<ハードウェア構成>
図21は、上記機能的な各構成要件をハードウェアとして実現した際の暗号化装置における構成の一例を示す概略図である。暗号化装置は、「CPU(中央演算装置)」(2101)、「主メモリ」(2102)、「HDD」(2103)、「I/O(インプット/アウトプット)」(2104)、「システムバス」(2105)及びサーバ(2109)と情報の送受信を行う「ネットワークインターフェイス」(2108)を有しており、「外部機器」(2106)は、「UI」(2107)を有している。本実施例において「主メモリ」に格納されているプログラムは、情報取得プログラム、変換用単位化プログラム、変換プログラムである。そして、変換プログラムは、変換手段を有する。
これらの図を利用して、本装置での各処理におけるそれぞれのハードウェア構成部のうち本実施例の特徴的な部分について説明し、その他の部分については実施例1の説明と同様である。
暗号化装置により変換用に単位化された16バイトの単位化情報を「CPU」での処理により暗号化する際、一次式では表現できない変換入力と変換出力との関係を定めるテーブルである変換テーブルを用いて変換を行うことで変換済単位化情報とする処理を行う。この処理によって得られた変換済単位化情報は、「主メモリ」に格納される。
これにより、規則性のない暗号化が可能となり、暗号解読がより一層困難になる。
<処理の流れ>
図22は、本実施例の暗号化装置における処理の流れの一例を示すフローチャートである。情報取得ステップ(S2201)、変換用単位化ステップ(S2202)、変換ステップ(S2203)、変換サブステップ(S2204)、完了か否かの判断ステップ(S2205)を有している。この図を利用して、本装置での各処理の流れのうち本実施例の特徴的な部分について説明し、その他の部分については実施例1の説明と同様である。
変換ステップは、変換サブステップを有している。「変換サブステップ」とは、一次式では表現できない変換入力と変換出力との関係を定めるテーブルである変換テーブルを用いて変換を行う段階である。変換テーブルを用いることにより、規則性のない変換を実現することができる。これは、CPUにおける変換テーブルから読み出す処理によって実現する。
これにより、規則性のない暗号化が可能となり、暗号解読がより一層困難になる。
<本実施例の概要>
本実施例に係る暗号化装置は、実施例5の特徴に加えて、変換部が「テーブル適用手段」をさらに有する暗号化装置である。
以下、機能的構成、ハードウェア構成、処理の流れを順に説明する。
<機能的構成>
図23は、本実施例に係る暗号化装置の機能的構成を示す図である。本実施例に係る暗号化装置(2301)は、実施例5と同様に、情報取得部(2302)と変換用単位化部(2303)と変換部(2304)とを有し、変換部は変換テーブルを用いた変換手段(2305)を有している。これらの機能的構成については、実施例5と同様である。以下では、本実施例で加わった「テーブル適用手段」(2306)の機能について説明する。
変換部は、テーブル適用手段を有する。「テーブル適用手段」とは、変換部にて実行されるべき複数の変換理の一部に対してのみ変換テーブルを適用する機能である。変換テーブルによる処理を全体の一部とすることにより、用意する変換テーブルを少量にすることができ、かつ、変換処理のいずれかに不規則な変換を使用できるので、第三者による暗号解読が困難となる。これは、CPUによって実現される。
これにより、テーブル数の保持における使用容量を少なくすることができる。
<ハードウェア構成>
図24は、上記機能的な各構成要件をハードウェアとして実現した際の暗号化装置における構成の一例を示す概略図である。暗号化装置は、「CPU(中央演算装置)」(2401)、「主メモリ」(2402)、「HDD」(2403)、「I/O(インプット/アウトプット)」(2404)、「システムバス」(2405)及びサーバ(2409)と情報の送受信を行う「ネットワークインターフェイス」(2408)を有しており、「外部機器」(2406)は、「UI」(2407)を有している。本実施例において「主メモリ」に格納されているプログラムは、情報取得プログラム、変換用単位化プログラム、変換プログラムである。そして、変換プログラムは、変換テーブルを用いた変換手段及び「テーブル適用手段」を有する。
これらの図を利用して、本装置での各処理におけるそれぞれのハードウェア構成部のうち本実施例の特徴的な部分について説明し、その他の部分については実施例5の説明と同様である。
実施例5に係る暗号化装置の「CPU」の演算処理により暗号化する際、実行されるべき複数の変換処理の一部に対してのみ変換テーブルを適用することで、変換済単位化情報を生成する。この変換済単位化情報は、「主メモリ」に格納される。
これにより、テーブル数の保持における使用容量を少なくすることができる。
<処理の流れ>
図25は、本実施例の暗号化装置における処理の流れの一例を示すフローチャートである。情報取得ステップ(S2501)、変換用単位化ステップ(S2502)、変換ステップ(S2503)、変換テーブルを用いた変換サブステップ(S2504)、「テーブル適用サブステップ」(S2505)、完了か否かの判断ステップ(S2506)を有している。この図を利用して、本装置での各処理の流れのうち本実施例の特徴的な部分について説明し、その他の部分については実施例5の説明と同様である。
「テーブル適用サブステップ」とは、変換ステップにて実行されるべき複数の変換処理の一部に対してのみ変換テーブルを適用する段階である。変換テーブルによる変換処理を全体の一部とすることにより、用意する変換テーブルを少量にすることができ、かつ、演算処理のいずれかに不規則な変換が存在するので、第三者による暗号解読が困難となる。これは、CPUによって実現される。
これにより、テーブル数の保持における使用容量を少なくすることができる。
<本実施例の概要>
本実施例に係る暗号化装置は、実施例5又は6の特徴に加えて、変換部が「適用テーブル制御手段」をさらに有する暗号化装置である。
以下、機能的構成、ハードウェア構成、処理の流れを順に説明する。以下の説明では、実施例5の構成に特徴が付加されているものとして説明するが、更に実施例6の特徴を有していても本実施例の範囲に含まれるものである。
<機能的構成>
図26は、本実施例に係る暗号化装置の機能的構成を示す図である。本実施例に係る暗号化装置(2601)は、実施例5と同様に、情報取得部(2602)と変換用単位化部(2603)と変換部(2604)とを有し、変換部は、変換テーブルを用いた変換手段(2605)を有している。これらの機能的構成については、実施例5と同様である。以下では、本実施例で加わった「適用テーブル制御手段」(2606)の機能について説明する。
変換部は、適用テーブル制御手段を有する。「適用テーブル制御手段」とは、複数の処理段に対して適用すべきテーブルを動的に制御する機能である。
これにより、暗号化の関数がその都度異なることになるので、少ないテーブル使用でも暗号結果の複雑さを確保することができ、第三者による暗号解読を一層困難にすることができる。
<ハードウェア構成>
図27は、上記機能的な各構成要件をハードウェアとして実現した際の暗号化装置における構成の一例を示す概略図である。暗号化装置は、「CPU(中央演算装置)」(2701)、「主メモリ」(2702)、「HDD」(2703)、「I/O(インプット/アウトプット)」(2704)、「システムバス」(2705)及びサーバ(2709)と情報の送受信を行う「ネットワークインターフェイス」(2708)を有しており、「外部機器」(2706)は、「UI」(2707)を有している。本実施例において「主メモリ」に格納されているプログラムは、情報取得プログラム、変換用単位化プログラム、変換プログラムである。そして、変換プログラムは、変換テーブルを用いた変換手段及び「適用テーブル制御手段」を有する。
これらの図を利用して、本装置での各処理におけるそれぞれのハードウェア構成部のうち本実施例の特徴的な部分について説明し、その他の部分については実施例5の説明と同様である。
複数の処理段の変換テーブルが存在し、「CPU」の演算処理により、複数の処理段に対して適用すべきテーブルを動的に制御し、適用すべきとされたテーブルを用いて変換済単位化情報とする。この変換済単位化情報は、「主メモリ」に格納される。
これにより、暗号化の関数がその都度異なることになるので、少ないテーブル使用でも暗号結果の複雑さを確保することができ、第三者による暗号解読を一層困難にすることができる。
<処理の流れ>
図28は、本実施例の暗号化装置における処理の流れの一例を示すフローチャートである。情報取得ステップ(S2801)、変換用単位化ステップ(S2802)、変換ステップ(S2803)を有し、変換ステップは、変換テーブルを用いた変換サブステップ(S2804)と「適用テーブル制御サブステップ」(S2805)、完了か否かの判断ステップ(S2806)を有している。この図を利用して、本装置での各処理の流れのうち本実施例の特徴的な部分について説明し、その他の部分については実施例5の説明と同様である。
「適用テーブル制御サブステップ」とは、複数の処理段に対して適用すべきテーブルを動的に制御する段階である。
これにより、暗号化の関数がその都度異なることになるので、少ないテーブル使用でも暗号結果の複雑さを確保することができ、第三者による暗号解読を一層困難にすることができる。
<本実施例の概要>
本実施例に係る暗号化装置は、実施例5ないし7の特徴に加えて、変換部が「適用位置制御手段」をさらに有する暗号化装置である。
以下、機能的構成、ハードウェア構成、処理の流れを順に説明する。以下の説明では、実施例5の構成に特徴が付加されているものとして説明するが、更に実施例6又は7の特徴を有していても本実施例の範囲に含まれるものである。
<機能的構成>
図29は、本実施例に係る暗号化装置の機能的構成を示す図である。本実施例に係る暗号化装置(2901)は、実施例5と同様に、情報取得部(2902)と変換用単位化部(2903)と変換部(2904)とを有し、変換部は、変換テーブルを用いた変換手段(2905)を有している。これらの機能的構成については、実施例5と同様である。以下では、本実施例で加わった「適用位置制御手段」(2906)の機能について説明する。
変換部は、適用位置制御手段を有している。「適用位置制御手段」とは、入力値に対して適用すべきテーブルの適用位置を動的に制御する機能である。ここにおける入力値は、一般的には鍵情報を意味する。
これにより、変換の都度適用されるテーブルを変化させることができ、暗号化の関数がその都度異なることになるので、第三者による暗号解読を一層困難にすることができる。
<ハードウェア構成>
図30は、上記機能的な各構成要件をハードウェアとして実現した際の暗号化装置における構成の一例を示す概略図である。暗号化装置は、「CPU(中央演算装置)」(3001)、「主メモリ」(3002)、「HDD」(3003)、「I/O(インプット/アウトプット)」(3004)、「システムバス」(3005)及びサーバ(3009)と情報の送受信を行う「ネットワークインターフェイス」(3008)を有しており、「外部機器」(3006)は、「UI」(3007)を有している。本実施例において「主メモリ」に格納されているプログラムは、情報取得プログラム、変換用単位化プログラム、変換プログラムである。そして、変換プログラムは、変換テーブルを用いた変換手段及び「適用位置制御手段」を有する。
これらの図を利用して、本装置での各処理におけるそれぞれのハードウェア構成部のうち本実施例の特徴的な部分について説明し、その他の部分については実施例5の説明と同様である。
複数の処理段の変換テーブルが存在し、「CPU」の演算処理により、入力値に対して適用すべきテーブルの適用位置を動的に制御し、適用すべきとされたテーブルを用いて変換済単位化情報とする。この変換済単位化情報は、「主メモリ」に格納される。
これにより、変換の都度適用されるテーブルを変化させることができ、暗号化の関数がその都度異なることになるので、第三者による暗号解読を一層困難にすることができる。
<処理の流れ>
図31は、本実施例の暗号化装置における処理の流れの一例を示すフローチャートである。情報取得ステップ(S3101)、変換用単位化ステップ(S3102)、変換ステップ(S3103)を有し、変換ステップは、変換テーブルを用いた変換サブステップ(S3104)と適用位置制御サブステップ(S3105)、完了か否かの判断ステップ(S3106)を有している。この図を利用して、本装置での各処理の流れのうち本実施例の特徴的な部分について説明し、その他の部分については実施例5の説明と同様である。
「適用位置制御サブステップ」とは、入力値に対して適用すべきテーブルの適用位置を動的に制御する段階である。ここにおける入力値は、一般的には鍵情報を意味する。
これにより、変換の都度適用されるテーブルを変化させることができ、暗号化の関数がその都度異なることになるので、第三者による暗号解読を一層困難にすることができる。
<本実施例の概要>
本実施例にかかる装置は、実施例1ないし8に記載の暗号化装置によって暗号化された暗号化情報を復号して情報とする復号化装置であって、暗号化情報取得部と、逆変換用単位化部と、逆変換部と、元情報結合部と、からなる復号化装置である。
以下、本実施例にかかる復号化装置について、その機能的構成と、ハードウェア構成と、処理の方法に分けて説明する。
<機能的構成>
図32は、実施例9にかかる復号化装置の機能ブロックである。復号化装置(3201)には、暗号化情報取得部(3202)と、逆変換用単位化部(3203)と、逆変換部(3204)と、元情報結合部(3205)が存在する。以下、それぞれの機能を説明する。
「暗号化情報取得部」とは、暗号化情報を取得する機能である。
「逆変換用単位化部」とは、取得した暗号化情報を後述する逆変換部にて変換する単位である16バイト単位の単位化暗号化情報に単位化する機能である。
「逆変換部」とは、逆変換用単位化部にて単位化された単位化暗号化情報を前記変換部の変換とは逆変換することで逆変換済単位化情報とする機能である。
「元情報結合部」とは、逆変換部にて得られた全ての逆変換済単位化情報を結合することで暗号化情報の元となる情報である元情報とする機能である。
これにより、実施例1ないし8に記載の暗号化装置によって暗号化された暗号化情報を復号して情報とすることができる。
<ハードウェア構成>
図33は、上記機能的な各構成要件をハードウェアとして実現した際の復号化装置における構成の一例を示す概略図である。復号化装置は、「CPU(中央演算装置)」(3301)、「主メモリ」(3302)、「HDD」(3303)、「I/O(インプット/アウトプット)」(3304)、「システムバス」(3305)及びサーバ(3309)と情報の送受信を行う「ネットワークインターフェイス」(3308)を有しており、「外部機器」(3306)は、「UI」(3307)を有している。本実施例において「主メモリ」に格納されているプログラムは、暗号化情報取得プログラム、逆変換用単位化プログラム、逆変換プログラム、元情報結合プログラムである。なお、「サーバ」及び「ネットワークインターフェイス」については、本発明において必須の構成要素ではない。以上を踏まえて、これらの図を利用して、本装置での各処理におけるそれぞれのハードウェア構成部について説明する。
復号化装置の「I/O」は、外部機器の「UI(ユーザーインターフェース)」から送信された暗号化情報を取得する。取得した暗号化情報は、「HDD」に格納される。そして、この取得した暗号化情報は、「CPU」の演算処理により、逆変換部で変換する単位である16バイト単位の単位化暗号化情報に単位化される。この単位化された単位化暗号化情報は、「主メモリ」に格納される。さらに、この単位化暗号化情報を「CPU」の演算処理により一つの一次式では表現できない関数にて逆変換することで逆変換済単位化情報とする。この逆変換済単位化情報は、「主メモリ」に格納される。
その上で、生成された逆変換済単位化情報を「CPU」の演算処理により結合することで暗号化情報の元となる情報である元情報とする。この元情報は、「HDD」に格納される。
これにより、実施例1ないし8に記載の暗号化装置によって暗号化された暗号化情報を復号して情報とすることができる。
<処理の流れ>
図34は、本実施例の復号化装置における処理の流れの一例を示すフローチャートである。暗号化情報取得ステップ(S3401)、逆変換用単位化ステップ(S3402)、逆変換ステップ(S3403)、元情報結合ステップ(S3404)、完了か否かの判断ステップ(S3405)を有している。この図を利用して、本装置での各処理の流れについて説明する。
「暗号化情報取得ステップ」とは、暗号化情報を取得する段階である。
「逆変換用単位化ステップ」とは、取得した暗号化情報を逆変換ステップにて変換する単位である16バイト単位の単位化暗号化情報に単位化する段階である。
「逆変換ステップ」とは、逆変換用単位化ステップにて単位化された単位化暗号化情報を前記変換ステップの変換とは逆変換することで逆変換済単位化情報とする段階である。
「元情報結合ステップ」とは、逆変換ステップにて得られた全ての逆変換済単位化情報を結合することで暗号化情報の元となる情報である元情報とする段階である。
これにより、実施例1ないし8に記載の暗号化装置によって暗号化された暗号化情報を復号して情報とすることができる。
CPU(中央演算装置):0301、0701、1201、1701、2101、2401、2701、3001、3301
主メモリ:0302、0702、1202、1702、2102、2402、2702、3002、3302
HDD:0303、0703、1203、1703、2103、2403、2703、3003、3303
I/O(インプット/アウトプット):0304、0704、1204、1704、2104、2404、2704、3004、3304
システムバス:0305、0705、1205、1705、2105、2405、2705、3005、3305
外部機器:0306、0706、1206、1706、2106、2406、2706、3006、3306
UI(ユーザーインターフェース):0307、0707、1207、1707、2107、2407、2707、3007、3307
ネットワークインターフェイス:0308、0708、1208、1708、2108、2408、2708、3008、3308
サーバ:0309、0709、1209、1709、2109、2409、2709、3009、3309

Claims (27)

  1. 情報を暗号化して暗号化情報とする暗号化装置であって、
    情報を取得する情報取得部と、
    取得した情報を後述する変換部にて変換する単位である16バイト単位の単位化情報に単位化する変換用単位化部と、
    変換用単位化部にて単位化された単位化情報を一つの一次式では表現できない関数にて変換することで変換済単位化情報とする変換部と、
    からなる暗号化装置。
  2. 変換部にて得られた全ての変換済単位化情報を結合することで暗号化情報とする暗号化情報結合部をさらに有する請求項1に記載の暗号化装置。
  3. 変換部は、同一の変換についての順変換と逆変換を隣接する原変換に対して複合させた複合変換を実行する複合変換手段を含む請求項1又は2に記載の暗号化装置。
  4. 変換部は、入力値に対して前記順変換を複合した前段による演算結果である前方変換結果の複数について排他的論理和処理をした後に前記逆変換を複合した後段による変換処理を前記入力値と同数得る変換処理を実行する排他的論理和処理手段を有する請求項3に記載の暗号化装置。
  5. 変換部は、一次式では表現できない変換入力と変換出力との関係を定めるテーブルである変換テーブルを用いて変換を行うための変換手段を保持する請求項1から4のいずれか一に記載の暗号化装置。
  6. 変換部は、変換部にて実行されるべき複数の変換処理の一部に対してのみ変換テーブルを適用するテーブル適用手段を有する請求項5に記載の暗号化装置。
  7. 変換部は、複数の処理段に対して適用すべきテーブルを動的に制御する適用テーブル制御手段をさらに有する請求項5又は6に記載の暗号化装置。
  8. 変換部は、入力値に対して適用すべきテーブルの適用位置を動的に制御する適用位置制御手段をさらに有する請求項5から7のいずれか一に記載の暗号化装置。
  9. 請求項1から8のいずれか一に記載の暗号化装置によって暗号化された暗号化情報を復号して情報とする復号化装置であって、
    暗号化情報を取得する暗号化情報取得部と、
    取得した暗号化情報を後述する逆変換部にて変換する単位である16バイト単位の単位化暗号化情報に単位化する逆変換用単位化部と、
    逆変換用単位化部にて単位化された単位化暗号化情報を前記変換部の変換とは逆変換することで逆変換済単位化情報とする逆変換部と、
    逆変換部にて得られた全ての逆変換済単位化情報を結合することで暗号化情報の元となる情報である元情報とする元情報結合部と、
    からなる復号化装置。
  10. 情報を暗号化して暗号化情報とする暗号化プログラムであって、
    情報を取得する情報取得ステップと、
    取得した情報を後述する変換ステップにて変換する単位である16バイト単位の単位化情報に単位化する変換用単位化ステップと、
    変換用単位化ステップにて単位化された単位化情報を一つの一次式では表現できない関数にて変換することで変換済単位化情報とする変換ステップと、
    からなる計算機に読取実行可能な暗号化プログラム。
  11. 変換ステップにて得られた全ての変換済単位化情報を結合することで暗号化情報とする暗号化情報結合ステップをさらに有する請求項10に記載の暗号化プログラム。
  12. 変換ステップは、同一の変換についての順変換と逆変換を隣接する原変換に対して複合させた複合変換を実行する複合変換サブステップを含む請求項10又は11に記載の暗号化プログラム。
  13. 変換ステップは、入力値に対して前記順変換を複合した前段による演算結果である前方変換結果の複数について排他的論理和処理をした後に前記逆変換を複合した後段による変換処理を前記入力値と同数得る変換処理を実行する排他的論理和処理サブステップを有する請求項12に記載の暗号化プログラム。
  14. 変換ステップは、一次式では表現できない変換入力と変換出力との関係を定めるテーブルである変換テーブルを用いて変換を行うための変換サブステップを保持する請求項10から13のいずれか一に記載の暗号化プログラム。
  15. 変換ステップは、変換ステップにて実行されるべき複数の演算処理の一部に対してのみ変換テーブルを適用するテーブル適用サブステップを有する請求項14に記載の暗号化プログラム。
  16. 変換ステップは、複数の処理段に対して適用すべきテーブルを動的に制御する適用テーブル制御サブステップをさらに有する請求項14又は15に記載の暗号化プログラム。
  17. 変換ステップは、入力値に対して適用すべきテーブルの適用位置を動的に制御する適用位置制御サブステップをさらに有する請求項14から16のいずれか一に記載の暗号化プログラム。
  18. 請求項10から17のいずれか一に記載の暗号化プログラムによって暗号化された暗号化情報を復号して情報とする復号化プログラムであって、
    暗号化情報を取得する暗号化情報取得ステップと、
    取得した暗号化情報を後述する逆変換ステップにて変換する単位である16バイト単位の単位化暗号化情報に単位化する逆変換用単位化ステップと、
    逆変換用単位化ステップにて単位化された単位化暗号化情報を前記変換ステップの変換とは逆変換することで逆変換済単位化情報とする逆変換ステップと、
    逆変換ステップにて得られた全ての逆変換済単位化情報を結合することで暗号化情報の元となる情報である元情報とする元情報結合ステップと、
    からなる計算機に読取実行可能な復号化プログラム。
  19. 情報を暗号化して暗号化情報とする暗号化方法であって、
    情報を取得する情報取得ステップと、
    取得した情報を後述する変換ステップにて変換する単位である16バイト単位の単位化情報に単位化する変換用単位化ステップと、
    変換用単位化ステップにて単位化された単位化情報を一つの一次式では表現できない関数にて変換することで変換済単位化情報とする変換ステップと、
    からなる計算機にて実行させる暗号化方法。
  20. 変換ステップにて得られた全ての変換済単位化情報を結合することで暗号化情報とする暗号化情報結合ステップをさらに有する請求項19に記載の暗号化方法。
  21. 変換ステップは、同一の変換についての順変換と逆変換を隣接する原変換に対して複合させた複合変換を実行する複合変換サブステップを含む請求項19又は20に記載の暗号化方法。
  22. 変換ステップは、入力値に対して前記順変換を複合した前段による演算結果である前方変換結果の複数について排他的論理和処理をした後に前記逆変換を複合した後段による変換処理を前記入力値と同数得る変換処理を実行する排他的論理和処理サブステップを有する請求項21に記載の暗号化方法。
  23. 変換ステップは、一次式では表現できない変換入力と変換出力との関係を定めるテーブルである変換テーブルを用いて変換を行うための変換サブステップを保持する請求項19から22のいずれか一に記載の暗号化方法。
  24. 変換ステップは、変換ステップにて実行されるべき複数の演算処理の一部に対してのみ変換テーブルを適用するテーブル適用サブステップを有する請求項23に記載の暗号化方法。
  25. 変換ステップは、複数の処理段に対して適用すべきテーブルを動的に制御する適用テーブル制御サブステップをさらに有する請求項23又は24に記載の暗号化方法。
  26. 変換ステップは、入力値に対して適用すべきテーブルの適用位置を動的に制御する適用位置制御サブステップをさらに有する請求項23から25のいずれか一に記載の暗号化方法。
  27. 請求項19から26のいずれか一に記載の暗号化方法によって暗号化された暗号化情報を復号して情報とする復号化方法であって、
    暗号化情報を取得する暗号化情報取得ステップと、
    取得した暗号化情報を後述する逆変換ステップにて変換する単位である16バイト単位の単位化暗号化情報に単位化する逆変換用単位化ステップと、
    逆変換用単位化ステップにて単位化された単位化暗号化情報を前記変換ステップの変換とは逆変換することで逆変換済単位化情報とする逆変換ステップと、
    逆変換ステップにて得られた全ての逆変換済単位化情報を結合することで暗号化情報の元となる情報である元情報とする元情報結合ステップと、
    からなる計算機にて実行させる復号化方法。
JP2014266066A 2014-12-26 2014-12-26 暗号化装置 Pending JP2016127405A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2014266066A JP2016127405A (ja) 2014-12-26 2014-12-26 暗号化装置
US15/539,961 US20170352296A1 (en) 2014-12-26 2015-11-11 Encoding device
EP15872521.8A EP3239962A4 (en) 2014-12-26 2015-11-11 Encoding device
PCT/JP2015/081756 WO2016103952A1 (ja) 2014-12-26 2015-11-11 暗号化装置
KR1020177019281A KR20170094395A (ko) 2014-12-26 2015-11-11 암호화 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014266066A JP2016127405A (ja) 2014-12-26 2014-12-26 暗号化装置

Publications (1)

Publication Number Publication Date
JP2016127405A true JP2016127405A (ja) 2016-07-11

Family

ID=56149986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014266066A Pending JP2016127405A (ja) 2014-12-26 2014-12-26 暗号化装置

Country Status (5)

Country Link
US (1) US20170352296A1 (ja)
EP (1) EP3239962A4 (ja)
JP (1) JP2016127405A (ja)
KR (1) KR20170094395A (ja)
WO (1) WO2016103952A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11731614B2 (en) 2017-07-25 2023-08-22 Hl Klemove Corp. Apparatus and method for controlling vehicle to avoid or mitigate collision
KR101932032B1 (ko) 2018-05-25 2018-12-24 주식회사 크립토랩 선형 길이의 암호문을 가지는 다항식 함수 암호화 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030202658A1 (en) * 2002-04-24 2003-10-30 G-Plus, Inc. High throughput AES architecture
JP2005140823A (ja) * 2003-11-04 2005-06-02 Sony Corp 情報処理装置、制御方法、プログラム、並びに記録媒体
JP2009211071A (ja) * 2008-02-29 2009-09-17 Intel Corp 一連の変換を行って一変換を分離する命令を含む命令の組合せ
JP2010539535A (ja) * 2007-09-13 2010-12-16 イルデト・ビー・ヴイ コンテンツの暗号処理
US20120300922A1 (en) * 2009-12-30 2012-11-29 France Telecom Method of generating a correspondence table for a cryptographic white box

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030202658A1 (en) * 2002-04-24 2003-10-30 G-Plus, Inc. High throughput AES architecture
JP2005140823A (ja) * 2003-11-04 2005-06-02 Sony Corp 情報処理装置、制御方法、プログラム、並びに記録媒体
JP2010539535A (ja) * 2007-09-13 2010-12-16 イルデト・ビー・ヴイ コンテンツの暗号処理
JP2009211071A (ja) * 2008-02-29 2009-09-17 Intel Corp 一連の変換を行って一変換を分離する命令を含む命令の組合せ
US20120300922A1 (en) * 2009-12-30 2012-11-29 France Telecom Method of generating a correspondence table for a cryptographic white box

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
佐藤 元樹 ほか: "カオス暗号の並列化に関する研究", 電子情報通信学会技術研究報告, vol. Vol.110、No.387, JPN6015036128, 17 January 2011 (2011-01-17), JP, pages pp.205−210 *
山口 晃由 ほか: "テーブルネットワーク型AES実装の新手法の提案", 2008年 暗号と情報セキュリティシンポジウム (SCIS 2008) 予稿集 CD-ROM, vol. 2A1−1, JPN6013014142, 22 January 2008 (2008-01-22), JP, pages pp.1−6 *

Also Published As

Publication number Publication date
EP3239962A4 (en) 2018-05-09
KR20170094395A (ko) 2017-08-17
EP3239962A1 (en) 2017-11-01
US20170352296A1 (en) 2017-12-07
WO2016103952A1 (ja) 2016-06-30

Similar Documents

Publication Publication Date Title
JP2022031105A (ja) プライバシー集合の共通部分を取得する方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
JP6732141B2 (ja) 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム
CN105453481B (zh) 包括表网络的计算设备
JP6135804B1 (ja) 情報処理装置、情報処理方法及びプログラム
WO2019114122A1 (zh) 登录信息的加密方法、装置、电子设备及介质
US8958547B2 (en) Generation of relative prime numbers for use in cryptography
JP2018522291A (ja) 信頼できないコンピュータ上でプライベートプログラムを実行するためのシステム及びプロセス
KR20200047002A (ko) 동형 암호를 이용한 암호문 비교 방법 및 이를 수행하기 위한 장치
CN111010266B (zh) 消息的加解密、读写方法、装置、计算机设备和存储介质
Kazymyrov et al. Influence of addition modulo 2 n on algebraic attacks
CN110505054B (zh) 一种基于动态白盒的数据处理方法、装置及设备
JP6187624B1 (ja) 情報処理装置、情報処理方法及びプログラム
US6819764B1 (en) Data processor, communication system and recording medium
WO2016103952A1 (ja) 暗号化装置
EP0996250A2 (en) Efficient block cipher method
de la Piedra et al. ACABELLA: Automated (Crypt) analysis of Attribute-Based Encryption Leveraging Linear Algebra
JP6292195B2 (ja) 情報処理装置及び情報処理方法
Gupta et al. C 3 T: Cloud based cyclic cryptographic technique and it’s comparative analysis with classical cipher techniques
CN115102686A (zh) 一种半同态加密方法、装置、电子设备及存储介质
WO2022054130A1 (ja) 暗号システム、方法及びプログラム
JP7383985B2 (ja) 情報処理装置、情報処理方法及びプログラム
Shepherd A high speed software implementation of the Data Encryption Standard
CN112311529A (zh) 一种数据加密方法、解密方法以及数据库的数据处理方法
CN115918028A (zh) 对同态密文执行统计操作的装置及其方法
Yudheksha et al. A study of AES and RSA algorithms based on GPUs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180816

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181015

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20181015

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190319