JP2007164589A - Hmac演算回路 - Google Patents

Hmac演算回路 Download PDF

Info

Publication number
JP2007164589A
JP2007164589A JP2005361860A JP2005361860A JP2007164589A JP 2007164589 A JP2007164589 A JP 2007164589A JP 2005361860 A JP2005361860 A JP 2005361860A JP 2005361860 A JP2005361860 A JP 2005361860A JP 2007164589 A JP2007164589 A JP 2007164589A
Authority
JP
Japan
Prior art keywords
circuit
hmac
hash function
hash
data
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.)
Withdrawn
Application number
JP2005361860A
Other languages
English (en)
Inventor
Kanji Takematsu
寛治 竹松
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005361860A priority Critical patent/JP2007164589A/ja
Publication of JP2007164589A publication Critical patent/JP2007164589A/ja
Withdrawn legal-status Critical Current

Links

Abstract

【課題】既存のHMAC演算回路よりも、用途が広いHMAC演算回路を、提供する。
【解決手段】HMAC演算回路10を、入力データと鍵データとからHMAC(ハッシュ関数を用いたメッセージ認証コード)を生成して出力する回路、入力データに対するハッシュ関数回路22或いは23の演算結果(つまり,ハッシュ値)をそのまま出力する回路のいずれとしても機能可能な回路として構成しておく。
【選択図】 図1

Description

本発明は、HMAC(ハッシュ関数を用いたメッセージ認証コード)を生成するためのHMAC演算回路に、関する。
周期のように、近年、情報が改竄されていないことや,情報の送信者/作成者を確認できるようにするために、メッセージ認証コードを用いることが盛んに行わるようになってきている。
メッセージ認証コードとしては、ハッシュ関数を用いたメッセージ認証コード(以下、HMACと表記する),ブロック暗号の計算に基づくメッセージ認証コード等が、知られている。そして、HMACは、データと鍵データとを結合したデータのハッシュ値を,或るアルゴリズム(MD5,SHA−1等)にて求めた後、そのハッシュ値と鍵データとを結合したデータのハッシュ値を,同じアルゴリズムで求めることにより得られる値であるため、HMACを演算するための既存の回路(例えば、特許文献1参照)は、いずれも、図3に示したような構成の回路、すなわち、同じハッシュ関数回路(入力されたデータのハッシュ値をMD5により算出する回路)が,2度,使用されてHMACが算出される回路となっている。
特開2002−162904号公報
本発明の課題は、既存の,HMACを演算するための回路よりも、用途が広いHMAC演算回路を、提供することにある。
上記課題を解決するために、本発明の第1の態様のHMAC演算回路は、データのハッシュ値を求めるためのハッシュ関数回路と、入力されたデータ及び鍵データに応じた内容のメッセージ認証コードを、前記ハッシュ関数回路を利用することにより生成して出力するHMAC生成・出力回路と、入力されたデータのハッシュ値を前記ハッシュ関数回路に生成させて出力するハッシュ値生成・出力回路とを、備える。
このような構成を有する本発明の第1の態様のHMAC演算回路は、HMACを算出するための回路として使用することも、ハッシュ値を算出するための回路としても使用することも可能な回路(つまり、HMACを演算するための既存の回路よりも、用途が広い回路)として機能することになる。従って、このHMAC演算回路を用いれば、例えば、セキュリティ対策のために,HMACとハッシュ値とを利用する情報処理装置(目的によって、HMACとハッシュ値とを使い分ける情報処理装置)を、ハッシュ値を求めるための回路を実装することなく製造できることになる。
また、本発明の第2の態様のHMAC演算回路は、データのハッシュ値を求めるための複数のハッシュ関数回路と、入力されたデータ及び鍵データに応じた内容のメッセージ認証コードを、前記複数のハッシュ関数回路の中の,指定されたハッシュ関数回路を利用することにより生成して出力するHMAC生成・出力回路と、入力されたデータのハッシュ値を、前記複数のハッシュ関数回路の中の,指定された前記ハッシュ関数回路に生成させて出力するハッシュ値生成・出力回路とを、備える。
このような構成を有する本発明の第2の態様のHMAC演算回路は、本発明の第1の態様のHMAC演算回路よりも生成可能なHMAC/ハッシュ値の種類が多い回路として機能することになる。従って、このHMAC演算回路を用いれば、より高機能な情報処理装置を製造できることになる。
また、本発明の第3の態様のHMAC演算回路は、データのハッシュ値を求めるための複数のハッシュ関数回路と、前記複数のハッシュ関数回路と,1系統のバスにより接続された制御回路であって、入力されたデータ及び鍵データに応じた内容のメッセージ認証コードを、前記複数のハッシュ関数回路の中の,指定されたハッシュ関数回路を利用することにより生成して出力する機能と、入力されたデータのハッシュ値を、前記複数のハッシュ関数回路の中の,指定された前記ハッシュ関数回路に生成させて出力する機能とを有する制御回路とを、備える。
すなわち、本発明の第3の態様のHMAC演算回路は、本発明の第2の態様のHMAC演算回路と同機能の回路となっている。ただし、本発明の第3の態様のHMAC演算回路は、各ハッシュ関数回路がバスにより制御回路に接続された回路であるため、このHMAC演算回路は、一度、設計を行っておけば、ハッシュ関数回路の追加等を容易に行える回路となっていると言うことが出来る。
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
《第1実施形態》
図1に示してあるように、本発明の第1実施形態に係るHMAC演算回路10は、第1カウンタ11と,ハッシュ/HMAC切替レジスタ12と,ハッシュ関数切替レジスタ13と,第2カウンタ14と,アンドゲート15と,3つのセレクタ16〜18と,デマルチプレクサ19と,鍵データ加工部20と,データ結合部21と,2つのハッシュ関数回路22及び23とを備えた半導体集積回路である。
このHMAC演算回路10が備えるハッシュ関数回路22は、セレクタ17から入力されたデータのハッシュ値をMD5により算出する回路である。ハッシュ関数回路23は、セレクタ17から入力されたデータのハッシュ値をSHA−1により算出する回路である。鍵データ加工部20は、HMAC演算回路10に入力された鍵データに対して所定の加工を施す回路である。データ結合部21は、鍵データ加工部20によって加工された鍵データと,セレクタ16からのデータとを結合したデータを出力する回路である。
第1カウンタ11は、図から(端子間の接続形態から)明らかなように、“1”(Hレベルの信号)がデータイネーブルとして入力されると、“0”,“1”を,クロック(図示せず)に同期した形で交互に出力する状態となる回路(レジスタを利用したカウンタ)である。この第1カウンタ11の出力は、制御信号としてセレクタ16に入力されている。
セレクタ16は、第1カウンタ11からの制御信号が“0”である場合には、入力データを出力し(データ結合部21に供給し)、第1カウンタ11からの制御信号が“1”である場合には、デマルチプレクサ19からのデータを出力する回路である。
ハッシュ/HMAC切替レジスタ12は、“1”或いは“0”が設定されるレジスタである。このハッシュ/HMAC切替レジスタ12の出力(設定値)は、セレクタ17及びアンドゲート15に入力されている。
セレクタ17は、ハッシュ/HMAC切替レジスタ12に“0”が設定されている場合には、入力データを出力し(ハッシュ関数回路22及び23に供給し)、ハッシュ/HMAC切替レジスタ12に“1”が設定されている場合には、データ結合部21からのデータを出力する回路である。
ハッシュ関数切替レジスタ13は、ハッシュ関数回路22を利用する場合には、“0”が設定され、ハッシュ関数回路23を利用する場合には、“1”が設定されるレジスタである。セレクタ18は、このハッシュ関数切替レジスタ12に“0”が設定されている場合には、ハッシュ関数回路22の出力をデマルチプレクサ19に供給し、ハッシュ関数切替レジスタ12に“1”が設定されている場合には、ハッシュ関数回路23の出力をデマルチプレクサ19に供給する回路である。
第2カウンタ14は、図から明らかなように、“1”がハッシュ関数出力データイネーブルとして入力されると、アンドゲート15に対して、まず、“1”を出力し、その後、“0”を出力する回路である。
デマルチプレクサ19は、アンドゲート15から“1”が入力されている場合(ハッシュ/HMAC切替レジスタ12,第2カウンタ14の出力が,いずれも“1”である場合)には、セレクタ18からのデータをセレクタ16に供給し、アンドゲート19から“0”が入力されている場合には、セレクタ18からのデータを演算結果として出力する回路である。
以上,説明した回路構成から明らかなように、本実施形態に係るHMAC演算回路10は、ハッシュ/HMAC切替レジスタ12に“1”を設定しておいた場合には、入力データと鍵データとからHMACを生成して出力する回路として機能し、ハッシュ/HMAC切替レジスタ12に“0”を設定しておいた場合には、入力データに対するハッシュ関数回路22或いは23の演算結果(つまり,ハッシュ値)をそのまま出力する回路として機能する回路となっている。
従って、このHMAC演算回路10を用いれば、例えば、セキュリティ対策のために,HMACとハッシュ値とを利用する情報処理装置(目的によって、HMACとハッシュ値とを使い分ける情報処理装置)を、ハッシュ値を求めるための回路を実装することなく製造できることになる。
《第2実施形態》
図2に示してあるように、本発明の第2実施形態に係るHMAC演算回路30は、制御回路31と,2つのハッシュ関数回路32,33とが,バスにより接続された構成を有する回路である。
このHMAC演算回路30が備えるハッシュ関数回路32は、ハッシュ関数回路22と同様に、データのハッシュ値をMD5により算出する回路である。また、ハッシュ関数回路33は、ハッシュ関数回路23と同様に、データのハッシュ値をSHA−1により算出する回路である。ただし、ハッシュ関数回路32,33は、バスから入力されたデータに対して,ハッシュ関数による演算を行い、演算結果をバス上に出力する回路となっている。
そして、HMAC演算回路30が備える制御回路31は,バスを介して接続されているハッシュ関数回路32或いは33(外部から指定されている方の回路)を利用することにより、HMAC演算回路30を,HMAC演算回路10と同機能の回路(ハッシュ値とHMACとを出力可能な回路)として動作させることが出来るように設計,製造された回路となっている。
要するに、本実施形態に係るHMAC演算回路30は、HMAC演算回路10と同機能の回路となっている。従って、このHMAC演算回路30を用いても、HMAC演算回路10を用いた場合と同様に、セキュリティ対策のために,HMACとハッシュ値とを利用する情報処理装置を、ハッシュ値を求めるための回路を実装することなく製造できることになる。
また、HMAC演算回路30に採用されている構成は、ハッシュ関数回路を簡単に追加できる構成となっている。従って、このHMAC演算回路30は、一度、設計を行っておけば、ハッシュ関数回路の追加等を容易に行える回路となっていると言うことも出来る。
第1実施形態に係るHMAC演算回路の構成図。 第2実施形態に係るHMAC演算回路の構成図。 従来のHMAC演算回路の構成図。
符号の説明
10,30 HMAC演算回路、 11 第1カウンタ
12 ハッシュ/HMAC切替レジスタ、 13 ハッシュ関数切替レジスタ
14 第2カウンタ、 15 アンドゲート、 16,17,18 セレクタ
19 デマルチプレクサ、 20 鍵データ加工部、 21 データ結合部
22,23,32,33 ハッシュ関数回路、 31 制御回路

Claims (3)

  1. データのハッシュ値を求めるためのハッシュ関数回路と、
    入力されたデータ及び鍵データに応じた内容のメッセージ認証コードを、前記ハッシュ関数回路を利用することにより生成して出力するHMAC生成・出力回路と、
    入力されたデータのハッシュ値を前記ハッシュ関数回路に生成させて出力するハッシュ値生成・出力回路と
    を、備えることを特徴とするHMAC演算回路。
  2. データのハッシュ値を求めるための複数のハッシュ関数回路と、
    入力されたデータ及び鍵データに応じた内容のメッセージ認証コードを、前記複数のハッシュ関数回路の中の,指定されたハッシュ関数回路を利用することにより生成して出力するHMAC生成・出力回路と、
    入力されたデータのハッシュ値を、前記複数のハッシュ関数回路の中の,指定された前記ハッシュ関数回路に生成させて出力するハッシュ値生成・出力回路と
    を、備えることを特徴とするHMAC演算回路。
  3. データのハッシュ値を求めるための複数のハッシュ関数回路と、
    前記複数のハッシュ関数回路と,1系統のバスにより接続された制御回路であって、入力されたデータ及び鍵データに応じた内容のメッセージ認証コードを、前記複数のハッシュ関数回路の中の,指定されたハッシュ関数回路を利用することにより生成して出力する機能と、入力されたデータのハッシュ値を、前記複数のハッシュ関数回路の中の,指定された前記ハッシュ関数回路に生成させて出力する機能とを有する制御回路と
    を、備えることを特徴とするHMAC演算回路。
JP2005361860A 2005-12-15 2005-12-15 Hmac演算回路 Withdrawn JP2007164589A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005361860A JP2007164589A (ja) 2005-12-15 2005-12-15 Hmac演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005361860A JP2007164589A (ja) 2005-12-15 2005-12-15 Hmac演算回路

Publications (1)

Publication Number Publication Date
JP2007164589A true JP2007164589A (ja) 2007-06-28

Family

ID=38247393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005361860A Withdrawn JP2007164589A (ja) 2005-12-15 2005-12-15 Hmac演算回路

Country Status (1)

Country Link
JP (1) JP2007164589A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8578172B2 (en) 2010-06-04 2013-11-05 Kabushiki Kaisha Toshiba Information processing device for obtaining an HMAC
JP2015050596A (ja) * 2013-08-30 2015-03-16 日本電信電話株式会社 トラヒック走査方法および装置
JP2017501637A (ja) * 2014-01-02 2017-01-12 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 署名検証方法、装置、およびシステム
CN115442026A (zh) * 2022-11-07 2022-12-06 苏州浪潮智能科技有限公司 一种hmac算法处理系统、方法、设备及介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8578172B2 (en) 2010-06-04 2013-11-05 Kabushiki Kaisha Toshiba Information processing device for obtaining an HMAC
US8848907B2 (en) 2010-06-04 2014-09-30 Kabushiki Kaisha Toshiba Computer program product and method for processing information to obtain an HMAC
JP2015050596A (ja) * 2013-08-30 2015-03-16 日本電信電話株式会社 トラヒック走査方法および装置
JP2017501637A (ja) * 2014-01-02 2017-01-12 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 署名検証方法、装置、およびシステム
US10915896B2 (en) 2014-01-02 2021-02-09 Tencent Technology (Shenzhen) Company Limited Signature verification method, apparatus, and system
US11854003B2 (en) 2014-01-02 2023-12-26 Tencent Technology (Shenzhen) Company Limited Signature verification method, apparatus, and system
CN115442026A (zh) * 2022-11-07 2022-12-06 苏州浪潮智能科技有限公司 一种hmac算法处理系统、方法、设备及介质

Similar Documents

Publication Publication Date Title
RU2708952C1 (ru) Способ и устройство для обработки запроса услуги
US11757656B2 (en) Efficient post-quantum anonymous attestation with signature-based join protocol and unlimited signatures
TWI249315B (en) A method of confirming a secure key exchange
KR101653121B1 (ko) 통합 시큐리티 장치 및 통합 시큐리티 장치에 이용되는 신호 처리 방법
EP3751781B1 (en) Overhead reduction for link protection
JP2010141430A (ja) 暗号処理装置及び演算方法
US20170141912A1 (en) Method for protecting a computer system from side-channel attacks
CN114154174A (zh) 后量子签名设施的状态同步
WO2019043921A1 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム
CN114662085A (zh) 用于自治系统的后量子安全远程证明
JP2007164589A (ja) Hmac演算回路
KR20120013415A (ko) 리셋 가능한 변조 방지 하드웨어 토큰을 이용한 효과적인 보안 함수 평가 방법
US20150180666A1 (en) Universal hash function computing device, method and program
CN110990896B (zh) 基于sm2白盒的数字签名装置、方法、存储介质及设备
US11985255B2 (en) Data integrity validation via degenerate keys
JP2009169316A (ja) ハッシュ関数演算装置及び署名装置及びプログラム及びハッシュ関数演算方法
JP2012068436A (ja) ハッシュ値演算装置、ハッシュ値演算方法及びハッシュ値演算プログラム
JP2009027472A (ja) 暗号演算装置
CN110474967B (zh) 块链实验系统及方法
JP2009188794A (ja) メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、プログラム、および記録媒体
JP6033504B1 (ja) メッセージ認証子生成装置
JP2005202048A (ja) 暗号通信システム、そのシステムに使用される暗号装置および復号装置、暗号化方法および復号化方法、暗号化プログラムおよび復号化プログラム、ならびに記録媒体
JP2009141407A (ja) メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、プログラム、および記録媒体
Zeh et al. RISC-V cryptographic extension proposals
CN110958115B (zh) 基于sm9白盒的数字签名装置、方法、存储介质及设备

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071121

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071207

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090303