JP2008116856A - Sha演算方法およびsha演算装置 - Google Patents
Sha演算方法およびsha演算装置 Download PDFInfo
- Publication number
- JP2008116856A JP2008116856A JP2006302202A JP2006302202A JP2008116856A JP 2008116856 A JP2008116856 A JP 2008116856A JP 2006302202 A JP2006302202 A JP 2006302202A JP 2006302202 A JP2006302202 A JP 2006302202A JP 2008116856 A JP2008116856 A JP 2008116856A
- Authority
- JP
- Japan
- Prior art keywords
- sha
- variables
- storage units
- held
- unit
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- 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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Power Engineering (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】Initializeプロセスにおいて、a=H0 (i−1)、b=H1 (i−1)、c=ROTR30(H2 (i−1))、d=ROTR30(H3 (i−1))、e=ROTR30(H4 (i−1))となる。次に、t=0〜79の各プロセスにおいて、a〜eのうちのいずれか1つは、TEMPを保持し、残りの4つは、1つ前のプロセスでの値をそのまま保持する。そして、computeプロセスにおいて、H0 (i)=H0 (i−1)+a、H1 (i)=H1 (i−1)+b、H2 (i)=H2 (i−1)+ROTL30(c)、H3 (i)=H3 (i−1)+ROTL30(d)、H4 (i)=H4 (i−1)+ROTL30(e)となる。
【選択図】図6
Description
このような状況下において、従来のSHA演算の高速演算回路においては、パイプライン化によりハッシュ演算を高速に行う(例えば、特許文献1参照)。
この発明のハッシュ演算方法は、複数の記憶部間の値が移動することなく、ハッシュ値を演算する。
実施の形態1においては、SHA−1のハッシュ演算処理について説明する。なお、以下において、同一の部分は、同一の符号(用語を含む)を付して、適宜、重複説明を省略する。
まず、一般的なSHA−1のハッシュ演算処理について説明する。
最初に、ビット長が264bit未満のメッセージ(ハッシュ演算の対象データ)を512bitずつ分割する。そして、分割したメッセージを、それぞれ、ブロックM(1)、M(2)、・・・、M(N)(Nは正数)とする。
ステップ1においては、ブロックM(i)(i=1〜N)を32bitずつ分割し、16個のワードW0、W1、・・・、W15(Wt:t=0〜15)とする。次に、ステップ2においては、32bit長の変数a、b、c、d、eを用いて、ブロックM(i)(i=1〜N)の中間ハッシュ値H0 (i)〜H4 (i)(i=1〜N)を求める。
図1は一般的なSHA−1のプロセス処理を示す説明図である。
図1(a)によると、まず、Initialize(初期化)プロセスにおいて、a〜eは、あらかじめ規定されているハッシュ初期値H0 (0)〜H4 (0)が与えられる(i=1)。
次に、t=0〜79の各プロセス(クロックサイクルに基づくタイミングで処理)において、a〜eは、数1で与えられる。
図2は一般的なSHA−1のSHA演算回路の構成例を示す図である。
図2において、SHA演算回路100は、ハッシュ保持部11および5つ(第1ないし第5)の記憶部12A、12B、12C、12D、12Eを含んでいる。さらに、SHA演算回路100は、演算部13、第1の定数設定部(Wt設定部)14および第2の定数設定部(Kt設定部)15を含んでいる。
演算部13は、各記憶部12A〜12Eに格納されたa〜eを取り出し、それらの値に基づいて、数2のTEMPを演算する。
第1の定数設定部14は、Wtを設定し、第2の定数設定部15は、Ktを設定する。
図3の実施の形態1のプロセス処理は、後述する32ビットの中間値(1次中間値)v〜zを用いてTEMPを求める点に特徴がある。これにより、図1のプロセス処理の場合に比べて、a〜eの値の変化回数を減少させることが可能となる。そこで、以下では、図1のプロセス処理と異なる点を中心に説明する。
図3(a)によると、Initializeプロセスにおいて、a〜eは、あらかじめ規定されているハッシュ初期値H0 (0)〜H4 (0)が与えられる(i=1)。
これは、例えばt=0、5、・・・、70、75のとき、v=a、w=b、x=c、y=d、z=e(図3(a)参照)であり、中間値v〜zへの読み替えが同じになる。すなわち、v〜zへの読み替えは5プロセスごとに循環しており、80プロセス(t=0〜79)は5の倍数であるため、computeプロセスでの読み替えが必要ないからである。
図4は本発明の実施の形態1に係るSHA演算回路10の構成例を示すブロック図である。
図4において、SHA演算回路10は、ハッシュ保持部11、第1ないし第5の記憶部121A〜121E、演算部131、第1の定数設定部14および第2の定数設定部15を含んでいる。さらに、ハッシュ演算回路10は、選択部16および読替部17をさらに含んでいる。なお、ハッシュ保持部11、第1の定数設定部14および第2の定数設定部15の構成は、図2の場合と同様である。
図5において、第1の記憶部121Aは、セレクタ121と、フリップフロップ122(32ビットのフリップフロップ)と、ROTL演算部123とを含んで構成されている。
セレクタ121は、選択信号ENaがTEMP保持を指示している場合(例えば、図3(a)のt=4、9、・・・、79の場合)、演算部131からのTEMPを、フリップフロップ122へ出力させる。選択信号ENaがROTL演算を指示している場合(例えば、図3(a)のt=1、6、・・・、71、76の場合)、ROTL演算部123において演算されたROTL30(a)をフリップフロップ122へ出力させる。他方、選択信号ENaが前値保持を指示している場合(例えば、図3(a)のt=0、2、3、・・・、75、77、78の場合)は、セレクタ121は、フリップフロップ122の出力をそのまま保持させる。
次に、SHA−1のプロセス処理の変形について説明する。
図6は実施の形態1のSHA−1のプロセス処理の変形を示す説明図である。
図6では、図3のプロセス処理の場合と異なり、さらに、32ビットの中間値(2次中間値)xtemp、ytemp、ztempを導入して、TEMPを求める点に特徴がある。これにより、全プロセスにおいて、すべてのa〜eが、ROTL30の演算値を保持しなくなり、a〜eの値の変化回数をさらに減少させることが可能となる。そこで、以下では、図3のプロセス処理と異なる点を中心に説明する。
また、Initializeプロセスにおいて、3つのc〜eには、図3(a)の場合と異なり、ROTR30(H2 (i−1))〜ROTR30(H4 (i−1))が与えられるのは、次のような理由に基づく。すなわち、図6(a)のt=0〜2において(太枠部分)、本来、ROTR30演算が不要であるにもかかわらず、ROTL30演算がされているためである。これは、30ビット右ローテートした値を30ビット左ローテートすると、元の値に戻ることに基づく。
この場合、読替部17は、図6(a)のプロセスに従って、各記憶部121A〜121Eから、a〜eのいずれかを取得して、xtemp、ytemp、ztempに読み替える。さらに、読替部17は、図6(a)のプロセス処理に従って、各記憶部121A〜121Eから、a〜eのいずれかを取得して、各中間値v、wに読み替える。
例えば、t=0の場合、読替部17は、各記憶部121C〜121Eから、Initializeプロセスのc〜eを取得して、それぞれをxtemp〜ztempに読み替える。これにより、xtemp=c、ytemp=d、ztemp=eとなる。さらに、読替部17は、各記憶部121A、121Bから、Initializeプロセスのa、bを取得して、それぞれ各中間値v、wに読み替える。
例えば、図6(a)のt=1の場合、記憶部121Dがd=TEMPを保持し、残りの4つの記憶部121A〜121C、121Eが、1つ前のプロセスの値(a〜c、e)をそのまま保持する。これにより、各記憶部121A〜121Eは、図3(a)の場合と異なり、ROTL30の演算値を保持しないこととなる(図5のROTL演算部123は不要)。よって、各記憶部121A〜121Eのハードウェアの駆動率がさらに減少し、SHA演算回路10の消費電力がより一層低減する。
しかもこの場合、SHA演算回路10の規模を拡大することなく、より一層の消費電力の低減を期待できるので、有用である。
例えば、第1の条件下(電源電圧1.65v、周囲温度−40℃)では、SHA演算回路100(図1、2参照)においては、消費電力が7.1mWとなったのに対し、ハッシュ演算回路10(図4、6参照)においては、5.5mWとなった。これから、約23%の削減効果を得ることがわかった。
さらに、第2の条件下(電源電圧1.35v、周囲温度125℃)では、ハッシュ演算回路100(図1、2参照)においては、消費電力が5.3mWとなったのに対し、ハッシュ演算回路10(図4、6参照)においては、3.6mWとなった。これから、約32%の削減効果を得ることがわかった。
実施の形態2においては、SHA−2(SHA−224、256、384、512)のハッシュ演算処理について、便宜上簡略して説明する。
まず、一般的なSHA−2のハッシュ演算処理について説明する。
最初に、メッセージ(ハッシュ演算の対象データ)を分割する。例えば、SHA−224、256の場合、512ビットずつ分割し、SHA−384、512の場合、1024ビットずつ分割する。
そして、分割したメッセージを、それぞれ、ブロックM(1)、M(2)、・・・、M(N)(Nは正数)とする。
ステップ1においては、ブロックM(i)(i=1〜N)を所定のビット長ずつ分割し、16個のワードW0、W1、・・・、W15(Wt:t=0〜15)とする。例えば、SHA−224、256の場合、32ビットずつ分割され、SHA−384、512の場合、64ビットずつ分割される。
次に、ステップ2においては、所定のビット長の変数a、b、c、d、e、f、g、hを用いて、ブロックM(i)(i=1〜N)の中間ハッシュ値H0 (i)〜H7 (i)(i=1〜N)を求める。a〜hのビット長は、SHA−224、256の場合、32ビット長であり、SHA−384、512の場合、64ビット長である。
図7は一般的なSHA−2のプロセス処理を示す説明図である。
図7(a)によると、まず、Initializeプロセスにおいて、a〜hは、あらかじめ規定されているハッシュ初期値H0 (0)〜H7 (0)が与えられる(i=1)。
次に、t=0〜79の各プロセスにおいて、a〜hは、数7で与えられる。なお、図7(a)のプロセスは、t=0〜79の80プロセスの場合について記載されているが、例えば、SHA−224、256の場合、t=0〜63の64プロセスとなる。
図8(a)によると、Initializeプロセスにおいて、a〜hは、あらかじめ規定されているハッシュ初期値H0 (0)〜H7 (0)が与えられる(i=1)。
これは、例えばt=0、4、・・・、76のとき、w0=a、x0=b、y0=c、z0=d、w1=e、x1=f、y1=g、z1=h(図8(a)参照)であり、中間値w0〜z0、w1〜z1への読み替えが同じになる。すなわち、w0〜z0、w1〜z1への読み替えは4プロセスごとに循環しており、80プロセス(t=0〜79)は4の倍数であるため、computeプロセスでの読み替えが必要ないからである。
図9は本発明の実施の形態2に係るSHA演算回路20の構成例を示すブロック図である。
図9において、SHA演算回路20は、ハッシュ保持部21、第1ないし第8の記憶部22A〜22H、演算部23、第1の定数設定部(Wt設定部)24および第2の定数設定部(Kt設定部)25を含んでいる。さらに、SHA演算回路20は、選択部26および2つの読替部27A、27Bをさらに含んでいる。なお、2つの読替部27A、27Bは1つで構成するようにしてもよい。
例えば、図8(a)のt=0の場合、選択部26は、記憶部22Dへ選択信号ENdを出力し、記憶部22DにT1+T2を保持させる。さらに、選択部26は、記憶部22Hへ選択信号ENhを出力し、記憶部22HにT3を保持させる。
例えば、図8(a)のt=0の場合、読替部27Aは、各記憶部22A〜22Dから取得したa〜dをそのまま、w0〜z0に読み替える。そして、読替部27Bは、各記憶部22E〜22Hから取得したe〜hをそのまま、w1〜z1に読み替える。
また、各記憶部22A〜22Hは、4プロセスごとに、T1+T2あるいはT3を保持することになる。
よって、各記憶部22A〜22Hのハードウェアの駆動率が減少し、SHA演算回路20の消費電力が低減する。
また、実施の形態2では、2つのグループに記憶部を分類した場合について説明したが、グループ分けをすることなく、適用してもよい。
11 ハッシュ保持部
121A〜121E 記憶部
131 演算部
14 第1の定数設定部
15 第2の定数設定部
16 選択部
17 読替部
Claims (8)
- SHA−1アルゴリズムに基づくハッシュ演算に用いられる第1ないし第5の変数をそれぞれ、第1ないし第5の記憶部に格納するステップと、
前記格納した第1ないし第5の変数をそれぞれ、第1ないし第5の中間値に読み替えるステップと、
前記読み替えた第1ないし第5の中間値を用いて、SHA−1アルゴリズムに基づく一時変数を演算するステップと、
前記演算した一時変数を格納する記憶部を前記第1ないし第5の記憶部の中から選択するステップと、
クロックサイクルに基づくタイミングで順次、前記選択した記憶部の変数に前記演算した一時変数を保持するとともに、他の1つの記憶部の変数に保持されていた値をローテートして当該他の1つの記憶部の変数に保持し、かつ残りの記憶部の変数に保持されていた値をそれぞれ、そのまま当該残りの各記憶部の変数に保持するステップと、
前記保持した各記憶部の変数を用いてハッシュ値を演算するステップと、
を含むSHA演算方法。 - 前記読み替えた第1ないし第5の中間値のうちの一部の中間値が、対応する変数をローテートして読み替えられた場合、
前記演算するステップでは、前記ローテートして読み替えた中間値を用いて前記一時変数を演算し、
前記保持するステップでは、クロックサイクルに基づくタイミングで順次、前記ローテートして読み替えた中間値を用いて演算した一時変数を前記選択した記憶部の変数に保持するとともに、前記他の1つの記憶部の変数に保持する値をローテートすることなく、残りのすべての記憶部の変数に保持されていた値をそれぞれ、そのまま当該残りの各記憶部の変数に保持する、
請求項1に記載のSHA演算方法。 - SHA−2アルゴリズムに基づくハッシュ値の演算に用いられる、第1ないし第8の変数をそれぞれ、第1ないし第8の記憶部に格納するステップと、
前記格納した第1ないし第8の変数をそれぞれ、第1ないし第8の中間値に読み替えるステップと、
前記読み替えた第1ないし第8の中間値を用いて、SHA−2アルゴリズムに基づく、第1および第2の一時変数を演算するステップと、
前記演算した第1および第2の一時変数を格納する記憶部をそれぞれ、前記第1ないし第8の記憶部の中から選択するステップと、
クロックサイクルに基づくタイミングで順次、前記選択した記憶部の変数にそれぞれ、第1および第2の一時変数を保持し、かつ残りの記憶部の変数に保持されていた値をそれぞれ、そのまま当該残りの各記憶部の変数に保持するステップと、
前記保持した各記憶部の変数を用いてハッシュ値を演算するステップと、
を含むSHA演算方法。 - 前記SHA−2アルゴリズムは、SHA−224、SHA−256、SHA−384またはSHA−512のアルゴリズムである、
請求項3に記載のSHA演算方法。 - SHA−1アルゴリズムに基づくハッシュ演算に用いられ、かつ第1ないし第5の記憶部に格納される第1ないし第5の変数をそれぞれ、第1ないし第5の中間値に読み替える読替部と、
前記読み替えられた第1ないし第5の中間値を用いて、SHA−1アルゴリズムに基づく一時変数を演算する演算部と、
前記第1ないし第5の記憶部の中から、前記演算された一時変数を格納する記憶部を選択する選択部と、
クロックサイクルに基づくタイミングで順次、前記選択に従って前記演算された一時変数を1つの前記変数に保持するとともに、他の1つの変数に保持されていた値をローテートして当該他の1つの変数に保持し、かつ残りの変数に保持されていた値をそれぞれ、そのまま当該残りの各変数に保持する前記第1ないし第5の記憶部と、
前記保持された第1ないし第5の記憶部の変数を用いてハッシュ値を演算して保持するハッシュ保持部と、
を含むSHA演算回路。 - 前記読替部が、前記第1ないし第5の変数のうちの一部の変数をローテートして前記中間値を読み替えた場合、
前記演算部は、前記ローテートして読み替えられた中間値を用いて前記一時変数を演算し、
前記第1ないし第5の記憶部のうちの前記選択された記憶部は、前記クロックサイクルに基づくタイミングで順次、前記ローテートして読み替えた中間値を用いて演算された一時変数を当該変数に保持し、残りの記憶部は、いずれもローテートすることなく、当該変数に保持されていた値をそれぞれ、そのまま各変数に保持する、
請求項5に記載のSHA演算回路。 - SHA−2アルゴリズムに基づくハッシュ演算に用いられ、かつ第1ないし第8の記憶部に格納される第1ないし第8の変数をそれぞれ、第1ないし第8の中間値に読み替える読替部と、
前記読み替えられた第1ないし第8の中間値を用いて、SHA−2アルゴリズムに基づく、第1および第2の一時変数を演算する演算部と、
前記第1ないし第8の記憶部の中から、前記演算された第1および第2の一時変数をそれぞれ格納する記憶部を選択する選択部と、
クロックサイクルに基づくタイミングで順次、前記選択に従って前記演算した第1および第2の一時変数をそれぞれ、対応する前記変数に保持し、かつ残りの記憶部の変数に保持されていた値をそれぞれ、そのまま当該残りの各変数に保持する前記第1ないし第8の記憶部と、
前記保持された第1ないし第8の記憶部の変数を用いてハッシュ値を演算して保持するハッシュ保持部と、
を含むSHA演算回路。 - 前記SHA−2アルゴリズムは、SHA−224、SHA−256、SHA−384またはSHA−512のアルゴリズムである、
請求項7に記載のSHA演算回路。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006302202A JP4308840B2 (ja) | 2006-11-08 | 2006-11-08 | Sha演算方法およびsha演算装置 |
CN2007101625217A CN101178861B (zh) | 2006-11-08 | 2007-10-16 | Sha运算方法及sha运算装置 |
US11/873,496 US7962753B2 (en) | 2006-11-08 | 2007-10-17 | Method and a circuit for SHA operation with power saved |
KR1020070105408A KR101389034B1 (ko) | 2006-11-08 | 2007-10-19 | Sha 연산 방법 및 sha 연산 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006302202A JP4308840B2 (ja) | 2006-11-08 | 2006-11-08 | Sha演算方法およびsha演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008116856A true JP2008116856A (ja) | 2008-05-22 |
JP4308840B2 JP4308840B2 (ja) | 2009-08-05 |
Family
ID=39359748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006302202A Active JP4308840B2 (ja) | 2006-11-08 | 2006-11-08 | Sha演算方法およびsha演算装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7962753B2 (ja) |
JP (1) | JP4308840B2 (ja) |
KR (1) | KR101389034B1 (ja) |
CN (1) | CN101178861B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010041307A1 (ja) * | 2008-10-07 | 2010-04-15 | 富士通株式会社 | 暗号化装置 |
Families Citing this family (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100901697B1 (ko) * | 2007-07-09 | 2009-06-08 | 한국전자통신연구원 | 저전력 sha-1 해쉬 연산 장치 및 이를 이용한 저전력hmac 암호 장치 |
US9456054B2 (en) | 2008-05-16 | 2016-09-27 | Palo Alto Research Center Incorporated | Controlling the spread of interests and content in a content centric network |
DE102008030421A1 (de) * | 2008-06-26 | 2010-01-07 | Micronas Gmbh | Verfahren und Schaltungsanordnung zur SHA1- und SHA256-Signatur Generierung |
JP2010128392A (ja) * | 2008-11-28 | 2010-06-10 | Canon Inc | ハッシュ処理装置及びその方法 |
US20110055582A1 (en) * | 2009-08-31 | 2011-03-03 | Apple Inc. | Hash function using a domino game process |
US8923293B2 (en) | 2009-10-21 | 2014-12-30 | Palo Alto Research Center Incorporated | Adaptive multi-interface use for content networking |
CN101894229A (zh) * | 2010-06-30 | 2010-11-24 | 华南理工大学 | 一种兼容三种sha标准的装置及其实现方法 |
US8874933B2 (en) * | 2012-09-28 | 2014-10-28 | Intel Corporation | Instruction set for SHA1 round processing on 128-bit data paths |
US10098051B2 (en) | 2014-01-22 | 2018-10-09 | Cisco Technology, Inc. | Gateways and routing in software-defined manets |
US9954678B2 (en) | 2014-02-06 | 2018-04-24 | Cisco Technology, Inc. | Content-based transport security |
US9836540B2 (en) | 2014-03-04 | 2017-12-05 | Cisco Technology, Inc. | System and method for direct storage access in a content-centric network |
US9626413B2 (en) | 2014-03-10 | 2017-04-18 | Cisco Systems, Inc. | System and method for ranking content popularity in a content-centric network |
US9473405B2 (en) * | 2014-03-10 | 2016-10-18 | Palo Alto Research Center Incorporated | Concurrent hashes and sub-hashes on data streams |
US9716622B2 (en) | 2014-04-01 | 2017-07-25 | Cisco Technology, Inc. | System and method for dynamic name configuration in content-centric networks |
US9473576B2 (en) | 2014-04-07 | 2016-10-18 | Palo Alto Research Center Incorporated | Service discovery using collection synchronization with exact names |
US9992281B2 (en) | 2014-05-01 | 2018-06-05 | Cisco Technology, Inc. | Accountable content stores for information centric networks |
US9609014B2 (en) | 2014-05-22 | 2017-03-28 | Cisco Systems, Inc. | Method and apparatus for preventing insertion of malicious content at a named data network router |
US9699198B2 (en) | 2014-07-07 | 2017-07-04 | Cisco Technology, Inc. | System and method for parallel secure content bootstrapping in content-centric networks |
US9621354B2 (en) | 2014-07-17 | 2017-04-11 | Cisco Systems, Inc. | Reconstructable content objects |
US9729616B2 (en) | 2014-07-18 | 2017-08-08 | Cisco Technology, Inc. | Reputation-based strategy for forwarding and responding to interests over a content centric network |
US9590887B2 (en) | 2014-07-18 | 2017-03-07 | Cisco Systems, Inc. | Method and system for keeping interest alive in a content centric network |
US9882964B2 (en) | 2014-08-08 | 2018-01-30 | Cisco Technology, Inc. | Explicit strategy feedback in name-based forwarding |
US9729662B2 (en) | 2014-08-11 | 2017-08-08 | Cisco Technology, Inc. | Probabilistic lazy-forwarding technique without validation in a content centric network |
US9800637B2 (en) | 2014-08-19 | 2017-10-24 | Cisco Technology, Inc. | System and method for all-in-one content stream in content-centric networks |
US20170300875A1 (en) * | 2014-09-23 | 2017-10-19 | Spondoolies Tech Ltd. | Method and system for reducing power consumption in bitcoin mining via data input hopping |
US10069933B2 (en) | 2014-10-23 | 2018-09-04 | Cisco Technology, Inc. | System and method for creating virtual interfaces based on network characteristics |
US9960909B2 (en) | 2014-12-08 | 2018-05-01 | Open-Silicon Inc. | High speed and low power hashing system and method |
US9590948B2 (en) | 2014-12-15 | 2017-03-07 | Cisco Systems, Inc. | CCN routing using hardware-assisted hash tables |
US10237189B2 (en) | 2014-12-16 | 2019-03-19 | Cisco Technology, Inc. | System and method for distance-based interest forwarding |
US10003520B2 (en) | 2014-12-22 | 2018-06-19 | Cisco Technology, Inc. | System and method for efficient name-based content routing using link-state information in information-centric networks |
US9660825B2 (en) | 2014-12-24 | 2017-05-23 | Cisco Technology, Inc. | System and method for multi-source multicasting in content-centric networks |
US9916457B2 (en) | 2015-01-12 | 2018-03-13 | Cisco Technology, Inc. | Decoupled name security binding for CCN objects |
US9832291B2 (en) | 2015-01-12 | 2017-11-28 | Cisco Technology, Inc. | Auto-configurable transport stack |
US9946743B2 (en) | 2015-01-12 | 2018-04-17 | Cisco Technology, Inc. | Order encoded manifests in a content centric network |
US9954795B2 (en) | 2015-01-12 | 2018-04-24 | Cisco Technology, Inc. | Resource allocation using CCN manifests |
US10333840B2 (en) | 2015-02-06 | 2019-06-25 | Cisco Technology, Inc. | System and method for on-demand content exchange with adaptive naming in information-centric networks |
US10075401B2 (en) | 2015-03-18 | 2018-09-11 | Cisco Technology, Inc. | Pending interest table behavior |
US10075402B2 (en) | 2015-06-24 | 2018-09-11 | Cisco Technology, Inc. | Flexible command and control in content centric networks |
US10701038B2 (en) | 2015-07-27 | 2020-06-30 | Cisco Technology, Inc. | Content negotiation in a content centric network |
US9986034B2 (en) | 2015-08-03 | 2018-05-29 | Cisco Technology, Inc. | Transferring state in content centric network stacks |
US9832123B2 (en) | 2015-09-11 | 2017-11-28 | Cisco Technology, Inc. | Network named fragments in a content centric network |
US10355999B2 (en) | 2015-09-23 | 2019-07-16 | Cisco Technology, Inc. | Flow control with network named fragments |
US9977809B2 (en) | 2015-09-24 | 2018-05-22 | Cisco Technology, Inc. | Information and data framework in a content centric network |
US10313227B2 (en) | 2015-09-24 | 2019-06-04 | Cisco Technology, Inc. | System and method for eliminating undetected interest looping in information-centric networks |
US10454820B2 (en) | 2015-09-29 | 2019-10-22 | Cisco Technology, Inc. | System and method for stateless information-centric networking |
US10263965B2 (en) | 2015-10-16 | 2019-04-16 | Cisco Technology, Inc. | Encrypted CCNx |
US10020934B2 (en) * | 2015-11-05 | 2018-07-10 | Intel Corporation | Hardware accelerator for cryptographic hash operations |
US9912776B2 (en) | 2015-12-02 | 2018-03-06 | Cisco Technology, Inc. | Explicit content deletion commands in a content centric network |
US10097346B2 (en) | 2015-12-09 | 2018-10-09 | Cisco Technology, Inc. | Key catalogs in a content centric network |
US10257271B2 (en) | 2016-01-11 | 2019-04-09 | Cisco Technology, Inc. | Chandra-Toueg consensus in a content centric network |
US10305864B2 (en) | 2016-01-25 | 2019-05-28 | Cisco Technology, Inc. | Method and system for interest encryption in a content centric network |
US10043016B2 (en) | 2016-02-29 | 2018-08-07 | Cisco Technology, Inc. | Method and system for name encryption agreement in a content centric network |
US10742596B2 (en) | 2016-03-04 | 2020-08-11 | Cisco Technology, Inc. | Method and system for reducing a collision probability of hash-based names using a publisher identifier |
US10003507B2 (en) | 2016-03-04 | 2018-06-19 | Cisco Technology, Inc. | Transport session state protocol |
US10038633B2 (en) | 2016-03-04 | 2018-07-31 | Cisco Technology, Inc. | Protocol to query for historical network information in a content centric network |
US10051071B2 (en) | 2016-03-04 | 2018-08-14 | Cisco Technology, Inc. | Method and system for collecting historical network information in a content centric network |
US9832116B2 (en) | 2016-03-14 | 2017-11-28 | Cisco Technology, Inc. | Adjusting entries in a forwarding information base in a content centric network |
US10212196B2 (en) | 2016-03-16 | 2019-02-19 | Cisco Technology, Inc. | Interface discovery and authentication in a name-based network |
US11436656B2 (en) | 2016-03-18 | 2022-09-06 | Palo Alto Research Center Incorporated | System and method for a real-time egocentric collaborative filter on large datasets |
US10067948B2 (en) | 2016-03-18 | 2018-09-04 | Cisco Technology, Inc. | Data deduping in content centric networking manifests |
US10091330B2 (en) | 2016-03-23 | 2018-10-02 | Cisco Technology, Inc. | Interest scheduling by an information and data framework in a content centric network |
US10033639B2 (en) | 2016-03-25 | 2018-07-24 | Cisco Technology, Inc. | System and method for routing packets in a content centric network using anonymous datagrams |
US10320760B2 (en) | 2016-04-01 | 2019-06-11 | Cisco Technology, Inc. | Method and system for mutating and caching content in a content centric network |
US9930146B2 (en) | 2016-04-04 | 2018-03-27 | Cisco Technology, Inc. | System and method for compressing content centric networking messages |
US10425503B2 (en) | 2016-04-07 | 2019-09-24 | Cisco Technology, Inc. | Shared pending interest table in a content centric network |
US10027578B2 (en) | 2016-04-11 | 2018-07-17 | Cisco Technology, Inc. | Method and system for routable prefix queries in a content centric network |
US10404450B2 (en) | 2016-05-02 | 2019-09-03 | Cisco Technology, Inc. | Schematized access control in a content centric network |
US10320675B2 (en) | 2016-05-04 | 2019-06-11 | Cisco Technology, Inc. | System and method for routing packets in a stateless content centric network |
US10547589B2 (en) | 2016-05-09 | 2020-01-28 | Cisco Technology, Inc. | System for implementing a small computer systems interface protocol over a content centric network |
US10063414B2 (en) | 2016-05-13 | 2018-08-28 | Cisco Technology, Inc. | Updating a transport stack in a content centric network |
US10084764B2 (en) | 2016-05-13 | 2018-09-25 | Cisco Technology, Inc. | System for a secure encryption proxy in a content centric network |
US10103989B2 (en) | 2016-06-13 | 2018-10-16 | Cisco Technology, Inc. | Content object return messages in a content centric network |
US10305865B2 (en) | 2016-06-21 | 2019-05-28 | Cisco Technology, Inc. | Permutation-based content encryption with manifests in a content centric network |
US10148572B2 (en) | 2016-06-27 | 2018-12-04 | Cisco Technology, Inc. | Method and system for interest groups in a content centric network |
US10142098B2 (en) | 2016-06-29 | 2018-11-27 | Intel Corporation | Optimized SHA-256 datapath for energy-efficient high-performance Bitcoin mining |
US20180004242A1 (en) * | 2016-06-29 | 2018-01-04 | Intel Corporation | Low clock-energy 3-phase latch-based clocking scheme |
US10313108B2 (en) | 2016-06-29 | 2019-06-04 | Intel Corporation | Energy-efficient bitcoin mining hardware accelerators |
US10009266B2 (en) | 2016-07-05 | 2018-06-26 | Cisco Technology, Inc. | Method and system for reference counted pending interest tables in a content centric network |
US9992097B2 (en) | 2016-07-11 | 2018-06-05 | Cisco Technology, Inc. | System and method for piggybacking routing information in interests in a content centric network |
US10122624B2 (en) | 2016-07-25 | 2018-11-06 | Cisco Technology, Inc. | System and method for ephemeral entries in a forwarding information base in a content centric network |
US10069729B2 (en) | 2016-08-08 | 2018-09-04 | Cisco Technology, Inc. | System and method for throttling traffic based on a forwarding information base in a content centric network |
US10956412B2 (en) | 2016-08-09 | 2021-03-23 | Cisco Technology, Inc. | Method and system for conjunctive normal form attribute matching in a content centric network |
US10033642B2 (en) | 2016-09-19 | 2018-07-24 | Cisco Technology, Inc. | System and method for making optimal routing decisions based on device-specific parameters in a content centric network |
US10212248B2 (en) | 2016-10-03 | 2019-02-19 | Cisco Technology, Inc. | Cache management on high availability routers in a content centric network |
US10447805B2 (en) | 2016-10-10 | 2019-10-15 | Cisco Technology, Inc. | Distributed consensus in a content centric network |
US10135948B2 (en) | 2016-10-31 | 2018-11-20 | Cisco Technology, Inc. | System and method for process migration in a content centric network |
US10243851B2 (en) | 2016-11-21 | 2019-03-26 | Cisco Technology, Inc. | System and method for forwarder connection information in a content centric network |
CN111600699A (zh) * | 2020-06-17 | 2020-08-28 | 深圳比特微电子科技有限公司 | 用于实现散列算法的电路和方法 |
GB2602243B (en) * | 2020-10-08 | 2023-04-19 | Metaswitch Networks Ltd | Processing and storing data using a hash table data structure |
CN114648319A (zh) * | 2020-12-18 | 2022-06-21 | 深圳比特微电子科技有限公司 | 执行哈希算法的电路、计算芯片、加密货币矿机和方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002072879A (ja) * | 2000-08-28 | 2002-03-12 | Matsushita Electric Works Ltd | ハッシュ関数処理装置 |
US7142669B2 (en) * | 2000-11-29 | 2006-11-28 | Freescale Semiconductor, Inc. | Circuit for generating hash values |
US7299355B2 (en) * | 2001-01-12 | 2007-11-20 | Broadcom Corporation | Fast SHA1 implementation |
JP4206205B2 (ja) | 2001-03-26 | 2009-01-07 | 株式会社日立製作所 | Sha演算の高速演算回路 |
JP2003271057A (ja) | 2002-03-18 | 2003-09-25 | Toshiba Corp | ハッシュ関数演算プログラム及び装置 |
JP3921424B2 (ja) * | 2002-07-17 | 2007-05-30 | 富士通株式会社 | ハッシュ関数処理回路 |
JP2004078053A (ja) * | 2002-08-22 | 2004-03-11 | Sony Corp | 暗号化装置 |
JP2004240298A (ja) | 2003-02-07 | 2004-08-26 | Matsushita Electric Ind Co Ltd | ハッシュ関数処理装置 |
TWI238636B (en) * | 2003-06-19 | 2005-08-21 | Yen-Fu Liu | Operation device and method of fast secure hash algorithm |
US7921300B2 (en) * | 2003-10-10 | 2011-04-05 | Via Technologies, Inc. | Apparatus and method for secure hash algorithm |
KR20050065976A (ko) * | 2003-12-26 | 2005-06-30 | 한국전자통신연구원 | Sha-1 해쉬값 연산 장치 및 방법 |
CN100521600C (zh) * | 2005-12-26 | 2009-07-29 | 上海洲信信息技术有限公司 | 保证电子邮件安全的实现方法 |
-
2006
- 2006-11-08 JP JP2006302202A patent/JP4308840B2/ja active Active
-
2007
- 2007-10-16 CN CN2007101625217A patent/CN101178861B/zh not_active Expired - Fee Related
- 2007-10-17 US US11/873,496 patent/US7962753B2/en not_active Expired - Fee Related
- 2007-10-19 KR KR1020070105408A patent/KR101389034B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010041307A1 (ja) * | 2008-10-07 | 2010-04-15 | 富士通株式会社 | 暗号化装置 |
JP5198572B2 (ja) * | 2008-10-07 | 2013-05-15 | 富士通株式会社 | 暗号化装置 |
Also Published As
Publication number | Publication date |
---|---|
JP4308840B2 (ja) | 2009-08-05 |
US20080107259A1 (en) | 2008-05-08 |
CN101178861A (zh) | 2008-05-14 |
KR101389034B1 (ko) | 2014-04-28 |
US7962753B2 (en) | 2011-06-14 |
KR20080041990A (ko) | 2008-05-14 |
CN101178861B (zh) | 2011-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4308840B2 (ja) | Sha演算方法およびsha演算装置 | |
US7702100B2 (en) | Key generation for advanced encryption standard (AES) Decryption and the like | |
Kaps et al. | Energy comparison of AES and SHA-1 for ubiquitous computing | |
JP4740611B2 (ja) | 可変キー長を有する初期ラウンドキーに対応する暗号ラウンドキーと復号ラウンドキーとを選択的に発生させるキースケジュラ | |
CN112422272B (zh) | 一种防功耗攻击的aes加密方法及电路 | |
US20100254530A1 (en) | block cipher algorithm based encryption processing method | |
CN116488794B (zh) | 基于fpga的高速sm4密码模组实现方法及装置 | |
Luo et al. | Design and implementation of area-optimized AES based on FPGA | |
CN111488627A (zh) | 一种安全散列算法的消息拓展电路 | |
WO2012132621A1 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
Noor et al. | Resource shared galois field computation for energy efficient AES/CRC in IoT applications | |
CN112350819B (zh) | 一种全流水线sms4加解密方法及系统 | |
CN111478766A (zh) | 一种分组密码meg实现方法、装置及存储介质 | |
JP2003098959A (ja) | 暗号処理装置 | |
Cao et al. | Application-oriented SHA-256 hardware design for low-cost RFID | |
CN112054889B (zh) | 消息认证码的生成方法及生成装置、计算机可读存储介质 | |
US9031230B2 (en) | Encryption processing device, encryption processing method, and program | |
Ahmadi et al. | Improved guess and determine attack on SOSEMANUK | |
JP2010107947A (ja) | Shaアルゴリズム基盤のメッセージスケジュール演算方法、メッセージ圧縮演算方法及びこれを行う暗号装置 | |
Lam et al. | Implementation of lightweight cryptography core PRESENT and DM-PRESENT on FPGA | |
Dhanuskodi et al. | An improved clocking methodology for energy efficient low area AES architectures using register renaming | |
KR20060014420A (ko) | 암호화/암호 해독용 장치, 메모리 요구량 감소 방법 및컴퓨터 프로그램 제품 | |
Ge et al. | Ultra-low power and high speed design and implementation of AES and SHA1 hardware cores in 65 nanometer CMOS technology | |
Jenny et al. | Benchmarking and Optimizing AES for Lightweight Cryptography on ASICs | |
CN115834044A (zh) | 一种数据加解密系统、数据加密方法及数据解密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080811 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20081218 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090210 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090403 |
|
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: 20090428 |
|
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: 20090501 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4308840 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: 20120515 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130515 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140515 Year of fee payment: 5 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |