JP6735062B2 - 乱数列生成装置、方法及びプログラム - Google Patents
乱数列生成装置、方法及びプログラム Download PDFInfo
- Publication number
- JP6735062B2 JP6735062B2 JP2014252138A JP2014252138A JP6735062B2 JP 6735062 B2 JP6735062 B2 JP 6735062B2 JP 2014252138 A JP2014252138 A JP 2014252138A JP 2014252138 A JP2014252138 A JP 2014252138A JP 6735062 B2 JP6735062 B2 JP 6735062B2
- Authority
- JP
- Japan
- Prior art keywords
- random number
- sequence
- number sequence
- generation device
- cipher
- 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.)
- Active
Links
Images
Description
(1) 一意の番号を生成する番号生成部と、前記一意の番号を、暗号アルゴリズムによって暗号化する暗号作成部と、前記一意の番号と、前記暗号作成部によって作成された暗号とを連結させた連結列を作成する列作成部と、所定の規則を用いて、前記連結列を一意の乱数列に変換する変換部と、を備える乱数列生成装置。
したがって、(1)に係る乱数列生成装置は、一意の番号を含むことによって一意性が保証され、かつ、変換によって一意の番号の規則性が隠されると共に暗号を含むことによって不正発行が困難な乱数列を生成することができる。
図1は、本発明の一実施形態に係る乱数列生成装置10の構成を示すブロック図である。乱数列生成装置10は、番号生成部11と、暗号作成部12と、列作成部13と、変換部14と、チェックデジット付加部15と、保護記憶部30と、変換表311を記憶する記憶部31とを備える。各部を詳述する。
カウントアップの方法は、いずれの場合も、10進(すなわち、0〜9)に限らず、例えば、30進でもよい。30進の場合、カウントアップの方法は、例えば、0〜9と、a〜zのうちの選択された20個のアルファベットとを用いて順にアップし桁上がりするとしてもよく、他の記号などの符号を用いて順にアップし桁上がりするとしてもよい。一意の番号に出現する符号は、後述する変換部14で用いられる所定の規則(例えば、変換表311など)にも、対応して用いられる。
暗号アルゴリズムは、一方向性関数である鍵付きハッシュ関数などであってよく、秘密鍵Kを用いるものであってよい。
列作成部13は、暗号作成部12によって変換暗号列が作成された場合、変換暗号列と、一意の番号とから連結列を作成する。
所定の規則は、一意の乱数列を構成する要素ごとを符号に変換する変換表311(後述する図2参照)などであってもよい。
保護記憶部30は、メモリ保護機能及びレジスタ保護機能などを具備したソフトウェアセキュアエレメントであってもよい。ソフトウェアセキュアエレメントは、メモリ上に保管されているデータ、プログラムが行うメモリへのアクセス、CPUで実行される演算などを保護することが可能である。ソフトウェアセキュアエレメントは、暗号アルゴリズムで利用する秘密鍵K、秘密鍵Kを含む処理、計算、及び変換表311(後述する図2参照)を安全に処理又は保管することが可能であり、攻撃者による解析などから保護する。
このように桁数が適切に調整され、チェックデジットが付加されて作成された乱数列は、一意性が保証され、かつ、不正発行が困難な乱数列なので、カードなどに印刷されて利用されることが可能である。
変換部14は、変換対象の連結列の2桁ずつをそれぞれ変換表311の行と列とに対応させ、対応する行及び列の交点に記憶されている符号に変換する。例えば、変換部14は、変換対象の連結列が「0ac1・・・」の場合、「0」と「a」とを「c0」に、「c」と「1」とを「ds」のように、変換表311を用いて変換する。
乱数列生成方法の一例として、乱数列生成装置10が、英数字のうち30文字を利用して16桁の乱数列を生成する場合を説明する。乱数列の構成は次のとおりとする。
S(ymd||counter||Trunc(EK(ymd||counter),n))||chksm
ここで、ymdは発行日、counterはその日の発行数を管理するカウンタ、EKは暗号アルゴリズムである。EKは鍵付きハッシュ関数などの一方向性関数であってもよい。
Trunc(x,n)は、xから上位nビットを抜き取り、英数字を割り当てる関数である。Sは入力値の並び替えと表変換を行う関数である。chksmは、チェックデジットである。なお、記号「||」は、前後の文字列を連結することを表している。
すなわち、乱数列生成装置10は、発行日ymdに3桁を割り当て、開始日を「000」とし、1日ごとにカウントアップする。乱数列生成装置10は、カウンタcounterに5桁を割り当て、その日の一意の乱数列の発行を「00000」から順にカウントアップする。
すなわち、乱数列生成装置10は、「発行日||カウンタ」を、秘密鍵Kを利用する暗号アルゴリズム(例えば、AES(Advanced Encryption Standard)など)又は一方向性関数に入力する。
すなわち、乱数列生成装置10は、暗号部分に6桁を割り当て、得られた暗号から上位の6桁を抜き取る。
すなわち、乱数列生成装置10は、発行日(3桁)、カウンタ(5桁)、暗号部分(6桁)によって作成した連結列に対して、2桁ずつを変換表311を用いて変換し、変換した14桁のコードを、一意の乱数列の上位14桁とする。
すなわち、乱数列生成装置10は、一意の乱数列の各要素の和を30で割った余りを、チェックデジットとする。例えば、乱数列生成装置10は、14桁のコードを上位の7桁と下位7桁とに分けてそれぞれチェックデジットを算出し、算出したチェックデジットをそれぞれ15桁目、16桁目とする。
このように、乱数列生成装置10は、一意性が保証されて衝突が起こらず、かつ、第3者による不正発行が困難な一意の乱数列を生成する。
さらに、乱数列生成装置10は、電子マネーへのチャージや有料サービスの利用などが受けられるカードであって、小売店などで販売されPINやパスコードが印刷されるカードなどに適した、所定の桁数の乱数列を生成可能である。
11 番号生成部
12 暗号作成部
13 列作成部
14 変換部
15 チェックデジット付加部
30 保護記憶部
31 記憶部
311 変換表
Claims (9)
- 一意の番号を生成する番号生成部と、
前記一意の番号を、暗号アルゴリズムによって暗号化する暗号作成部と、
前記一意の番号と、前記暗号作成部によって作成された暗号とを連結させた連結列を作成する列作成部と、
所定の規則を用いて、前記連結列を一意の乱数列に変換する変換部と、
を備える乱数列生成装置。 - 前記変換部は、前記連結列を構成する要素の順番を並び替え、並び替えた変更連結列を作成し、前記変更連結列を前記乱数列に変換する、請求項1に記載の乱数列生成装置。
- 前記暗号作成部は、前記暗号を所定の桁数に変換した変換暗号列を作成し、
前記列作成部は、前記変換暗号列と、前記一意の番号とから前記連結列を作成する、請求項1又は2に記載の乱数列生成装置。 - 前記乱数列の要素に基づいてチェックデジットを算出し、算出した前記チェックデジットを前記乱数列に付加するチェックデジット付加部をさらに備える、請求項3に記載の乱数列生成装置。
- 前記変換部は、前記連結列を構成する要素ごとを符号に変換する変換表を用いて変換する、請求項1から4のいずれか一項に記載の乱数列生成装置。
- 前記番号生成部は、日付と日付ごとのカウンタとを連結した番号を前記一意の番号とする、請求項1から5のいずれか一項に記載の乱数列生成装置。
- 前記暗号アルゴリズムに用いられる秘密鍵を記憶するセキュアな保護記憶部をさらに備える請求項1から6のいずれか一項に記載の乱数列生成装置。
- 請求項1に記載の乱数列生成装置が実行する方法であって、
前記番号生成部が、一意の番号を生成する番号生成ステップと、
前記暗号作成部が、前記一意の番号を、暗号アルゴリズムによって暗号化する暗号作成ステップと、
前記列作成部が、前記一意の番号と、前記暗号作成ステップによって作成された暗号とを連結させた連結列を作成する乱数列作成ステップと、
前記変換部が、所定の規則を用いて、前記連結列を一意の乱数列に変換する変換ステップと、
を備える方法。 - コンピュータに、請求項8に記載の各ステップを実行させるためのプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014252138A JP6735062B2 (ja) | 2014-12-12 | 2014-12-12 | 乱数列生成装置、方法及びプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014252138A JP6735062B2 (ja) | 2014-12-12 | 2014-12-12 | 乱数列生成装置、方法及びプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2016115066A JP2016115066A (ja) | 2016-06-23 |
| JP6735062B2 true JP6735062B2 (ja) | 2020-08-05 |
Family
ID=56141921
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014252138A Active JP6735062B2 (ja) | 2014-12-12 | 2014-12-12 | 乱数列生成装置、方法及びプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6735062B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114896585A (zh) * | 2022-06-08 | 2022-08-12 | 广州骏伯网络科技有限公司 | 一种卡密生成方法、校验方法及其装置、设备和存储介质 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1197828A1 (en) * | 2000-10-11 | 2002-04-17 | Trustcopy Pte Ltd | Remote printing of secure and/or authenticated documents |
| JP4177650B2 (ja) * | 2002-11-28 | 2008-11-05 | 大日本印刷株式会社 | ユニークナンバー生成装置、生成方法、生成プログラム及びその記録媒体、並びに応募処理システム |
| JP4901272B2 (ja) * | 2006-04-04 | 2012-03-21 | シヤチハタ株式会社 | 情報生成処理プログラム、情報生成装置及び情報生成方法 |
| JP2008072241A (ja) * | 2006-09-12 | 2008-03-27 | Ricoh Co Ltd | 無線通信装置及び無線通信方法 |
| JP4857230B2 (ja) * | 2007-03-30 | 2012-01-18 | 株式会社日立製作所 | 疑似乱数生成装置及びそれを用いた暗号化処理装置 |
-
2014
- 2014-12-12 JP JP2014252138A patent/JP6735062B2/ja active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2016115066A (ja) | 2016-06-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12069038B2 (en) | Encryption and decryption techniques using shuffle function | |
| JP6285536B2 (ja) | データを暗号化するシステムおよび方法 | |
| US9614814B2 (en) | System and method for cascading token generation and data de-identification | |
| TW201812638A (zh) | 區塊鏈加密射頻晶片存儲設計方法 | |
| CN110663215B (zh) | 在白盒场景中的椭圆曲线点乘设备和方法 | |
| CN111314069A (zh) | 基于区块链的摇号系统、方法、电子设备及存储介质 | |
| CN107852328B (zh) | 用于安全产品标识和验证的增强混淆或随机化 | |
| US20150304103A1 (en) | Method of generating unique and hardly predictable numbers of coupons | |
| WO2019114084A1 (zh) | 多数字位号码的加密、解密方法以及加密、解密服务器 | |
| CN107592963B (zh) | 用于执行安全计算的方法和计算设备 | |
| JP6735062B2 (ja) | 乱数列生成装置、方法及びプログラム | |
| KR101076747B1 (ko) | 스트림 모듈의 계층적 트리 구조를 통한 무작위 접근이 가능한 암호화/복호화 방법 및 장치 | |
| KR101584220B1 (ko) | 암호화 데이터 정렬 유지를 위한 인코딩 방법 | |
| JPWO2021214922A5 (ja) | メモリ処理装置、メモリ検証装置、メモリ更新装置、メモリ保護システム、方法及びプログラム | |
| Schroeder | Pad and Chaff: secure approximate string matching in private record linkage | |
| KR102123586B1 (ko) | 균등분포를 갖는 무작위 행렬을 이용한 일회용 암호화 방법 | |
| Anandh et al. | NR2-A Novel Graph-Based Encryption Algorithm | |
| Vidya et al. | Secrecy Archiving Public Ascertaining for Immune Cloud Storage |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170816 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180330 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180417 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180828 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190115 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200713 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6735062 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |