JP4351105B2 - ハッシュ値生成装置及びハッシュ値生成プログラム - Google Patents
ハッシュ値生成装置及びハッシュ値生成プログラム Download PDFInfo
- Publication number
- JP4351105B2 JP4351105B2 JP2004107684A JP2004107684A JP4351105B2 JP 4351105 B2 JP4351105 B2 JP 4351105B2 JP 2004107684 A JP2004107684 A JP 2004107684A JP 2004107684 A JP2004107684 A JP 2004107684A JP 4351105 B2 JP4351105 B2 JP 4351105B2
- Authority
- JP
- Japan
- Prior art keywords
- chaos
- unit
- calculation
- parameter
- hash value
- 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 - Lifetime
Links
- 238000004364 calculation method Methods 0.000 claims description 132
- 238000012545 processing Methods 0.000 claims description 84
- 238000009792 diffusion process Methods 0.000 claims description 44
- 230000000739 chaotic effect Effects 0.000 claims description 37
- 230000006870 function Effects 0.000 claims description 35
- 230000001186 cumulative effect Effects 0.000 claims description 27
- 238000000605 extraction Methods 0.000 claims description 27
- 238000009825 accumulation Methods 0.000 claims description 20
- 239000000284 extract Substances 0.000 claims description 4
- 238000004148 unit process Methods 0.000 claims 1
- 238000000034 method Methods 0.000 description 44
- 238000013507 mapping Methods 0.000 description 11
- 101150066718 FMOD gene Proteins 0.000 description 9
- 238000012937 correction Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000003892 spreading Methods 0.000 description 2
- 102220492605 Numb-like protein_S17A_mutation Human genes 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
Images
Description
x=A/Sx+y0 (1)
と表すことができる。
x=((A×x)>>K)+y0 (2)
(>>は、右ビットシフト演算)
のように、ビット演算によって表すことができる。この演算がカオス演算部14−1〜14−Mにより行われる。1次累計部1における各カオスノイズ生成単位11−1〜11−Mのカオス演算部14−1〜14−Mはカスケード接続されており、前段のカオスノイズ生成単位のカオス演算部から出力されるカオス演算結果を後段のカオスノイズ生成単位のカオス演算部へ伝達して、後段のカオスノイズ生成単位のカオス演算部においては、伝達されたカオス演算結果を用いてカオス演算を行う。従って、(2)式における右辺のxは、伝達されたカオス演算結果を示している。そして、初段のカオスノイズ生成単位11−1において用いるxの初期値は、写像範囲内の任意の所定値を採用するものとする。
noise=x&255 (3)
(&はビット毎のAND演算)
である。なお、上記の下位8ビットが乱数値として有効であることは、先に挙げた特願2001−346658において述べた通りである。この下位8ビットの抽出は、カオスノイズ抽出部15−1〜15−Mが実行する。
2S−y0−ΔA≦A<2S−y0 (4)
の範囲となる。つまり、パラメータスケジューリング関数は、(4)式の範囲でパラメータAの変動及びスケジューリングを行うための関数である。なお、本発明では、パラメータを変動させるための情報(可変情報)をハッシュ生成の対象データ12−1〜12−Mから得る。上記において、写像範囲を2S乃至216とすると、前述のようにS=2K であるから、K=15となり、パラメータAに関しては、ΔAとして8192前後の素数を指定し、y0として1以上の数を指定すれば良い。
KA=inn+KA0 (5)
(innは、対象データの1バイトのバイナリ値(0≦inn<255))
である。
A0=2S−y0−ΔA:パラメータ基底値 (6)
ΔA(素数値) :パラメータ指定可能範囲 (7)
とすると、上記(4)式は、
A0≦A<A0+ΔA (8)
と表すことができる。
A=fmod(A+KA,ΔA)+A0 (9)
又はA=fmod(A+inn+KA0,ΔA)+A0 (9’)
ここにおいて、fmod(a,b)は、aをbにより割り算した場合の余りであり、例えば、fmod(7,3)は7÷3を示し、その演算結果は1である。
A=g(A,inn) (10)
により示される関数gにより表現することとする。
A[j] (1≦j≦N) (11)
とする。
A[j]=fmod(A[j]+KA[j],ΔA)+A0 (12)
又は
A[j]=fmod(A[j]+inn[j]+KA0,ΔA)+A0
(12’)
と表す。同じく、(10)式は、
A[j]=g(A[j],inn[j]) (13)
という関数形式で表すことができる。ここに、inn[j]は、i番目のブロック内におけるj番目の対象データを意味する。つまり、inn[j]には、(i−1)×N+jバイト目の対象データが格納される。(12)〜(13)式の右辺におけるA[j]は、前段のカオスノイズ生成単位から伝達されたパラメータを示す。
x=f(A[j],x)、 noise[j]=f(A[j],x)&255 (14)
//パラメータスケジューリング//の処理では、
A[j]=g(A[j],inn[j])
//カオス演算、ノイズ抽出、ハッシュ値生成//の処理では、
h1[j]=h1[j]^(f(A[j],x)&255) (15)
(^はビット毎のXOR、h1[j]は1バイトハッシュ値)
この(15)式における排他的論理和演算は、第1の論理和演算部16−2〜16−Mにおいて行われる。つまり、各カオスノイズ抽出部15−1〜15−Mにおいては、1サイクル毎に得られる noise[j]を順次につなぎ合わせてNバイトのハッシュ値を出力する。
A[j](1≦j≦N) :(4)式で与えられる範囲内の任意値。簡単のために、基底値A0を用いても良い。
h1[j](1≦j≦N):全て0をセット (16)
KA=h1+KA0 (17)
となる。
A[j]=fmod(A[j]+KA[j],ΔA)+A0 (18)
又は
A[j]=fmod(A[j]+h1[j]+KA0,ΔA)+A0
(18’)
と変更される。上記(17)式と(18)、(18’)式の右辺におけるh1、A[j]、h1[j]は、1次累計部1から伝達された値を示す。
//パラメータスケジューリング//の処理では、
A[j]=g(A[j],h1[j])
//カオス算出、ノイズ抽出、ハッシュ値生成//の処理では、
h2[j]=h2[j]^(f(A[j],x)&255) (19)
(^はビット毎のXOR、h2[j]は2次拡散ハッシュ値(1バイト))と変更される。係る処理を2次拡散部2のカオスノイズ生成単位20において所定回数MaxZだけ反復を行い、その結果として得られるh2[j]をカオスノイズ抽出部23においてつなぎ合わせ、Nバイトの値である2次拡散ハッシュ値29とする。
A[j](1≦j<N) :1次累計部の算出結果をそのまま利用。
h2[j](1≦j<N):h2[j]=h1[j]。つまり、1次累計ハッシュ値をそのまま代入する。
x:1次累計部1の算出結果をそのまま利用する。
hash=hash1^hash2 (20)
(hash:Nバイトハッシュ値)
2 2次拡散部
11−1〜11−M カオスノイズ生成単位
11A−1〜11A−M カオスノイズ生成単位
12−1〜12−M 対象データ
13−1〜13−M パラメータ可変部
14−1〜14−M カオス演算部
15−1〜15−M カオスノイズ抽出部
15A−1〜15A−M カオスノイズ抽出部
16−2〜16−M 第1の論理和演算部
16A−2〜16A−M 第1の論理和演算部
20 カオスノイズ生成単位
21 カオス演算部
22 パラメータ可変部
23 カオスノイズ抽出部
28 第2の論理和演算部
Claims (10)
- 与えられるデータに基づきカオス演算を行うカオス演算部と、このカオス演算部が実行するカオス演算に用いる関数についてパラメータ変化を生じさせるパラメータ可変部と、
前記カオス演算部による演算結果に基づきカオスノイズを抽出するカオスノイズ抽出部とを、それぞれが具備する複数のカオスノイズ生成単位と、
前記各カオスノイズ生成単位に具備されている各カオスノイズ抽出部の出力に対し順次に排他的論理和演算を行う第1の論理和演算部と、
を具備する1次累計部と、
与えられるデータに基づきカオス演算を行うカオス演算部と、このカオス演算部が実行するカオス演算に用いる関数についてパラメータ変化を生じさせるパラメータ可変部と、
前記カオス演算部による演算結果に基づきカオスノイズを抽出するカオスノイズ抽出部とを具備する1つのカオスノイズ生成単位を備え、前記第1の論理和演算部の出力を用いてカオスノイズを生成する2次拡散部と、
前記1次累計部の出力と前記2次拡散部の出力の排他的論理和演算を行う第2の論理和演算部とを具備し、
ハッシュ値算出の対象となる対象データを複数のブロックに分割して分割されたブロックのデータをそれぞれ前記1次累計部の各カオス生成単位へ与えてハッシュ値を生成することを特徴とするハッシュ値生成装置。 - 前記1次累計部における各カオスノイズ生成単位のパラメータ可変部はカスケード接続されており、前段のカオスノイズ生成単位のパラメータ可変部から出力されるパラメータ値を後段のカオスノイズ生成単位のパラメータ可変部へ伝達して、後段のカオスノイズ生成単位のパラメータ可変部においては、伝達されたパラメータ値を用いてパラメータ変化を生じさせることを特徴とする請求項1に記載のハッシュ値生成装置。
- 前記1次累計部における最終段のカオスノイズ生成単位のパラメータ可変部は2次拡散部におけるパラメータ可変部と接続されており、最終段のカオスノイズ生成単位のパラメータ可変部から出力されるパラメータ値を2次拡散部のパラメータ可変部へ伝達して、2次拡散部のパラメータ可変部においては、伝達されたパラメータ値を用いてパラメータ変化を生じさせることを特徴とする請求項2に記載のハッシュ値生成装置。
- 前記1次累計部における各カオスノイズ生成単位のカオス演算部はカスケード接続されており、前段のカオスノイズ生成単位のカオス演算部から出力されるカオス演算結果を後段のカオスノイズ生成単位のカオス演算部へ伝達して、後段のカオスノイズ生成単位のカオス演算部においては、伝達されたカオス演算結果を用いてカオス演算を行うことを特徴とする請求項1に記載のハッシュ値生成装置。
- 前記1次累計部における最終段のカオスノイズ生成単位のカオス演算部は2次拡散部におけるカオス演算部と接続されており、最終段のカオスノイズ生成単位のカオス演算部から出力されるカオス演算結果を前記2次拡散部のカオス演算部へ伝達して、前記2次拡散部のカオス演算部においては、伝達されたカオス演算結果を用いてカオス演算を行うことを特徴とする請求項4に記載のハッシュ値生成装置。
- ハッシュ値算出の対象となる対象データからハッシュ値を生成するためにコンピュータを、
ハッシュ値算出の対象となる対象データを複数のブロックに分割して分割された各ブロックのデータを用いて、カオス演算を行うカオス演算手段と、このカオス演算に用いる関数についてパラメータ変化を生じさせるパラメータ可変手段と、前記カオス演算手段による演算結果に基づきカオスノイズを抽出するカオスノイズ抽出手段とを有する複数のカオスノイズ生成単位処理手段と、
前記各カオスノイズ生成単位処理手段として行われる各カオスノイズ抽出手段により抽出されたカオスノイズに対し順次に排他的論理和演算を行う第1の論理和演算手段と、
により構成される1次累計処理手段と、
前記第1の論理和演算手段により得られる値に基づきカオス演算を行うカオス演算手段と、このカオス演算手段が実行するカオス演算に用いる関数についてパラメータ変化を生じさせるパラメータ可変手段と、前記カオス演算手段による演算結果に基づきカオスノイズを抽出するカオスノイズ抽出手段とからなる単一のカオスノイズ生成単位処理手段により構成される2次拡散処理手段と、
前記1次累計処理手段の結果と前記2次拡散処理手段の結果の排他的論理和演算を行う第2の論理和演算手段と
して機能させるためのハッシュ値生成プログラム。 - 前記コンピュータを前記1次累計処理手段として、各カオスノイズ生成単位処理手段のパラメータ可変手段では、前段のカオスノイズ生成単位処理手段のパラメータ可変手段にて得られるパラメータ値を後段のカオスノイズ生成単位処理手段のパラメータ可変ステップへ伝達して、後段のカオスノイズ生成単位処理手段のパラメータ可変手段においては、伝達されたパラメータ値を用いてパラメータ変化を生じさせるように機能させることを特徴とする請求項6に記載のハッシュ値生成プログラム。
- 前記1次累計処理手段における最終段のカオスノイズ生成単位処理手段のパラメータ可変手段によるパラメータ値が2次拡散処理手段におけるパラメータ可変手段へ伝達されるように前記コンピュータを機能させ、該2次拡散処理手段のパラメータ可変手段においては、伝達されたパラメータ値を用いてパラメータ変化を生じさせように前記コンピュータを機能させることを特徴とする請求項7に記載のハッシュ値生成プログラム。
- 前記1次累計処理手段において、各カオスノイズ生成単位処理手段のカオス演算手段では、前段のカオスノイズ生成単位処理手段のカオス演算手段から出力されるカオス演算結果を後段のカオスノイズ生成単位処理手段のカオス演算手段へ伝達し、後段のカオスノイズ生成単位処理手段のカオス演算手段においては、伝達されたカオス演算結果を用いてカオス演算を行うように前記コンピュータを機能させることを特徴とする請求項6に記載のハッシュ値生成プログラム。
- 前記1次累計処理手段における最終段のカオスノイズ生成単位処理手段のカオス演算手段により得られるカオス演算結果を、2次拡散処理手段におけるカオス演算手段へ伝達し、前記2次拡散処理手段のカオス演算手段においては、前記伝達されたカオス演算結果を用いてカオス演算を行うように前記コンピュータを機能させることを特徴とする請求項9に記載のハッシュ値生成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004107684A JP4351105B2 (ja) | 2004-03-31 | 2004-03-31 | ハッシュ値生成装置及びハッシュ値生成プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004107684A JP4351105B2 (ja) | 2004-03-31 | 2004-03-31 | ハッシュ値生成装置及びハッシュ値生成プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005292481A JP2005292481A (ja) | 2005-10-20 |
JP4351105B2 true JP4351105B2 (ja) | 2009-10-28 |
Family
ID=35325463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004107684A Expired - Lifetime JP4351105B2 (ja) | 2004-03-31 | 2004-03-31 | ハッシュ値生成装置及びハッシュ値生成プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4351105B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5268741B2 (ja) * | 2009-03-30 | 2013-08-21 | 学校法人日本大学 | 擬似乱数生成器、擬似乱数生成方法及び擬似乱数生成プログラム |
-
2004
- 2004-03-31 JP JP2004107684A patent/JP4351105B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2005292481A (ja) | 2005-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11121880B2 (en) | Method for reaching consensus on public distributed ledgers and system using the same | |
CN111464308B (zh) | 一种实现多种哈希算法可重构的方法和系统 | |
Lee et al. | Related-key chosen IV attacks on Grain-v1 and Grain-128 | |
JPH09230786A (ja) | データの暗号化方法及び装置 | |
JP5449576B2 (ja) | 演算装置、演算装置の楕円スカラー倍算方法、楕円スカラー倍算プログラム、演算装置の剰余演算方法および剰余演算プログラム | |
Sakan et al. | DEVELOPMENT AND ANALYSIS OF THE NEW HASHING ALGORITHM BASED ON BLOCK CIPHER. | |
JP4351105B2 (ja) | ハッシュ値生成装置及びハッシュ値生成プログラム | |
CN111740821B (zh) | 建立共享密钥的方法及装置 | |
CN116318660B (zh) | 一种消息扩展与压缩方法及相关装置 | |
JP4351106B2 (ja) | Mac生成装置及びmac生成プログラム | |
JP2012033032A (ja) | 情報処理装置および情報処理方法 | |
US9288041B2 (en) | Apparatus and method for performing compression operation in hash algorithm | |
CN110569021A (zh) | 一种抗asic挖矿的工作量证明方法 | |
CN114221753B (zh) | 密钥数据处理方法和电子设备 | |
US10133554B2 (en) | Non-modular multiplier, method for non-modular multiplication and computational device | |
Abdoun et al. | Hash function based on efficient chaotic neural network | |
Chen et al. | Efficient DNA sticker algorithms to data encryption standard | |
CN108846672B (zh) | 个性化地址生成方法、装置、电子设备及存储介质 | |
KR100931581B1 (ko) | Tsc-4 스트림 암호 연산을 수행하기 위한 장치 | |
Ali | Feedback with carry shift registers and (in-depth) security of ciphers based on this primitive | |
Shaker et al. | New design of efficient non-linear stream key generator | |
RU2294559C1 (ru) | Устройство для генерации псевдослучайной последовательности двоичных чисел с использованием эллиптических кривых | |
Ali | Oppel-2: a new family of FCSR-based stream ciphers | |
Ali | Efficient implementation of linearisation attacks on F-FCSR-16 type key-stream generators | |
CN113761561B (zh) | 一种基于褶积优化的sha1加密方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090421 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090622 |
|
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: 20090714 |
|
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: 20090723 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120731 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4351105 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120731 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130731 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |