JPH08248879A - 2つの鍵を使用して暗号化する方法および装置 - Google Patents

2つの鍵を使用して暗号化する方法および装置

Info

Publication number
JPH08248879A
JPH08248879A JP8016512A JP1651296A JPH08248879A JP H08248879 A JPH08248879 A JP H08248879A JP 8016512 A JP8016512 A JP 8016512A JP 1651296 A JP1651296 A JP 1651296A JP H08248879 A JPH08248879 A JP H08248879A
Authority
JP
Japan
Prior art keywords
string
key
block
plaintext
confirmation code
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
JP8016512A
Other languages
English (en)
Inventor
Phillip W Rogaway
フィリップ・ダブリュー・ロガウェイ
Bellare Mihir
ミヒル・ベラール
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH08248879A publication Critical patent/JPH08248879A/ja
Pending legal-status Critical Current

Links

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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

(57)【要約】 【課題】 決定論的かつヒストリ・フリーな平文ストリ
ング暗号化方法を提供する。 【解決手段】 平文ストリングを暗号文に暗号化する方
法が、第1の鍵および空初期設定ベクトルを使用して、
平文を暗号ブロック連鎖(CBC)し、ブロック長に等
しい長さのCBCメッセージ確認コード(MAC)を生
成することによって開始する。その後、平文ストリング
は再び、今度は第2の鍵および初期設定ベクトルとして
のCBC−MACを使用して、暗号ブロック連鎖され、
暗号化ストリングを生成する。CBC−MACおよび最
終ブロックを除くすべてのブロックを含む暗号化ストリ
ングのプレフィックスは、組み合わされて暗号文を生成
する。ここでの暗号利用モードは、長さ保持性を備えな
がらも、関連する平文が、関連のない暗号文を生じさせ
るという特性を有している。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に安全な通信
に関し、より詳細には、平文を暗号文に暗号化するため
の方法に関する。
【0002】
【従来の技術】特定の特性を呈示する暗号化方式が、多
くの場合望ましいことは、一般に認められている。こう
した特性の第1は、多くの環境において使用可能もしく
は信頼に足る偶然性ソースは存在しないために、暗号化
および暗号解読操作が、確率論的ではなく決定論的であ
るということである。また、方式がヒストリ・フリー
(過去の状態に関係しない)であるため、各暗号化また
は暗号解読後に更新しなければならないメッセージ・カ
ウンタその他の情報を保存する必要がないということも
望ましい。この方式はまた、平文に関するあらゆる情報
を効果的に隠蔽するという点において、「安全」でなけ
ればならない。最後に、この方式が長さ保持性を備え
る、すなわち暗号文が平文の長さと等しいことが望まし
い。
【0003】ブロック・サイファは、一般的な暗号化方
式を実施するために頻繁に使用される周知の暗号化ツー
ルである。ブロック・サイファは、(「l」ビットの)
固定長のメッセージ(平文)ブロックを、(「k」ビッ
トの)鍵の制御のもとに、等しい長さの暗号文ブロック
に変換する対称鍵暗号化システムである。広く使用され
るブロック・サイファは、米国標準DESアルゴリズム
によるものであり、l=64およびk=56を有し、1
977年1月米国商務省標準局発行「DataEncr
yption Standard」NBS FIPS
Pub 46に記載されている。DESのようなブロッ
ク・サイファは、文(たとえば、64ビット)の単一ブ
ロックを暗号化する方法をもたらす。しかし、それより
長いメッセージを暗号化するためには、ブロック・サイ
ファは、何らかの「暗号利用モード」において使用しな
ければならない。このような暗号利用モードの多くは、
従来技術において述べられてきたが、最も広く使用され
ているものは暗号ブロック連鎖(CBC)である。CB
Cについては、1980年12月米国商務省標準局発行
「DES Modes of Operation」N
BS FIPSPub 81に記載されている。しか
し、CBCおよびその他の周知のモードは、長さが増加
してしまうか、もしくは明確な関連平文が関連暗号文を
生じさせるという欠点に煩わされるかのいずれかであ
る。前者を容認できない多くのアプリケーション・ドメ
インは、後者と効果的に妥協した独自のセキュリティを
備えている。
【0004】暗号ブロック連鎖(CBC)は、「初期設
定ベクトル」(IV)に加え、秘密鍵を必要とする。l
−ビットのIV(その値は、メッセージと共に送られる
か、そうでない場合、両通信パーティに知らされる)と
共に、ストリングx=x1...xn(それぞれがlビッ
トの、nブロックから成る)は、Ea,IV(x)=
1...ynと暗号化され,ここでy0=IVかつyi
a(xi+yi-1)である。CBC方式において、暗号
文の第1ブロックは、平文の最初のブロックに依存し、
暗号文の第2ブロックは、平文の最初の2つのブロック
に依存し、そしてさらに続き、暗号文の最終ブロック
は、平文のすべてのブロックに依存する。しかし、この
ような暗号化は、IVが固定の場合、十分に安全とは言
えないという点において周知の欠点を有している。
【0005】特に、CBC方式は、暗号化される平文に
ついての情報を「漏洩」することもしばしばである。た
とえば、敵対者がEa,IV(X)とEa,IV(X')を見
て、最初のjブロックが合致することに気づいたとする
と、敵対者はXとX'もまた最初のjブロックが合致す
ると推測することができる。このような欠点は非常に問
題である。したがって、1Kバイトの従業員記録のシー
ケンスから成るファイルにおいて、7番目の記録以降が
変更されていると気づかれたと仮定する。おそらくはま
ず、この変更が行われた理由は、誰かの降格により従業
員記録を更新したためであると知られるであろう。暗号
化方式が、Ea,IVであり、従業員記録が従業員名による
アルファベット順であれば、変更された従業員はアルフ
ァベット順で7番目にあった者であることが推測でき
る。
【0006】平文に関する情報を「漏洩」するCBC暗
号化の上記の特徴には、初期設定ベクトルIVをランダ
ムに選択し、そしてそれをメッセージと共に送ることに
よって対処できよう。しかし、これが行われると、方式
は長さ保持性を失ってしまう。別法として、メッセージ
の暗号化は、ヒストリ依存(たとえば、IVをメッセー
ジ・カウンタの関数として使用し、IVをメッセージと
共には送らないことによって)で行うこともできるが、
意図した受信者によるメッセージの不受信を容認しない
ために、この手法もまた満足とはいえない。
【0007】
【発明が解決しようとする課題】したがって、ブロック
・サイファを使用する従来技術の暗号化技法は、長さの
増加、メッセージの除去に対する非容認、または関連平
文に関する情報の漏洩という点で望ましいものではな
い。従来技術におけるこれら他の問題を克服するブロッ
ク・サイファを使用する、安全で、長さ保持性を備える
暗号化方式をもたらすことが依然として求められてい
る。
【0008】したがって、本発明の主な目的は、決定論
的かつヒストリ・フリーな平文ストリング暗号化の方法
をもたらすことである。
【0009】本発明の他の目的は、暗号文の長さが、暗
号化される平文の長さと等しい、暗号化のためのブロッ
ク・サイファ暗号利用モードをもたらすことである。
【0010】本発明の他の目的は、暗号化される平文に
関する情報を漏洩することのない、長さ保持性を備える
暗号化方式をもたらすことである。
【0011】本発明の他の目的は、各暗号化後または暗
号解読後に更新しなければならないメッセージ・カウン
タもしくは他の情報を、パーティーが保存することがな
いように、ヒストリ・フリーなメッセージ暗号化方式を
もたらすことである。
【0012】本発明の他の目的は、暗号ブロック連鎖
(CBC)の新規な応用に基づく長さ保持性暗号化方式
をもたらし、CBC暗号化に伴う周知の安全性および情
報漏洩問題を克服することである。この技法は、暗号文
メッセージをまだ見えない暗号文メッセージに改変する
と、そのとき見える暗号文メッセージとは無関係の平文
メッセージの暗号化が行われるので、極めて有利であ
る。
【0013】本発明の他の目的は、1ブロックの長さの
倍数または分数の長さを有する平文メッセージ・ストリ
ングの暗号化を行う、新規な方法をもたらすことであ
る。
【0014】
【課題を解決するための手段】本発明の以上のならびに
他の目的は、第1および第2の秘密鍵を使用し、平文ス
トリングを暗号文ストリングに暗号化する方法において
実施される。この方法は、最初に、第1の鍵および固定
初期設定ベクトルを使用して平文ストリングの暗号ブロ
ック連鎖を行うことにより、ブロックの長さと等しいC
BCメッセージ確認コード(CBC−MAC)を生成す
る。その後、第2の鍵を使用し、また上記のCBCメッ
セージ確認コードを初期設定ベクトルとして使用する、
平文ストリングの暗号ブロック連鎖が続き、これにより
暗号化ストリングを生成する。CBCメッセージ確認コ
ードおよび暗号化ストリングのプレフィックスは(通常
は連結によって)組み合わされて、暗号文ストリングを
形成する。この技法は、長さ保持性を備える、すなわち
プレフィックスが最終ブロックを除くすべてのブロック
を含むため、暗号文の長さが平文の長さと等しくなって
いることが、望ましい。
【0015】したがって、好ましい方法にしたがい、平
文ストリングは、CBCを2度使用して処理されるが、
まずCBC−MACを生成し、次に暗号文自体の一部を
生成する。第1のパスにおいては、CBCで使用される
初期設定ベクトルは、空ベクトル(ブロック長さに等し
い長さを有する0ビットのストリングを意味する)であ
る。第2のパスにおいては、初期設定ベクトルは、第1
パスで生成されたCBC−MACである。この2つのパ
スに対する鍵は、別個である。この方法は、平文ストリ
ングが、1つのブロックの長さの倍数の長さを有する場
合、暗号文を生成するのに有用である。この方式の変形
例は、平文ストリングが、このブロックの長さの分数で
ある場合に使用することができる。
【0016】暗号文を暗号解読するためには、第2の鍵
およびCBC−MACを初期設定ベクトルとして使用し
て、暗号化ストリング部分が暗号ブロック連鎖され、暗
号解読ストリングを生成する。そして暗号解読ストリン
グは、第1の鍵と空IVを使用して、暗号ブロック連鎖
され、最後のブロックを有するストリングを生成する。
その後平文は、暗号解読ストリングと最終ブロックの所
定関数(たとえば、排他的論理和XOR)、およびCB
C−MACにおける第1の鍵に基づくブロック・サイフ
ァの逆数の組合せとして得られる。
【0017】本発明の他の目的は、このような方法を、
プログラムされたコンピュータにおいてまたは専用ハー
ドウェアやソフトウェアで実施することである。1つの
実施例においては、本発明の様々な方法は、プロセッサ
によって読取り可能であり、各方法の様々な処理ステッ
プを行うためにプロセッサによって実行される命令プロ
グラムを具体的に実施する、プログラム記憶装置(たと
えば、フロッピー・ディスケット)上で実施することが
できる。
【0018】以上は、本発明のより関連のある目的の概
略を述べたものである。これらの目的は、本発明のより
顕著な特徴および用途を単に例示したものと解釈された
い。ここに開示する発明を、異なる方法で適用すること
によって、もしくは以下に述べるように本発明に変更を
加えることによって、多くの他の有利な結果を得ること
もできる。したがって、以下の好ましい実施例について
の詳細な記述を参照することにより、本発明の他の目的
およびさらに深い理解が得られるであろう。
【0019】
【発明の実施の形態】簡単な背景として、本発明のサポ
ートに使用するコンピュータが図1に示されている。コ
ンピュータ20は、システム・ユニット21、キーボー
ド22、マウス23および表示装置24を含んでいる。
表示装置24の画面26は、グラフィカル・ユーザ・イ
ンターフェース(GUI)を呈示するために使用され
る。オペレーティング・システムによってサポートされ
たグラフィカル・ユーザ・インターフェースにより、ユ
ーザは、指示して選ぶ入力方法を使用する、すなわちマ
ウス・ポインタ25を、画面26上の特定位置のデータ
・オブジェクトを表すアイコンまで移動させ、マウス・
ボタンを押してユーザ命令または選択を実行することが
できる。
【0020】図2は、図1に示されたパーソナル・コン
ピュータの構成要素を示すブロックダイアグラムであ
る。システム・ユニット21は、様々な構成要素が接続
され、様々な構成要素間の通信が行われる、1つまたは
複数のシステム・バス31を含んでいる。マイクロプロ
セッサ32は、システム・バス31に接続されており、
同様にシステム・バス31に接続された読取り専用メモ
リ(ROM)33およびランダムアクセス・メモリ(R
AM)34によってサポートされている。IBMPS/
2シリーズ・コンピュータに搭載されているマイクロプ
ロセッサは、386や486マイクロプロセッサなどの
Intel系マイクロプロセッサの1つである。680
00、68020、68030マイクロプロセッサのよ
うな、Motorola系マイクロプロセッサ、IBM
社製PowerPCTMマイクロプロセッサのような様々
なRISCマイクロプロセッサ、およびHewlett
Packard、Sun、Intel、Motorol
a他により製造された他のマイクロプロセッサも、特定
のコンピュータにおいて使用することができるが、これ
らに限定するものではない。
【0021】ROM33は、他のコードと共に、対話の
ような基本的ハードウェア動作およびディスク・ドライ
ブやキーボードを制御する基本入出力システム(BIO
S)を含んでいる。RAM34は、オペレーティング・
システムおよびアプリケーション・プログラムがロード
されるメイン・メモリである。メモリ管理チップ35
は、システム・バス31に接続され、RAM34、ハー
ド・ディスク・ドライブ36、フロッピー・ディスク・
ドライブ37の間でデータをやりとりするなどの、ダイ
レクト・メモリ・アクセス動作を制御する。同様にシス
テム・バス31に接続されたCD ROM42は、たと
えばマルチメディア・プログラムや大規模データベース
などの大容量データを保存するために使用される。
【0022】その他にこのシステム・バス31に接続さ
れているのは、キーボード・コントローラ38、マウス
・コントローラ39、ビデオ・コントローラ40、オー
ディオ・コントローラ41などの、様々な入出力コント
ローラである。キーボード・コントローラ38は、キー
ボード22のハードウェア・インターフェースをもたら
し、マウス・コントローラ39は、マウス23のハード
ウェア・インターフェースをもたらし、ビデオ・コント
ローラ40は、表示装置24にハードウェア・インター
フェースをもたらし、オーディオ・コントローラ41
は、スピーカー25aと25bにハードウェア・インタ
ーフェースをもたらす。トークン・リング・アダプタの
ような入出力コントローラ50は、ローカル・エリア・
ネットワーク56を介して他の同様に構成されたデータ
処理システムへの通信を可能にしている。
【0023】本発明の好ましい実施例の1つは、ランダ
ム・アクセス・メモリ34内に常駐するコード・モジュ
ール内の命令セットとしてのものである。コンピュータ
・システムによって要求されるまで、命令セットは他の
コンピュータ・メモリ、たとえばハード・ディスク・ド
ライブ36内、またはCD ROM42で最終的に使用
される光ディスクもしくはフロッピー・ディスク・ドラ
イブ37で最終的に使用されるフロッピー・ディスクの
ような取外し可能メモリ内に保存されている。さらに、
ソフトウェアによって選択的に活動化または再構成され
る汎用コンピュータにおいて、本明細書に記載の様々な
方法が好都合に実施されるが、このような方法は、必要
な方法ステップを実行するように構成されたハードウェ
ア、ファームウェア、またはさらに特殊な装置において
も実行できる。
【0024】本発明の方法は、図1に示されたようなコ
ンピュータ上で実施されることを意図したものである
が、「コンピュータ」という用語には、最も広い範囲と
意味が与えられ、特定のアプリケーションには関わりな
く計算機能をもたらす任意のタイプの装置またはその一
部を含むことに留意されたい。
【0025】ここで図3を参照すると、平文ストリング
を暗号文に暗号化する好ましい方法が、流れ図により示
されている。暗号化パーティおよび暗号解読パーティ
が、1対の秘密鍵(すなわち第1および第2の鍵)を共
用するものと仮定する。ステップ70において、平文ス
トリングは、第1の(秘密)鍵および空初期設定ベクト
ル(IV)を使用して暗号ブロック連鎖され、暗号文の
最終ブロックであるCBCメッセージ確認コード(MA
C)を生成する。ステップ72において、平文ストリン
グは、今度は第2の(秘密)鍵および初期設定ベクトル
としてのCBC−MAC(ステップ70で生成)を使用
して、再び暗号ブロック連鎖され、これにより暗号化ス
トリングを生成する。ステップ74において、CBC−
MAC(ステップ70で生成)および暗号化ストリング
(ステップ72で生成)の一部が組み合わされて暗号文
を生成する。この暗号化ストリングの部分は、「プレフ
ィックス」とも呼ばれる。この組合せはさらに第1の鍵
の関数である。
【0026】暗号文(図3のルーチンにより生成)の暗
号解読は、図4において示されている。ステップ76に
おいて、暗号化ストリング(ステップ72で生成)は、
第2の秘密鍵および初期設定ベクトルとしてのCBC−
MAC(ステップ70で生成)を使用して、暗号ブロッ
ク連鎖によって暗号解読される。ステップ76は、暗号
解読ストリングを生成する。ステップ78において、暗
号解読ストリングは、第1の鍵および空IVを使用し
て、暗号ブロック連鎖され、最終ブロックを有するもう
1つのストリングを生成する。ステップ80において、
この最終ブロックと第1の鍵に基づくCBC−MAC
(ステップ70で生成)におけるブロック・サイファの
逆数との所定関数が計算される。続いて平文が、ステッ
プ82において、暗号解読ストリングおよび所定関数の
結果の組合せ(すなわち連結)として形成される。
【0027】暗号化ルーチンのステップ70および72
における動作は、それぞれ図5および6に示されてい
る。このルーチンは、鍵の長さkを有するlビット・ブ
ロック・サイファf(DESのような)を使用する。k
ビット鍵aを使用してlビットのxに適用されたブロッ
ク・サイファの値であるlビットのストリングをf
a(x)で表す。さらに、上記のように、第1の鍵a0
よび第2の鍵a1がルーチンに使用可能であり、|a0
=|a1|=kであると、初めに仮定する。これらの鍵
は、標準鍵分離技法を使用して、見えないkビットの鍵
Kから導き出すことができる。たとえば、a0はf
K(0)の最初のkビットであり、a1はfK(1)の最
初のkビットとなる。図5において、平文ストリング
は、メッセージ・ストリングxから構成されており、こ
れは例示のためにそれぞれ64ビットのブロックが1
0、すなわち合計640ビットを含むものと仮定する。
したがって、メッセージ・ストリングは、x=x
12...x10である。このストリングは、暗号ブロッ
ク連鎖暗号化ルーチン82に供給され、これはまた第1
の鍵a0および空初期設定ベクトル(すなわちIV=
0)を受け取る。暗号ブロック連鎖ルーチン82の結果
は、出力ストリングy=y12...y10である。最終
ブロックy10は、64ビットの暗号ブロック連鎖メッセ
ージ確認コード、すなわち「CBC−MAC」である。
これでルーチンの第1パスは終了する。
【0028】第2パスは、図6において示され、ここで
メッセージ・ストリング(すなわち平文)は、再び暗号
ブロック連鎖暗号化ルーチン82に供給される。しか
し、このパスにおいては、ルーチンによって使用される
鍵は、第2の(秘密)鍵a1であり、初期設定ベクトル
は、図5に示された第1のパスにおいて生成されたCB
C−MAC(すなわちy10)である。結果として生成し
た暗号化ストリングは、y'=y'1y'2...y'10であ
る。このプロセスで第2のパスが終了する。図5および
図6において示されたブロック・サイファfは同一であ
るが、これは必須ではないことに留意されたい。そして
暗号文は、CBC−MACおよび暗号化ストリングの一
部を組合せて(たとえば、連結によって)得られる。す
なわち、 暗号文=y10‖y'1y'2...y'9 暗号文の長さが平文ストリングの長さと等しいので、こ
のルーチンは、長さ保持性を備える。「‖」は連結を表
す。
【0029】10ブロックのストリングyを暗号解読す
るために、まずこれを一連のブロックと考える。 y10‖y'1y'2...y'9 暗号解読ルーチンの各ステップ76、78、80におけ
る動作は、それぞれ図7、図8、図9において示された
通りである。図7に示されるように、ステップ76は、
第2の鍵a1およびIVとしてのCBC−MAC(すな
わち、y10)を使用して暗号化ストリングy'
1y'2...y'9(ステップ72で生成)のCBC暗号
解読84を含んでいる。結果として暗号解読されたスト
リングは、x12...x9であり、これは元の平文の
ほとんどすべてを表している。x10を復元するために、
暗号解読ルーチンはまず、図8に示す操作を行い、ここ
で解読されたストリングx12...x9は、第1の鍵
0と空IVを使用して暗号化され(CBC84によ
り)、最終ブロックがy9であるストリングy
12...y9を生成する。図9から見て取れるよう
に、y9と、y10における第1の鍵に基づくブロック・
サイファfの逆関数と、所定関数86(たとえば、XO
R)が計算されてx10を生成する。その後、平文は、以
下のようになる。 平文=x12...x9‖x10
【0030】上記の好ましい実施例では、ステップ72
および76におけるブロック・サイファの暗号利用モー
ドとして暗号ブロック連鎖を使用している。しかし、他
の暗号利用モードもこうしたステップに使用することが
できるため、本発明は、さほど限定されたものではな
い。さらに、暗号ブロック連鎖が、メッセージ確認コー
ドを生成するために平文に対する第1のパス(ステップ
70)において好ましく使用されているが、他の周知の
MAC(もしくは他のブロック・サイファ連鎖モード)
生成の技法を、このステップにおいてCBCに代えて代
用することができることに留意されたい。(唯一必要な
ことは、mのlビットのMACおよびmの特定lビット
以外のすべてのビットが与えられると、脱落しているl
ビットは、効果的かつ一意的に再構成可能である。)し
たがって、本発明によれば、平文ストリングを処理する
第1のパスは、メッセージ確認コードまたはタグを計算
する第1の鍵a0を使用する周知の技法を含むものと想
定される。上記のように、第2のパスは、このMACを
IVとして第2の鍵a1と共に使用してメッセージを暗
号化ストリングに暗号化することを含んでいる。この第
2のパスは、CBCを使用して行うことができるが、こ
れは必須ではない。MACおよび暗号化ストリングの一
部は、暗号文として得られる。
【0031】したがって、本発明のより一般的な態様に
よれば、暗号化は、メッセージ確認コードを計算するた
めに、平文ストリングおよび第1の鍵の使用を伴う。こ
のルーチンは、メッセージ、第2の鍵、およびメッセー
ジ確認コードを使用することによって継続して、メッセ
ージ確認コードに実質的に依存する暗号化ストリングを
生成する。このような「実質的」依存とは、暗号化スト
リングのすべてのビットが、MACが異なる値をとるに
つれて変化することを意味している。平文の暗号文は、
メッセージ確認コードおよび暗号化ストリングの一部を
共に含む形態で得られる。このプロセスを逆行させるた
めに、暗号解読ルーチンには、暗号文の暗号化ストリン
グ部分、第2の鍵およびMACを使用して暗号解読スト
リングを生成することが含まれる。暗号解読は、暗号解
読ストリングおよび第1の鍵を使用して最終ブロックを
有するストリングを生成することによって継続する。そ
して、最終ブロックおよびMACにおける第1の鍵に基
づくブロック・サイファの逆数の既定関数が計算され
る。平文は、暗号解読ストリングおよび既定関数の結果
として得られる。
【0032】本発明のより詳細な実施例を、以下に述べ
る。この実施例では、処理される特定のストリングが、
所望のブロック長と等しいかまたはその分数であろうと
なかろうと、メッセージ・ストリングを処理する。この
方法は、長さkの鍵と共にlビットのブロック・サイフ
ァfを選択することにより開始する。たとえば、fがD
ESアルゴリズムである場合、lは64である。もちろ
ん、DESに加えて他のブロック・サイファ(たとえ
ば、IDEAまたはSKIPJACK)も使用すること
ができる。秘密鍵を、a=(a0,a1)、ここで|a0
|=|a1|=kとし、またλが空ストリング(00
λ)を表すものとする。秘密鍵a0およびa1は、(少な
くとも実際の計算に関しては)相互関係はないものとす
る。<m>が、数m<2lをlビットのブロックに符号
化することを表すものとする。それぞれlビットの、s
ブロックから成るストリングm=m1...msに対し、
0におけるmの(lビット)CBC−MACは、次の
ように定義される。
【数1】
【0033】ここでxが、暗号化しようとするメッセー
ジであり、l≦|x|<2lと仮定する。x=x1...
n-lnを、暗号化されるメッセージとし、ここで|x
l|=...=|xn-l|=lかつ|xn|≦lとする。
仮定|xl|≧lは、暗号化すべき「フル」ブロックが
少なくとも1つあることを意味することに留意された
い。次の方法は、l未満の長さのメッセージには適用す
べきではない。
【数2】 とする。上記のステップではまず、メッセージ・ストリ
ングを後続ゼロで埋め、暗号化されるストリングの全長
が、確実にブロック長の倍数になるようにし、それから
xの(以前は短かった)最終ブロックを、xの第2から
最終に至る(フル)ブロックと入れ換える。(メッセー
ジの長さが、ブロック長の倍数である場合は、このステ
ップは必須ではない)ここで、x*=x1...xn-2n
とする。|x*|=|x|=lであることに留意された
い。
【0034】暗号化方式Ea(・)は次の通りである。 ・ ステップ1.
【数3】 を、a0におけるx'のlビットのCBC−MACとす
る。 ・ ステップ2. x*を次のように暗号化する。y0
t(すなわち初期設定ベクトル)とする。そして、i=
1,...,n−2に対し、
【数4】 とする。最後に、|xn|=lの場合、
【数5】 とする。そうでない場合(すなわち1≦|xn|<
l)、ynを、fa1(yn-2)の最初の|xn|ビットと
nとのXORとする。この暗号化方法は、可変長ブロ
ックにも適用可能なCBC暗号利用モードの拡張機能で
ある。(ブロック・サイファがDESである場合、この
方法は、IBM CUSP/3848メカニズムと呼ば
れている。) ・ ステップ3. Ea(x)=ty1...yn-2n
定義する。すなわち、xの暗号化は、ステップ2からの
暗号文を伴うtである。
【0035】受信した暗号文をy=ty1...yn-2
nとして、暗号解読は、次のように行われる。 ・ ステップ1. 鍵a1で暗号文y1...yn-1n
暗号解読することによって、x*を復元する。すなわ
ち、y0=tとし、i=1,...,n−2に対し、
【数6】 とする。
【数7】 の場合
【数8】 とする。そうでない場合(すなわち 1≦|yn|<
l)、xnを、fal(yn-2)の最初の|yn|ビットと
nとのXORとする。 ・ ステップ2. xn-1を復元するために、
【数9】 とし、
【数10】 とする。復元された平文は、x1...xnである。
【0036】本発明は、暗号化が長さ保持性を備え、過
去の状態に関係せず、決定論的かつ安全であるという点
において、重要な利点をもたらす。関連する暗号化方法
は、こうした初期的要求事項を達成できるだけでなく、
さらに、ハードウェア、ソフトウェアいずれにおいて
も、完全に並列使用を確かなものにする。たとえば、メ
ッセージ確認コードtは米国特許第4,933,969
号に記載の「ツリーMAC」方式により計算することが
できる。暗号化機能には、単に、メッセージxとf
a(t)fa((t+1)mod2l)fa((t+2)m
od2l)...の長さ|x|のプレフィックスとのX
ORをとることが含まれる。このような実施例に基づ
き、プロセッサの効率を2倍にすることは、暗号文が計
算される速度を2倍にすることになる。
【0037】本明細書に記載の方法の具体的な適用例
は、多岐にわたる。たとえば、この技法は、プロトコル
・データ・ユニットのフィールドの暗号化、ファイルの
「iノード」に依存しない方法でのファイルの暗号化、
または物理媒体におけるセクタ位置に依存しないディス
ク・セクタの暗号化に有用である。最初の例は、いくつ
かのメッセージ・ビットが不用意に使用可能になるよう
な通信プロトコルがある場合に行われ得る。各フィール
ドのビット数を変えずに、安全性を高めることが望まし
い。言い替えれば、かつて明文で転送されたメッセージ
のすべてを暗号化して送ることができることが望まし
い。
【0038】以上開示された特定の実施例は、本発明と
同様の目的を達成するための他のルーチンを変更または
設計する基礎として容易に利用することができる。この
ような均等技法および実施例は、本発明の精神および範
囲を逸脱するものではない。
【0039】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0040】(1)第1および第2の鍵を使用して、平
文ストリングを暗号文ストリングに暗号化する暗号化方
法であって、前記平文ストリングおよび前記第1の鍵を
使用して、メッセージ確認コードを計算するステップ
と、前記平文ストリング,前記第2の鍵、および前記メ
ッセージ確認コードを使用して、実質的に前記メッセー
ジ確認コードに依存する暗号化ストリングを生成するス
テップと、前記暗号化ストリングの所定部分を前記メッ
セージ確認コードと組み合わせて前記暗号文ストリング
を得るステップとを含む暗号化方法。 (2)前記所定部分が前記暗号化ストリングの一部であ
ることを特徴とする、上記(1)に記載の暗号化方法。 (3)前記メッセージ確認コードが、ブロック・サイフ
ァの暗号ブロック連鎖によって計算されることを特徴と
する、上記(1)に記載の暗号化方法。 (4)前記ブロック・サイファが、DESであることを
特徴とする、上記(2)に記載の暗号化方法。 (5)前記所定部分が、前記暗号化ストリングから最終
ブロックを除いたものであることを特徴とする、上記
(2)に記載の暗号化方法。 (6)前記メッセージ確認コードが、ブロック長と等し
い長さを有することを特徴とする、上記(2)に記載の
暗号化方法。 (7)第1および第2の鍵を使用して、平文ストリング
を暗号文ストリングに暗号化する方法であって、(a)
前記第1の鍵および第1の初期設定ベクトルを使用し
て、前記平文ストリングを暗号ブロック連鎖し、長さが
ブロック長と等しいメッセージ確認コードを生成するス
テップと、(b)前記第2の鍵および第2の初期設定ベ
クトルとしての前記メッセージ確認コードを使用して、
前記平文ストリングを暗号ブロック連鎖し、暗号化スト
リングを生成するステップと、(c)前記メッセージ確
認コードおよび前記暗号化ストリングの所定部分を組み
合わせて、前記暗号文ストリングを形成するステップと
を含む方法。 (8)前記所定部分が、前記暗号化ストリングから最終
ブロックを除いたものであることを特徴とする、上記
(7)に記載の方法。 (9)前記第1の初期設定ベクトルが、空ベクトルであ
ることを特徴とする、上記(7)に記載の方法。 (10)前記平文ストリングの長さが、ブロック長の倍
数に等しいことを特徴とする、上記(7)に記載の方
法。 (11)前記平文ストリングの長さが、前記ブロック長
の倍数に等しくないことを特徴とする、上記(7)に記
載の方法。 (12)ステップ(c)が、前記メッセージ確認コード
および前記所定部分を連結して、前記暗号文ストリング
を形成することを特徴とする、上記(7)に記載の方
法。 (13)前記暗号文ストリングが、前記平文ストリング
と等しい長さを有することを特徴とする、上記(7)に
記載の方法。 (14)前記第1および第2の鍵が、秘密鍵から導き出
されることを特徴とする、上記(7)に記載の方法。 (15)第1および第2の鍵ならびにブロック・サイフ
ァを使用して、メッセージ確認コードおよび暗号化スト
リングを含む暗号文ストリングを平文ストリングに暗号
解読する方法であって、(a)前記第2の鍵および初期
設定ベクトルとしての前記メッセージ確認コードを使用
して、前記暗号化ストリングを暗号ブロック連鎖し、暗
号解読ストリングを生成するステップと、(b)前記第
1の鍵および空初期設定ベクトルを使用して、前記暗号
解読ストリングを暗号ブロック連鎖し、最終ブロックを
有するストリングを生成するステップと、(c)前記最
終ブロックと、前記メッセージ確認コードにおける前記
第1の鍵に基づくブロック・サイファの逆数との所定関
数を計算するステップと、(d)前記暗号解読ストリン
グおよび前記所定関数の結果を組み合わせて、平文スト
リングを生成するステップとを含む方法。 (16)前記ブロック・サイファがDESであることを
特徴とする、上記(15)に記載の方法。 (17)ステップ(c)における所定関数が、排他的論
理和であることを特徴とする、上記(15)に記載の方
法。 (18)記憶装置と、平文ストリングを暗号文ストリン
グに暗号化するための、前記記憶装置においてサポート
されたプログラム手段とを含み、前記プログラム手段
が、前記平文ストリングおよび第1の鍵を使用してメッ
セージ確認コードを計算する手段と、前記平文ストリン
グ、第2の鍵、および前記メッセージ確認コードを使用
して暗号化ストリングを生成する手段と、前記暗号化ス
トリングの一部を前記メッセージ確認コードと組み合わ
せて前記暗号文ストリングを生成する手段とを含むこと
を特徴とするコンピュータ装置。 (19)記憶装置と、メッセージ確認コードおよび暗号
化ストリングを含む暗号文ストリングを平文ストリング
に暗号解読するための、前記記憶装置においてサポート
されたプログラム手段とを含み、前記プログラム手段
が、秘密鍵および初期設定ベクトルとしての前記メッセ
ージ確認コードを使用して、前記暗号化ストリングを暗
号ブロック連鎖し、暗号解読ストリングを生成する手段
と、第2の秘密鍵および空初期設定ベクトルを使用し
て、前記暗号解読ストリングを暗号ブロック連鎖し、最
終ブロックを有するストリングを生成する手段と、前記
最終ブロックと、前記第2の秘密鍵を使用して評価され
たブロック・サイファの逆数との所定関数を計算する手
段と、前記暗号解読ストリングおよび前記所定関数を組
み合わせて前記平文ストリングを生成する手段とを含む
ことを特徴とするコンピュータ装置。 (20)第1および第2の鍵ならびにブロック・サイフ
ァを使用して、暗号化および暗号解読を行うために、プ
ロセッサによって実行される命令プログラムを記憶し、
該プロセッサによって読取り可能なプログラム記憶装置
であって、前記暗号化が、(a)前記第1の鍵および初
期設定ベクトルを使用して、平文ストリングを暗号ブロ
ック連鎖し、メッセージ確認コードを生成するステップ
と、(b)前記第2の鍵および初期設定ベクトルとして
の前記メッセージ確認コードを使用して、前記平文スト
リングを暗号ブロック連鎖し、暗号化ストリングを生成
するステップと、(c)前記メッセージ確認コードおよ
び前記暗号化ストリングの一部を組み合わせて暗号文ス
トリングを生成するステップとにより実行され、前記暗
号解読が、(a)前記第2の鍵および初期設定ベクトル
としての前記メッセージ確認コードを使用して、前記暗
号化ストリングを暗号ブロック連鎖し、暗号解読ストリ
ングを生成するステップと、(b)前記第1の鍵および
空初期設定ベクトルを使用して、前記暗号解読ストリン
グを暗号ブロック連鎖し、最終ブロックを有するストリ
ングを生成するステップと、(c)前記最終ブロック
と、前記メッセージ確認コードにおける前記第1の鍵に
基づくブロック・サイファの逆数との所定関数を計算す
るステップと、(d)前記暗号解読ストリングおよび前
記所定関数を組み合わせて平文ストリングを生成するス
テップとにより実行されることを特徴とする、プログラ
ム記憶装置。
【図面の簡単な説明】
【図1】本発明の暗号化および暗号解読方式の実施に使
用する、システム・ユニット、キーボード、マウスおよ
び表示装置を含むコンピュータを示す図である。
【図2】図1に示されたコンピュータの構造を示すブロ
ック図である。
【図3】平文を暗号文に暗号化する本発明の方法を示す
簡略化流れ図である。
【図4】暗号文(図3において生成された)が、どのよ
うに変換されて平文に戻されるかを示す、簡略化流れ図
である。
【図5】図3のステップ70を示す図である。
【図6】図3のステップ72を示す図である。
【図7】図4のステップ76を示す図である。
【図8】図4のステップ78を示す図である。
【図9】図4のステップ80を示す図である。
【符号の説明】
70 平文を暗号化してCBC−MACを生成 72 平文を暗号化して暗号ストリングを生成 74 CBC−MACとプレフィックスを組み合わせる
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ミヒル・ベラール アメリカ合衆国10532 ニューヨーク州ホ ーソンセントラル・パーク・ウェスト 372

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】第1および第2の鍵を使用して、平文スト
    リングを暗号文ストリングに暗号化する暗号化方法であ
    って、 前記平文ストリングおよび前記第1の鍵を使用して、メ
    ッセージ確認コードを計算するステップと、 前記平文ストリング,前記第2の鍵、および前記メッセ
    ージ確認コードを使用して、実質的に前記メッセージ確
    認コードに依存する暗号化ストリングを生成するステッ
    プと、 前記暗号化ストリングの所定部分を前記メッセージ確認
    コードと組み合わせて前記暗号文ストリングを得るステ
    ップとを含む暗号化方法。
  2. 【請求項2】前記所定部分が前記暗号化ストリングの一
    部であることを特徴とする、請求項1に記載の暗号化方
    法。
  3. 【請求項3】前記メッセージ確認コードが、ブロック・
    サイファの暗号ブロック連鎖によって計算されることを
    特徴とする、請求項1に記載の暗号化方法。
  4. 【請求項4】前記ブロック・サイファが、DESである
    ことを特徴とする、請求項2に記載の暗号化方法。
  5. 【請求項5】前記所定部分が、前記暗号化ストリングか
    ら最終ブロックを除いたものであることを特徴とする、
    請求項2に記載の暗号化方法。
  6. 【請求項6】前記メッセージ確認コードが、ブロック長
    と等しい長さを有することを特徴とする、請求項2に記
    載の暗号化方法。
  7. 【請求項7】第1および第2の鍵を使用して、平文スト
    リングを暗号文ストリングに暗号化する方法であって、 (a)前記第1の鍵および第1の初期設定ベクトルを使
    用して、前記平文ストリングを暗号ブロック連鎖し、長
    さがブロック長と等しいメッセージ確認コードを生成す
    るステップと、 (b)前記第2の鍵および第2の初期設定ベクトルとし
    ての前記メッセージ確認コードを使用して、前記平文ス
    トリングを暗号ブロック連鎖し、暗号化ストリングを生
    成するステップと、 (c)前記メッセージ確認コードおよび前記暗号化スト
    リングの所定部分を組み合わせて、前記暗号文ストリン
    グを形成するステップとを含む方法。
  8. 【請求項8】前記所定部分が、前記暗号化ストリングか
    ら最終ブロックを除いたものであることを特徴とする、
    請求項7に記載の方法。
  9. 【請求項9】前記第1の初期設定ベクトルが、空ベクト
    ルであることを特徴とする、請求項7に記載の方法。
  10. 【請求項10】前記平文ストリングの長さが、ブロック
    長の倍数に等しいことを特徴とする、請求項7に記載の
    方法。
  11. 【請求項11】前記平文ストリングの長さが、前記ブロ
    ック長の倍数に等しくないことを特徴とする、請求項7
    に記載の方法。
  12. 【請求項12】ステップ(c)が、前記メッセージ確認
    コードおよび前記所定部分を連結して、前記暗号文スト
    リングを形成することを特徴とする、請求項7に記載の
    方法。
  13. 【請求項13】前記暗号文ストリングが、前記平文スト
    リングと等しい長さを有することを特徴とする、請求項
    7に記載の方法。
  14. 【請求項14】前記第1および第2の鍵が、秘密鍵から
    導き出されることを特徴とする、請求項7に記載の方
    法。
  15. 【請求項15】第1および第2の鍵ならびにブロック・
    サイファを使用して、メッセージ確認コードおよび暗号
    化ストリングを含む暗号文ストリングを平文ストリング
    に暗号解読する方法であって、 (a)前記第2の鍵および初期設定ベクトルとしての前
    記メッセージ確認コードを使用して、前記暗号化ストリ
    ングを暗号ブロック連鎖し、暗号解読ストリングを生成
    するステップと、 (b)前記第1の鍵および空初期設定ベクトルを使用し
    て、前記暗号解読ストリングを暗号ブロック連鎖し、最
    終ブロックを有するストリングを生成するステップと、 (c)前記最終ブロックと、前記メッセージ確認コード
    における前記第1の鍵に基づくブロック・サイファの逆
    数との所定関数を計算するステップと、 (d)前記暗号解読ストリングおよび前記所定関数の結
    果を組み合わせて、平文ストリングを生成するステップ
    とを含む方法。
  16. 【請求項16】前記ブロック・サイファがDESである
    ことを特徴とする、請求項15に記載の方法。
  17. 【請求項17】ステップ(c)における所定関数が、排
    他的論理和であることを特徴とする、請求項15に記載
    の方法。
  18. 【請求項18】記憶装置と、 平文ストリングを暗号文ストリングに暗号化するため
    の、前記記憶装置においてサポートされたプログラム手
    段とを含み、 前記プログラム手段が、 前記平文ストリングおよび第1の鍵を使用してメッセー
    ジ確認コードを計算する手段と、 前記平文ストリング、第2の鍵、および前記メッセージ
    確認コードを使用して暗号化ストリングを生成する手段
    と、 前記暗号化ストリングの一部を前記メッセージ確認コー
    ドと組み合わせて前記暗号文ストリングを生成する手段
    とを含むことを特徴とするコンピュータ装置。
  19. 【請求項19】記憶装置と、 メッセージ確認コードおよび暗号化ストリングを含む暗
    号文ストリングを平文ストリングに暗号解読するため
    の、前記記憶装置においてサポートされたプログラム手
    段とを含み、 前記プログラム手段が、 秘密鍵および初期設定ベクトルとしての前記メッセージ
    確認コードを使用して、前記暗号化ストリングを暗号ブ
    ロック連鎖し、暗号解読ストリングを生成する手段と、 第2の秘密鍵および空初期設定ベクトルを使用して、前
    記暗号解読ストリングを暗号ブロック連鎖し、最終ブロ
    ックを有するストリングを生成する手段と、 前記最終ブロックと、前記第2の秘密鍵を使用して評価
    されたブロック・サイファの逆数との所定関数を計算す
    る手段と、 前記暗号解読ストリングおよび前記所定関数を組み合わ
    せて前記平文ストリングを生成する手段とを含むことを
    特徴とするコンピュータ装置。
  20. 【請求項20】第1および第2の鍵ならびにブロック・
    サイファを使用して、暗号化および暗号解読を行うため
    に、プロセッサによって実行される命令プログラムを記
    憶し、該プロセッサによって読取り可能なプログラム記
    憶装置であって、前記暗号化が、 (a)前記第1の鍵および初期設定ベクトルを使用し
    て、平文ストリングを暗号ブロック連鎖し、メッセージ
    確認コードを生成するステップと、 (b)前記第2の鍵および初期設定ベクトルとしての前
    記メッセージ確認コードを使用して、前記平文ストリン
    グを暗号ブロック連鎖し、暗号化ストリングを生成する
    ステップと、 (c)前記メッセージ確認コードおよび前記暗号化スト
    リングの一部を組み合わせて暗号文ストリングを生成す
    るステップとにより実行され、 前記暗号解読が、 (a)前記第2の鍵および初期設定ベクトルとしての前
    記メッセージ確認コードを使用して、前記暗号化ストリ
    ングを暗号ブロック連鎖し、暗号解読ストリングを生成
    するステップと、 (b)前記第1の鍵および空初期設定ベクトルを使用し
    て、前記暗号解読ストリングを暗号ブロック連鎖し、最
    終ブロックを有するストリングを生成するステップと、 (c)前記最終ブロックと、前記メッセージ確認コード
    における前記第1の鍵に基づくブロック・サイファの逆
    数との所定関数を計算するステップと、 (d)前記暗号解読ストリングおよび前記所定関数を組
    み合わせて平文ストリングを生成するステップとにより
    実行されることを特徴とする、プログラム記憶装置。
JP8016512A 1995-02-06 1996-02-01 2つの鍵を使用して暗号化する方法および装置 Pending JPH08248879A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/384,152 US5673319A (en) 1995-02-06 1995-02-06 Block cipher mode of operation for secure, length-preserving encryption
US384152 1995-02-06

Publications (1)

Publication Number Publication Date
JPH08248879A true JPH08248879A (ja) 1996-09-27

Family

ID=23516242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8016512A Pending JPH08248879A (ja) 1995-02-06 1996-02-01 2つの鍵を使用して暗号化する方法および装置

Country Status (4)

Country Link
US (1) US5673319A (ja)
EP (1) EP0725511B1 (ja)
JP (1) JPH08248879A (ja)
DE (1) DE69618040T2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001052472A1 (en) * 2000-01-14 2001-07-19 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for encryption, method and apparatus for decryption, and computer-readable medium storing program
WO2001054099A1 (en) * 2000-01-21 2001-07-26 Sony Corporation Data authentication system
US7184549B2 (en) 2000-01-14 2007-02-27 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for encryption, method and apparatus for decryption, and computer-readable medium storing program
US7492894B2 (en) 2003-11-04 2009-02-17 Sony Corporation Information-processing apparatus, control method, program and recording medium
JP2013134414A (ja) * 2011-12-27 2013-07-08 Kddi Corp 鍵暗号化装置、鍵復号装置、鍵暗号化方法、鍵復号方法、およびプログラム
JP2015022269A (ja) * 2013-07-23 2015-02-02 凸版印刷株式会社 暗号化装置、復号装置、暗号化方法、復号方法及びプログラム
US9270445B2 (en) 2008-05-28 2016-02-23 Samsung Electronics Co., Ltd. Solid state disk and input/output method
JP2016508629A (ja) * 2013-01-18 2016-03-22 アバブ セミコンダクタ カンパニー リミテッド 不揮発性メモリのバイナリデータの保護方法及びその装置

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19640526A1 (de) * 1996-10-01 1998-04-02 Deutsche Telekom Ag Verfahren zur Übertragung von Signalen
CA2210199A1 (en) 1997-07-11 1999-01-11 Mitel Corporation Method and apparatus for the generation of non-linear confusion data
US6055316A (en) * 1997-12-26 2000-04-25 Sun Microsystems, Inc. System and method for deriving an appropriate initialization vector for secure communications
US6192129B1 (en) 1998-02-04 2001-02-20 International Business Machines Corporation Method and apparatus for advanced byte-oriented symmetric key block cipher with variable length key and block
US6243470B1 (en) 1998-02-04 2001-06-05 International Business Machines Corporation Method and apparatus for advanced symmetric key block cipher with variable length key and block
US6128737A (en) * 1998-04-20 2000-10-03 Microsoft Corporation Method and apparatus for producing a message authentication code in a cipher block chaining operation by using linear combinations of an encryption key
US6226742B1 (en) * 1998-04-20 2001-05-01 Microsoft Corporation 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
ATE282915T1 (de) * 1998-05-07 2004-12-15 Herrero Angel Jose Ferre Vorrichtung zur verschleierung und verschlüsselung
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
US6266412B1 (en) * 1998-06-15 2001-07-24 Lucent Technologies Inc. Encrypting speech coder
US6351539B1 (en) 1998-09-18 2002-02-26 Integrated Device Technology, Inc. Cipher mixer with random number generator
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US7415110B1 (en) 1999-03-24 2008-08-19 Intel Corporation Method and apparatus for the generation of cryptographic keys
US6324288B1 (en) * 1999-05-17 2001-11-27 Intel Corporation Cipher core in a content protection system
US6907127B1 (en) * 1999-06-18 2005-06-14 Digital Video Express, L.P. Hierarchical key management encoding and decoding
US6529487B1 (en) * 1999-07-09 2003-03-04 Qualcomm Incorporated Method and apparatus for securely transmitting distributed RAND for use in mobile station authentication
US6477252B1 (en) * 1999-08-29 2002-11-05 Intel Corporation Digital video content transmission ciphering and deciphering method and apparatus
US6731758B1 (en) 1999-08-29 2004-05-04 Intel Corporation Digital video content transmission ciphering and deciphering method and apparatus
US7068786B1 (en) 1999-08-29 2006-06-27 Intel Corporation Dual use block/stream cipher
US6947558B1 (en) 1999-08-29 2005-09-20 Intel Corporation Stream cipher having a shuffle network combiner function
US6920221B1 (en) 1999-08-29 2005-07-19 Intel Corporation Method and apparatus for protected exchange of status and secret values between a video source application and a video hardware interface
TWI275049B (en) * 2000-03-09 2007-03-01 Nippon Telegraph & Telephone Block cipher apparatus using auxiliary transformation
US7003107B2 (en) 2000-05-23 2006-02-21 Mainstream Encryption Hybrid stream cipher
JP2002049310A (ja) * 2000-08-04 2002-02-15 Toshiba Corp 暗復号装置、認証装置及び記憶媒体
US7339892B1 (en) 2000-08-18 2008-03-04 Nortel Networks Limited System and method for dynamic control of data packet fragmentation threshold in a wireless network
US7280495B1 (en) 2000-08-18 2007-10-09 Nortel Networks Limited Reliable broadcast protocol in a wireless local area network
US7308279B1 (en) 2000-08-18 2007-12-11 Nortel Networks Limited Dynamic power level control on transmitted messages in a wireless LAN
US7039190B1 (en) * 2000-08-18 2006-05-02 Nortel Networks Limited Wireless LAN WEP initialization vector partitioning scheme
US7366103B2 (en) * 2000-08-18 2008-04-29 Nortel Networks Limited Seamless roaming options in an IEEE 802.11 compliant network
JP2002132141A (ja) * 2000-10-20 2002-05-09 Sony Corp データ記憶装置、およびデータ記録方法、データ再生方法、並びにプログラム提供媒体
US7007156B2 (en) * 2000-12-28 2006-02-28 Intel Corporation Multiple coprocessor architecture to process a plurality of subtasks in parallel
US7353380B2 (en) * 2001-02-12 2008-04-01 Aventail, Llc, A Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
US7383329B2 (en) 2001-02-13 2008-06-03 Aventail, Llc Distributed cache for state transfer operations
US7360075B2 (en) * 2001-02-12 2008-04-15 Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
US7203837B2 (en) * 2001-04-12 2007-04-10 Microsoft Corporation Methods and systems for unilateral authentication of messages
US20060291650A1 (en) * 2001-05-22 2006-12-28 Viswanath Ananth State-varying hybrid stream cipher
JP2003023421A (ja) * 2001-07-09 2003-01-24 C4 Technology Inc 暗号方法、そのプログラム、そのプログラムを記録した記録媒体および暗号装置並びに復号方法および復号装置
US7103180B1 (en) * 2001-10-25 2006-09-05 Hewlett-Packard Development Company, L.P. Method of implementing the data encryption standard with reduced computation
CA2364174A1 (en) * 2001-11-27 2003-05-27 Bayer Inc. Filled elastomeric butyl compounds with improved scorch safety
US7890771B2 (en) 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
US7487365B2 (en) * 2002-04-17 2009-02-03 Microsoft Corporation Saving and retrieving data based on symmetric key encryption
US7370197B2 (en) * 2002-07-12 2008-05-06 Microsoft Corporation Method and system for authenticating messages
US20040064725A1 (en) * 2002-09-18 2004-04-01 Microsoft Corporation Method and system for detecting a communication problem in a computer network
US20040111610A1 (en) * 2002-12-05 2004-06-10 Canon Kabushiki Kaisha Secure file format
US20050235145A1 (en) * 2002-12-05 2005-10-20 Canon Kabushiki Kaisha Secure file format
US7613925B2 (en) 2003-01-10 2009-11-03 Motorola, Inc. Method for authenticating a message
US7409544B2 (en) * 2003-03-27 2008-08-05 Microsoft Corporation Methods and systems for authenticating messages
US7610487B2 (en) 2003-03-27 2009-10-27 Microsoft Corporation Human input security codes
US7624264B2 (en) 2003-03-27 2009-11-24 Microsoft Corporation Using time to determine a hash extension
US8261062B2 (en) 2003-03-27 2012-09-04 Microsoft Corporation Non-cryptographic addressing
US7103754B2 (en) 2003-03-28 2006-09-05 International Business Machines Corporation Computer instructions for having extended signed displacement fields for finding instruction operands
US7055039B2 (en) * 2003-04-14 2006-05-30 Sony Corporation Protection of digital content using block cipher crytography
US7529368B2 (en) * 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent output 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
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
US7542566B2 (en) * 2003-04-18 2009-06-02 Ip-First, Llc Apparatus and method for performing transparent cipher block chaining mode 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
US7900055B2 (en) * 2003-04-18 2011-03-01 Via Technologies, Inc. Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms
US7532722B2 (en) 2003-04-18 2009-05-12 Ip-First, Llc Apparatus and method for performing transparent block cipher 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
US7392400B2 (en) * 2003-04-18 2008-06-24 Via Technologies, Inc. Microprocessor apparatus and method for optimizing block cipher cryptographic functions
US7529367B2 (en) * 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent cipher feedback mode cryptographic functions
US7321910B2 (en) * 2003-04-18 2008-01-22 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
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
US7657757B2 (en) * 2003-04-30 2010-02-02 Freescale Semiconductor, Inc. Semiconductor device and method utilizing variable mode control with block ciphers
US7257718B2 (en) 2003-05-12 2007-08-14 International Business Machines Corporation Cipher message assist instructions
US7356710B2 (en) * 2003-05-12 2008-04-08 International Business Machines Corporation Security message authentication control instruction
US7159122B2 (en) 2003-05-12 2007-01-02 International Business Machines Corporation Message digest instructions
US20060005031A1 (en) * 2004-06-15 2006-01-05 Apostolopoulos John G Methods and systems for utilizing a single cryptographic integrity check to generate multiple cryptographic integrity check values for components of transcodable content
US7929689B2 (en) 2004-06-30 2011-04-19 Microsoft Corporation Call signs
US20070262138A1 (en) * 2005-04-01 2007-11-15 Jean Somers Dynamic encryption of payment card numbers in electronic payment transactions
WO2007012035A2 (en) * 2005-07-20 2007-01-25 Wms Gaming Inc. Wagering game with encryption and authentication
DE602005025891D1 (de) * 2005-11-08 2011-02-24 Irdeto Access Bv Verfahren zur Ver- und Entwürfelung von Daten
US7725719B2 (en) * 2005-11-08 2010-05-25 International Business Machines Corporation Method and system for generating ciphertext and message authentication codes utilizing shared hardware
US8086842B2 (en) 2006-04-21 2011-12-27 Microsoft Corporation Peer-to-peer contact exchange
US8634549B2 (en) * 2008-05-07 2014-01-21 Red Hat, Inc. Ciphertext key chaining
US8396209B2 (en) * 2008-05-23 2013-03-12 Red Hat, Inc. Mechanism for chained output feedback encryption
US8218759B2 (en) * 2009-04-17 2012-07-10 Oracle America, Inc. System and method for encrypting data
EP2290872B1 (en) * 2009-08-27 2014-06-18 Nxp B.V. Device for generating a message authentication code for authenticating a message
CZ2011142A3 (cs) * 2011-03-17 2012-05-23 Ažd Praha S. R. O. Zpusob zachování bezpecného stavu zabezpecovacích systému se složenou bezpecností, zejména na železnici, pri vytvárení datových otisku
CN102136904A (zh) * 2011-03-30 2011-07-27 中国科学院软件研究所 一种基于分组密码的消息鉴别方法
KR101106604B1 (ko) * 2011-06-14 2012-01-20 펜타시큐리티시스템 주식회사 특성 유지 암호화를 이용한 데이터 보안 방법 및 장치
CN107615702A (zh) 2016-03-24 2018-01-19 慧与发展有限责任合伙企业 文本加密
CN107707690B (zh) * 2017-11-28 2021-07-16 锐捷网络股份有限公司 一种动态地址不老化的方法、装置和介质
US11115187B2 (en) * 2018-09-07 2021-09-07 Korea University Research And Business Foundation Apparatus and method for block ciphers for real-time data transmission
EP3742317A1 (en) * 2019-05-21 2020-11-25 Ordnance Survey Limited Method and system for granting access to data in an immutable ledger system
US11347895B2 (en) * 2019-12-03 2022-05-31 Aptiv Technologies Limited Method and system of authenticated encryption and decryption
EP3913509A1 (en) * 2020-05-22 2021-11-24 Thales Dis France Sa Method to secure computer code
CN111832067B (zh) * 2020-05-26 2021-12-17 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN112149137B (zh) * 2020-09-30 2023-12-05 深圳前海微众银行股份有限公司 漏洞检测方法、装置、电子设备及计算机可读存储介质
US12047490B2 (en) * 2021-10-25 2024-07-23 Oracle International Corporation Length-preserving encryption for database tables

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3958081A (en) * 1975-02-24 1976-05-18 International Business Machines Corporation Block cipher system for data security
US4074066A (en) * 1976-04-26 1978-02-14 International Business Machines Corporation Message verification and transmission error detection by block chaining
JPS603755B2 (ja) * 1979-05-23 1985-01-30 株式会社明電舎 高周波加熱装置の接続導体
US4322576A (en) * 1979-12-28 1982-03-30 Racal-Milgo, Inc. Message format for secure communication over data links
FR2582174B1 (fr) * 1985-05-15 1990-03-09 Thomson Csf Dispositif de chiffrement par substitutions-permutations
US5319710A (en) * 1986-08-22 1994-06-07 Tandem Computers Incorporated Method and means for combining and managing personal verification and message authentication encrytions for network transmission
US5109413A (en) * 1986-11-05 1992-04-28 International Business Machines Corporation Manipulating rights-to-execute in connection with a software copy protection mechanism
JP2871690B2 (ja) * 1988-04-28 1999-03-17 日本電気株式会社 符号化装置及び復号化装置
JP2760799B2 (ja) * 1988-04-28 1998-06-04 株式会社日立製作所 暗号方式
US4910776A (en) * 1989-02-24 1990-03-20 Miu Automation Encryption printed circuit board
US5063596A (en) * 1989-02-24 1991-11-05 Miu Automation Corporation Encryption printed circuit board
US5184125A (en) * 1989-06-28 1993-02-02 Digital Equipment Corporation Data encoding and demodulation system
US5196840A (en) * 1990-11-05 1993-03-23 International Business Machines Corporation Secure communications system for remotely located computers
US5297208A (en) * 1992-08-05 1994-03-22 Roger Schlafly Secure file transfer system and method
US5491750A (en) * 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for three-party entity authentication and key distribution using message authentication codes
US5491749A (en) * 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for entity authentication and key distribution secure against off-line adversarial attacks

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU760811B2 (en) * 2000-01-14 2003-05-22 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for encryption, method and apparatus for decryption, and computer-readable medium storing program
AU760811C (en) * 2000-01-14 2003-12-18 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for encryption, method and apparatus for decryption, and computer-readable medium storing program
US7184549B2 (en) 2000-01-14 2007-02-27 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for encryption, method and apparatus for decryption, and computer-readable medium storing program
CN100385850C (zh) * 2000-01-14 2008-04-30 三菱电机株式会社 加密装置和加密方法及解密装置和解密方法
WO2001052472A1 (en) * 2000-01-14 2001-07-19 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for encryption, method and apparatus for decryption, and computer-readable medium storing program
US8375206B2 (en) 2000-01-21 2013-02-12 Sony Corporation Authentication and encryption utilizing command identifiers
WO2001054099A1 (en) * 2000-01-21 2001-07-26 Sony Corporation Data authentication system
US7669052B2 (en) 2000-01-21 2010-02-23 Sony Corporation Authentication and encryption utilizing command identifiers
US7492894B2 (en) 2003-11-04 2009-02-17 Sony Corporation Information-processing apparatus, control method, program and recording medium
US9270445B2 (en) 2008-05-28 2016-02-23 Samsung Electronics Co., Ltd. Solid state disk and input/output method
JP2013134414A (ja) * 2011-12-27 2013-07-08 Kddi Corp 鍵暗号化装置、鍵復号装置、鍵暗号化方法、鍵復号方法、およびプログラム
JP2016508629A (ja) * 2013-01-18 2016-03-22 アバブ セミコンダクタ カンパニー リミテッド 不揮発性メモリのバイナリデータの保護方法及びその装置
JP2015022269A (ja) * 2013-07-23 2015-02-02 凸版印刷株式会社 暗号化装置、復号装置、暗号化方法、復号方法及びプログラム

Also Published As

Publication number Publication date
EP0725511A3 (en) 1999-07-28
DE69618040T2 (de) 2002-08-29
US5673319A (en) 1997-09-30
EP0725511B1 (en) 2001-12-19
DE69618040D1 (de) 2002-01-31
EP0725511A2 (en) 1996-08-07

Similar Documents

Publication Publication Date Title
JPH08248879A (ja) 2つの鍵を使用して暗号化する方法および装置
US7860241B2 (en) Simple universal hash for plaintext aware encryption
EP0658022B1 (en) Cryptographic key generation using sequential concatenation
US7092525B2 (en) Cryptographic system with enhanced encryption function and cipher key for data encryption standard
JP5120830B2 (ja) 共用のハードウェアを利用して暗号文及びメッセージ認証コードを生成するための方法及びシステム
EP0792041B1 (en) Method and apparatus for block encryption
US7697681B2 (en) Parallelizable integrity-aware encryption technique
US6185679B1 (en) Method and apparatus for a symmetric block cipher using multiple stages with type-1 and type-3 feistel networks
US6185304B1 (en) Method and apparatus for a symmetric block cipher using multiple stages
US10009171B2 (en) Construction and uses of variable-input-length tweakable ciphers
US6189095B1 (en) Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
US8180048B2 (en) Method and system for computational transformation
WO2013022647A2 (en) System and method for wireless data protection
JPH06236148A (ja) Ansi x3.92データ暗号化アルゴリズム標準のパフォーマンスを強化したデータ暗号化アルゴリズムを実行するデータ処理システム
CN113098675B (zh) 基于多项式完全同态的二进制数据加密系统及方法
US20070071236A1 (en) High speed configurable cryptographic architecture
JP2002510058A (ja) 2進データ・ブロックの暗号変換のための方法
CN117725605A (zh) 一种远端自动编制电子档案文件信息保密的方法和系统
CN117834119A (zh) 加密处理设备及其加密处理方法和存储介质
Kothandan Modified Blowfish Algorithm to Enhance its Performance and Security
CN114676452A (zh) 一种数据安全存储方法和装置
JP2001509608A (ja) デジタル・データのlビットの入力ブロックをlビットの出力ブロックに暗号変換するための方法
JPH0591101A (ja) 暗号化装置及び復号化装置
Connell An Analysis of NewDES: A Modified Version of DES
JPH0830195A (ja) 暗号の拡大鍵生成方法・復号方法及び暗号の拡大鍵生成装置・復号装置