JP2004258667A - N個のデジットを含むワードの擬似ランダム置換の生成方法 - Google Patents

N個のデジットを含むワードの擬似ランダム置換の生成方法 Download PDF

Info

Publication number
JP2004258667A
JP2004258667A JP2004053763A JP2004053763A JP2004258667A JP 2004258667 A JP2004258667 A JP 2004258667A JP 2004053763 A JP2004053763 A JP 2004053763A JP 2004053763 A JP2004053763 A JP 2004053763A JP 2004258667 A JP2004258667 A JP 2004258667A
Authority
JP
Japan
Prior art keywords
function
word
digits
schema
feistel
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
JP2004053763A
Other languages
English (en)
Inventor
Jean Philippe Wary
ジャン−フィリップ,ヴァリー
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.)
Societe Francaise du Radiotelephone SFR SA
Original Assignee
Societe Francaise du Radiotelephone SFR SA
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 Societe Francaise du Radiotelephone SFR SA filed Critical Societe Francaise du Radiotelephone SFR SA
Publication of JP2004258667A publication Critical patent/JP2004258667A/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
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】暗号の堅牢化と、計算時間の削減という、相反する命題を同時に解決しつつ、暗号の単一性をも保証するような、擬似ランダム置換、および暗号化を可能とする。さらに、機密の保護を保ちつつ、デジットについての入力と出力を有するような構造を構築する。
【解決手段】一般化されたFeistelスキーマを用いる。さらに、該構造におけるラウンド関数を、ラウンド関数の入力ワードが、デジットのワードを二進数のワードに変換することで生成され、これら二進数のワードに一方向関数を適用し、デジットでの出力が、これら二進数のワードの関数である、ような関数とする。さらに、最低でも5ラウンドを含む構造とする。
【選択図】図2

Description

本発明は、N個のデジットを含むワードの置換における、擬似ランダムな計算方法を目的とする。
本発明の分野は暗号通信法である。より特徴的には、本発明の分野は、デジットで構成されるワードの暗号化に適用される暗号通信法である。
本発明の一つの目的は、N個のデジットで構成されるワードの、堅牢な暗号化を可能にすることであり、ここでNは区間[7、30]に含まれる。
本発明のもう一つの目的は、N個のデジットで構成されるワードの、迅速な暗号化を可能にすることであり、ここでNは区間[7、30]に含まれる。
本発明のもう一つの目的は、基数10N の集合において、堅牢な擬似ランダム置換を決定することであり、従って、この基数は2の累乗ではない。
本発明のもう一つの目的は、例えば電話番号のような、デジットの使用に基づく識別子の暗号化を行うことである。
本発明のもう一つの目的は、擬似ランダムであるような、N個のデジットからなるチェーン(ストリング、文字列)を生成することである。
つまり、そのチェーンを生成するために用いられた秘密鍵を知らない人にとっては、そのチェーンは、本当に乱数になっているチェーンとは、実際に区別ができないということである。
本発明のもう一つの目的は、生成過程が同じチェーンを二度生成しないことを保証するような、N個のデジットからなるチェーンを生成することである。
現行技術では、ビットは、0という値または1という値を取ることができるサイズを意味する。これら二つの値は、コンピュータまたはメモリの中で、二つの値を取ることが可能な、一つの電気信号によって物理的に表示され、一つが0に、もう一つが1に結び付けられている。二進数のワードは、整列させられたビットの連続物である。
デジットとは、0、1、2、3、4、5、6、7、8、9という値の一つをとることができるサイズのことである。
デジットは、ビットでコード化することができる。その場合、各デジットに二進数のワードが対応する。
一般的に、この二進数のワードは4ビットの長さであるが、8ビット(ASCIIコード)もしくはそれ以上の長さの二進数のワードも考えられる。
デジットのワードは、整列させられたデジットの連続物である。
一つの置換は一つの有限集合への全単射である。
秘密鍵Kに基づいて計算できる程に単純な情報プログラムによって生成される置換は、「擬似ランダム置換」と名づけられており、その秘密鍵Kは、その鍵Kを知らない人が、そのような置換を、(入力と出力のサイズが同じ)本当に乱数である置換と区別することは、実際にはできない、という特性を有する。
なぜなら、既知の方法でそれらを区別するために行うべき計算の回数が、現実的な方法で実行可能な数を越えているからである。
現に、一つの問題を解くのに280回(またはそれ以上)の基本的な計算をしなければならないとすれば、この計算回数は、潜在的なハッカーにとって過大である。
現行技術では、要素数が2の累乗の集合における置換が知られている。
これらの置換を、要素数が2の累乗ではない集合に適合させるための試みも知られている。そのような技術は、n個の要素を含む集合Eの要素を暗号化するために、2の累乗からなる要素数を含むEの上位集合SEに作用する置換Pを用いることからなる。
Ck(x)を決定するため、つまり、Eに属するxの暗号化を鍵Kで行うために、まず以下の式を用いて、n個の要素からなる(n−uplet)Vを計算する。
V={Pk(i)}、ここでiはEを記述している。
Vのすべての要素が異なっているので、Vの各要素をoVの中の要素の列で置き換えてn個の要素からなる(n−uplet)Wが生成されるが、ここでoVは、整列させられた、n個の要素からなる(n−uplet)Vである。
そのとき、Ck(x)はWのx番目の要素だということが得られる。
この方法の不都合な点は、ワードを暗号化/復号化するためには、最初の集合のワードすべてを暗号化/復号化しなければならないということである。
このことは、膨大で手が出せないほどの計算時間をもたらす。そのような計算には実際、膨大な時間がかかり、それが、クライアントサーバアプリケーションにおいて、サーバの応答時間を削減することになる。
クライアントが携帯電話のような自律的な携帯機器であり、クライアントがこのような方法をインプリメントしなければならない場合は、クライアントはサーバよりも少ない計算能力しか使えないため、この不都合はさらに有害である。
2の累乗ではない要素数を含む集合Eの置換を実現するための、既知のもう一つの方法は、Eの上位集合SEを考慮することであり、ここで、SEは2の累乗である要素数と、集合SEの置換Pとを含む。
そのとき、Ck(x)つまり鍵kについてのxの暗号化は、以下の回帰アルゴリズムによって得られる。
アルゴリズムCk(x)
y=Pk(x)
if y is in E then return y
else return Ck(y)
end
この方法の弱点は、使用するアルゴリズムの収束時間にある。実際、膨大な計算をしようとするので、その場合には、計算時間が手のつけられないものになるということも起こりうる。
現行技術において、置換に基づかない、つまり全単射に基づかない他の暗号化の解決策も知られている。しかしながら、可逆的暗号化を行おうとする限り、暗号化の結果が単一であるということを保証しなければならない。
そういうわけで、実際には、いくつかのアプリケーションにおいて、暗号の単一性を保証するために、何年も前から生成したデジットのすべてのチェーンを保存しているような人々も、実業家やオペレータの中には存在する。
そうすることで彼らは、各チェーンが新しいものであることを確認することができる。なぜなら、既に用いられたチェーンが生成されたならば、それを検知し、そのチェーンを新たに循環させずに、他のチェーンを生成するからである。
しかし、そのような方法には費用がかかり、長い目で見て簡便ではないことがわかる。なぜならば、多くのメモリを早く自由に使用し、膨大で、高度に機密保持された場所に急速にアクセス可能な、バックアップ手段も持つ必要があるからである。
さらに、行うべき計算数は、既に生成された値の数と共に増大し、それゆえに、時間とともに増大する。
特に、これら三つの解決策は、クレジットカード型の番号や電話番号に対する置換を生成するには、あまり良い性能は示さない。
実際、実施すべき計算数は手のつけられないものとなりえ、暗号の機密保持も確実とはいえない。
これら三つの解決策の代わりに、これから説明するように、デジットについての擬似ランダム置換の生成器を用いることが可能である。同じ値が二回生成されないようにすることは、生成器の全単射的特徴により保証されることになる(生成器は置換を生成する)。
現に、あらゆる標準的な暗号関数は、秘密鍵暗号方式において、入力において一定数のビットを取り入れ、出力において一定数のビットを出力する。それは例えば、関数SHA−1、関数DES、関数AESなどの場合にあてはまる。
ところで、いくつかの産業機器への応用では、例えば電話の場合、入力と出力で得たいと思うのは、一定数のビットではなく、一定数のデジットである。
そのために、一つの解決法は、特定の関数を書き直すということになるが、それらの検討には膨大な時間がかかりかねず、そのような関数はまず、国際的な暗号社会ではほとんど分析されないであろう。
そこで、本発明によれば、デジットについての入力と出力を有する構造を構築することができ、該構造はその内部で、機密保護を確実にするために、ビットについては従来の暗号関数を用いる。特徴的な問題に対して、ここでインプリメントされるのは、そのような方法である。
本発明の主題と目的とをよりよく把握するために、ここでFeistelスキーマに関するいくつかの概念を簡潔におさらいしておく。
まずFeistelスキーマと呼ばれるものを定義しよう。
nを自然数とする。I={0、1}はnビットのチェーンの集合である。
をIからIへの任意の関数とする。
GとDをIの二つの要素とする。
[G,D]はI2nの要素で、その最初のn個のビットの値はGで、それに続くn個の値はDである。
Ψ(f)は、I2nからI2nに向かう全単射で、この全単射は、I2nのすべての[G,D]、そしてI2nのすべての[U,V]ついて、次式
Figure 2004258667
が成り立つ時に、(かつ、成り立つ時に限って、)Ψ(f)[G,D]=[U,V]というような全単射であり、ここで次の演算
Figure 2004258667
は、「XOR」演算(あるいはビットとビットの加算剰余2(加算mod 2))を示す。
Ψ(f)は確かに全単射である。なぜなら、その逆関数が、次式
Figure 2004258667
となるような関数gだからである。
最後に、Tは整数で、Feistelスキーマのラウンド数と呼ぶものであり、f、f、...、fは、T回のラウンド関数と呼ばれる、IからIへのT回の関数であるので、I2nからI2nに向かう全単射をΨ(f、f、...、f)と記し、Ψ(f、f、...、f)=Ψ(f)...°Ψ(f)°Ψ(f)、である。
ここで「°」は関数の結合法則を示す。
全単射Ψ(f、f、...、f)を「TラウンドでのFeistelスキーマ」と呼ぶ。
では、一般化されたFeistelスキーマと呼ばれるものを定義しよう。
Feistelスキーマの、この異なった態様の根底にある考え方は次のようなものである。
2nビットを得るために、nビットの二つの等しい部分に分割する代わりとして、より一般的に、ラウンド毎に一つのaビットの部分ともう一つのbビットの部分に分割することも可能であり、ここでa+b=N(Nはこの場合、入力ビットと出力ビットの合計数である)である。
ラウンド数iに従ってaとbを変化させることも可能であり、ラウンドに従って変化するaとbの値はaとbとで記される。そうして一般化されたFeistelスキーマと呼ばれるものが得られる。
この定義は、下記のように詳細化できる。
nは任意の自然数であり、nビットのチェーンの集合を常にI={0,1}と記す。
a、bそしてnをa+b=nとなるような三つの自然数とする。
をIからIへの任意の関数とする。
GをIの一つの要素、DをIの一つの要素とする。
の要素を[G,D]と記し、その最初のaビットの値がGで、続くbビットの値がDである。
からIへの全単射をΨ’(f)と記し、この全単射は、Iのすべての[G,D]について、そしてIのすべての[U,V]ついて、次式
Figure 2004258667
が成り立つ時かつ成り立つ時に限り、Ψ’(f)[G,D]=[U,V]となるような全単射であり、ここで次の演算
Figure 2004258667
は「XOR」演算(あるいはビットとビットの加算剰余2(加算mod2))を示す。
そして、λはaビットのビットについてローテーション(rotate)させる関数であり(新しい最初のビットは古い(a+1)番目のビットであり、新しい二番目のビットは古い(a+2)番目のビットであるなど)、
Ψ(f)=λ°Ψ’(f
と記す。
最後に、Tは整数であり、一般化されたFeistelスキーマのラウンド数と呼ばれる。そして、fは、1≦i≦Tであり、T回のラウンド関数と呼ばれるIbiからIaiへのT回の関数である。また、I2nからI2nに向かう全単射をΨ(f、f、...、f)と記し、
Ψ(f、f、...、f)=Ψ(f)...°Ψ(f)°Ψ(f
である。ここで、「°」は関数の結合法則を示す。
全単射Ψ(f、f、...、f)は、「Tラウンドでの一般化されたFeistelスキーマ」と呼ばれる。
ここでまた、一般化されたFeistelスキーマの特徴的な場合を、例えばaビットとbビットを交替させることにより、考案することもできる。
したがって、aビットを変化させる関数とbビットを変化させる関数とを、以下に示すように交互に行うことも可能である。
そういうわけで、例えば、すべての奇数ラウンドについて、
がIからIへの関数であり、次式
Figure 2004258667
が成り立つ時、(かつ、成り立つ時に限り、)
Ψ(f)[G,D]=[U,V]
というタイプの変換が得られることになる。
そしてすべての偶数ラウンドについては、次のタイプの変換が得られる。
Ψ(f)[G,D]=[U,V]
はIからIへの関数であり、次式
Figure 2004258667
が成り立つ時である(かつ、成り立つ時に限る)。
本発明では一般化されたFeistelスキーマを用いて、上述の問題を解決する。使用する一般化されたFeistelスキーマは、最低でも5ラウンドを含む構造で、そして好ましい例においては6ラウンドである。
しかし、時には、さらにラウンド数を増やすことによって、暗号解析に対するより良い抵抗力が得られる。
したがって、本発明を活用するシステムの応答時間と両立可能な計算時間内に納めながら、30ラウンドまで増やしてもよい。
一般化されたFeistelスキーマのラウンド関数は、入力(段階)においてa個のデジットを入力し、出力(段階)においてb個のデジットを出力する。それらの関数は、二進数のワードに作用しなければならないとした上で、次の方法で実行される。
1.二進数のワードAを、これらb個のデジット、鍵K、およびラウンド番号iに基づいて計算する。例えばここでは、それらの値の連結を、単純に二進数に変換することが問題となる。
2.B=f(A)を計算するが、ここでfはビットについての一方向関数である。この手順は一般的に、関数fの、一方向であるという特徴のために、機密保持のための最も重要な手順である。
3.C=g(B)を計算するが、ここでgは、入力において二進数のワードを入力し、出力においてa個のデジットを含むワードを出力する関数であり、例えばここでは、二進数のワードを単純にデジットに変換することが問題となる。
手順2としてしばしば取り上げられる関数fは、Bがそのような直接変換に適合したフォーマットを正確に有するような関数である。
このように、ラウンド関数の出力の二進数のワードは、デジットに変換される。
そのようなラウンド関数は、例えば、ハッシュアルゴリズムSHA−1(機密保護手段を講じたハッシュアルゴリズムである、Secure Hash Algorithm)に基づく。
この構造により、デジットで構成される要素の集合の中で擬似ランダム置換が得られる。
置換、つまり全単射的特徴は、構造、Feistelスキーマの利用によって保証される。
擬似ランダム的な側面も保証される。なぜなら、ここでは少なくとも5ラウンド用いられるので、既知の暗号に対するいかなる攻撃も、この暗号化の方法を打ち破ることはできないからである。
したがって、本発明はN個のデジットを含むワードの擬似ランダム置換の生成方法を対象とし、該方法において、
・一般化されたFeistelスキーマがインプリメントされ、
該方法が、
・インプリメントされる一般化されたFeistelスキーマにおけるラウンド関数が、次の(A)から(C)の項目を満たす関数(Fi)であること、
(A)ラウンド関数の入力ワードが、デジットのワードを二進数のワードに変換することで生成され、
(B)これらの二進数のワードに一方向関数を適用し、
(C)デジットでの出力が、これら二進数のワードの関数である、
・メモリの中で、暗号化すべきデジットのワードが読み込まれること、
・使用する一般化されたFeistelスキーマが、少なくともT=5ラウンドを含むこと、
とを特徴としている。
すなわち、本発明の課題を解決するための手段は、次のとおりである。
第1に、
N個のデジットを含むワードの擬似ランダム置換の生成方法であり、該方法において、
・一般化されたFeistelスキーマがインプリメントされ、
該方法が、
・インプリメントされる一般化されたFeistelスキーマにおけるラウンド関数が、次の(A)から(C)の項目を満たす関数(Fi)であること、
(A)ラウンド関数の入力ワードが、デジットのワードを二進数のワードに変換することで生成され、
(B)これらの二進数のワードに一方向関数を適用し、
(C)デジットでの出力が、これら二進数のワードの関数である、
・メモリの中で、暗号化すべきデジットのワードが読み込まれること、
・使用する一般化されたFeistelスキーマが、少なくともT=5ラウンドを含むこと、
とを特徴とする方法。
第2に、
二進数のワードに対する一方向関数が、二進数のワードに対する暗号法の標準的な擬似ランダム関数を用いることを特徴とする、上記第1に記載の方法。
第3に、
二進数のワードに対する標準的な擬似ランダム関数が、関数SHA−1を用いることを特徴とする、上記第1または上記第2に記載の方法。
第4に、
Feistelスキーマのラウンド数Tが30以下であることを特徴とする、上記第1から上記第3のいずれか一つに記載の方法。
第5に、
Feistelスキーマのラウンド数Tが6に等しいことを特徴とする、上記第1から上記第4のいずれか一つに記載の方法。
第6に、
Feistelスキーマの奇数ラウンドのとき、ラウンド関数は長さBの一ワードに作用し、Feistelスキーマの偶数ラウンドのとき、長さがAのデジットである複数のワードに作用し、ここでA+B=Nであることを特徴とする、上記第1から上記第5のいずれか一つに記載の方法。
第7に、
Aの値がN/2の整数部であり、Bの値がN−Aであることを特徴とする、上記第6に記載の方法。
第8に、
Nが区間[7,30]に含まれる整数であることを特徴とする、上記第1から上記第7のいずれか一つに記載の方法。
第9に、
Nが区間[10,30]に含まれる整数であることを特徴とする、上記第1から上記第8のいずれか一つに記載の方法。
第10に、
Nが区間[13,30]に含まれる整数であることを特徴とする、上記第1から上記第8のいずれか一つに記載の方法。
本発明の教示に従って、N個のデジットを含むワードの擬似ランダム置換の生成を行うことにより、擬似ランダムな計算、特に、堅牢な擬似ランダム置換を行うことが可能となる。このことにより、擬似ランダムであるような、デジットのチェーンを作成することが可能となる。
そして、一般化されたFeistelスキーマがインプリメントされ、該構造のラウンド関数を、デジットと二進数間の変換を考慮したものとし、かつ一方向関数を適用することによって、暗号の堅牢化と、膨大な計算時間の削減という、互いに相反する問題を同時に解決することが可能となる。また、本発明に係る構造の全単射性により、暗号の単一性をも保証することも可能となる。さらに、暗号化/複合化において、デジットについての入力と出力を有する構造を構築することも可能となる。
ここで、該構造はその内部で、機密保護を確実にするために、ビットについては従来の暗号関数を用いることができる。即ち、従来の暗号関数を組み込むことが可能である。
本発明は以下の説明を読み、添付図面を検討することにより、さらによく理解されるだろう。
これらの図面は本発明の指標として示されるのであって、まったく限定的ではない。
− 図1は、本発明による方法のインプリメンテーションにおいて、有利な手段を示す図である。
− 図2は、本発明による方法の手順を示す図である。
一般的に、マイクロプロセッサと、そのマイクロプロセッサを制御するための指示コードを備えたメモリとを含んだ装置が、以下において説明されるような動作を請け負う。
それらの指示コードは、本発明による方法の手順のインプリメンテーションに対応している。
ワードは、二進数であるにせよ、デジットであるにせよ、メモリまたはレジスタ中の、大きさの電気的表示、あるいは電気信号である。
一つの機器に一つの動作を与えるとき、その動作は、その機器のマイクロプロセッサによって実行され、該マイクロプロセッサは、その機器のメモリの中に登録されている指示コードによって制御される。
図1は、本発明の方法をインプリメントする機器101を示す。つまり、本発明による方法の手順は、機器101によってインプリメントされる。
そのような機器は実際には、電気通信網のオペレータのサーバである。しかしながら、本発明の方法は、図1に対応するあらゆる装置やシステムによってインプリメントされることが可能である。
例として、本発明の方法をインプリメントすることができる機器としては、移動電話、PDA、携帯用、固定またはデスクトップのパソコンなどが挙げられるが、このリストは網羅的ではない。
図1は、機器101が、マイクロプロセッサ102と、プログラムメモリ103と、入力のデジットのワードのメモリ104と、出力のデジットのワードのメモリ105と、鍵のメモリ106と、ラウンド数のメモリ107と、インターフェイス回路108とを含んでいることを示している。
要素102から108は、バス109で互いに接続されている。
図1では、メモリ103から107は別々のメモリとして示されている。実際には、これらのメモリはただ1つの同じメモリ部品、あるいはメモリ部品と専用回路(ASIC)のいくつかのレジスタ、とすることが十分に可能である。
メモリ104により、暗号化すべきデジットのワードを、本発明の方法によって記憶することができるようになる。
メモリ105により、メモリ104の中に記憶されたワードを暗号化した結果を、本発明の方法で保存できるようになる。
メモリ106により、本発明による暗号化方法で用いられる鍵を保存できるようになる。
メモリ107により、本発明による方法のFeistelスキーマ/ネットワークのラウンド数を保存できるようになる。
メモリ103は、マイクロプロセッサ102にインプリメントされる様々な機能に対応する、いくつかの区域に分割されている。
区域103aは、Feistelスキーマのインプリメンテーションに対応する指示コードを含む。
区域103bは、ハッシュ関数のインプリメンテーションに対応する指示コードを含み、本文中の例ではSHA−1である。
区域103cは、通信機能のインプリメンテーションに対応しており、より特徴的には、区域103cの指示コードによって、回路108の制御が可能になる。
区域103dは、ラウンド関数をインプリメントするための指示コードを含む。
メモリ103は、作業と保存のための、図1には示されていない、他の区域を含む。
回路108により、機器101を、ネットワーク、キーボード、モニタなどの外部装置に接続できるようになる。
回路108と、区域103cの指示コードを介して、メモリ104から107の中での読み込みおよび/または書き込みが可能であり、メモリ104から107もまた、本発明による方法のパラメータ/コンフィギュレーションメモリである。
図2は、本発明による一般化されたFeistelスキーマの作動を示している。
図2は予備手順201を示し、該手順において、ユーザーが暗号化しようとするデジットのワードを把握する。
この把握は、暗号化すべきデジットのワードMをメモリ104に書き込むことからなる。
手順201において、ユーザーは、鍵メモリ106の内容、並びにラウンド数のメモリ107の内容も与える。これらのメモリの更新は回路108を介して行われる。
次に、本来の意味での暗号化方法の第一の手順に移るが、その手順とは、デジットのワードMを二つの二進数のワードG0とD0に分割し、変換する手順202のことである。
この分割はM=[G0、D0]となるようなものである。構造上及び定義上、G0はMの左の部分であり、D0はMの右の部分である。
例として、Mが10個のデジットを含む、つまりNの値が10だと考えよう。
標準的なFeistelスキーマの場合、暗号化すべきワードは、長さの等しい二つの部分に分割される。一般化されたFeistelスキーマについては後で論じる。
そういうわけで、本文中の例では、G0とD0は、それぞれ5個のデジットに対応する二進数のワードである。したがってこの例では、A=B=5であり、ここでAはワードG0のデジットでの長さであり、BはワードD0のデジットでの長さである。
デジットのワードは、メモリにおいては二進数で表示される。
この二進数表示は、ほとんどの場合、カルテット(4ビット)の数列、またはそれぞれオクテット(ASCIIコードについては8ビット)の数列である。
各カルテットまたはオクテットは、それぞれ、一つのデジットに対応する。
既知の方法でカルテットを用いる場合を考えると、デジットのワードの二進数のワードへの変換は、その場合には単純に、各デジットに対応する二進数のワードを並列することよってなされる。
したがって、デジットの0はカルテット0000に対応し、1はカルテット0001、2はカルテット0010、...というように、カルテット1001に対応する9までいく。
このコード化方式では、例えばデジットのワード12345の二進数変換は、五つのカルテットで構成される、二進数のワード00010010001101000101である。
デジットのワードを二進数のワードに変換する他の方法もあり、その、他の方法とは、本発明の望ましい実施態様のものである。
この、他の変換方法は、読み取られたデジットのワードと同じ十進法での値を有する二進数のワードを用いることで、デジットのワードを変換することからなる。
したがって、デジットのワード12345は、その十進法での値に対応する二進数のワードに変換され、それはつまり、二進数のワード11000000111001である。
そういうわけで、手順202の最後において、デジットのワードMを二つの二進数のワードG0とD0に分割した。
例えば、デジットのワードが1234567890ならば、G0は12345の二進数変換であり、D0は67890の二進数変換である。
そこで、手順202、すなわち本発明によるFeistelスキーマの最初のラウンドに移る。
手順202では、実際にはD0に等しい二進数のワードG1が計算される。
Figure 2004258667
であるような二進数のワードD1も計算される。上式において、次の記号
Figure 2004258667
は、「排他的OR」に対応し、これは関数「XOR」としても知られている。
関数F1は、本発明によるFeistelスキーマの最初のラウンドにおけるラウンド関数である。
一般的には、本発明によるFeistelスキーマのiラウンドのラウンド関数をFiと記す。関数Fiは以下のような式で表される。
Fi(x)=<SHA_1(i||K||×||j)>(1)
上式で、SHA_1()は、同名のハッシュ関数である。
実際には、例えばMD5のような、他のハッシュアルゴリズムを用いてもよい。AES(進歩した暗号化規格を意味するAdvanced Encryption Standard)やTDES(三重のデータ暗号化規格を意味するTriple Data Encryption Standard)のような、他の関数を用いてもよい。
ここでは、二進数のワードに対する暗号の標準的な擬似ランダム関数が問題なのである。さらに一般的に言えば、ビットに対するどのような関数あるいは擬似ランダム関数でも用いてよい。
||は連結の演算子であり、Kはメモリ106で読み取られる鍵、iはFeistelスキーマの関数のラウンド指標である。
<||j>という記号は、jを0に初期化し、それから、関数SHA_1の出力のうち、最も重要な17個のビットを抽出する、ということを表す。
それらの17ビットが、正確に5個のデジットに対応する場合には、この出力が保持される。そうでない場合には、jを一単位だけ増加させ、その特性が得られるまで、式(1)を再評価する。
このようなjに対する反復は実のところ、二進数をデジットへ変換することに対応する。ラウンド関数の入力ワードは、したがって、デジットのワードを二進数のワードに変換することによって生成される。
ラウンド関数の出力である二進数のワードは、そういうわけで、デジットのワードに変換される。17ビットが正確に5個のデジットに対応するためには、この17ビットのワードの十進法への変換を、五つの数字で表さなければならない。
17ビットを抽出するということは、長さが5個のデジットのワードで作業するということに関連している。より特徴的には、それは懸案のラウンド関数が5個のデジットのワードを生成するということに関連している。
実際に、抽出したビットの数は、以下に示すような考慮によって生成されるデジットのワードの長さに関連するが、この考慮とは、抽出したビットの数が、生成されたワードのデジットでの数で表示可能な、十進法での最大値をコード化できる二進数のワードの長さに対応するということである。
そういうわけで、5個のデジットでは、表示可能な十進法の最大値は99 999である。この値を二進数でコード化するためには17ビット必要である。
例えば、7個のデジットのワードを考える場合、表示可能な十進法の最大値は9 999 999である。この場合、24ビットを抽出しなければならない。
この論理は、いかなるデジットにも適用される。
一つの変形例において、抽出されたビットが、ラウンド関数で生成すべきデジットでの数で表示可能な十進法の値に対応するとすぐに、jに対する繰返しは停止する。
ここで、処理されたワードは5個のデジットの長さを有することを思い留めておく。なぜなら、ワードMは10個のデジットの長さを有し、それをそれぞれ5個のデジットの2ワードに分割したからである。
式(1)に記載された関数は不可逆的、つまり一方向であるが、それは、それ自体が不可逆的なハッシュ関数をインプリメントするからである。
不可逆的とは、ある関数の出力を知りつつも、その関数の入力を決定できないということを意味する。
一般的にはラウンド関数の不可逆性は、その出力のあるビット数を抽出し、それゆえに全単射は問題になりえないということに関連している。
手順203の終わりには、したがって、ワードM1=[G1、D1]が得られる。これからワードM2=[G2,D2]の計算の手順204に移るが、ここで、次式の通りである。
Figure 2004258667
手順204は、本発明によるFeistelスキーマの第二ラウンドである。
手順203がワードMに作用する一方で、手順204はワードM1に作用するということを除けば、手順204は手順203と同一である。
一般的な場合には、Feistelスキーマではi番目のラウンドはワードMi=[Gi,Di]を生成し、ここで次式の通りである。
Figure 2004258667
本文の例では、5ラウンドのFeistelスキーマを考えるので、Tの値は5である。したがって手順204の後、一般的な場合について説明したように、三番目と四番目のラウンドが実行される。
T回目のラウンドに際して、(本例では五回目のラウンドで、手順205である。)ワードM=[G,D]を生成し、ここで次式の通りである。
Figure 2004258667
そういうわけで、ワードMは鍵Kを使用して、Feistelスキーマの入力として用いることができ、出力において開始のワードMを再び見いだすことになる。
ワードMは、ワードMを本発明の方法で暗号化した結果である。
手順205の終わりにおいて、ワードMはメモリ105に書き込まれる。本発明による方法を要約して書くと、
=Chi(M,K,T)
となる。これはMとして読むべき式であり、この式は鍵Kを使って本発明の方法でMを暗号化(Chi)した結果で、ラウンド数はTに等しい。
その場合、複号化関数は同一であり、
M=Chi(M,K,T)
が得られる。
メモリ105は回路108を介して読み取られ、このことによって暗号化の結果を用いることが可能になる。
本文の例では、FeistelスキーマはT=5ラウンドを含む。そして、望ましい実施例においては、Feistelスキーマは6ラウンドを含む。実際には、30ラウンドまで上げることが可能である。
しかしながら、実行速度との折り合いのつけ方も知っておかなければならない。実際、ラウンド数が増えるのに応じて、計算時間も増大する。
実際には、6ラウンドあれば、暴力に基づくものではない、既知のあらゆる攻撃に対して、十分な備えとなる。
現に使用可能な計算出力では、本発明の方法をインプリメントするシステムの応答時間をほとんど損なうことなく、30ラウンドまで上げることができる。
そういうわけで、実際には、ラウンド数Tは30未満である。
本明細書の例では、ワードMが10個のデジットを含むとした。実際には、ワードMは奇数個のデジットを含んでもよい。
実際にはまた、ワードMの非対称の分割も実行できる。これらの二つの場合において、一般化されたFeistelスキーマ、つまりAとBが異なっているようなFeistelスキーマがインプリメントされる。
A=Bというケースは、一般化された構造における、特殊なケースだということに注目すべきである。
例えば、MはN=11個のデジットを含むとする。その場合、Aの値は5でBの値は6であるとすると、確かにN=A+Bとなる。
また、G0は5個のデジットの長さ、D0は6個のデジットの長さを有する。
一般化されたFeistel関数の最初のラウンドが終わると、G1=D0は6個のデジットを含み、そして、次式を満たすD1は5個のデジットを含む。
Figure 2004258667
その場合、長さが5個のデジットのワードを生成するために、関数F1は長さが6個のデジットのワードに作用し、従って上記で説明したように、関数SHA_1の出力の17ビットが抽出される。
Feistelスキーマの二回目のラウンドが終わると、G2=D1は、5個のデジットを含む。また、次式を満たすD2も、6個のデジットを含む。
Figure 2004258667
その場合には、長さが6個のデジットのワードを生成するために、関数F2は、長さが5個のデジットのワードに作用し、既に見られるような考慮にしたがって、関数SHA_1の出力の20ビットが抽出される。
一般化されたFeistelスキーマの場合には、暗号化すべきワードの分割は対称ではなく、それゆえ、ラウンド関数は、ラウンド指標が偶数か奇数かに応じて、同数のデジットに作用するわけではない。
そういうわけで、奇数の指標のラウンドに際し、長さがA個のデジットのワードを生成するために、Feistelスキーマのラウンド関数は長さがB個のデジットのワードに作用する。
偶数の指標のラウンドに際しては、長さがB個のデジットのワードを生成するために、Feistelスキーマのラウンド関数は、長さがA個のデジットのワードに作用する。
一般的に、AとBは、A+B=Nである限り、任意の値を取りうる。実際には、デジットのワードは対称に分割するのが望ましい。
Nが偶数の場合は問題が生じず、A=B=N/2である。
Nが奇数の場合、Aの値はN/2の整数部分であり、一方、Bの値はN−Aになる。したがって、確かにA+B=Nになる。
この分割法では、Bは決してAを一単位以上は上回らず、それゆえに、対称的な分割に可能な限りもっとも近い整数分割が得られる。
この暗号化方法は、通常用いられるデジットのワードを暗号化するために用いられる。
そのようなワードは、電話番号(8桁から10桁)やクレジットカードの番号(16桁)、社会保険番号(13桁)、銀行口座の番号、電子バウチャー等であるが、このリストは網羅的ではない。
さらに、これらの番号をつなげて、さらに大きな番号にすることで、長さが30個のデジットのワードに達することも可能である。
本発明の方法では、一般的に、暗号化するワードが長ければ長いほど、つまり、Nが大きければ大きいほど、暗号解析に対する抵抗力がより良いものとなる。
入力されるワード、所与の暗号化鍵、そしてFeistelスキーマのラウンド数については、常に同一の暗号化されたワードが得られる。
その暗号化を強化するために、そして特に、電子識別子に基づいた振る舞いのリサーチを避けるために、暗号化すべきデジットの番号を、デジットの乱数と連結させてもよい。
例えば、電話番号を暗号化するために、それをまず、現在の時刻の開始時点から経過した秒数と連結させる。それから、その連結の結果を暗号化する。
そういうわけで、所与の電話番号について、同一の暗号化されたワードが得られることはごく稀にしかない。
使用する乱数のタイプは任意であり、例えば使用するたびに加算される単純なカウンターでも、予め計算した一連の擬似乱数列から導いた数でもよいが、このリストは網羅的ではない。
そういうわけで、本発明による方法の可能な使い方の中で、情報の発信者とその受信者との間で情報を暗号化する可能性が挙げられる。
また、二つのネットワークを互いに隔離する可能性も挙げられる。この隔離は、例えば、最初のネットワークのオペレータのサーバによって実現される。
このサーバが、本発明の方法により、第二のネットワークについての識別子を生成するために、第一のネットワークの識別子をコード変換する。したがって、その第二のネットワークに関与するエンティティは、第一のネットワークのオペレータは別として、最初のネットワークのユーザーを識別することができない。
それゆえ、本発明は特に、そして非常に好適に、電話通信に応用される。
そういうわけで、電話通信事業者の加入者の私生活を保護し、(「スパム・メール」という名称でも知られている)望まないメールと戦う、という場合において、あらゆるプロトコルが、加入者の識別子として15個のデジットにコード化されたMSISDN(加入者の国際電話番号)を用いるが、その場合、この情報はユーザーのプロフィールを作る目的、あるいは望まれないメッセージを発信する目的で、サービスの供給業者に流用される可能性がある。
暗号化によってその値を隠そうとすることは可能であるが、その場合には、(暗号化の)結果が電気通信プロトコルのフォーマットと互換性がある必要があり、特に、オペレータが容易に複号化できなければならない。
これら二つの目的は、本発明による方法によって達成される。
電子バウチャー(クーポン)の場合もまた、本発明の良い応用例の一つである。
携帯電話でのインターフェイスは、デジタルキーボードの制約があり、それゆえに、ユーザーのデジットのデータ収集入力には限界がある。
電子バウチャーの生成という場合(バウチャーの番号が、例えば30ユーロというような金額に相当する)において、各バウチャーのデータ収集入力によって、口座に貸方記入することが可能になる。
これらの値の生成器が、デジットに作用する対称アルゴリズムを利用する場合、サービスの供給業者によるバウチャーの管理は単純化される。
カウンターが1からMまで進み、そのカウンターを暗号化することで、まったく異なった擬似ランダムデータが供給される。そのようにして、N個のデジットについて擬似ランダムコードを生成することが可能であり、それはサービスの供給業者によって容易に管理することができる。
なぜなら、保存するのは使用されるカウンターの最後の値だけであり、値の単一性を確保するために、既に生成されたバウチャーのすべての値を保存するわけではないからである。
一般的に「膨大な」データベースでは、保存は分かりやすい形で行われ、その構造は組み合わせ(均一ではなく、数字や数字混じりのアルファベットなどのフォーマット)が可能であり、そして機密保持の必要性から暗号化が求められる。
その場合にも、デジットによる暗号化によって、その構造を変更することなく、非常に経済的な低価格で、データを効率的に保護することが可能である。
本発明のこれらの実施例は、本発明の応用分野を限定するものではない。
本発明による方法のインプリメンテーションにおいて、有利な手段を示す図である。 本発明による方法の手順を示す図である。
符号の説明
101 機器
102 マイクロプロセッサ
103 プログラムメモリ
104 入力のデジットのワードのメモリ
105 出力のデジットのワードのメモリ
106 鍵のメモリ
107 ラウンド数のメモリ
108 インターフェイス回路
109 バス

Claims (10)

  1. N個のデジットを含むワードの擬似ランダム置換の生成方法であり、該方法において、
    ・一般化されたFeistelスキーマがインプリメントされ、
    該方法が、
    ・インプリメントされる一般化されたFeistelスキーマにおけるラウンド関数が、次の(A)から(C)の項目を満たす関数(Fi)であること、
    (A)ラウンド関数の入力ワードが、デジットのワードを二進数のワードに変換することで生成され、
    (B)これらの二進数のワードに一方向関数を適用し、
    (C)デジットでの出力が、これら二進数のワードの関数である、
    ・メモリの中で、暗号化すべきデジットのワードが読み込まれること、
    ・使用する一般化されたFeistelスキーマが、少なくともT=5ラウンドを含むこと、
    とを特徴とする方法。
  2. 二進数のワードに対する一方向関数が、二進数のワードに対する暗号法の標準的な擬似ランダム関数を用いることを特徴とする、請求項1に記載の方法。
  3. 二進数のワードに対する標準的な擬似ランダム関数が、関数SHA−1を用いることを特徴とする、請求項1または請求項2に記載の方法。
  4. Feistelスキーマのラウンド数Tが30以下であることを特徴とする、請求項1から請求項3のいずれか一つに記載の方法。
  5. Feistelスキーマのラウンド数Tが6に等しいことを特徴とする、請求項1から請求項4のいずれか一つに記載の方法。
  6. Feistelスキーマの奇数ラウンドのとき、ラウンド関数は長さBの一ワードに作用し、Feistelスキーマの偶数ラウンドのとき、長さがAのデジットである複数のワードに作用し、ここでA+B=Nであることを特徴とする、請求項1から請求項5のいずれか一つに記載の方法。
  7. Aの値がN/2の整数部であり、Bの値がN−Aであることを特徴とする、請求項6に記載の方法。
  8. Nが区間[7,30]に含まれる整数であることを特徴とする、請求項1から請求項7のいずれか一つに記載の方法。
  9. Nが区間[10,30]に含まれる整数であることを特徴とする、請求項1から請求項8のいずれか一つに記載の方法。
  10. Nが区間[13,30]に含まれる整数であることを特徴とする、請求項1から請求項8のいずれか一つに記載の方法。
JP2004053763A 2003-02-27 2004-02-27 N個のデジットを含むワードの擬似ランダム置換の生成方法 Pending JP2004258667A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0350038A FR2851862B1 (fr) 2003-02-27 2003-02-27 Procede de generation d'une permutation pseudo-aleatoire d'un mot comportant n digits

Publications (1)

Publication Number Publication Date
JP2004258667A true JP2004258667A (ja) 2004-09-16

Family

ID=32799793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004053763A Pending JP2004258667A (ja) 2003-02-27 2004-02-27 N個のデジットを含むワードの擬似ランダム置換の生成方法

Country Status (10)

Country Link
US (1) US20040208321A1 (ja)
EP (1) EP1455478B1 (ja)
JP (1) JP2004258667A (ja)
CN (1) CN1536810A (ja)
AT (1) ATE407492T1 (ja)
DE (1) DE602004016236D1 (ja)
DK (1) DK1455478T3 (ja)
ES (1) ES2312922T3 (ja)
FR (1) FR2851862B1 (ja)
PT (1) PT1455478E (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008053650A1 (en) * 2006-10-30 2008-05-08 Nec Corporation Common key block encrypting device, its method, its program, and recording medium

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050182946A1 (en) * 2004-02-13 2005-08-18 Will Shatford Fast hashing function for pseudo-random generator
US7760874B2 (en) 2004-07-14 2010-07-20 Broadcom Corporation Method and system for implementing FI function in KASUMI algorithm for accelerating cryptography in GSM/GPRS/EDGE compliant handsets
US20060013387A1 (en) * 2004-07-14 2006-01-19 Ruei-Shiang Suen Method and system for implementing KASUMI algorithm for accelerating cryptography in GSM/GPRS/EDGE compliant handsets
US7688972B2 (en) 2004-07-14 2010-03-30 Broadcom Corporation Method and system for implementing FO function in KASUMI algorithm for accelerating cryptography in GSM (global system for mobile communication)GPRS (general packet radio service)edge(enhanced data rate for GSM evolution) compliant handsets
US20060037995A1 (en) * 2004-08-20 2006-02-23 Texas Instruments Incorporated Heatslug to leadframe attachment
US7627115B2 (en) 2004-08-23 2009-12-01 Broadcom Corporation Method and system for implementing the GEA3 encryption algorithm for GPRS compliant handsets
JP2007199156A (ja) * 2006-01-24 2007-08-09 Sony Corp 暗号処理装置、暗号処理装置製造装置、および方法、並びにコンピュータ・プログラム
US8295250B2 (en) * 2006-07-24 2012-10-23 Qualcomm Incorporated Code interleaving for a structured code
JP4882598B2 (ja) * 2006-07-28 2012-02-22 ソニー株式会社 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム
JP5023624B2 (ja) * 2006-09-01 2012-09-12 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP4967544B2 (ja) * 2006-09-01 2012-07-04 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
FR2927497B1 (fr) * 2008-02-07 2010-02-12 Alcatel Lucent Dispositif de conversion bidirectionnelle d'identifiants de communication en adresses de communication pour l'interfonctionnement entre reseaux de types differents.
CN103595539B (zh) * 2013-11-26 2016-08-24 南开大学 保留格式的数值型个人识别信息的加密方法
WO2017068468A1 (en) * 2015-10-21 2017-04-27 Atul JINDAL System and method for customer engagement and reward computation
GB2570015B (en) * 2018-06-29 2020-03-11 Txtnation Holdings Ltd Improved gateway system and method
GB2581266B (en) * 2018-06-29 2021-08-25 Txtnation Holdings Ltd Improved gateway system and method
FR3084760A1 (fr) 2018-08-03 2020-02-07 Commissariat A L'energie Atomique Et Aux Energies Alternatives Generateur d'une permutation pseudo-aleatoire

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB762284A (en) * 1954-01-07 1956-11-28 Nat Res Dev Digital encoders and decoders
FR1205568A (fr) * 1957-05-14 1960-02-03 Ibm Dispositifs à superconduction traitant des informations et utilisant des écrans magnétiques
US3071739A (en) * 1961-04-21 1963-01-01 Bell Telephone Labor Inc Digital phase equalizer, automatically operative, in accordance with time-inverted impulse response of the transmission circuit
US3358083A (en) * 1964-07-28 1967-12-12 Bell Telephone Labor Inc Time-division multiplex digital transmission arrangement employing a linear digital filter
BE771162A (fr) * 1970-08-17 1972-02-11 Automatisme Cie Gle Systeme de localisation de mobiles sur une trajectoire donnee
US3740725A (en) * 1971-06-16 1973-06-19 Nasa Automated attendance accounting system
US3956615A (en) * 1974-06-25 1976-05-11 Ibm Corporation Transaction execution system with secure data storage and communications
US4183096A (en) * 1978-05-25 1980-01-08 Bell Telephone Laboratories, Incorporated Self checking dynamic memory system
US4195350A (en) * 1978-06-19 1980-03-25 Cbs Inc. Method and apparatus for eliminating deadband in digital recursive filters
US4785290A (en) * 1980-06-23 1988-11-15 Light Signatures, Inc. Non-counterfeitable document system
DE3400665A1 (de) * 1984-01-11 1985-07-18 Robert Bosch Gmbh, 7000 Stuttgart Differentielles pulscodemodulationssystem
US6614914B1 (en) * 1995-05-08 2003-09-02 Digimarc Corporation Watermark embedder and reader
KR0156152B1 (ko) * 1995-05-12 1998-11-16 구본준 최대값 선택회로
CA2164768C (en) * 1995-12-08 2001-01-23 Carlisle Michael Adams Constructing symmetric ciphers using the cast design procedure
CA2173688C (en) * 1996-04-09 2000-01-18 Hideo Shimizu Encryption apparatus and method capable of controlling encryption process in accordance with an internal state
US6031911A (en) * 1996-07-18 2000-02-29 Entrust Technologies, Ltd. Practical S box design
US5802054A (en) * 1996-08-15 1998-09-01 3Com Corporation Atomic network switch with integrated circuit switch nodes
US5913203A (en) * 1996-10-03 1999-06-15 Jaesent Inc. System and method for pseudo cash transactions
US5949884A (en) * 1996-11-07 1999-09-07 Entrust Technologies, Ltd. Design principles of the shade cipher
US6182216B1 (en) * 1997-09-17 2001-01-30 Frank C. Luyster Block cipher method
US6189095B1 (en) * 1998-06-05 2001-02-13 International Business Machines Corporation Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
JP2000066587A (ja) * 1998-08-24 2000-03-03 Toshiba Corp データ処理装置及び通信システム並びに記録媒体
IL132898A (en) * 1999-11-11 2009-09-01 Nds Ltd System for bitstream generation
AU2086301A (en) * 1999-12-10 2001-06-18 Auripay, Inc. Method and apparatus for improved financial instrument processing
WO2001050428A1 (en) * 2000-01-05 2001-07-12 Colin Mitchell Method and apparatus for authenticating financial transactions
AU2002214613A1 (en) * 2000-11-08 2002-05-21 Digimarc Corporation Content authentication and recovery using digital watermarks
WO2002084879A2 (en) * 2001-04-13 2002-10-24 The Code Coproration System and method for encoding and decoding data and references to data in machine-readable graphical codes
CA2449171C (en) * 2001-06-06 2009-08-11 Spectra Systems Corporation Marking and authenticating articles
JP2003122726A (ja) * 2001-06-07 2003-04-25 Hitachi Ltd コンテンツ制御方法及びその実施装置並びにその処理プログラム
US6889349B2 (en) * 2001-08-22 2005-05-03 Hewlett-Packard Development Company, L.P. Digital event sampling circuit and method
US7236592B2 (en) * 2002-02-01 2007-06-26 International Business Machines Corporation Efficient stream cipher system and method
US7221756B2 (en) * 2002-03-28 2007-05-22 Lucent Technologies Inc. Constructions of variable input length cryptographic primitives for high efficiency and high security
US20030200489A1 (en) * 2002-04-18 2003-10-23 Laszlo Hars Secure method of and system for rewarding customers
US7082449B2 (en) * 2002-05-03 2006-07-25 Sun Microsystems, Inc. Method and apparatus for generating pseudo-random numbers
US7248696B2 (en) * 2002-09-12 2007-07-24 International Business Machines Corporation Dynamic system bus encryption using improved differential transitional encoding
JP4141775B2 (ja) * 2002-09-20 2008-08-27 株式会社ルネサステクノロジ 半導体集積回路装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008053650A1 (en) * 2006-10-30 2008-05-08 Nec Corporation Common key block encrypting device, its method, its program, and recording medium
JP5141558B2 (ja) * 2006-10-30 2013-02-13 日本電気株式会社 共通鍵ブロック暗号化装置、その方法、そのプログラム、及び記録媒体

Also Published As

Publication number Publication date
FR2851862A1 (fr) 2004-09-03
PT1455478E (pt) 2009-01-02
EP1455478A1 (fr) 2004-09-08
US20040208321A1 (en) 2004-10-21
DE602004016236D1 (de) 2008-10-16
EP1455478B1 (fr) 2008-09-03
ES2312922T3 (es) 2009-03-01
DK1455478T3 (da) 2008-12-15
CN1536810A (zh) 2004-10-13
FR2851862B1 (fr) 2006-12-29
ATE407492T1 (de) 2008-09-15

Similar Documents

Publication Publication Date Title
JP4608319B2 (ja) 複数鍵を用いたストリーム暗号の生成方法
JP2004258667A (ja) N個のデジットを含むワードの擬似ランダム置換の生成方法
Balajee et al. Evaluation of key dependent S-box based data security algorithm using Hamming distance and balanced output
US8180048B2 (en) Method and system for computational transformation
Singh Modified Vigenere encryption algorithm and its hybrid implementation with Base64 and AES
CN111866018B (zh) 数据信息加密发送方法、装置、计算机设备及存储介质
Agrawal et al. Elliptic curve cryptography with hill cipher generation for secure text cryptosystem
Vyakaranal et al. Performance analysis of symmetric key cryptographic algorithms
Joshy et al. Text to image encryption technique using RGB substitution and AES
Sakib Analysis of Fundamental Algebraic Concepts and Information Security System
CN114124359A (zh) 保留格式加密数据的方法、装置、电子设备及存储介质
Mante et al. A symmetrical encryption technique for text encryption using randomized matrix based key generation
Soe et al. Performance analysis of data encryption standard (DES)
Tayal et al. Analysis of various cryptography techniques: a survey
Kadry et al. An improvement of RC4 cipher using vigenère cipher
RU2188513C2 (ru) Способ криптографического преобразования l-битовых входных блоков цифровых данных в l-битовые выходные блоки
Bahumik et al. A symmetric key-based image encryption scheme
Masadeh A new encryption system for IoT devices using embedded key cryptosystem
KR100350207B1 (ko) 디지털 데이터의 엘-비트 입력 블록들을 엘-비트 출력비트들로 암호 변환하는 방법
Krishna et al. Comparison of Encryption Techniques In Internet Of Things
AU2021106274A4 (en) A protocol for assuring data integrity in cloud setting by using a fully homomorphic batch encryption scheme with integer and shorter public key (hbeis)
Averin et al. Mathematical Model of Symmetric Cryptoalgorithm Based on Representing Mumbers as Sums of Special Code Elements
Şahin et al. Secure and Fast Encryption Routine+: Evaluation by Software Application
RU2140709C1 (ru) Способ криптографического преобразования блоков цифровых данных
Gandhi et al. Leveraging a Randomized Key Matrix to Enhance the Security of Symmetric Substitution Ciphers

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060725

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061024

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070403

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070911