JP2003526118A - 基本的なレジスタ演算を用いた暗号プリミティブのインプリメント - Google Patents
基本的なレジスタ演算を用いた暗号プリミティブのインプリメントInfo
- Publication number
- JP2003526118A JP2003526118A JP2001504202A JP2001504202A JP2003526118A JP 2003526118 A JP2003526118 A JP 2003526118A JP 2001504202 A JP2001504202 A JP 2001504202A JP 2001504202 A JP2001504202 A JP 2001504202A JP 2003526118 A JP2003526118 A JP 2003526118A
- Authority
- JP
- Japan
- Prior art keywords
- mod
- plaintext
- ciphertext
- wordswap
- primitive
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
をインプリメントする(implement;実施する)技術に関する。有利なことに、
この技術は比較的単純であり、かなり基本的なレジスタ演算を用いる。したがっ
て、例えばメッセージ認証コード(MAC、message authenti
cation code)を計算するため、またはストリーム暗号を実施するた
めの処理時間が、従来必要とされていた処理時間に打ち勝って大きく節約される
。
た数学関数を採用しており、モジュラー算法は通常、比較的大きな素数(M)、
例えば232-1やそれ以上の素数などについて、数の剰余を計算するものである
。このような関数の一例、f(x)は、2nを超えるガロア体(GF)において
f(x)=ax+bmod(M)の形となり、この場合、n=2m+1であり、
nおよびmは、体Z(modM)における事前定義済みの整数である。関数自体
は技術間で大きく異なるが、これらは共通して、何らかの形の、かつ通常は著し
く反復的なmod(M)演算の計算が必要である。
を暗号化して対応する暗号文ブロックを生み出し、暗号文ブロックを復号して関
連する平文ブロックを回復するのに用いられるだけでなく、メッセージ認証コー
ド(MAC)やストリーム暗号など、この技術の中間部分を計算する際にも用い
られる。
15サイクルもの処理サイクルが必要となる可能性がある(法の値Mに基づく)
。暗号技術にはこのような演算が多数必要なので、この技術を採用することに伴
い、単にmod(M)演算を計算することだけにかなりの量の処理時間が消費さ
れる可能性がある。
に、例えばパーソナルコンピュータやワークステーションなどの高度に複雑な汎
用目的の機器から、例えば「スマートカード」、リモートコントロール、電子器
具などの比較的単純な専用機器までの、拡大しつつある多くの機器において、情
報を保護するためにますます利用されている。
は(ネットワークモダリティの中でもとりわけ)、好適な通信媒体として爆発的
かつ急激な成長を遂げている。しかし、インターネットは公衆のアクセスが可能
なネットワークなのでセキュア(secure)ではなく、事実、盗聴、傍受、および
/あるいはさもなければインターネットメッセージトラフィックに障害を生じさ
せるかさらには崩壊させること、または不正にインターネットサイトを通り抜け
ることを意図した、様々な個人および組織からの多様な攻撃の標的になっており
、ますますそうなり続けている。好適な通信媒体としてのインターネット使用に
ますます信頼が置かれるようになっていることに鑑みて、こうしたセキュリティ
の脅威は、第三者による盗聴、傍受、および可能性ある改ざんから、メールメッ
セージやデータおよびコンピュータファイルなどの電子通信を守るセキュリティ
のレベルの改善をもたらす、ますます強力な暗号技術を開発するための当技術分
野における努力を激化させる。したがって、セキュアなインターネットの接続性
を提供するために、ますます多くのパーソナルコンピュータソフトウェア、特に
ウェブブラウザおよびその他のオペレーティングシステムコンポーネントと、電
子メールプログラムおよびその他のアプリケーションプログラムに、暗号処理が
組み込まれている。
のである。この場合、いくぶん複雑でなく安価なマイクロプロセッサを採用した
クレジットカードサイズの専用デバイス、すなわち「スマートカード」が、対応
する個人についての銀行および/または他の金銭残高を記憶する。マイクロプロ
セッサは、カード内部に記憶されたプログラムを使用し、取引の妥当性を検査し
て、そのような各残高を取引に基づいて適切に変更することができる。具体的に
は、その個人は、カードに記憶された残高の全部または一部を借方記入(debit
)および/または貸方記入(credit)するために、単にカードを適切なデータ端
末に挿入して端末に結合されたキーボードに取引データを入力するだけで、ベン
ダや銀行などの別の当事者との電子取引を実施することができる。この方式の取
引によれば、即座に金銭振替ができ、紙幣を、または小切手などの紙ベースの通
貨手段を、処理する必要およびそれに関連するコストはどれも不要になる。記憶
されたプログラムは、非常に強力な暗号技術を利用して、カードに記憶された情
報、特に残高を第三者による不正なアクセスおよび改ざんから守る。
ションなど、大きな処理能力を有する複雑な機器では、このオーバーヘッドによ
ってシステムスループット全体が低下し、スマートカード、リモートコントロー
ル、およびその他の「ローエンド」デバイスなど、やや限られた処理能力を有す
る他のデバイスでは、オーバーヘッドに耐えられず、十分に強力な暗号技術をそ
のようなデバイス中で使用することが阻まれる場合がある。
技術を組み込むことへの当技術分野における要望は急速であり、かつ絶えず増え
続けるように見受けられるので、現在、暗号技術を実施するのに必要な処理時間
を短縮する必要性が、当技術分野に存在する。
換えられれば、いくつかの暗号技術に関連する処理オーバーヘッドは、特にチェ
ックサムの計算において、急激に減少する可能性がある。この結果が達成できれ
ば、様々な暗号技術を採用したパーソナルコンピュータやワークステーションな
ど、複雑度の高い機器のスループット全体を有利に向上させることができる。さ
らに、このようなオーバーヘッドを削減することができれば、従来このような技
術をうまくサポートする十分な処理力を有しなかった多数のコンピュータ関連デ
バイスにも、強力な暗号技術を組み込むことができる。
実施することによってこの必要性を満足するが、有利にもmod(M)演算は必
要ない。
単純な一連の基本的レジスタ演算で置き換える。これらの演算は、mod2n乗
算、順序操作(例えばバイトスワップやワードスワップ)、および加算を含み、
これらはすべて実施が非常に単純であり、実行するのにごくわずかな処理サイク
ルしか必要としない。我々の発明の教示を用いれば、様々な暗号パラメータ、例
えばメッセージ認証コード(MAC)を計算するため、またはストリーム暗号を
実装するために必要な処理時間を、従来必要とされていた処理時間に打ち勝って
大きく短縮することができる。
下の一連の式を通してプリミティブを計算することを基にする。 xS←wordswap(x) y←Ax+BxSmod(2n) yS←wordswap(y) z←CyS+yDmod(2n) θ←z+ySEmod(2n) 上式で、係数A、B、C、D、Eは、それぞれ2n以下のランダムな奇数の整数
であり、θはnビットストリングである。
数は「秘密」である。しかしチェックサムの生成に使用するときは、これらの係
数は公開される。
有する。
ずれにおいても、我々の本発明の教示が利用できることを、当業者ならはっきり
と理解するであろう。このような技術とは、例えばメッセージ認証コード(MA
C)を計算する技術やストリーム暗号を実装する技術である。
い通信ネットワークを介して、トランザクションメッセージが通信されるクライ
アントサーバトランザクション処理環境で、採用できるような技術(かなり一般
化されるが)における使用の面において我々の発明を論じ、特に、その技術にお
いて採用されるMACを計算する面において論じる。
暗号プロセス5全体のブロック図を示す。
いる。Pとして示す、このような各メッセージ7をN個のブロック(P1,P2,
...,PN)として構成するが、各ブロックはnビット幅であり、ここでは例
示的にnは32ビットである。このような各平文ブロックを、線10で表すよう
に暗号化プロセス20に適用する。このプロセスは例示的に、メッセージ暗号化
プロセス23および発明のMAC生成プロセス400を含む。プロセス400(
図4および5に関連して後で詳細に述べる)は、平文メッセージPまたは適した
その暗号操作が入力として与えられれば、我々の発明により、このメッセージに
固有かつ通常64ビット長であるMACを生成する。メッセージ暗号化プロセス
23は、平文メッセージを暗号文に暗号化し、2つの最上位ブロック(CN-1,
CN)として例示するように、64ビットMACをそのメッセージに適切に挿入
して、暗号文メッセージCを生み出す(以下、括弧内の連続した値を分離するカ
ンマを、これらの値の連鎖を示す演算子として用いる)。この2つの最上位ブロ
ックは、集合的にMAC42を形成する。プロセス23内で採用される具体的な
暗号化プロセスに応じて、MAC42は、周知のDES(データ暗号化規格)暗
号化や別の従来の擬似ランダム置換などを通して、それ自体で暗号化してもよく
、そうしなくてもよい。暗号文メッセージは、連続するN個のnビット暗号文ブ
ロックで形成される。
えば破線45で表されインターネット接続に代表されるセキュアでない通信チャ
ネルを介して、受信側の場所に転送される。ここで、受信済みバージョンの暗号
文メッセージを
50によって復号して、回復された平文メッセージ70を生み出す。これは平文
メッセージ
るためには、すべての面において元の平文メッセージPと同一でなければならな
い。復号プロセス50は、メッセージ復号プロセス60、MAC生成プロセス4
00、および識別コンパレータ90を含む。
どうかを判定するために、メッセージ復号プロセス60は、回復された平文を作
成するだけでなく、暗号文メッセージ
、線67で表すように、コンパレータ90の入力の一方に加える。回復された平
文もまた、線77で表すように、MAC生成プロセス400に加える。プロセス
400は、回復された平文メッセージ
パレータ90の入力の他方に加える。コンパレータ90の対応する入力にこのと
き加えたこれらのMACが両方とも等しく一致する場合、コンパレータ90は、
出力リード73上にこの時現れる、回復された平文メッセージ
93上に生成する。そうではなく、回復したMACと再計算したMACが一致し
ない場合は、コンパレータ90は、出力73上にこのとき現れる、回復された平
文メッセージ
る。MACの生成は別として、暗号化プロセス23およびメッセージ復号プロセ
ス60で、それぞれ用いる暗号化技術および復号技術の具体的な性質は、本発明
に無関係であり、このような様々な技術のいずれでもうまく用いることができる
ので、これらの態様についてはこれ以上詳細に論じない。しかし我々の、199
8年4月20日出願の「Cryptographic Technique T
hat Provides Fast Encryption and Dec
ryption and Assures Integrity of a C
iphertext Message」という名称の係属中の米国特許出願、出
願番号09/062、836と、1998年4月20日出願の「Method
and Apparatus for Producing A Messag
e Authentication Code」という名称の同時係属中の米国
特許出願、出願整理番号09/062、837(読者は参照されたい)の中で、
このような暗号技術の一例を述べ、特許請求している。これらを両方とも参照に
より本明細書に組み込み、またこれらは本明細書と同一の譲受人に譲渡されてい
る。
るクライアントサーバ処理環境200の高レベルのブロック図が示してある。
、サーバ210は例示的にウェブサーバとする。リモートに位置するいくつかの
個別クライアントコンピュータを、それぞれ例示的にパーソナルコンピュータ(
PC)とし、このようなクライアントのうちの1つだけ、すなわちクライアント
コンピュータ100だけを具体的に示すが、これは、チャネル140や160な
どの適切な通信チャネルを使用して、セキュアでない通信ネットワークを介して
コンピュータ205に接続されており、通信ネットワークはここでは例示的にイ
ンターネット150として示す。クライアントコンピュータ100に配置され、
サーバから情報を得たいと思っているユーザ(具体的には図示せず)は、クライ
アントコンピュータ100にある対応するクライアントプログラム130を呼び
出すことができる。クライアントプログラムは、クライアントコンピュータ10
0内に集合的にあってクライアントコンピュータ100によって実行される、い
くつかのアプリケーションプログラム120のうちの1つを形成する。クライア
ントプログラムは、アプリケーションプログラム内にあるものとして具体的に示
してあるが、クライアントプログラムはまた、ウェブブラウザやオペレーティン
グシステム(O/S)、例えば図3に示すO/S337などのコンポーネントと
して実装してもよい。図2に示すサーバ210は、例えば、コマースサーバ、バ
ンキングサーバ、電子メールサーバまたはファイルサーバを含めた様々なアプリ
ケーション機能のいずれを実装していてもよい。電子商取引に関しては、ユーザ
は、クライアントコンピュータ100およびサーバ210を介して、商業取引を
行いたいと思う場合があり、これは、金融機関におけるユーザの口座番号や、受
取人に資金を振り替えるための支払い指示などの情報を、サーバに提供すること
(線110で表す)、またはユーザの利用可能な口座残高またはクレジット残高
などの情報をサーバから得ること(線135で表す)を含み、いずれの場合でも
それはそのユーザの秘密である。あるいは、サーバ210は、リポジトリに記憶
された様々なファイルへのアクセス権をユーザに与えるファイルサーバとするこ
ともでき、ユーザは任意のファイルをダウンロードすることができる。このよう
なファイルをダウンロードすると、そこでローカル利用するためにそれをクライ
アントコンピュータ100内にあるメモリ330(図3参照)内に記憶すること
ができる。しかしこのようなファイルは、その所有者がユーザアクセスを制御し
たいと思うプロプラエタリ情報および/または機密の情報を含む場合がある。例
えば、このようなファイルは、所与のプログラムに対する更新の自己インストー
ル実行可能ファイルとすることができ、このプログラムに対して、その所有者例
えばソフトウェア製造者は、不正な公衆アクセスを防止すること、すなわち、そ
れに対して適切な支払いを送金していない個人によってその更新が使用されるの
を防止することを望む。図2に示すように、サーバ210自体がまた、ユーザか
ら発せられた(かつネットワーク(ここではインターネット)150を介してサ
ーバに送信された)機密のまたはプロプラエタリ情報を、後続の処理のためにダ
ウンストリーム機器(具体的には図示せず)に提供する(線215で表す)か、
あるいは最終的に、ネットワークを介して、ユーザに送信するために、機密のま
たはプロプラエタリ情報をダウンストリーム機器から受け取る(線218で表す
)場合もある。
引き起こされやすい。これに関して、従来通り暗号化された後でネットワークを
介して搬送されているメッセージであって、例えばクライアントコンピュータ1
00に位置するユーザに関係する進行中の金融取引のために、例えばクライアン
トコンピュータ100から発せられたメッセージを、第三者が傍受する可能性も
ある。第三者は、利用可能な処理能力または時間からみて、メッセージを暗号化
するのに使用された従来型の暗号を破って、送信メッセージに内在する平文を回
復するのに、十分な資源を有しない場合もあるが、それでもこの当事者は、その
暗号文メッセージに関する十分な知識、具体的にはその構造上の構成と、そのメ
ッセージをユーザの損害になるように首尾よく変更するのに必要な手段とを有す
る可能性がある。これに関して、この第三者は、1つまたは複数の事前定義済み
暗号文ブロックで対応する元の暗号文ブロックを置き換え、次いで、得られた修
正済み暗号文メッセージを、コンピュータ205に搬送されてそこで処理される
ようにネットワーク上に返送することにより、暗号文メッセージを不正に改ざん
する可能性がある。
ク150上を通過する機密のまたはプロプラエタリな性質の情報を、第三者アク
セスから保護するために、クライアントプログラム130とサーバ210は両方
とも、それぞれ、暗号化プロセス20および復号プロセス50を組み込むことに
よって、暗号通信を利用する。したがって、ネットワークで搬送されることにな
っておりクライアントプログラム130とサーバ210のいずれかのネットワー
クアプリケーションピア(peer)によって生成されたメッセージは、それぞれそ
の中で暗号化プロセス20によって暗号化されて、MACが埋め込まれた対応す
る暗号文メッセージが生み出され、これらの暗号文メッセージは、順に、それぞ
れネットワーク150を介して、他方のネットワークアプリケーションピアに送
信される。同様に、各ピアによってネットワークから受け取られた暗号文メッセ
ージは、各ピアの中で復号プロセス50によって復号されて、適切な回復済み平
文メッセージおよびその妥当性に関してIDが生み出される。暗号化プロシージ
ャ20と復号プロシージャ50とは、相互の逆のプロシージャである。
/F)320、プロセッサ340、通信インタフェース350、メモリ330、
および出力インタフェース360を備え、これらはすべて従来通りバス370に
よって相互接続される。メモリ330は一般に、データおよび命令を一時的に記
憶するためのランダムアクセスメモリ(RAM)332と、ユーザコマンドによ
り、フロッピー(登録商標)ディスケットで情報を交換するためのディスケット
ドライブ334と、通常は磁気性質であるハードディスクによって実装される不
揮発性大容量記憶装置335とを例示的に含めた、異なるモダリティを含む。大
容量記憶装置335はまた、適した光学記憶媒体から情報を読み取る(かつそれ
に情報を書き込む)ための、CD−ROMまたは他の光学媒体リーダ(具体的に
は図示せず)(またはライタ)も含むことができる。大容量記憶装置は、オペレ
ーティングシステム(O/S)337およびアプリケーションプログラム120
を記憶する。後者は例示的に、我々の発明的技術を組み込んだクライアントプロ
グラム130(図2参照)を含む。図3に示すO/S337は、WINDOWS
(登録商標) NTオペレーティングシステム(「WINDOWS(登録商標) NT」はワシントン州RedmondにあるMicrosoft Corpo
rationの登録商標)など、従来のオペレーティングシステムのいずれによ
っても実装することができる。このことから、O/S337のコンポーネントは
すべて関係がないので、そのいずれについても論じない。アプリケーションプロ
グラム120のうちの1つであるクライアントプログラムがO/Sの制御下で実
行される、と言えば十分であろう。
び復号モジュール内で用いられるように組み込まれたとき、有利に処理時間を節
約し、それによりクライアントコンピュータ100とサーバ210(図2参照)
の両方のスループットを向上させる。
性がある。すなわち、例えばネットワーク接続140を介してインターネットお
よび/または他のネットワーク化された機能から、通信インタフェース350に
供給されるか、あるいはパス310を介して、専用入力ソースから入力インタフ
ェース320に供給される、ネットワーク供給情報である。専用入力は幅広い、
様々なソース、例えば外部データベースから発することができる。さらに、入力
情報は、その情報を含むディスケットをディスケットドライブ334に挿入する
ことによって、ファイルまたはその中の具体的な内容の形で、提供することもで
き、コンピュータ100は、ユーザの命令下で、ディスケットからその情報にア
クセスして読み取る。入力インタフェース320は、入力情報に対する異なる専
用ソースそれぞれを、コンピュータシステム100に物理的に接続およびインタ
フェースするのに必要とされる、必要かつ対応した電気的接続を提供するのに、
適した回路を備える。アプリケーションプログラム120は、オペレーティング
システムの制御下で、ネットワーク接続140またはパス310を介して、外部
ソースとコマンドおよびデータを交換して、プログラム実行中に通常はユーザか
ら要求される情報を送受信する。
395を、コンピュータシステム100に電気的に接続およびインタフェースす
る。従来のカラーモニタなどのディスプレイ380、および従来のレーザプリン
タなどのプリンタ385は、それぞれリード363および367を介して、出力
インタフェース360に接続される。出力インタフェースは、ディスプレイおよ
びプリンタをコンピュータシステムに電気的に接続およびインタフェースするの
に、必要な回路を備える。理解できるように、我々のこの発明の暗号技術は、ク
ライアントコンピュータ100が情報を入手し、記憶し、および/または通信す
るモダリティに関係なく、どんなタイプのディジタル情報でも動作することがで
きる。
ならびにメモリ335内に記憶されるソフトウェアのすべての態様は、本発明を
実装するモジュールは別として、従来型かつ周知であるので、これ以上詳細には
論じない。概して言えば、コンピュータ205は、クライアントコンピュータ1
00と非常に類似するアーキテクチャを有する。
ティブとして頻繁に採用し、Mは例えば231−1やそれ以上などの、大きな素数
である。
くとも約10〜15マシンサイクルが計算に必要である(法の値Mに基づく)。
この関数は、従来の暗号化演算中と復号演算中の両方で繰り返し計算される。し
たがって、PCやワークステーションなど、大きな処理能力を有する機器上にこ
のような技術を実装した場合、mod(M)計算は、スループット全体をおそら
く顕著に低下させるであろう。しかし、やや限られた処理能力しか有さない機器
内では、この計算オーバーヘッドは耐えられない場合があり、したがって、この
暗号技術の使用が非常に有益となる可能性のあるこれらの機器内で、この暗号技
術を使用することが阻まれる。
ないチェックサム実施技術を開発した。
実施する。これらの演算は、mod2n乗算、順序操作(ブロック中のビット順
序付けを変更する演算、例えばバイトスワップやワードスワップなど)、および
加算を含み、これらはすべて実施が非常に単純であり、実行するのにごくわずか
な処理サイクルしか必要としない。プリミティブ中で用いる演算はまた、いくぶ
ん効果的にパイプライン化することもできる。したがって、我々の発明に基づく
プリミティブを使用すると、特にパイプライン化されている場合には、様々な暗
号パラメータ、例えばメッセージ認証コード(MAC)を計算するため、および
ストリーム暗号を実装するために必要な処理時間を、従来必要とされていた処理
時間に打ち勝って、大きく短縮することができる。我々の発明的技術はまた、有
利にも、ある暗号に組み込んで、何らかの平文−暗号文の攻撃に対して、それら
の暗号のセキュリティを高めることもできる、と考えられる。
るSは、適切なバイトスワップ演算またはワードスワップ演算のいずれかを示す
。
トスワップ演算をそれぞれ示す。2つの16ビットワード(例えばワード613
および617。それぞれ「左」および「右」にあたるLおよびRの符号も付けて
ある)を有するnビットのブロック610(例示的に32ビット長)を仮定した
場合、線620で表すワードスワップ演算により、場所が入れ替わったこれらの
ワード(すなわちワード617および613とそれぞれ同一のワード633およ
び637)を有するnビットのブロック630が生み出される。このような演算
は、矢印625で示すように単に個々のワードを交換するだけで、1つの処理サ
イクルで実施することができる。個別の8ビットバイト652、654、656
、658(やはりそれぞれバイトA、B、C、Dとして符号をつける)を有する
nビットのブロック650(やはり例示的に32ビット長)を仮定した場合、線
660で表すバイトスワップ演算により、順番に反転されたこの4つのバイト(
すなわちバイト658、656、654、652とそれぞれ同一のバイト672
、674、676、678)を有するnビットのブロック670が生み出される
。このバイトスワップ演算は、矢印665で示すように個々のバイトを並列に交
換することにより、1つの処理サイクルで実施することができる。
は、我々の発明的な教示により、以下の式(1)〜(5)を順番に計算すること
によってチェックサム、具体的にはf(x)=ax+bmod(M)を実施する
。 xS←wordswap(x) (1) y←Ax+BxSmod(2n) (2) yS←wordswap(y) (3) z←CyS+yDmod(2n) (4) θ←z+ySEmod(2n) (5) 上式で、係数A、B、C、D、Eは、それぞれ2n以下のランダムな奇数の整数
であり、θはnビットのストリングである。
(例えばワードスワップおよびバイトスワップ、加算、mod(2n)乗算)を
用いて実施される。したがって、これらの演算は比較的わずかな処理サイクルを
用いて実施することができ、これはmod(M)演算を行うのに必要な10〜1
5サイクルよりも確実にかなり少ない。式(1)および(3)はワードスワップ
演算を用いて示したが、代わりにバイトスワップ演算(または場合によっては、
ビット順序付けを変更する他の操作)を用いることもできる。係数の値A、B、
C、D、Eは、MACまたは他の様々な暗号タームを生成する際に使用する場合
は、「秘密の」値すなわち非公開の値である。
以下の式(6)〜(15)を通してf(x)を実施する。 y←Axmod(2n) (6) yS←wordswap(y) (7) z←BySmod(2n) (8) zS←wordswap(z) (9) v←CzSmod(2n) (10) vS←wordswap(v) (11) w←DvSmod(2n) (12) wS←wordswap(w) (13) t←EwSmod(2n) (14) θ←t+LySmod(2n) (15) 上式で、係数A、B、C、D、Eは、それぞれ2n以下のランダムな奇数の整数
であり、Lは2n以下のランダムな整数である。
値A、B、C、D、E、Gはすべて「秘密の」値である。別法として、式(6)
〜(12)を使用してF(x)=wでプリミティブを実施することもできる。さ
らに、別のタイプの順序操作である「反転」演算(ブロック中のすべてのビット
が順番に完全に反転される)をバイトスワップまたはワードスワップの代わりに
用いることもできる。例えば、我々の発明により、以下の式(16)〜(19)
を通して可逆形式のf(x)に対する、プリミティブF(x)を実施することも
できる。 y←Hxmod(2n) (16) z←reverse(y) (17) s←Jzmod(2n) (18) θ←s+Kmod(2n) (19) 上式で、係数H、J、Kはそれぞれ2n以下のランダムな整数である。
は、係数H、J、Kは「秘密の」値となる。反転演算はバイトスワップまたはワ
ードスワップ演算と比較して相対的に遅いので、式(16)〜(19)によって
得られるプリミティブよりも、上記の式(6)〜(12)または(6)〜(15
)によって得られるプリミティブを使用する方が好ましい。
特徴を備え、mod2n乗算、順序操作、および加算を本発明により利用するが
mod(M)演算は利用せず、したがって前述の具体的なプリミティブの代わり
とすることのできる、他の様々なプリミティブF(x)を、当業者なら容易に案
出することができることは明らかである。
用して、MACを生成することができる。そうするためには、非可逆であり前述
と同じ形(F(x))の、関数f(x)に対する一連のプリミティブF1(x)
,F2(x),...,Fp(x)が選択されるが、これらは対応する「秘密の」
係数の値が異なる。すなわち、F1(x)が「秘密の」係数A、B、C、D、E
を有する場合は、F2(x)は「秘密の」係数a、b、c、d、eを有する等で
ある。その後、nビットのストリングの入力シーケンスX=x1,x2,...,
xNが与えられた場合、これらのp個のプリミティブ(ただしp<n)のうちの
連続したプリミティブを、対応する連続した入力値xiに使用して、対応する出
力値(中間結果)Y=y1,y2,...,yNが以下の式(20)〜(25)に
従って計算される。 y1=F1(x1) (20) y2=F2(x2+y1) (21) y3=F3(x3+y2) (22) yp=Fp(xp+yp-1) (23) . . . yp+1=F1(yp+xp+1) (24) yp+2=F2(yp+1+xp+2) (25) . . .
とができる。
中の各yi項に対して秘密またはランダムの置換(γi)を導入することにより、
式(25)を修正することができる。
...,0,−1,−2,...,−k}で、ランダムにまたは「秘密の」事前
定義値として選択され、kは事前定義済みの整数である。簡単にするために、各
γiは値+1または−1に設定してもよく、そのようなすべてのγiのうちでラン
ダムな、擬似ランダムな、または「秘密の」事前定義済みの変動を伴う。
いるが、代わりに、このような連続で異なるものを使用してもよい。関数の各連
続は別々の出力ハッシュ値yを生成し、次いでこれを共に連結させてMAC形成
することができ、あるいは式(26)を用いて各プリミティブの個別の出力yを
合計してMAC値を生み出すことができる。さらに、例えば式(20)〜(23
)によって示すように、ある連続を前向き連鎖で実行することもできる。例えば
式(24)および(25)によって示すものなど、同じ連続の次の実行を、また
は異なる連続の次の実行を「逆方向」連鎖で実行することもできる。逆方向連鎖
を使用する場合、関連する入力値は、前向き連鎖で使用した入力値に対して、逆
の順番で、その連続の中にある個々のプリミティブに加えることができる。
Cの計算に用いられる計算と同一とは言わないまでも非常に類似するが、すべて
の係数の値、ならびに、使用するならば、すべてのγiの値は、公開される。
つ、我々の発明的技術を実装したプリミティブに従って、MACを生成するのに
必要なソフトウェアの説明に移る。
400の高レベルのフローチャートを示す。このルーチンは、プリミティブF(
x)およびG(x)が完全に選択されていると仮定して、先に論じた式(20)
〜(25)を実施する。
ーチン410に入ると、図4に示すようにまずブロック410に進む。このブロ
ックは、ポインタ(i)を1に、かつ合計変数(ys)を0に初期化する。その
後、ブロック420、430、440、および450で形成されるループに入っ
て、入力された入力平文ブロック(Pi)ごとに連続する出力値yiを計算し、こ
れらの出力値を合計変数ysに累積する。
等しい出力値y1を計算する。これを行った後で、合計計算プロシージャ430
に進み、そこでブロック435を介して単純に出力値yiを合計変数ysに加算す
る。これを行った後で、判断ブロック440に進んで、入力平文メッセージPの
N個のブロックをすべて処理したかどうか、すなわちポインタiの現在の値がこ
のときNに等しいかどうかを判定する。このようなブロックが残っている場合、
すなわちiの現在の値がN未満の場合は、判断ブロック440はNOパス443
を介してブロック450に実行をルーティングする。この後者のブロックは、ポ
インタiの値を1つインクリメントし、次いでフィードバックパス455を介し
てブロック420に実行が戻されて、次の連続する出力値が計算され、以下同様
である。この時点では、ブロック420によって実施される計算は、ブロック4
20を介する所与の反復について、iの値がその場合に偶数か奇数かによって決
まる。したがって、連続するiに対してプリミティブF(x)とG(x)が交互
になる。
47を介してブロック460に実行をルーティングする。この後者のブロックは
、値yNを合計変数の現在の値と連結させて、得られたMACとしての64ビッ
ト値を出力として供給することにより、単純にMACを形成する。これを行った
後で、ルーチン400を終了する。
の代わりに用いることのできる代替の合計計算プロシージャ500の、高レベル
のフローチャートを示す。プロシージャ500は、上記の式(26)を実施する
。
γiの値を適切に設定する。前述のようにこの値は、±k(ただし通常は±1の
値を使用する)の範囲内でランダム、擬似ランダム、または事前定義済みとする
ことができる。この値を設定した後で、ブロック520に進み、ここで現在の出
力値yiに、対応するγiの値を掛け、得られた値を合計変数ysに加算する。こ
れを行った後で、プロシージャ500を終了する。
ックとして述べたが、この代わりに、単一の32ビットブロックや64ビットよ
りも長いもの(ただし整数ブロックのサイズのもの)など、他のビット(および
ブロック)サイズのMAC(またはチェックサム)を使用することもできること
を、明らかに当業者なら理解するだろう。MACを生成するためと、必要な場合
に、それを暗号化および復号するために、増加した処理時間がかかることが見込
まれるものの、MACが大きいほど、保証される限度までの、より高いレベルの
セキュリティがもたらされる。
明細書に詳細に示し、説明したが、これらの教示をやはり利用した本発明の他の
多くの実施形態および適用例を、当業者なら容易に案出することができる。
に理解することができる。
る、端末相互間の暗号プロセス5全体のブロック図である。
ーバ処理環境の、高レベルのブロック図である。
5で用いられる、MAC生成プロセス400の高レベルのフローチャートである
。
430の代わりに用いることのできる、代替の合計計算プロシージャ500の、
高レベルのフローチャートである。
。
。 理解を容易にするために、各図に共通の同一要素を指すためには、可能な限り
、同一の参照番号を使用している。
Claims (15)
- 【請求項1】 入力のディジタル平文または暗号文の、ブロック各々を、出
力のディジタル暗号文または平文の、ブロック各々に、暗号化または復号するた
めの、機器で用いる暗号方法において、該方法は、事前定義済みの関数f(x)
=ax+bmod(M)の特性と等価な暗号特徴を備える、プリミティブF(x
)を実施し、aおよびbは事前定義済みの整数であり、Mは事前定義済みの整数
の素数であり、前記機器は、 プロセッサと、 前記プロセッサに接続されたメモリであって、コンピュータ実行可能命令で形
成されたコンピュータプログラムを記憶したメモリとを有し、 前記方法は、前記プロセッサによって実行され前記実行可能命令を通して実施
されるステップであって、順序操作、加算、およびmod(2n)乗算の演算(
nは事前定義済みの整数)の、事前定義済みシーケンスを、前記プリミティブと
して含む所定のプロシージャを通して、前記ディジタル平文または暗号文ブロッ
クを、各々前記出力ディジタル暗号文または平文ブロックに変換するステップを
備え、前記演算は集合的に前記プリミティブを実施するがmod(M)の値を計
算することはなく、前記プリミティブは短縮された処理時間を呈することを特徴
とする方法。 - 【請求項2】 前記各順序操作は、実行対象であるデータブロックのビット
順序を変更する、事前定義済みの演算であることを特徴とする請求項1に記載の
方法。 - 【請求項3】 前記各順序操作は、バイトスワップもしくはワードスワップ
、または反転演算であることを特徴とする請求項2に記載の方法。 - 【請求項4】 前記プロセッサによって実行され前記実行可能命令に応答し
たステップであって、以下の式、 xS←wordswap(x) y←Ax+BxSmod(2n) yS←wordswap(y) z←CyS+yDmod(2n) θ←z+ySEmod(2n) に従って、前記プリミティブF(x)を実施するステップをさらに備え、係数A
、B、C、DおよびEは、それぞれ2n以下のランダムな奇数の整数であり、θ
は出力ストリングであることを特徴とする請求項3に記載の方法。 - 【請求項5】 平文と暗号文の前記ディジタルブロックは、両方ともnビッ
ト長であることを特徴とする請求項4に記載の方法。 - 【請求項6】 前記プロセッサによって実行され前記実行可能命令に応答し
たステップであって、以下の式、 y←Axmod(2n) yS←wordswap(y) z←BySmod(2n) zS←wordswap(z) v←CzSmod(2n) vS←wordswap(v) w←DvSmod(2n) wS←wordswap(w) t←EwSmod(2n) θ←t+LySmod(2n) に従って、前記プリミティブF(x)を実施するステップをさらに備え、係数A
、B、C、DおよびEは、それぞれ2n以下のランダムな奇数の整数であり、L
は2n以下のランダムな整数であり、θは出力ストリングであることを特徴とす
る請求項3に記載の方法。 - 【請求項7】 平文と暗号文の前記ディジタルブロックは、両方ともnビッ
ト長であることを特徴とする請求項6に記載の方法。 - 【請求項8】 請求項1のステップを実行するためのコンピュータ実行可能
命令を記憶したことを特徴とするコンピュータ可読媒体。 - 【請求項9】 入力のディジタル平文または暗号文の、ブロック各々を、出
力のディジタル暗号文または平文のブロック各々に、暗号化または復号するため
の装置において、プロセスは、事前定義済みの関数f(x)=ax+bmod(
M)の特性と等価な暗号特徴を備える、プリミティブを実施し、aおよびbは事
前定義済みの整数であり、Mは事前定義済みの整数の素数であり、前記装置は、 プロセッサと、 前記プロセッサに接続されたメモリであって、コンピュータ実行可能命令で形
成されたコンピュータプログラムを記憶したメモリとを備え、 前記プロセッサは、前記実行可能命令に応答して、順序操作、加算、およびm
od(2n)乗算の演算(nは事前定義済みの整数)の、事前定義済みシーケン
スを、前記プリミティブとして含む所定のプロシージャを通して、前記ディジタ
ル平文または暗号文ブロックを、各々前記出力ディジタル暗号文または平文ブロ
ックに変換し、前記演算は集合的に前記プリミティブを実施するがmod(M)
の値を計算することはなく、前記プリミティブは短縮された処理時間を呈するこ
とを特徴とする装置。 - 【請求項10】 前記各順序操作が、前記各順序操作の実施対象であるデー
タブロックのビット順序を変更する事前定義済みの演算であることを特徴とする
請求項9に記載の装置。 - 【請求項11】 前記各順序操作は、バイトスワップもしくはワードスワッ
プ、または反転演算であることを特徴とする請求項10に記載の装置。 - 【請求項12】 前記プロセッサは、前記実行可能命令に応答して、以下の
式、 xS←wordswap(x) y←Ax+BxSmod(2n) yS←wordswap(y) z←CyS+yDmod(2n) θ←z+ySEmod(2n) に従って、前記プリミティブF(x)を実施し、係数A、B、C、DおよびEは
、それぞれ2n以下のランダムな奇数の整数であり、θは出力ストリングである
ことを特徴とする請求項11に記載の装置。 - 【請求項13】 平文と暗号文の前記ディジタルブロックは、両方ともnビ
ット長であることを特徴とする請求項12に記載の装置。 - 【請求項14】 前記プロセッサは、前記実行可能命令に応答して、以下の
式、 y←Axmod(2n) yS←wordswap(y) z←BySmod(2n) zS←wordswap(z) v←CzSmod(2n) vS←wordswap(v) w←DvSmod(2n) wS←wordswap(w) t←EwSmod(2n) θ←t+LySmod(2n) に従って、前記プリミティブF(x)を実施し、係数A、B、C、DおよびEは
、それぞれ2n以下のランダムな奇数の整数であり、Lは2n以下のランダムな整
数であり、θは出力ストリングであることを特徴とする請求項11に記載の装置
。 - 【請求項15】 平文と暗号文の前記ディジタルブロックは、両方ともnビ
ット長であることを特徴とする請求項14に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/329,139 US6570988B1 (en) | 1999-06-09 | 1999-06-09 | Simple technique for implementing a cryptographic primitive using elementary register operations |
US09/329,139 | 1999-06-09 | ||
PCT/US2000/016035 WO2000078118A2 (en) | 1999-06-09 | 2000-06-09 | Implementing a cryptographic primitive using elementary register operations |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003526118A true JP2003526118A (ja) | 2003-09-02 |
JP2003526118A5 JP2003526118A5 (ja) | 2007-06-28 |
JP4559679B2 JP4559679B2 (ja) | 2010-10-13 |
Family
ID=23284020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001504202A Expired - Lifetime JP4559679B2 (ja) | 1999-06-09 | 2000-06-09 | 基本的なレジスタ演算を用いた暗号プリミティブのインプリメント |
Country Status (7)
Country | Link |
---|---|
US (1) | US6570988B1 (ja) |
EP (1) | EP1468521B1 (ja) |
JP (1) | JP4559679B2 (ja) |
AT (1) | ATE321394T1 (ja) |
AU (1) | AU7981600A (ja) |
DE (1) | DE60026868T2 (ja) |
WO (1) | WO2000078118A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008122967A (ja) * | 2006-11-13 | 2008-05-29 | Korea Electronics Telecommun | ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6657625B1 (en) * | 1999-06-09 | 2003-12-02 | Microsoft Corporation | System and method of caching glyphs for display by a remote terminal |
US6483918B2 (en) * | 1999-06-09 | 2002-11-19 | Microsoft Corporation | Technique for producing a parameter, such as a checksum, through a primitive that uses elementary register operations |
US7505046B1 (en) | 2000-05-02 | 2009-03-17 | Adobe Systems Incorporated | Preserving opaque-like rendering in transparent 2D graphics using knockout groups |
JP4045777B2 (ja) * | 2001-10-30 | 2008-02-13 | 株式会社日立製作所 | 情報処理装置 |
US7068785B2 (en) * | 2002-02-05 | 2006-06-27 | Matsushita Electric Industrial Co., Ltd. | Table driven method for calculating arithmetic inverse for use in cryptography |
US7532722B2 (en) * | 2003-04-18 | 2009-05-12 | Ip-First, Llc | Apparatus and method for performing transparent block cipher cryptographic functions |
US8060755B2 (en) * | 2003-04-18 | 2011-11-15 | Via Technologies, Inc | Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine |
US7536560B2 (en) | 2003-04-18 | 2009-05-19 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic key size |
US7502943B2 (en) * | 2003-04-18 | 2009-03-10 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic block cipher round results |
US7529367B2 (en) * | 2003-04-18 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for performing transparent cipher feedback mode cryptographic functions |
US7844053B2 (en) | 2003-04-18 | 2010-11-30 | Ip-First, Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
US7542566B2 (en) * | 2003-04-18 | 2009-06-02 | Ip-First, Llc | Apparatus and method for performing transparent cipher block chaining mode cryptographic functions |
US7925891B2 (en) * | 2003-04-18 | 2011-04-12 | Via Technologies, Inc. | Apparatus and method for employing cryptographic functions to generate a message digest |
US7519833B2 (en) * | 2003-04-18 | 2009-04-14 | Via Technologies, Inc. | Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine |
US7539876B2 (en) * | 2003-04-18 | 2009-05-26 | Via Technologies, Inc. | Apparatus and method for generating a cryptographic key schedule in a microprocessor |
US7529368B2 (en) | 2003-04-18 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for performing transparent output feedback mode cryptographic functions |
US7900055B2 (en) * | 2003-04-18 | 2011-03-01 | Via Technologies, Inc. | Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms |
US7528834B2 (en) * | 2003-09-30 | 2009-05-05 | Microsoft Corporation | System and method of caching glyphs for display by a remote terminal |
US7715553B2 (en) * | 2005-08-01 | 2010-05-11 | Durward D. Dupre | Encrypting a plaintext message with authentication |
US8094813B2 (en) * | 2008-09-02 | 2012-01-10 | Apple Inc. | System and method for modulus obfuscation |
US9116765B2 (en) | 2011-10-20 | 2015-08-25 | Apple Inc. | System and method for obfuscating data using instructions as a source of pseudorandom values |
EP2884692B1 (en) * | 2013-12-13 | 2020-05-20 | Nxp B.V. | Updating software on a secure element |
FR3035240B1 (fr) * | 2015-04-15 | 2018-04-06 | Rambus Inc. | Procede de securisation de l'execution d'un programme |
US20160308669A1 (en) * | 2015-04-20 | 2016-10-20 | Jian Ho | Method and System for Real Time Data Protection with Private Key and Algorithm for Transmission and Storage |
US11741248B2 (en) | 2019-08-20 | 2023-08-29 | Bank Of America Corporation | Data access control using data block level encryption |
US11176264B2 (en) | 2019-08-20 | 2021-11-16 | Bank Of America Corporation | Data access control using data block level decryption |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000122538A (ja) * | 1998-10-20 | 2000-04-28 | Lucent Technol Inc | ビットの集まりの短縮表現を生成する方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5003597A (en) * | 1989-12-21 | 1991-03-26 | Xerox Corporation | Method and apparatus for data encryption |
US5724428A (en) * | 1995-11-01 | 1998-03-03 | Rsa Data Security, Inc. | Block encryption algorithm with data-dependent rotations |
US6269163B1 (en) * | 1998-06-15 | 2001-07-31 | Rsa Security Inc. | Enhanced block ciphers with data-dependent rotations |
-
1999
- 1999-06-09 US US09/329,139 patent/US6570988B1/en not_active Expired - Lifetime
-
2000
- 2000-06-06 AU AU79816/00A patent/AU7981600A/en not_active Abandoned
- 2000-06-09 WO PCT/US2000/016035 patent/WO2000078118A2/en active IP Right Grant
- 2000-06-09 JP JP2001504202A patent/JP4559679B2/ja not_active Expired - Lifetime
- 2000-06-09 EP EP00970432A patent/EP1468521B1/en not_active Expired - Lifetime
- 2000-06-09 AT AT00970432T patent/ATE321394T1/de not_active IP Right Cessation
- 2000-06-09 DE DE60026868T patent/DE60026868T2/de not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000122538A (ja) * | 1998-10-20 | 2000-04-28 | Lucent Technol Inc | ビットの集まりの短縮表現を生成する方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008122967A (ja) * | 2006-11-13 | 2008-05-29 | Korea Electronics Telecommun | ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法 |
JP4712017B2 (ja) * | 2006-11-13 | 2011-06-29 | 韓國電子通信研究院 | ストリーム暗号を利用したメッセージ認証コード生成方法とストリーム暗号を利用した認証暗号化方法及びストリーム暗号を利用した認証復号化方法 |
US8090098B2 (en) | 2006-11-13 | 2012-01-03 | Electronics And Telecommunications Research Institute | Method of generating message authentication code using stream cipher and authentication/encryption and authentication/decryption methods using stream cipher |
Also Published As
Publication number | Publication date |
---|---|
EP1468521B1 (en) | 2006-03-22 |
EP1468521A2 (en) | 2004-10-20 |
DE60026868T2 (de) | 2006-09-07 |
WO2000078118A3 (en) | 2004-05-21 |
WO2000078118A2 (en) | 2000-12-28 |
US6570988B1 (en) | 2003-05-27 |
ATE321394T1 (de) | 2006-04-15 |
JP4559679B2 (ja) | 2010-10-13 |
DE60026868D1 (de) | 2006-05-11 |
AU7981600A (en) | 2001-01-09 |
EP1468521A4 (en) | 2004-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4559679B2 (ja) | 基本的なレジスタ演算を用いた暗号プリミティブのインプリメント | |
JP2003501698A (ja) | 基本的なレジスタ演算を用いたパラメータの生成 | |
US20230107243A1 (en) | Personal device security using cryptocurrency wallets | |
CN106161034B (zh) | 使用乘法秘密共享的rsa解密 | |
KR101714108B1 (ko) | 검증가능 누출 방지 암호화 및 복호화 | |
RU2376651C2 (ru) | Использование изогений для разработки криптосистем | |
US6226742B1 (en) | Cryptographic technique that provides fast encryption and decryption and assures integrity of a ciphertext message through use of a message authentication code formed through cipher block chaining of the plaintext message | |
US20080008322A1 (en) | Method for Session Key Derivation in an IC Card | |
US20100119061A1 (en) | Generating secure private keys for use in a public key communications environment | |
KR20020025630A (ko) | 비밀 정보의 처리 장치, 프로그램 또는 시스템 | |
US7894608B2 (en) | Secure approach to send data from one system to another | |
JP2022520675A (ja) | 暗号システムおよび方法 | |
Skudnov | Bitcoin clients | |
US11336425B1 (en) | Cryptographic machines characterized by a Finite Lab-Transform (FLT) | |
JP2004054128A (ja) | 暗号化装置 | |
CN112507357B (zh) | 一种基于密钥生成器的多级接口设计方法 | |
Arunkumar et al. | Secure and Light Weight Elliptic Curve Cipher Suites in SSL/TLS. | |
CN117157938A (zh) | 敏捷密码部署服务 | |
WO2000028493A1 (en) | A method of encryption and apparatus therefor | |
EP1074114B1 (en) | Cryptographic technique for providing fast encryption and decryption and for producing a message authentication code | |
JP2004222332A (ja) | ユーザが電子商取引/情報サービス提供者の正当性をチェックできるようにする方法 | |
CN117273728A (zh) | 一种可信的跨链交易隐私保护方法 | |
Khelifi et al. | Open Source Cryptographic Algorithm to Better Secure E-Banking Services and Enhance its Protection Techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070508 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070508 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070508 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100716 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100723 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4559679 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130730 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |