JP4351106B2 - Mac生成装置及びmac生成プログラム - Google Patents
Mac生成装置及びmac生成プログラム Download PDFInfo
- Publication number
- JP4351106B2 JP4351106B2 JP2004107685A JP2004107685A JP4351106B2 JP 4351106 B2 JP4351106 B2 JP 4351106B2 JP 2004107685 A JP2004107685 A JP 2004107685A JP 2004107685 A JP2004107685 A JP 2004107685A JP 4351106 B2 JP4351106 B2 JP 4351106B2
- Authority
- JP
- Japan
- Prior art keywords
- chaos
- unit
- calculation
- parameter
- noise
- 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 158
- 238000012545 processing Methods 0.000 claims description 93
- 238000009792 diffusion process Methods 0.000 claims description 43
- 230000000739 chaotic effect Effects 0.000 claims description 41
- 238000000605 extraction Methods 0.000 claims description 34
- 230000001186 cumulative effect Effects 0.000 claims description 29
- 238000009825 accumulation Methods 0.000 claims description 25
- 238000003892 spreading Methods 0.000 claims description 13
- 239000000284 extract Substances 0.000 claims description 6
- 238000000034 method Methods 0.000 description 41
- 230000006870 function Effects 0.000 description 27
- 101150066718 FMOD gene Proteins 0.000 description 12
- 238000013507 mapping Methods 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000007781 pre-processing 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
- 230000035945 sensitivity Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000005540 biological transmission Effects 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
- 230000002265 prevention Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
Images
Description
x=A/Sx+B (1)
と表すことができる。
x=((A×x)>>K)+B (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−ΔB−B0−ΔA≦A<2S−ΔB−B0 (4)
B0≦B<B0+ΔB (5)
の範囲となる。つまり、パラメータスケジューリング関数は、(4)式及び(5)式の範囲でパラメータの変動及びスケジューリングを行うための関数である。なお、本発明では、パラメータを変動させるための情報(可変情報)をMAC鍵データ24及びハッシュ生成の対象データ12−1〜12−Mから得る。上記において、写像範囲を2S乃至216とすると、前述のようにS=2K であるから、K=15となり、パラメータに関しては、ΔA、ΔBとして4096前後の素数を指定し、B0として1以上の数を指定すれば良い。
KA=Key+KA0 (6)
(Keyは、MAC鍵データの1バイトのバイナリ値(0≦Key<255))
である。
A0=2S−ΔB−B0−ΔA:パラメータA基底値 (7)
ΔA(素数値) :パラメータ指定可能範囲 (8)
とすると、上記(4)式は、
A0≦A<A0+ΔA (9)
と表すことができる。
A=fmod(A+KA,ΔA)+A0 (10)
又はA=fmod(A+Key+KA0,ΔA)+A0 (10’)
ここにおいて、fmod(a,b)は、aをbにより割り算した場合の余りであり、例えば、fmod(7,3)は7÷3を示し、その演算結果は1である。
一方、パラメータBに対する可変情報KBは、対象データのバイナリ値innをそのまま使用する。また、この可変情報が短期間に広範囲を巡回するようにするため、補正値KB0(256≦KB0<ΔB−256)を加えて可変情報KBを作成すると、
KB=inn+KB0 (11)
(innは、対象データの1バイトのバイナリ値(0≦inn≦255))
である。
そこで、パラメータBに関するスケジューリング関数を次のように与える。
B=fmod(B+KB,ΔB)+B0 (12)
又はB=fmod(B+inn+KB0,ΔB)+B0 (12’)
A=gA (A,Key)
B=gB (B,inn) (13)
により示される関数gA 、gB により表現することとする。
A[jA ] (1≦jA ≦W) (14)
とする。
従って、(10)式、(10’)式により、jA 番目のパラメータA[jA ]は、
A[jA ]=fmod(A[jA ]+KA[jA ],ΔA)+A0 (15)
又は
A[jA ]=fmod(A[jA ]+key[jA ]+KA0,ΔA)+A0
(15’)
と表す。
また、本実施例では、ハッシュ生成の対象データをNバイト単位に分割したブロックのデータとして扱うため、N個のパラメータB[1]、B[2]、B[3]、・・・、B[N]を用意し、これを
B[jB ] (1≦jB ≦N) (16)
とする。
B[jB ]=fmod(B[jB ]+KB[jB ],ΔB)+B0 (17)
又は
B[jB ]=fmod(B[jB ]+inn[jB ]+KB0,ΔB)+B0
(17’)
と表す。同じく、(12)式は、
A[jA ]=gA (A[jA ],Key[jA ])
B[jB ]=gB (B[jB ],inn[jB ]) (18)
という関数形式で表すことができる。式の右辺におけるA[jA ]やB[jB ]は、前段から伝達されたパラメータを示す。
x=f(A[jA ],B[jB ],x)
noise[jB ]=f(A[jA ],B[jB ],x)&255 (19)
//パラメータAスケジューリング//の処理では、
A[jA ]=gA (A[jA ],Key[jA ])
//パラメータBスケジューリング//の処理では、
B[jB ]=gB (B[jB ],inn[jB ])
//カオス演算、ノイズ抽出、ハッシュ値生成//の処理では、
h1[jB ]=h1[jB ]^(f(A[jA ],B[jB ],x)&255) (20)
(^はビット毎のXOR、h1[jB ]は1バイトハッシュ値)
この(20)式における排他的論理和演算は、第1の論理和演算部16−2〜16−Mにおいて行われる。つまり、各カオスノイズ抽出部15−1〜15−Mにおいては、1サイクル毎に得られる noise[jB ]を順次につなぎ合わせてNバイトのハッシュ値を出力する。
A[jA ](1≦jA ≦N) :MAC鍵固有のカオス演算初期値。
B[jB ](1≦jB ≦N) :(5)式で与えられる範囲内の任意値。簡単のために、基底値B0を用いても良い。
h1[jB ](1≦jB ≦N):全て0をセット (21)
KB=h1+KB0 (22)
となる。
B[jB ]=fmod(B[jB ]+KB[jB ],ΔB)+B0 (23)
又は
B[jB ]=fmod(B[jB ]+h1[jB ]+KB0,ΔA)+B0
(23’)
と変更される。上記(22)式と(23)、(23’)式の右辺におけるB[jB ]、h1[jB ]は、1次累計部1から伝達された値を示す。
//パラメータAスケジューリング//の処理では、
A[jA ]=gA (A[jA ],Key[jA ])
//パラメータBスケジューリング//の処理では、
B[jB ]=gB (B[jB ],inn[jB ])
//カオス演算、ノイズ抽出、ハッシュ値生成//の処理では、
h2[jB ]=h2[jB ]^(f(A[jA ],B[jB ],x)&255) (24)
(^はビット毎のXOR、h2[jB ]は2次拡散MAC値(1バイト))と変更される。係る処理を2次拡散部2のカオスノイズ生成単位20において所定回数MaxZだけ反復を行い、その結果として得られるh2[jB ]をカオスノイズ抽出部23においてつなぎ合わせ、Nバイトの値である2次拡散MAC値29とする。
A[jA ](1≦jA≦W):1次累計部の算出結果をそのまま利用。
B[jB ](1≦jB ≦N):1次累計部の算出結果をそのまま利用。
h2[jB ](1≦jB ≦N):h2[jB ]=h1[jB ]。つまり、1次累計MAC値をそのまま代入する。
x:1次累計部1の算出結果をそのまま利用する。
MAC=hash1^hash2 (25)
(MAC:Nバイトハッシュ値)
//パラメータAスケジューリング//の処理では、
A[jA ]=gA (A[jA ],Key[jA ])
であり、
//カオス演算、ノイズ抽出、//の処理では、
noise[jA ]=f(A[jA ],B0,x)&255) (26)
を実行し、結果の最終値からW個を得て、A[jA ]とする。
この初期位相生成部25の処理で、初期値は以下の通りである。
A[jA ](1≦jA ≦W):基底値A0
x :写像範囲内の任意値
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 カオスノイズ抽出部
25 初期位相生成部
28 第2の論理和演算部
Claims (10)
- 与えられるデータに基づきカオス演算を行うカオス演算部と、このカオス演算部が実行するカオス演算に用いる関数についてパラメータ変化を生じさせるパラメータ可変部と、前記カオス演算部による演算結果に基づきカオスノイズを抽出するカオスノイズ抽出部とを、それぞれが具備する複数のカオスノイズ生成単位と、
前記各カオスノイズ生成単位に具備されている各カオスノイズ抽出部の出力に対し順次に排他的論理和演算を行う第1の論理和演算部と、
を具備する1次累計部と、
与えられる鍵データに対してカオス演算を行い、得られたカオスノイズから前記1次累計部の初段におけるパラメータ可変部へ与える初期可変情報を作成する初期位相生成部と、与えられるデータに基づきカオス演算を行うカオス演算部と、このカオス演算部が実行するカオス演算に用いる関数についてパラメータ変化を生じさせるパラメータ可変部と、前記カオス演算部による演算結果に基づきカオスノイズを抽出するカオスノイズ抽出部とを具備する1つのカオスノイズ生成単位を備え、前記第1の論理和演算部の出力を用いてカオスノイズを生成する2次拡散部と、
前記1次累計部の出力と前記2次拡散部の出力の排他的論理和演算を行う第2の論理和演算部とを具備し、
ハッシュ値算出の対象となる対象データを複数のブロックに分割して分割されたブロックのデータをそれぞれ前記1次累計部の各カオス生成単位へ与えると共に、鍵データを前記初期位相生成部及び前記1次累計部及び前記2次拡散部における全てのパラメータ可変部へ与えてハッシュ値を生成することを特徴とするMAC生成装置。 - 前記1次累計部における各カオスノイズ生成単位のパラメータ可変部はカスケード接続されており、前段のカオスノイズ生成単位のパラメータ可変部から出力されるパラメータ値を後段のカオスノイズ生成単位のパラメータ可変部へ伝達して、後段のカオスノイズ生成単位のパラメータ可変部においては、伝達されたパラメータ値を用いてパラメータ変化を生じさせることを特徴とする請求項1に記載のMAC生成装置。
- 前記1次累計部における最終段のカオスノイズ生成単位のパラメータ可変部は2次拡散部におけるパラメータ可変部と接続されており、最終段のカオスノイズ生成単位のパラメータ可変部から出力されるパラメータ値を2次拡散部のパラメータ可変部へ伝達して、2次拡散部のパラメータ可変部においては、伝達されたパラメータ値を用いてパラメータ変化を生じさせることを特徴とする請求項2に記載のMAC生成装置。
- 前記1次累計部における各カオスノイズ生成単位のカオス演算部はカスケード接続されており、前段のカオスノイズ生成単位のカオス演算部から出力されるカオス演算結果を後段のカオスノイズ生成単位のカオス演算部へ伝達して、後段のカオスノイズ生成単位のカオス演算部においては、伝達されたカオス演算結果を用いてカオス演算を行うことを特徴とする請求項1に記載のMAC生成装置。
- 前記1次累計部における最終段のカオスノイズ生成単位のカオス演算部は2次拡散部におけるカオス演算部と接続されており、最終段のカオスノイズ生成単位のカオス演算部から出力されるカオス演算結果を前記2次拡散部のカオス演算部へ伝達して、前記2次拡散部のカオス演算部においては、伝達されたカオス演算結果を用いてカオス演算を行うことを特徴とする請求項4に記載のMAC生成装置。
- 鍵データ及びハッシュ値算出の対象となる対象データからハッシュ値を生成するコンピュータを、
ハッシュ値算出の対象となる対象データを複数のブロックに分割して分割された各ブロックのデータを用いて、カオス演算を行うカオス演算手段と、このカオス演算に用いる関数についてパラメータ変化を生じさせるパラメータ可変手段と、前記カオス演算手段による演算結果に基づきカオスノイズを抽出するカオスノイズ抽出手段とからなる複数のカオスノイズ生成単位処理手段と、
前記各カオスノイズ生成単位処理手段において行われる各カオスノイズ抽出手段により抽出されたカオスノイズに対し順次に排他的論理和演算を行う第1の論理和演算手段と、
により構成される1次累計処理手段と、
与えられる鍵データに対してカオス演算を行い、得られたカオスノイズから前記1次累計処理手段の初段におけるパラメータ可変ステップへ与える初期可変情報を作成する初期位相生成手段と、
前記第1の論理和演算手段により得られる値に基づきカオス演算を行うカオス演算手段と、このカオス演算手段が実行するカオス演算に用いる関数についてパラメータ変化を生じさせるパラメータ可変手段と、前記カオス演算手段による演算結果に基づきカオスノイズを抽出するカオスノイズ抽出手段とを実行する単一のカオスノイズ生成単位処理手段により構成される2次拡散処理手段と、
前記1次累計処理手段の結果と前記2次拡散処理手段の結果の排他的論理和演算を行う第2の論理和演算手段と、
して機能させ、
更に、鍵データを前記初期位相生成手段及び前記1次累計処理及び前記2次拡散処理手段における全てのパラメータ可変手段へ与えるように前記コンピュータを機能させるためのMAC生成プログラム。 - 前記1次累計処理手段において、各カオスノイズ生成単位処理手段のパラメータ可変手段では、前段のカオスノイズ生成単位処理手段のパラメータ可変手段にて得られるパラメータ値を後段のカオスノイズ生成単位処理手段のパラメータ可変手段へ伝達し、後段のカオスノイズ生成単位処理手段のパラメータ可変手段においては、伝達されたパラメータ値を用いてパラメータ変化を生じさせるように前記コンピュータを機能させることを特徴とする請求項6に記載のMAC生成プログラム。
- 前記1次累計処理手段における最終段のカオスノイズ生成単位処理手段のパラメータ可変手段によるパラメータ値を2次拡散処理ステップにおけるパラメータ可変手段へ伝達し、該2次拡散処理手段のパラメータ可変手段においては、伝達されたパラメータ値を用いてパラメータ変化を生じさせるように前記コンピュータを機能させることを特徴とする請求項7に記載のMAC生成プログラム。
- 前記1次累計処理手段において、各カオスノイズ生成単位処理手段のカオス演算手段では、前段のカオスノイズ生成単位処理手段のカオス演算手段から出力されるカオス演算結果を後段のカオスノイズ生成単位処理手段のカオス演算手段へ伝達し、後段のカオスノイズ生成単位処理手段のカオス演算手段においては、伝達されたカオス演算結果を用いてカオス演算を行うように前記コンピュータを機能させることを特徴とする請求項6に記載のMAC生成プログラム。
- 前記1次累計処理手段における最終段のカオスノイズ生成単位処理手段のカオス演算手段により得られるカオス演算結果を、2次拡散処理手段におけるカオス演算手段へ伝達し、前記2次拡散処理手段のカオス演算手段においては、前記伝達されたカオス演算結果を用いてカオス演算を行うように前記コンピュータを機能させることを特徴とする請求項9に記載のMAC生成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004107685A JP4351106B2 (ja) | 2004-03-31 | 2004-03-31 | Mac生成装置及びmac生成プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004107685A JP4351106B2 (ja) | 2004-03-31 | 2004-03-31 | Mac生成装置及びmac生成プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005292482A JP2005292482A (ja) | 2005-10-20 |
JP4351106B2 true JP4351106B2 (ja) | 2009-10-28 |
Family
ID=35325464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004107685A Expired - Lifetime JP4351106B2 (ja) | 2004-03-31 | 2004-03-31 | Mac生成装置及びmac生成プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4351106B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2958057B1 (fr) * | 2010-03-29 | 2016-04-01 | Univ Nantes | Generateur de sequences chaotiques, systeme de generation, procede de mesure d'orbite et programme d'ordinateur correspondants |
-
2004
- 2004-03-31 JP JP2004107685A patent/JP4351106B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2005292482A (ja) | 2005-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5532560B2 (ja) | データ変換装置、およびデータ変換方法、並びにプログラム | |
US20170243176A1 (en) | Block Mining Methods and Apparatus | |
CN111464308B (zh) | 一种实现多种哈希算法可重构的方法和系统 | |
US7280659B2 (en) | Pseudorandom number generating apparatus or encryption or decryption apparatus using the same | |
HUT68148A (en) | Method and system for digital signal processing | |
JP2007316614A (ja) | ハッシュ値生成装置、プログラム及びハッシュ値生成方法 | |
JP5504592B2 (ja) | データ変換装置、およびデータ変換方法、並びにプログラム | |
JP4351106B2 (ja) | Mac生成装置及びmac生成プログラム | |
JP2012033032A (ja) | 情報処理装置および情報処理方法 | |
JP2009169316A (ja) | ハッシュ関数演算装置及び署名装置及びプログラム及びハッシュ関数演算方法 | |
JP4351105B2 (ja) | ハッシュ値生成装置及びハッシュ値生成プログラム | |
CN116318660A (zh) | 一种消息扩展与压缩方法及相关装置 | |
EP1202488B1 (en) | Encryption sub-key generation circuit | |
CN114221753B (zh) | 密钥数据处理方法和电子设备 | |
Kocheta et al. | A review of some recent stream ciphers | |
US8843457B2 (en) | Data conversion device, data conversion method, and program | |
Abdoun et al. | Hash function based on efficient chaotic neural network | |
KR100931581B1 (ko) | Tsc-4 스트림 암호 연산을 수행하기 위한 장치 | |
Shaker et al. | New design of efficient non-linear stream key generator | |
KR20190052226A (ko) | 양방향성 상호 클럭조절방식을 이용한 랜덤 이진수열 발생방법 | |
CN113992329B (zh) | 一种区块链下基于sm2的交易签名方法、装置、设备及介质 | |
CN116034339A (zh) | 用于生成伪随机数的方法、随机数生成器和计算机可读介质 | |
JP2008046151A (ja) | 暗号処理方法 | |
CN114676448A (zh) | Sm3算法的实现电路、方法及电子设备 | |
JP3277894B2 (ja) | 情報処理装置及びコード生成方法 |
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 |
Ref document number: 4351106 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: 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 |