JP5449349B2 - 標数2の乗算を実現するための方法、コンピュータ装置およびコンピュータプログラム - Google Patents
標数2の乗算を実現するための方法、コンピュータ装置およびコンピュータプログラム Download PDFInfo
- Publication number
- JP5449349B2 JP5449349B2 JP2011519095A JP2011519095A JP5449349B2 JP 5449349 B2 JP5449349 B2 JP 5449349B2 JP 2011519095 A JP2011519095 A JP 2011519095A JP 2011519095 A JP2011519095 A JP 2011519095A JP 5449349 B2 JP5449349 B2 JP 5449349B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- bit string
- bits
- strings
- bit strings
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Description
a)各入力ビットストリング内の少なくとも1つの所定の位置において各入力ビットストリングの第1の変換によってK個の"0"ビットからなる少なくとも1つのシーケンス(K∈{1,…,N})を生成することにより、各入力ビットストリングに対して少なくとも1つの第1中間ビットストリングを生成するステップと、
b)プロセッサ装置のハードウェア技術的な整数乗算により少なくとも2つの第1中間ビットストリングを結合し、少なくとも1つの第2中間ビットストリングを生成するステップと、
c)少なくとも1つの第2中間ビットストリングを第2の変換により変換し、結果ビットストリングを形成するステップ。
ハードウェア技術的な整数乗算により少なくとも2つの第1中間ビットストリングを結合し、少なくとも1つの第2中間ビットストリングを生成する論理結合装置と、
少なくとも1つの第2中間ビットストリングを第2の変換により変換し、結果ビットストリングを形成する変換装置。
少なくとも4つの第2中間ビットストリングのそれぞれをそれぞれ2倍の長さの少なくとも2つの異なるマスクとビットごとにAND結合することにより、少なくとも4つの第3中間ビットストリングを生成し、
少なくとも4つの第3中間ビットストリングをXOR結合し、結果ビットストリングを生成する。
生成された第2中間ビットストリングの位置0における最下位ビットから始まり、所定の位置i・(K+1)までのビットを抽出する。
K個の"0"ビットを含む少なくとも1つのシーケンスFが、各入力ビットストリングEB1,EB2内の少なくとも1つの所定の位置において各入力ビットストリングの第1の変換によって生成され、少なくとも1つの第1中間ビットストリングZ11−Z14が生成される(K∈{1,…,N})。ここで、シーケンスFの"0"ビットの個数Kは有利には入力ビットストリングEB1,EB2のビットの個数Nに応じて決まる。
少なくとも2つの第1中間ビットストリングZ11−Z14がプロセッサ装置10のハードウェア技術による整数乗算により論理結合され、少なくとも1つの第2中間ビットストリングZ21−Z24が生成される。
所定の第2の変換により少なくとも1つの第2中間ビットストリングZ21−Z24が変換され、結果ビットストリングEが形成される。
少なくとも2つの入力ビットストリングEB1,EB2の各入力ビットストリングEB1,EB2が、2つの異なるマスクM11,M12の各マスクM11,M12とのビットごとのAND結合によりマスクされ、少なくとも2つの第1中間ビットストリングZ11−Z14が生成される。したがって、方法ステップR1に関連して図1に示されている第1の変換が図2のマスキングとして形成されている。
行r5の4つの第2の中間ビットストリングZ21−Z24は、行r4の第1の中間ビットストリングZ11−Z14をプロセッサ装置10の整数乗算によって論理結合することで得られる。このために、プロセッサ装置10の整数乗算により積、Z11*Z13,Z11*Z14,Z12*Z13およびZ12*Z14が計算される。これらの計算ステップの結果が第2の中間ビットストリングZ21−Z24を形成する。
さらに、4つの第2の中間ビットストリングZ21−Z24をビットごとのAND結合結合により行r6の2つの異なるマスクM21,M22でマスキングすることにより、少なくとも4つの第3の中間ビットストリング(図示せず)が生成される。
さらに、少なくとも4つの第4の中間ビットストリングをビットごとにXOR結合することにより結果ビットストリングEが生成される。
各入力ビットストリングEB1,EB2の隣り合うすべてのビットの間にK個の"0"ビットから成るシーケンスFを挿入することにより各入力ビットストリングEB1,EB2を広げ、各入力ビットストリングEB1,EB2に対してそれぞれ第1の中間ビットストリングZ11,Z12が生成される。これに関して、図5の行r1には2つの異なる入力ビットストリングEB1,EB2が示されており、行r2には第1の中間ビットストリングZ11,Z12を生成するためにシーケンスFで広げられた各入力ビットストリングEB1,EB2が示されている。こうして左の第1の中間ビットストリングZ11は第1の入力ビットストリングEB1の拡散から、右の第1の中間ビットストリングZ12は第2の入力ビットストリングEB2の拡散から生じる。
図5の行r2による2つの第1の中間ビットストリングZ11,Z12がプロセッサ装置10の整数乗算により論理結合され、行r3によるただ1つの第2の中間ビットストリングZ2が生成される。
第2の中間ビットストリングZ2の位置0における最下位ビットから始まり所定の位置i・(K+1)で、生成された第2の中間ビットストリングZ2のビット(行r4を参照)が抽出される(i∈{0,…,2N−2})。この抽出により、図5の行r5の結果ビットストリングEが得られる。
Claims (15)
- それぞれNビットの少なくとも2つの入力ビットストリングの標数2の乗算を実行するための、プロセッサ装置およびメモリを備えたコンピュータ装置において、
a)前記プロセッサ装置は、前記各入力ビットストリング(EB1,EB2)を少なくとも2つの所定の異なるマスク(M11,M12)とそれぞれビットごとにAND結合することにより前記各入力ビットストリング(EB1,EB2)をマスクし、前記各入力ビットストリング(EB1,EB2)に対して少なくとも2つの第1中間ビットストリング(Z11−Z14)を生成し、ただし、前記各第1中間ビットストリング(Z11−Z14)は隣り合う1ビットを有してない、
b)前記プロセッサ装置は、整数乗算により少なくとも2つの第1中間ビットストリングを結合し、少なくとも1つの第2中間ビットストリングを生成し、
c)前記プロセッサ装置は、少なくとも1つの第2中間ビットストリングを第2の変換により変換し、結果ビットストリング(E)を生成する、
ことを特徴とする、コンピュータ装置。 - 前記プロセッサ装置は、
個数K個の"0"ビットのシーケンス(F)の個数Kを、
前記入力ビットストリング(EB1,EB2)のビットの個数Nに依存して決定する、
請求項1記載のコンピュータ装置。 - 前記所定の異なるマスク(M11,M12)の個数MはK+1に等しい(M=K+1)、請求項1または3記載のコンピュータ装置。
- m番目ごとのマスク(M11,M12)はそれぞれ1つの"1"ビットとそれに続くK個の"0"ビットを含むシーケンス(F)とから成る周期的なパターンの少なくとも一部から形成され、前記mにつきm∈{1,…,M}である、請求項4記載のコンピュータ装置。
- 前記プロセッサ装置は、
(m+1)番目ごとのマスク(M12,M11)はm番目ごとのマスク(M11,M12)を1ビットだけシフトさせて生成する、請求項5記載のコンピュータ装置。 - 前記結果ビットストリング(E)を生成することが、
前記プロセッサ装置が更に、
− 少なくとも4つの第2中間ビットストリング(Z21−Z24)のそれぞれを、それぞれ2倍の長さの少なくとも2つの異なるマスク(M21,M24)とビットごとにAND結合することによりマスクし、少なくとも4つの第3中間ビットストリングを生成し、
− 少なくとも4つの第3中間ビットストリングをXOR結合し、
− 少なくとも4つの第4中間ビットストリングをXOR結合し、結果ビットストリング(E)を生成する、
請求項1または3から5のいずれか1項記載のコンピュータ装置。 - 請求項1から6いずれか1項記載のコンピュータ装置であって、
前記各入力ビットストリング(EB1,EB2)を少なくとも2つの異なるマスク(M11,M12)とそれぞれビットごとにAND結合することにより前記各入力ビットストリング(EB1,EB2)をマスクし、前記各入力ビットストリング(EB1,EB2)に対して少なくとも2つの第1中間ビットストリング(Z11−Z14)を生成する生成装置(11)と、ただし、前記第1中間ビットストリング(Z11−Z14)のそれぞれは隣り合う1ビットを有してない、
整数乗算により少なくとも2つの第1中間ビットストリングを結合し、少なくとも1つの第2中間ビットストリングを生成する論理結合装置(12)と、
少なくとも1つの第2中間ビットストリングを第2の変換により変換し、結果ビットストリング(E)を生成する変換装置(13)と、
を有するコンピュータ装置。 - それぞれNビットの少なくとも2つの入力ビットストリングの標数2の乗算を実行する、プロセッサおよびメモリを備えたコンピュータ装置のためのコンピュータプログラムであって、
前記プログラムは前記プロセッサに下記ステップ、すなわち、
a)前記各入力ビットストリング(EB1,EB2)を少なくとも2つの異なるマスク(M11,M12)とそれぞれビットごとにAND結合することにより前記各入力ビットストリング(EB1,EB2)をマスクし、前記各入力ビットストリング(EB1,EB2)に対して少なくとも2つの第1中間ビットストリング(Z11−Z14)を生成するステップと、ただし、前記第1中間ビットストリング(Z11−Z14)のそれぞれは隣り合う1ビットを有してない、
b)整数乗算により少なくとも2つの第1中間ビットストリングを結合し、少なくとも1つの第2中間ビットストリングを生成するステップと、
c)少なくとも1つの第2中間ビットストリングを第2の変換により変換し、結果ビットストリング(E)を生成するステップと
を実行させることを特徴とする、コンピュータプログラム。 - 前記コンピュータプログラムは、前記プロセッサ装置に、
個数K個の"0"ビットのシーケンス(F)の個数Kを、
前記入力ビットストリング(EB1,EB2)のビットの個数Nに依存して決定させる、
請求項9記載のコンピュータプログラム。 - 前記所定の異なるマスク(M11,M12)の個数MはK+1に等しい(M=K+1)、請求項10または11記載のコンピュータプログラム。
- m番目ごとのマスク(M11,M12)はそれぞれ1つの"1"ビットとそれに続くK個の"0"ビットを含むシーケンス(F)とから成る周期的なパターンの少なくとも一部から形成され、前記mにつきm∈{1,…,M}である、請求項12記載のコンピュータプログラム。
- 前記コンピュータプログラムは、前記プロセッサ装置に、
(m+1)番目ごとのマスク(M12,M11)はm番目ごとのマスク(M11,M12)を1ビットだけシフトさせて生成させる、請求項13記載のコンピュータプログラム。 - 前記結果ビットストリング(E)を生成することが、
前記コンピュータプログラムは、前記プロセッサ装置に、
− 少なくとも4つの第2中間ビットストリング(Z21−Z24)のそれぞれを、それぞれ2倍の長さの少なくとも2つの異なるマスク(M21,M24)とビットごとにAND結合することによりマスクし、少なくとも4つの第3中間ビットストリングを生成し、
− 少なくとも4つの第3中間ビットストリングをXOR結合させ、
− 少なくとも4つの第4中間ビットストリングをXOR結合し、結果ビットストリング(E)を生成させる、
請求項9から14のいずれか1項記載のコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102008033962A DE102008033962B4 (de) | 2008-07-21 | 2008-07-21 | Verfahren und Prozessor-Einrichtung zum Implementieren einer Charakteristik-2-Multiplikation |
DE102008033962.8 | 2008-07-21 | ||
PCT/EP2009/056228 WO2010009917A1 (de) | 2008-07-21 | 2009-05-22 | Verfahren und prozessor-einrichtung zum implementieren einer charakteristik-2-multiplikation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011528810A JP2011528810A (ja) | 2011-11-24 |
JP5449349B2 true JP5449349B2 (ja) | 2014-03-19 |
Family
ID=40941502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011519095A Expired - Fee Related JP5449349B2 (ja) | 2008-07-21 | 2009-05-22 | 標数2の乗算を実現するための方法、コンピュータ装置およびコンピュータプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US8732227B2 (ja) |
EP (1) | EP2304549A1 (ja) |
JP (1) | JP5449349B2 (ja) |
CN (1) | CN102105860A (ja) |
DE (1) | DE102008033962B4 (ja) |
WO (1) | WO2010009917A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008033962B4 (de) | 2008-07-21 | 2011-11-24 | Siemens Aktiengesellschaft | Verfahren und Prozessor-Einrichtung zum Implementieren einer Charakteristik-2-Multiplikation |
FR2952773B1 (fr) * | 2009-11-13 | 2012-07-20 | Inst Telecom Telecom Paristech | Circuit electronique de faible complexite protege par masquage personnalise |
CN104636113A (zh) * | 2015-02-06 | 2015-05-20 | 周炜 | 一种计算机处理大整数的算法 |
KR102430873B1 (ko) * | 2017-12-29 | 2022-08-09 | 제넨테크, 인크. | 전달 시그니처를 갖는 주입 모니터링 디바이스 |
KR102674032B1 (ko) | 2019-12-26 | 2024-06-12 | 삼성전자주식회사 | 리페어 동작을 수행하는 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법 |
US11227641B1 (en) * | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7277540B1 (en) * | 1999-01-20 | 2007-10-02 | Kabushiki Kaisha Toshiba | Arithmetic method and apparatus and crypto processing apparatus for performing multiple types of cryptography |
DE10107376A1 (de) | 2001-02-16 | 2002-08-29 | Infineon Technologies Ag | Verfahren und Vorrichtung zum modularen Multiplizieren und Rechenwerk zum modularen Multiplizieren |
US7243292B1 (en) * | 2002-10-17 | 2007-07-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Error correction using finite fields of odd characteristics on binary hardware |
EP1595357A4 (en) | 2003-02-06 | 2006-03-01 | Discretix Technologies Ltd | DEVICE AND METHOD FOR HANDLING MASKED DATA |
JP4986206B2 (ja) | 2006-02-22 | 2012-07-25 | 株式会社日立製作所 | 暗号処理方法及び暗号処理装置 |
DE102008033962B4 (de) | 2008-07-21 | 2011-11-24 | Siemens Aktiengesellschaft | Verfahren und Prozessor-Einrichtung zum Implementieren einer Charakteristik-2-Multiplikation |
-
2008
- 2008-07-21 DE DE102008033962A patent/DE102008033962B4/de not_active Expired - Fee Related
-
2009
- 2009-05-22 WO PCT/EP2009/056228 patent/WO2010009917A1/de active Application Filing
- 2009-05-22 JP JP2011519095A patent/JP5449349B2/ja not_active Expired - Fee Related
- 2009-05-22 US US13/055,218 patent/US8732227B2/en not_active Expired - Fee Related
- 2009-05-22 CN CN2009801286003A patent/CN102105860A/zh active Pending
- 2009-05-22 EP EP09779527A patent/EP2304549A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
JP2011528810A (ja) | 2011-11-24 |
WO2010009917A1 (de) | 2010-01-28 |
US8732227B2 (en) | 2014-05-20 |
US20110131395A1 (en) | 2011-06-02 |
CN102105860A (zh) | 2011-06-22 |
DE102008033962B4 (de) | 2011-11-24 |
DE102008033962A1 (de) | 2010-01-28 |
EP2304549A1 (de) | 2011-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5449349B2 (ja) | 標数2の乗算を実現するための方法、コンピュータ装置およびコンピュータプログラム | |
US20070140478A1 (en) | Encryption apparatus and encryption method | |
EP3559811B1 (en) | Protecting parallel multiplication operations from external monitoring attacks | |
Niasar et al. | Optimized architectures for elliptic curve cryptography over Curve448 | |
JP2002040933A (ja) | データ暗号化標準アルゴリズムを利用した暗号化装置 | |
Koppermann et al. | X25519 hardware implementation for low-latency applications | |
Granger et al. | Faster ECC over | |
US20100115017A1 (en) | Semi-Sequential Galois Field Multiplier And The Method For Performing The Same | |
CN112491543B (zh) | 基于改进的蒙哥马利模幂电路的ic卡解密方法 | |
Taşkin et al. | Speeding up curve25519 using Toeplitz matrix-vector multiplication | |
US8909510B2 (en) | LFSR emulation | |
JP5147085B2 (ja) | 演算方法及び演算装置 | |
US6480870B1 (en) | Random number generator using lehmer algorithm | |
Keliris et al. | Investigating large integer arithmetic on Intel Xeon Phi SIMD extensions | |
JP5193358B2 (ja) | 多項式データ処理演算 | |
US10133554B2 (en) | Non-modular multiplier, method for non-modular multiplication and computational device | |
JP4728392B2 (ja) | 大数乗算方法およびデバイス | |
CN115664634A (zh) | 一种抗侧信道攻击的aes加密算法硬件实现方法及*** | |
KR100954843B1 (ko) | 센서 모트에서의 블록 인덱싱 기반의 타원 곡선 암호 연산 방법, 그 장치 및 이를 기록한 기록 매체 | |
JP5822757B2 (ja) | ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム | |
Slobodová | Formal verification of hardware support for advanced encryption standard | |
JP4472808B2 (ja) | 積和演算装置及びこれを用いた暗号・復号装置 | |
Ali et al. | Optimal datapath design for a cryptographic processor: the Blowfish algorithm | |
JPS61193183A (ja) | 乱数発生回路 | |
KR101883643B1 (ko) | 토플리츠 행렬 처리 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130208 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130507 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130514 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130610 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130617 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130708 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130716 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130805 |
|
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: 20131125 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131224 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |