JP4790541B2 - ハッシュ関数回路及びその演算方法 - Google Patents
ハッシュ関数回路及びその演算方法 Download PDFInfo
- Publication number
- JP4790541B2 JP4790541B2 JP2006229505A JP2006229505A JP4790541B2 JP 4790541 B2 JP4790541 B2 JP 4790541B2 JP 2006229505 A JP2006229505 A JP 2006229505A JP 2006229505 A JP2006229505 A JP 2006229505A JP 4790541 B2 JP4790541 B2 JP 4790541B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- register
- shift
- sub
- circuit
- 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.)
- Expired - Fee Related
Links
Images
Description
ハッシュ関数をベースとした暗号アルゴリズムを用いる例としては、RFIDのプライバシー問題保護を目的としたハッシュチェーン方式〔非特許文献1〕等があげられる。
ブロック暗号器10は、中間鍵生成部20、副鍵生成部30、暗号処理部40から構成される。
中間鍵生成部20の構成例を図12に示す。中間鍵生成部20ではデータを非線形変換する非線形データ変換部21が4段縦続接続されており、初期鍵KL0が入力されると2段の非線形変換を受けた後、初期鍵KL0と排他的論理和がとられ、更に2段の非線形変換を受け、中間鍵KA0を出力する。
セレクタ31は、中間鍵KA0又は初期鍵KLO又はシフトセレクタ33から出力された鍵データKA又はKLが入力され、副鍵制御部35から入力される制御信号により、KA0及びKAはレジスタ32に、KLO及びKLはレジスタ36に選択出力する。
レジスタ32は、KA0又はKAが入力・格納され、副鍵制御部35から入力される制御信号により、格納データを出力する。
レジスタ33は、KLO及びKLが入力・格納され、副鍵制御部35から入力される制御信号により、格納データを出力する。
上記初期鍵は各ビット値が全て同一値であり、中間鍵が初期値としてレジスタに格納され、このレジスタに格納された鍵データを第1所定ビット数又は第2所定ビット数だけ循環シフトしたいずれかの状態をシフトセレクタから取り出して上記レジスタに格納し、このレジスタ内の鍵データ又は上記初期鍵を上記副鍵とした選択して論理回路より出力し、副鍵生成部の副鍵生成アルゴリズムに従って、上記シフトセレクタに対する選択制御と上記論理回路に対する選択/出力制御とを副鍵制御部で行う。
図1は、本発明のハッシュ関数回路100の構成例を示す図である。
ハッシュ関数回路100は、ブロック暗号器110とXOR(排他的論理和)回路60から構成される。
ブロック暗号器110は、中間鍵生成部20、副鍵生成部300、暗号処理部40から構成される。中間鍵生成部20及び暗号処理部40は図11に示した従来技術と同じ構成である。そこで、図1の中で図11と対応する部分については同一参照番号を付け、説明は省略する。その他の図面についても同様とする。
ただし、この発明においては中間鍵生成部20に入力される初期鍵KL0はオール0又はオール1に固定されている。
以下に図11と異なる副鍵生成部300について説明する。
セレクタ310は、中間鍵KA0又はシフトセレクタ33から出力された鍵データKAが入力され、副鍵制御部350から入力される制御信号により、レジスタ32に出力する。
論理回路340は、鍵データKA0又はKAが入力され、副鍵制御部350から入力される制御信号Sの論理値に応じ、KA0又はKA若しくはオール0又はオール1のいずれかを副鍵として出力する。
論理回路340は、初期鍵KL0をオール0とする場合にはAND回路で構成し、このAND回路に制御信号Sとレジスタ32の出力とが入力される。従って、この論理回路340としてのAND回路からは、制御信号Sが0の時、オール0の副鍵が出力し、制御信号Sが1の時、KA0又はKAが副鍵として出力する。また、初期鍵KL0をオール1とする場合にはOR回路で構成し、このOR回路に制御信号Sとレジスタ32の出力とが入力される。従って、この論理回路340としてのOR回路からは、制御信号Sが0の時、KA0又はKAが副鍵として出力し、Sが1の時、オール1の副鍵が出力する。
副鍵制御部350は副鍵生成アルゴリズムに従って、セレクタ310、レジスタ32、シフトセレクタ33、論理回路340における入出力制御や選択制御を行う。
図4は、本発明の第2実施形態によるハッシュ関数回路101の構成例を示す図である。
ハッシュ関数回路101は、ブロック暗号器111とXOR(排他的論理和)回路60から構成される。
ブロック暗号器111は、中間鍵生成部20、副鍵生成部301、暗号処理部40から構成される。副鍵生成部30が副鍵生成部301に置き換わった以外は図11に示した従来技術と同じ構成である。なお、中間鍵生成部20で使用する初期鍵KL0はオール0又はオール1の固定値が用いられ、いずれの値を使用するかは副鍵制御部351からの制御信号により制御される。
副鍵生成部301は、セレクタ310、レジスタ32、シフトセレクタ33、論理回路341及び副鍵制御部351から構成される。
《初期鍵KL0=オール0の場合》
初期鍵KL0=オール0としてハッシュ関数回路101を使用する場合の、副鍵生成アルゴリズムによる副鍵生成部301での副鍵生成フローを図6及び図7に示す。副鍵制御部351に初期鍵KL0=オール0とする初期鍵選択指示を入力すると、副鍵制御部351からの制御信号により中間鍵生成部20の初期鍵KL0がオール0に設定される。セレクタ310を介して、レジスタ32に初期鍵KL0=オール0として図12の演算により求められた中間鍵KA0が格納される(S1)。論理回路341に第1制御信号S1=0、第2制御信号S2=0が入力され、オール0が暗号処理部40に副鍵kw1、kw2として出力される(S2)。論理回路341に第1制御信号S1=1、第2制御信号S2=0が入力され、KA0が暗号処理部40に副鍵k1、k2として出力される(S3)と共に、KA0がシフトセレクタ33に入力されて15ビット左循環シフトされ(S4)、シフト後の鍵データKAがセレクタ310を介してレジスタ32に上書き格納される(KAは15ビットシフトしている)(S5)。論理回路341に第1制御信号S1=0、第2制御信号S2=0が入力され、オール0が暗号処理部40に副鍵k3、k4として出力される(S6)。論理回路341に制御信号第1制御信号S1=1、第2制御信号S2=0が入力され、KAが暗号処理部40に副鍵k5、k6として出力される(S7)と共に、KAがシフトセレクタ33に入力されて15ビット左循環シフトされ(S8)、シフト後の鍵データKAがセレクタ310を介してレジスタ32に上書き格納される(KAは30ビットシフトしている)(S9)。論理回路341に第1制御信号S1=1、第2制御信号S2=0が入力され、KAが暗号処理部40に副鍵kl1、kl2として出力される(S10)と共に、KAがシフトセレクタ33に入力されて15ビット左循環シフトされ(S11)、シフト後の鍵データKAがセレクタ310を介してレジスタ32に上書き格納される(KAは45ビットシフトしている)(S12)。論理回路341に第1制御信号S1=0、第2制御信号S2=0が入力され、オール0が暗号処理部40に副鍵k7、k8として出力される(S13)。論理回路341に第1制御信号S1=1、第2制御信号S2=0が入力され、KAの上位64ビットが暗号処理部40に副鍵k9として出力される(S14)と共に、KAがシフトセレクタ33に入力されて15ビット左循環シフトされ(S15)、シフト後の鍵データKAがセレクタ310を介してレジスタ32に上書き格納される(KAは60ビットシフトしている)(S16)。論理回路341に第1制御信号S1=0、第2制御信号S2=0が入力され、オール0が暗号処理部40に副鍵k10として出力される(S17)。論理回路341に第1制御信号S1=1、第2制御信号S2=0が入力され、KAが暗号処理部40に副鍵k11、k12として出力される(S18)と共に、KAがシフトセレクタ33に入力されて17ビット左循環シフトされ(S19)、シフト後の鍵データKAがセレクタ310を介してレジスタ32に上書き格納される(KAは77ビットシフトしている)(S20)。論理回路341に第1制御信号S1=0、第2制御信号S2=0が入力され、オール0が暗号処理部40に副鍵kl3、kl4として出力される(S21)。KAがシフトセレクタ33に入力されて17ビット左循環シフトされ(S22)、シフト後の鍵データKAがセレクタ310を介してレジスタ32に上書き格納される(KAは94ビットシフトしている)(S23)。論理回路341に第1制御信号S1=0、第2制御信号S2=0が入力され、オール0が暗号処理部40に副鍵k13、k14として出力される(S24)。論理回路341に第1制御信号S1=1、第2制御信号S2=0が入力され、KAが暗号処理部40に副鍵k15、k16として出力される(S25)と共に、KAがシフトセレクタ33に入力されて17ビット左循環シフトされ(S26)、シフト後の鍵データKAがセレクタ310を介してレジスタ32に上書き格納される(KAは111ビットシフトしている)(S27)。論理回路341に第1制御信号S1=0、第2制御信号S2=0が入力され、オール0が暗号処理部40に副鍵k17、k18として出力される(S28)。論理回路341に第1制御信号S1=1、第2制御信号S2=0が入力され、KAが暗号処理部40に副鍵kw3、kw4として出力され(S29)、と共に、KAがシフトセレクタ33に入力されて17ビット左循環シフトされ(S30)、シフト後の鍵データKAがセレクタ310を介してレジスタ32に上書き格納される(KAは128ビットシフトしている)(S31)。最後にレジスタ32が初期化される(S32)。
《初期鍵KL0=オール1の場合》
この場合は、副鍵としてオール1を出力する時には、第1制御信号S1が0、第2制御信号S2が1となる以外は、KL0=オール0の場合と同様な副鍵生成アルゴリズムにより副鍵が生成される。
図8は、本発明の第3実施形態のハッシュ関数回路102の構成例を示す図である。
ハッシュ関数回路102は、ブロック暗号器112とXOR(排他的論理和)回路60から構成される。
ブロック暗号器112は、中間鍵生成部20、副鍵生成部302、暗号処理部40から構成される。中間鍵生成部20及び暗号処理部40は図11に示した従来技術と同じ構成である。
以下に図11と異なる副鍵生成部302について説明する。
シフトセレクタ330は、第1シフトレジスタ331、第2シフトレジスタ332、選択回路333から構成される。
第1シフトレジスタ331は、レジスタ32に格納された鍵データKA0又はKAが入力され、そのデータを第1所定ビット数だけ循環シフトして格納する。
第2シフトレジスタ332は、レジスタ32に格納された鍵データKA0又はKAが入力され、そのデータを第2所定ビット数だけ循環シフトして格納する。
選択回路333は、副鍵制御部350から入力される制御信号により、第1シフトレジスタ331又は第2シフトレジスタ332のいずれかを選択し、選択したシフトレジスタに格納されたデータを出力する。
Claims (8)
- 初期鍵が入力され、中間鍵を生成する中間鍵生成部と、
上記初期鍵と中間鍵が入力され、複数の副鍵を生成する副鍵生成部と、
上記副鍵によりデータを非線形変換する非線形データ変換部が多段接続された暗号処理部と、
を具備するブロック暗号器を用いて、PGV構成法により、入力された初期鍵とメッセージに基づき、そのメッセージに対しハッシュ関数演算を行うハッシュ関数回路において、
上記初期鍵は、各ビットが全て同一値であり、
上記副鍵生成部は、
上記中間鍵が初期値として格納されるレジスタと、
上記レジスタに格納された鍵データを、第1所定ビット数又は第2所定ビット数だけ循環シフトしたいずれかの状態を取り出して、上記レジスタに格納するシフトセレクタと、
上記レジスタ内の鍵データ又は上記初期鍵を、上記副鍵として選択出力する論理回路と、
上記副鍵生成部の副鍵生成アルゴリズムに従って、上記シフトセレクタに対する選択制御と上記論理回路に対する選択出力制御を行う副鍵制御部と、
を備える
ことを特徴とするハッシュ関数回路。 - 請求項1に記載の回路において、
上記論理回路は、上記レジスタに格納された鍵データと上記副鍵制御部より与えられる論理値0又は1との論理演算を行う回路で構成されていることを特徴とするハッシュ関数回路。 - 請求項1に記載の回路において、
上記論理回路は、
上記レジスタ内の鍵データと上記副鍵制御部より与えられる第1制御信号とが入力され、これらの論理積を出力するAND回路と、
上記AND回路の出力と上記副鍵制御部より与えられる第2制御信号とが入力され、これらの論理和を出力するOR回路と、
を備えていることを特徴とするハッシュ関数回路。 - 請求項1に記載の回路において、
上記シフトセレクタは、
上記レジスタに格納された鍵データを、第1所定ビット数だけ循環シフトする第1シフトレジスタと、
上記レジスタに格納された鍵データを、第2所定ビット数だけ循環シフトする第2シフトレジスタと、
上記第1シフトレジスタに格納された鍵データと上記第2シフトレジスタに格納された鍵データのいずれかを上記副鍵制御部により選択して上記レジスタに格納する選択回路と、
を備えることを特徴とするハッシュ関数回路。 - 初期鍵から中間鍵を生成する中間鍵生成部と、
上記初期鍵と上記中間鍵を用いて複数の副鍵を生成する副鍵生成部と、
上記副鍵によりデータを非線形変換する非線形データ変換部が多段接続された暗号処理部と、
を具備するブロック暗号器を用いて、PGV構成法により、入力されたメッセージに対しハッシュ関数演算を行うハッシュ関数演算方法において、
上記初期鍵は、各ビットが全て同一値であり、
上記副鍵生成部の副鍵制御部が、上記中間鍵を初期値として上記副鍵生成部のレジスタに格納する過程と、
上記副鍵生成部のシフトセレクタが、上記レジスタに格納された鍵データを、第1所定ビット数又は第2所定ビット数だけ循環シフトしたいずれかの状態を取り出して、上記レジスタに格納する鍵データシフト過程と、
上記副鍵生成部の論理回路が、上記レジスタ内の鍵データ又は上記初期鍵を、上記副鍵として選択出力する過程と、
上記副鍵制御部が、上記副鍵生成部の副鍵生成アルゴリズムに従って、上記シフトセレクタに対する選択制御と上記論理回路に対する選択出力制御を行う過程と、
を有することを特徴とするハッシュ関数演算方法。 - 請求項5に記載の演算方法において、
上記論理回路が、上記レジスタに格納された鍵データと上記副鍵制御部より与えられる論理値0又は1との論理演算を行うことを特徴とするハッシュ関数演算方法。 - 請求項5に記載の演算方法において、
上記論理回路が、上記レジスタ内の鍵データと上記副鍵制御部より与えられる第1制御信号との論理積を演算し、この演算結果と上記副鍵制御部より与えられる第2制御信号との論理和を演算することを特徴とするハッシュ関数演算方法。 - 請求項5に記載の演算方法において、
上記鍵データシフト過程は、
上記シフトセレクタの第1シフトレジスタが、上記レジスタに格納された鍵データを第1所定ビット数だけ循環シフトする過程と、
上記シフトセレクタの第2シフトレジスタが、上記レジスタに格納された鍵データを第2所定ビット数だけ循環シフトする過程と、
上記シフトセレクタの選択回路が、上記第1シフトレジスタに格納された鍵データと上記第2シフトレジスタに格納された鍵データのいずれかを上記副鍵制御部により選択して上記レジスタに格納する過程と、
を有することを特徴とするハッシュ関数演算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006229505A JP4790541B2 (ja) | 2006-08-25 | 2006-08-25 | ハッシュ関数回路及びその演算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006229505A JP4790541B2 (ja) | 2006-08-25 | 2006-08-25 | ハッシュ関数回路及びその演算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008052130A JP2008052130A (ja) | 2008-03-06 |
JP4790541B2 true JP4790541B2 (ja) | 2011-10-12 |
Family
ID=39236222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006229505A Expired - Fee Related JP4790541B2 (ja) | 2006-08-25 | 2006-08-25 | ハッシュ関数回路及びその演算方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4790541B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101445339B1 (ko) | 2010-12-23 | 2014-10-01 | 한국전자통신연구원 | 기밀성과 무결성을 제공하는 통합 암호화 장치 및 그 방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000066586A (ja) * | 1998-08-24 | 2000-03-03 | Toshiba Corp | データ処理装置及び通信システム並びに記録媒体 |
JP3389210B2 (ja) * | 1999-08-31 | 2003-03-24 | 松下電器産業株式会社 | 拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記憶媒体 |
JP4128395B2 (ja) * | 2002-05-23 | 2008-07-30 | 三菱電機株式会社 | データ変換装置 |
-
2006
- 2006-08-25 JP JP2006229505A patent/JP4790541B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008052130A (ja) | 2008-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU767323B2 (en) | Block encryption device using auxiliary conversion | |
JP6406350B2 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
KR100435052B1 (ko) | 암호화장치 | |
EP3123656B1 (en) | Encryption processing device, encryption processing method, and program | |
EP2016524B1 (en) | Robust cipher design | |
US8515059B2 (en) | Cryptographic processor with dynamic update of encryption state | |
US20100257373A1 (en) | Cryptographic processor and ic card | |
US6732271B1 (en) | Method of deciphering ciphered data and apparatus for same | |
WO2015146430A1 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
US6466669B1 (en) | Cipher processor, IC card and cipher processing method | |
US20060171532A1 (en) | Encryption Processing Circuit | |
EP1059760A1 (en) | Method for the block-encryption of discrete data | |
JP4790541B2 (ja) | ハッシュ関数回路及びその演算方法 | |
WO2012141189A1 (ja) | 暗号化方法、暗号化装置および暗号化プログラム | |
JP2002510058A (ja) | 2進データ・ブロックの暗号変換のための方法 | |
JPH1124558A (ja) | 暗号装置 | |
WO2015146432A1 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
Hamzah et al. | AES S-Box/Inv S-Box Optimization Using FPGA Implementation | |
JP2008107656A (ja) | 暗号化装置及び認証装置 | |
JP6292107B2 (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
Gael et al. | FPGAs as cryptanalytic tools | |
KR20010109626A (ko) | 3중 데이터 암호화 표준 아키텍쳐를 구현한 암호화 장치 | |
KR20050116484A (ko) | f8 암호화 알고리즘 수행 장치 및 그 방법 | |
KR20030090870A (ko) | 레이아웃 면적을 감소시킨 safer+ 알고리즘을이용한 암호화장치 및 방법 | |
KR20070078496A (ko) | 무선통신에서의 암호화 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080804 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110510 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110621 |
|
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: 20110712 |
|
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: 20110720 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140729 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |