JP5976928B2 - 確率的処理 - Google Patents
確率的処理 Download PDFInfo
- Publication number
- JP5976928B2 JP5976928B2 JP2015515130A JP2015515130A JP5976928B2 JP 5976928 B2 JP5976928 B2 JP 5976928B2 JP 2015515130 A JP2015515130 A JP 2015515130A JP 2015515130 A JP2015515130 A JP 2015515130A JP 5976928 B2 JP5976928 B2 JP 5976928B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- module
- processing
- data processing
- information stream
- 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
- 238000012545 processing Methods 0.000 title claims description 332
- 238000000034 method Methods 0.000 claims description 172
- 230000006870 function Effects 0.000 claims description 140
- 230000008569 process Effects 0.000 claims description 62
- 238000004891 communication Methods 0.000 claims description 49
- 238000012986 modification Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 6
- 230000005055 memory storage Effects 0.000 claims description 6
- 230000003068 static effect Effects 0.000 description 29
- 238000012360 testing method Methods 0.000 description 23
- 230000008901 benefit Effects 0.000 description 19
- 230000006399 behavior Effects 0.000 description 15
- 238000013461 design Methods 0.000 description 15
- 230000000694 effects Effects 0.000 description 12
- 101100269850 Caenorhabditis elegans mask-1 gene Proteins 0.000 description 11
- 238000011161 development Methods 0.000 description 11
- 230000000670 limiting effect Effects 0.000 description 11
- 230000000739 chaotic effect Effects 0.000 description 9
- 230000006378 damage Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000005336 cracking Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 230000002441 reversible effect Effects 0.000 description 7
- 230000003319 supportive effect Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 6
- 238000013515 script Methods 0.000 description 6
- 239000013589 supplement Substances 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 230000000873 masking effect Effects 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 239000000047 product Substances 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012552 review Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 241000282412 Homo Species 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 3
- 230000001066 destructive effect Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000010899 nucleation Methods 0.000 description 3
- 238000001846 resonance-enhanced photoelectron spectroscopy Methods 0.000 description 3
- 238000000528 statistical test Methods 0.000 description 3
- 241000255925 Diptera Species 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 238000011112 process operation Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 208000001613 Gambling Diseases 0.000 description 1
- 241000257226 Muscidae Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000004870 electrical engineering Methods 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000803 paradoxical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000003989 repetitive behavior Effects 0.000 description 1
- 208000013406 repetitive behavior Diseases 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000005309 stochastic process Methods 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- 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/58—Random or pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- 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/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F2015/761—Indexing scheme relating to architectures of general purpose stored programme computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F2015/761—Indexing scheme relating to architectures of general purpose stored programme computers
- G06F2015/763—ASIC
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Description
本発明は、2011年5月27日付で、Patrick Rossにより出願された米国仮特許出願公開第61/519679に基づき、米国特許法第120条による優先権を主張し、その開示が引用により本明細書に援用される。本発明は、2012年5月29日付で、Patrick D. Rossにより出願された米国非仮特許出願公開第13/482723号に基づき、特許協力条約およびパリ条約による優先権を主張し、その開示が引用により本明細書に援用される。
本発明は、情報を保護するための方法およびシステムに関し、具体的には、情報確率的処理を提供する動的アプリケーションを生成する方法およびシステムに関する。
本発明は、さまざまな方法で、コンピュータゲーム、銀行取引、通信、媒体開発産業のようなさまざまな業種に適用することができるが、これらに限定されない。本発明は、これらの産業により利用されるシステムに使用されるコンピュータハードウェア/ソフトウェアに実装されてもよい。
多くのアプリケーションは、内部処理の一部として乱数を必要とする。これらのアプリケーションの一部は、値の均一分布、所定のシード値からの再現性、および繰返すまでに非常に長いサイクルなどのような単純要件を要する。そのために、多くの論文および書籍は、これらの伝統的な乱数発生器を提供する好適なハードウェアおよびソフトウェア関数を記載する。伝統的な乱数発生器は、有用でありながら問題もある。現行の乱数発生器の欠点を対処する前に、一般的には、まず、これらの発生器の動作を再検討する必要がある。
本発明は、当技術分野の現状に応じて開発され、特に、現在利用可能な静的(したがって、決定的)ハードウェアおよびソフトウェアソリューションによってまだ完全に解決されていない当技術分野における課題および需要に応じて開発された。したがって、本発明は、ハードウェアまたはソフトウェアのいずれかに応用される動的かつ非決定的ソリューションを生成する方法および/またはシステムを提供するために開発された。本発明の方法および/またはシステムは、情報を確率的処理するためのシステム、方法および/または装置を含むがこれらに限定されない。
29 一実施形態において、以前では静的な単一のソリューションは、同様の実装において多くの動的カスタムソリューションに変換される。このようなソリューションの新しいゲノムは、以下のモジュールの1つまたは複数を含むがそれらに限定されない多数の新技術に基づいている。
・不確定乱数生成器
・処理要素の動的選択
・必要になるまで要素の拘束遅延
・要素のオンデマンドリミックス
・データ駆動型実装
動的ソリューションの新しいゲノムの実施形態は、多くの好ましいソリューションを簡素化する。「フリーサイズ」の静的アプリケーションをカスタムソリューションにより置換することは、多くの現在未解決された課題を解決することができる。
本発明の原理をより理解するために、図面に示された例示的な実施形態を参照しながら、特定の用語を用いて説明する。理解すべきことは、本発明の範囲は、これらに限定されないことを意図していることである。関連する技術分野の当業者および本開示を手に入れる者が、本明細書に例示された本発明の特徴に対する任意の変更およびさらなる修飾ならびに本明細書に例示された本発明の原理に対するさらなる用途は、本発明の範囲内に包含されると考えるべきである。
「確実性」原理は、数学の分野で最も重要である。確実性とは、伝統数学により与えられた関数が、入力値(ドメイン値)を用いて一定の出力(範囲値)を機械的に計算することを意味する。今までは、計算の機械的性質により、一般に、このプロセスは、常に任意のドメイン値を与えると、決定的(範囲)値をもたらす。この決定的関数の現実は、数百年も続いている。
不確定データの属性は、データパラドックスを生成するが、同様の属性は、皮肉な解決案、すなわち、プールから2つの不確定データ値をランダムに選択し、この2つの不確定データ値を加算することによって新たな不確定値を生成することを容易にする。複数の異なる親セットが同一の値をもたらすことができるため、この新たな値は、親値から「切離される」。したがって、「不確実性」の属性は、次世代の値に継承される。一般的に、第1世代の不確定データを明らかにしてはいけないが、第1世代の不確定データを処理して得られた次世代のデータを公開することができる。したがって、データパラドックスは、解決される。ランダムに選択された不確定値が大抵の2進以上の演算子を用いて処理される限り、その結果が非決定的である。よって、関数でデータを処理する代わりに、データでデータをモーフィングすることができる。よって、事実上、数学的確実性から脱離することができた。
各URNGのアウトラインは、3つのステップを含む。原始かつ非決定の不確定性プールと、常識から外れた決定的擬似乱数生成器(PRNG)の集合との2つの初期要素を用いて、URNGをスタートさせる。これらの要素から、一般的に内部で使用する中間ツールを構築しなければならない。最初のツールは、不確実ストリームである。不確実ストリームは、好適なPRNGを不確定性プールから読取るアドレス発生器として適用することにより生成される。それによって、原始かつパラドックス上安全でない不確定値のランダムストリームが与えられる。
data0およびdata1が決定的であってもよいが、マスクが非決定的(原始の不確定データ)である場合、マスクが一般的に出力に見られない限り、その結果は非決定的(パラドックス上安全値)である。
マスクURNGは、以下にある10行C言語プロシージャにより示される。このコード例(urng_value)は、上述した3つのステップを含むプロセスに相当する。「Cヘッダ」セクションは、欠けた詳細を補足する。
typedef struct
{
uint32_t poolsize; // allocation size in r_values
uint32_t modulo; // prime number addressing modulo
t_prng prng[ NUM_STOCHASTIC_POINTS ]; // PRNG addressing functions
r_value *pool; // data pool pointer
} t_urng;
r_value urng_value (t_urng *urng)
{
r_value unsafe_1, unsafe_2; // paradox unsafe PRNG deterministic values
r_value domain_1, domain_2; // paradox safe domain values
r_value mask1, mask2, mask3; // Raw nondeterministic values from the pool
// Use 3 independent PRNGs to read uncertain mask values from the pool
mask1 = urng->pool[ prng (1) % urng->modulo ];
mask2 = urng->pool[ prng (2) % urng->modulo ];
mask3 = urng->pool[ prng (3) % urng->modulo ];
// Convert deterministic PRNG values into a paradox safe domain values
unsafe_1 = prng (4);
unsafe_2 = prng (5);
domain_1 = (~mask1 & unsafe_1) | (mask1 & unsafe_2 ) % urng->modulo;
unsafe_1 = prng (6);
unsafe_2 = prng (7);
domain_2 = (~mask2 & unsafe_1) | (mask2 & unsafe_2 ) % urng->modulo;
// Manufacture a nondeterministic value from the pool while hiding domain and
range
return (~mask3 & urng->pool[ domain_1 ]) | (mask3 & urng->pool[ domain_2 ]);
};
カオス行動の紹介
不確定データは、URNG内において、ランダムデータ、シード値、マスク値、関数選択器、さらに指令などの多重役割を果たしている。一見では些細な発想が大きな影響を引起す。不確実性の原理によると、多くのプログラミング決定が実行まで出さず、実行中にプログラミング決定がランダムデータに駆動される。ランダム性は、プログラムの実行中に果たしている役割がますます重要になり、アプリケーションに与えた全体的な影響がアプリケーションをより非決定的にさせることである。
Result = Data1 - Data0; // standard math subtract operation
Result = (~Mask & Data0) | (Mask & Data1); // normal mask Generator
Result = (Mask & Data0) | (~Mask & Data1); // the other mask Generator
Result = (~Mask & ~Data0) | (Mask & Data1);
Result = (~Mask & Data0) | (Mask & ~Data1);
Result = ~(Data0 & Data1); // bitwise NAND between two data elements
Result = ~(Data0 | Data1); // bitwise NOR between two data
Result = Data0 | Data1; // bitwise OR between two data elements
Result = Data0 ^ Data1; // bitwise XOR between two data elements
Result = Data0 & Data1; // bitwise AND between two data elements
Result = Data0 + Data1; // standard math add operation
Result = ~Data0 | Data1; // Comp Data0, bitwise OR two data elements
Result = Data0 | ~Data1; // Comp Data1, bitwise OR two data elements
Result = ~Data0 ^ Data1; // Comp Data0, bitwise XOR two data elements
Result = Data0 ^ ~Data1; // Comp Data1, bitwise XOR two data elements
指令の可能なセットは、16よりもはるかに大きく、不確定データは、リスト(リスト内の指令順序および使用される指令)を作成するために使用されたということが理解できる。これらの非決定的カオス行動の全面的な実装は、数百万のURNG用の独特のデータ駆動型指令を生成した。このように、不確定データの非決定的な性質は、非決定的なカオス行動に変換される。URNGにおけるこのカオスソフトウェアは、データでデータをモーフィングする別例になる。
カオスURNGは、以下の短いC言語プロシージャによって示される。「Cヘッダ」セクションは、欠けた詳細を補足する。
typedef struct
{
r_value instruction; // random value holding instructions
r_value PC; // current instruction counter within above instruction
edit_process operation[ MAX_REPS ]; // table of chaos operations (Random Edit
Processes)
} t_chaos;
typedef struct
{
uint32_t poolsize; // allocation size in r_values
uint32_t modulo; // prime number addressing modulo
t_prng prng[ NUM_STOCHASTIC_POINTS ]; // PRNG addressing functions
t_chaos cpuAdr0; // address chaos engine
t_chaos cpuAdr1; // address chaos engine
t_chaos cpudata; // data chaos engine
r_value *pool; // data pool pointer
} t_curng;
r_value get_instruction (t_curng *urng, t_chaos *cpu)
{
r_value instruction, instr;
instruction = cpu->instruction; // local copy of instruction block
if (cpu->PC >= INSTRUCTIONS_PER_WORD) { // need new block?
instruction = urng->pool[ prng(0) % urng->modulo ]; // get next instruction block
cpu->PC = 0; // reset to start of block
}
instr = instruction & INSTRUCTION_MASK; // slice off instruction from word
cpu->instruction = instruction >> INSTRUCTION_SHIFT; // move to next
instruction
cpu->PC++;
return instr;
};
r_value urng_value (t_curng *urng)
{
r_value unsafe_1, unsafe_2; // paradox unsafe PRNG deterministic values
r_value domain_1, domain_2; // paradox safe domain values
r_value mask1, mask2, mask3; // Raw nondeterministic values from the pool
r_value instr; // chaos instruction
// Use 3 independent PRNGs to read uncertain mask values from the pool
mask1 = urng->pool[ prng (1) % urng->modulo ];
mask2 = urng->pool[ prng (2) % urng->modulo ];
mask3 = urng->pool[ prng (3) % urng->modulo ];
//
// Decouple paradox unsafe (deterministic) values with address chaos engines
// to create two paradox safe (nondeterministic) domain values.
//
unsafe_1 = prng (4);
unsafe_2 = prng (5);
instr = get_instruction( urng, &urng->cpuAdr0 );
domain_1 = (*urng->cpuAdr0.operation[instr]) (unsafe_1,unsafe_2,mask1) % urng-
>modulo;
unsafe_1 = prng (6);
unsafe_2 = prng (7);
instr = get_instruction( urng, &urng->cpuAdr1 );
domain_2 = (*urng->cpuAdr1.operation[instr]) (unsafe_1,unsafe_2,mask2) % urng-
>modulo;
//
// Using data chaos engines to decouple range values from uncertainty function
//
instr = get_instruction( urng, &urng->cpudata );
return (*urng->cpudata.operation[instr])(urng->pool[domain_1], urng-
>pool[domain_2], mask3);
};
現在、既知の関数駆動型RNGは、わずか数千個しかない。関数駆動型RNGからデータ駆動型RNGに切替えると、国立標準技術研究所NIST(800−22)のランダム性検定パッケージに合格できる独特のRNGが数兆個使用することができる。8/10スコアを有すれば、NIST検定に合格することができる。これまでに、10/10データプールを有する各URNGは、ほぼすべて10/10スコアを受けている。
不確定関数に適用されたドメイン値は、不確定性プールに指定されたファイングレイン(Fine Grain)を表し、タイムスタンプは、異なる不確定値ストリームの間により大きな不連続の跳躍を表す。人間は、イベントのヒューマンスケールに対する時間を考える傾向がある。人間が普通に扱うよりもはるかに短いたとえばマイクロ秒の時間間隔、またははるかに長いたとえば数千年の時間間隔は、人間にとって重要性が低い。人間の知覚限界にもかかわらず、時間は、不確定技術において重要である。時間の性質は、多くの用途において利用されている。不確実性の原理の観点から時間の役割を理解できるように、時間の性質を検討することは有用である。一般的に、タイムスタンプは常に、あるゼロポイントに対してスカラー値を意味する。アナログ/ハードウェアクロックは、ある種類の「拍子数」を提示する。ソフトウェアにおいて、一般的に、タイムスタンプの増分は、米国特許5526515に記載されたように、常に現実世界の「拍子数」にマッピングしない場合がある。上記の文献は、支持的な教示を含むため、本明細書に組込まれる。タイムスタンプ間の差は、任意の値に計算することができる。一般的に、時間の基本モデルは、常に「単調に」増加する。
Seed0 = (delta_days * dayscale) + (delta_milliseconds * millisecondscale);
Seed1 = (delta_hours * hourscale) + (delta_minutes * minutescale) + (delta_sec *
secondscale);
確率的処理
動的アプリケーションは、多くのソリューションを簡素化する。確率的処理の方法論は、動的ハードウェアまたはソフトウェアアプリケーションを作成するための開放型のアーキテクチャ手段を与える。多くの場合、これらの動的実装の配置は、多くの現行(好ましい)ソリューションを再定義する。動的アプリケーションしか効果的に解決できない追加クラスの問題が存在している。動的デジタルプロトコルに係る例示的な実施形態は、動的アプリケーションを必要とするクラスの問題を対処する。
ソフトウェアオブジェクトパラダイムにおいて、クラス間のバインディング(接続作り)は、実行時の前に完了されている。プログラマの生産性を向上させるために、ツールセットを用いてこのような静的バインディングタスクを完了させる。静的バインディングは、接続の個数が限られているため、その欠点が明らかである。確率的処理は、設計時ではなく実行中において、より多くの利用可能な接続を形成する。
不確実性の原理は、動的ハードウェア/ソフトウェアのカスタム実装を生成する数学、コンピュータ科学、電気工学などの発想の独特な集合を表している。自然「ノイズ」のサンプリングを除いて、乱数生成プロセスは、強固的に機能する完全なソリューションを有しなかった。計算の機械的性質を考えると、従来の「関数駆動型」ソリューションは、乱数を有効的に表現することはできない。関数駆動型ソリューションは、致命的な欠点を有するが、データ駆動型ソリューションは、ランダム性を実用的に表現することができる。「不可知」データは、共通の実装を独特のランダムストリームに変換する。
確率的処理方法論において、「機能的に同等」は、オブジェクトパラダイムに見られる典型的なケースよりもはるかに敏感である。典型的には、ソフトウェアパラダイムは、生産性を向上させるために、実装の多くの副作用を無視するように、開発者を誘導する。場合によっては、これらの副作用は重要であり、無視されると、開発者の目標を損なうことになる。
最初の教示例は、メモリアドレスを作成するために、異なる「乱数発生器」に7つの呼出しを与える。伝統的なPRNGが機能的に同等であるため、良好なランダムメモリアドレスを提供する任意の方法は、これらのPRNGを置換することができる。「単一ストリーム」のPRNGの基本的な欠点を克服するために、現行の各呼出しは、異なるPRNGにルーティングされる。よって、PRNGの各々は、異なるランダム配列から値を返答し、同一の配列から7つの連続値を返答するよりもはるかに優れている。複数のPRNGというソリューションは、大きな改善とも言えるが、すべての他の動的アプリケーションに対する最善のソリューションは、URNGを使用して、非相関かつ非決定的な値を提供することである。
アプリケーション固有の処理要素の集合は、多くの選択肢を提供するために作成される。処理要素の集合を規定するとき、一般的には、集合のサイズを決め、各要素の必要な「品質」を決めなければならない。多くの場合、選択できる処理要素が無制限に存在する可能性があるが、大部分のアプリケーションは、正常に配置できる回数を複数もつ集合を必要とする。明らかに、一部のアプリケーションは、独自のカスタム集合を用いて共通の選択肢を置換するだろう。
静的パラメータが決定的な結果をもたらすため、多くの処理要素が正しく機能するために追加のパラメータを必要とする。これらのパラメータのすべては、可能な限り、不確定関数またはURNGから動的に取得すべきである。このようにして、各追加の不確定パラメータは、不確実性の範囲を拡大し続ける。
「コントロールプレーン」という概念は、最初のURNG特許において取上げられた。その発想自身が変わっていないが、その職責が確率的処理のために一般化されている。処理要素の選択/再選択、処理要素の初期化または再初期化、および確率的足場ポイントの更新は、これらの値/要素の多く/殆ど/すべてを実行中のある時点で動的に置換するような主要目的をもって実行される。
確率的開発
確率的処理方法論において、乱数は、処理要素、プログラム制御パラメータおよび単純なデータの選択を含む多くの異なる機能に存在する。適切に構築された確率的処理足場は、ソフトウェア指令として乱数の使用を支持する。この種類の足場の最も簡単な形式は、URNGカオスエンジンである。カオスエンジンは、選択肢のリストから単一の選択を表す。
以下のルーチンは、設計時の静的プールサイズ、アドレス指定モジュロおよび単一の(ライブラリー)PRNG呼出しを有すると仮定する。明らかに、このルーチンは、より確定的である。したがって、確率的処理の方法論には、PRNG呼出しを選択できる大量のPRNG関数の集合を追加する。以下のPRNG呼出しの各々は、異なる関数を用いて動的に選択され、不確定データを介してシードされる。また、「プールサイズ」と「モジュロ」のような不確定パラメータは、ソースファイルが作成されるときに定義される。このように、不確実性の全体的な範囲が広くなるとともに、単一PRNGの既知欠点の一部が緩和される。正味の効果は、マスクURNGとして知られている非決定的かつ不確定の乱数生成器である。
{
uint32_t poolsize; // allocation size in r_values
uint32_t modulo; // prime number addressing modulo
t_prng prng[ NUM_STOCHASTIC_POINTS ]; // PRNG addressing functions
r_value * pool; // data pool pointer
} t_urng;
r_value urng_value (t_urng *urng)
{
r_value unsafe_1, unsafe_2; // paradox unsafe PRNG deterministic values
r_value domain_1, domain_2; // paradox safe domain values
r_value mask1, mask2, mask3; // Raw nondeterministic values from the pool
// Use 3 independent PRNGs to read uncertain mask values from the pool
mask1 = urng->pool[ prng (1) % urng->modulo ];
mask2 = urng->pool[ prng (2) % urng->modulo ];
mask3 = urng->pool[ prng (3) % urng->modulo ];
// Convert deterministic PRNG values into a paradox safe domain values
unsafe_1 = prng (4);
unsafe_2 = prng (5);
domain_1 = (~mask1 & unsafe_1) | (mask1 & unsafe_2 ) % urng->modulo;
unsafe_1 = prng (6);
unsafe_2 = prng (7);
domain_2 = (~mask2 & unsafe_1) | (mask2 & unsafe_2 ) % urng->modulo;
// Manufacture a nondeterministic value from the pool while hiding domain and range
return (~mask3 & urng->pool[ domain_1 ]) | (mask3 & urng->pool[domain_2 ]);
};
しかしながら、これらのPRNGの動的不可知な置換に新たなシード値の追加および不確定性プールのオンデマンド作成によって、同一の実装は、呼出されるたびに動的カスタムソリューションになる。
PRNG関数用の集合およびURNGランダム編集プロセス(REP)関数用の集合を含む2つの集合から開始する。PRNGを選択するときに使用した同一のデータ駆動型プロセスを用いて、REPを選択し、REPリストを作成する。各ランダム編集プロセスは、切離しプロセスである。マスク生成器は、1つの切離しプロセスを表しているが、カオスURNG(上記のコードを参照)は、不確定値を用いて多くの切離しプロセスから選択する。全体的な結果としては、同一の不確定性プールから作成された不確実な乱数は、かなり多くなる。
確率的処理の不確実性は、確率的処理がより有用なランダム性アプリケーションである理由を示している。正確なデータプールがなければ、(実装の情報から)呼出されるカスタムソリューションのバージョンを予測することはできない。ハードウェアおよびソフトウェアにおける現行の(静的)実装は、数学的確実性に準拠している。これらの静的ソリューションは、動的ソリューションに取代れるだろう。これらの不確実性技術は、アプリケーションをカオス的になり、より安価かつより好適なリューションになるようにさせるだろう。
データ構造と行動は、現行のデジタルプロトコルを規定する。開発者は、これらのプロトコルの実装を完璧にするのに勤勉に努力している。この完璧に近い実装は、最新のデジタルプロトコルが非常に脆弱であることを意味する。デジタルプロトコル内の脆弱なデータ構造をどうのように保護するか? データ構造を保護する手段を得るためには、データ構造を意図的に破らなければならない。この皮肉な行動は、データ構造の保護パラドックスを定義する。
殆どのデジタルプロトコルにおいて、製造者(製造源または創始者)とプロトコルを処理する消費者との2つの関係者がある。動的デジタルプロトコルを成功させるために、一般的に、これらの2つの関係者は、共通のソースファイル、タイムスタンプ、URNG実装、および確率的処理アプリケーションを含む同様のカスタム環境から出発する必要がある。このようにして、両者は、互換性のある動的デジタルプロトコルに処理するためのランダムデータストリームおよびアプリケーションを同様にもっていることを知っている。動的デジタルプロトコルの「製造者」および「消費者」が同期される限り、両者は、ハッキングされる懸念なく、データ構造の交換を続けることができる。全く同様の環境がなければ、プロトコル消費者に受入れる予期のデータ構造を作成することはできない。
これらの「プレーン」は、各々個別に改革される可能性がある。たとえば、データに影響を与えず、データプールのアドレス指定を変えることができる。同様に、1つのプレーンの状態を固定(凍結)しても、開発者は、他のプレーンを改革することが可能である。このような改革可能性は、不確定関数の性質から由来する。したがって、同様の可能性は、確率的処理(データ/アドレス/制御プレーン)にも存在する。
「静的UNRG」は、ソースファイル内の不確定性プールに基づき、URNGインスタンスを作成する。各独特のタイムスタンプは、同一のデータを共有しながら、URNGの異なるインスタンスを作成する。
動的URNGプリミティブ
「動的URNG」は、指定のソースファイルとタイムスタンプを利用して、新たな不確定性プールを作成する。この新たな不確定性プールとタイムスタンプは、URNGの動的インスタンスを定義する。したがって、各独特のタイムスタンプは、独特の乱数生成器を生成し、生成された各独特の乱数生成器は、独特の乱数ストリームを生成する。
同一のソースファイル、タイムスタンプおよび上記のプリミティブは、同一のURNGインスタンスを作成し、その後同一のランダムストリームを生成する。所定のURNGインスタンスが定義された後、データプレーンが割当てられる。
「クローンURNG」は、所定のURNGインスタンスのコピーを作成する。各クローンは、クローン点から同一の乱数ストリームを生成する。
URNG値プリミティブ
「URNG値」は、乱数を取得するための標準なURNGインタフェースプリミティブである。
ランダムサブストリーム−インデックス付きURNGプリミティブ
「インデックス付きURNG」は、「インデックス付き」ストリーム内において次の乱数を取得するためのインタフェースプリミティブである。インデックスが変わるたびに、インデックス付きストリームがリセットされる。よって、「リセット」は、インデックス付きURNGの再利用を可能にし、任意のインデックス付きストリームを再生成することができる。例として、同一のインデックス付きストリームが同一のランダムストリームを再生成し始めるように、インデックスを一時値にセットして、その後以前のインデックス位置に復元させる必要がある。インデックス付きURNGインターフェースプリミティブと連動して、クローンURNGインタフェースプリミティブの使用は、任意数の(異なる)連立ランダムストリームが同一の不確定性プールから支持されることを可能にする。
バーチャルカット−メモリアドレス+オフセット
たとえば、データプールを読取るために使用されるメモリアドレスにオフセットを足すことは、メモリ範囲の原点を移動させることと同様の効果を有する。これは、カードゲームにおいてトランプの「カット」と似ている。
メモリアドレスとともに、ビット単位でシャッフル値のXORをとる行為は、XOR演算によってメモリ範囲が並べ替えられたため、迅速な位置シャッフルと相当する効果を有する。シャッフルしてからカットすることができ、またはカットしてからシャッフルすることもできる。希望であれば、これらの仮想カードトリックは、何度でも行うことができる。
メモリアドレスの操作は、いくつかの非常に有用な副作用を生じることができる。通常は、不確定乱数発生器は、1つの乱数ストリームしか生成しない。不確定乱数発生器内に使用された各メモリアドレスにオフセットを足すと、異なるオフセットごとに、異なるランダムサブストリームが生成される。メモリ−オフセット値を選択的に足すことによって、任意数のランダムサブストリームを生成することができる。これによって、必要に応じて、アドレスをランダムに指定可能なサブストリームを得ることができる。このツールは、多くのアプリケーションにおいて非常に有用である。
殆どの場合、「ファイル」の命名は、一般には、何らかの形式の「名前空間」内において、そのファイルを見つける場所(パス名)を最初に識別する必要である。一般的には、場所の最後の部分だけは、ファイルを命名するために使用される。パス名は、ソースファイルの外部識別を指定する。追加の内部識別は、作成タイムスタンプと非独特の識別子を含む。外部識別および内部識別によって、任意のソースファイルを既知のシステムに位置付けることができる。一旦正しいソースファイルを見つけると、動的識別子(オープンファイルID)を定義することができる。
データ構造の製造者と消費者とは、最初から同一のソースファイルおよびタイムスタンプをもつことに限り、同一のURNGインスタンスを作成することによって、既に同期の第1レベルに達している。一般的に、確率的処理アプリケーションは、特異のランダム配列を表す値(サブストリーム識別子)を定義しなければならない。これらのサブストリーム識別子は、インデックス付きURNGプリミティブの「インデックス」値となる。確率的処理アプリケーションは、一般的に新たなランダムサブストリームを要求するたびに、新たなインデックス(ストリーム)値を作成することができる。このインデックス値は、データ構造内にあってもなく、いなくてもよい。たとえば、いくつかのインターネットプロトコルは、プロトコル定義に埋込まれた「配列番号」を有する。これらの配列番号は、インデックス値にマッピングされることができる。これらのインデックス値は、ランダム性のファイングレイン(Fine Grain)アドレス(時間)指定関数となる。明らかには、殆どのプロトコル配列番号は、ある理由で順番付けられるが、これらのインデックス値は、連続する必要はない。これらのインデックスを作成および管理するアルゴリズムが正しい限り、インデックス付きURNGプリミティブは、任意所定の(有効の)インデックスに対し、同様のランダムサブストリームを与える。
デジタルプロトコル内で脆弱な(静的)データ構造を保護するタスクは、最大2つの異なるアプリケーション固有の処理要素の集合が必要になる。第1集合が、データ構造を単一の値に減少させるある形式の「ハッシュ」関数または巡回冗長検査(CRC)関数である。必要に応じて、第2集合が使用され、データ構造の保護パラドックスを呼出す。
多くのインターネットプロトコルは、CRC関数を採用して、損傷した(無効の)パケットを検出する。CRCチェックが不合格である場合、パケットが破棄される。これらのプロトコルは、欠落パケットを自然に置換し、一時的なグリッチという唯一の結果を生じる。現在、多くの異なるCRC関数は、ネットワークの全体に配置されている。しかしながら、意図通りに機能させるために、現行のCRCの各呼出しは、一般的に正しい関数を使用しなければならない。このことは、現行のCRCメタファーを定義する。
明らかに、RICは、任意のデジタルプロトコルに加えられ、低コストの認証手段を提供することができる。多くのサービスは、認証なしで提供されているが、一部のサービスは、認証(たとえば、セキュア・ソケット・レイヤー(SSL))をサポートする非常に複雑なインフラを有する。一回のデータ交換が完了すると、乱数発生器も交換される。そのため、認証をサポートするために必要された最小限のインフラを設立した。共有の確率的処理アプリケーションがこのデータ交換に使用される場合、ハードウェアまたはソフトウェアにおける動的カスタムのアプリケーションも交換される。
多くのサービス提供者が既知の「公開アドレス」を有すると仮定する。これらのサービス提供者が既にRIC認証をサポートするようにアップグレードされる場合、許可されたサービスのみが提供され、他のすべてのリクエストが無視される。このように、RICは、このサービスに対し、一種の取消可能なアクセス制御となる。このアクセス制御の可能な応用は、無制限である。
破壊および復元(BR)プロセスは、確率的足場のフレームワークに従って進む。BRアプリケーションの開発者は各々、BR処理要素を多段階選択するおよび多段階起動させるためのフレームワークを作成する。プログラム制御変数(ステップ数、ステップの順序、BR要素の選択など)に対する制限はすべて、URNGによって生成されたデータによって規定される。
以上のセクションでは、BRプロセスとRICの両方が同時に使用されている場合を説明した。しかしながら、多くの有効なアプリケーションは、一方のみを使用する。多くのデジタルプロトコルにおいて、RICは、アクセス制御の低コスト解決案として単独に利用される。ソフトウェアDRMの場合、BRプロセスは、単独に利用される。RICのみがソフトウェアDRMに採用されている場合、攻撃点が1つであるため、ソフトウェアがハッキングされ易くなり、RICの効果が発揮できなくなる。しかしながら、BRプロセスの単独使用は、ソフトウェアを充分保護できる。その理由は、不正に復元されたソフトウェアがすべて機能しなくなる。BRプロセスのみまたはRICのみを使用するアプリケーションは、多くある。
「線形合同数生成器」は、決定的値を生成する。これらの決定的値は、一般的にURNG実装内でパラドックス安全な値に変換されなければならない。不確定関数用のパラドックス安全なドメイン値を生成するための要件が同様に維持されながら、欠点のあるPRNGを除去すると、プロセスをより好適なランダム性を有するように簡素化することができる。
unsafe_1 = prng (4);
unsafe_2 = prng (5);
domain = (~mask & unsafe_1) | (mask & unsafe_2 ) % urng->modulo;
不確定性プールから1つ(または1つ以上)の非決定的な値を用いて、素数モジュロ演算からドメイン値を生成することができる。パラドックス安全なデータを用いて「線形」方程式を置換すると、「線形合同数生成器」の代わりに、データ合同数生成器(DCG)が生成される。不確定性プールに与えたランダムインデックスが2つ(seed0,seed1)である場合、Cコード置換例は、以下である。
uint32_t hi, low, domain;
hi = urng->pool[ seed0++ % urng->modulo ];
low = urng->pool[ seed1-- % urng->modulo ];
y = ((uint64_t) hi << 32) | (low);
domain = ( y % prime ) % urng->modulo;
注:この実施例では、2つの32ビット値を連結することによって、64ビット値を作成する。連結の代わりに、ほぼすべての2進演算も同様に機能する。単一のプール値が機能するが、同一のアドレス指定配列を繰返す速度が速すぎるという傾向がある。上記の「素数」を置換すれば、異なるドメイン値生成器を作成することができる。DCGの実施形態は、ソフトウェアまたはハードウェアに作成することができる。
Cヘッダは、上記のコード抜粋に書かれていないいくつかの詳細を補足する。
#define MAX_REPS 16
#define INSTRUCTIONS_PER_WORD 8
#define INSTRUCTION_MASK 0xF
#define INSTRUCTION_SHIFT 4
#defineNUM_STOCHASTIC_POINTS 7
#define prng( num ) ((*urng->prng[ num ].PRNG)( &urng->prng[ num ].state ))
typedef uint32_t r_value; // base type of uncertainty value
// generic PRNG function
typedef r_value (*PRNG_function)(r_value* seed);
// generic Random Edit Process
typedef r_value (*edit_process)(r_value, r_value, r_value);
typedef struct
{
PRNG_function PRNG;
r_value state;
} t_prng;
// STRUCTURE : t_chaos
//
// Chaos CPU
// instruction (block) currently 4 bits each
// PC Program Counter within instruction block
// 16 CPU operations indexed via 4 bit instruction
// each operation is a generic Random Edit Process
// each operation is randomly selected via uncertainty value from REP table
//
// Since each instruction block is randomly fished from pool of uncertainty and then
// used to perform random operations against other random streams, the Chaos Engine
// is an appropriate name.
typedef struct
{
r_value instruction; // random value holding instructions
r_value PC; // current instruction counter within above instruction
edit_process operation[ MAX_REPS ]; // table of chaos operations (Random Edit
Processes)
} t_chaos;
typedef struct
{
uint32_t poolsize; // allocation size in r_values
uint32_t modulo; // prime number addressing modulo
t_prng prng[ NUM_STOCHASTIC_POINTS ]; // PRNG addressing functions
t_chaos cpuAdr0; // address chaos engine
t_chaos cpuAdr1; // address chaos engine
30 t_chaos cpudata; // data chaos engine
r_value *pool; // data pool pointer
} t_curng;
typedef struct
{
uint32_t poolsize; // allocation size in r_values
uint32_t modulo; // prime number addressing modulo
t_prng prng[ NUM_STOCHASTIC_POINTS ]; // PRNG addressing functions
r_value *pool; // data pool pointer
} t_urng;
上述した実施形態は、本発明の応用原理の単なる例示であることを理解すべきである。本発明は、その精神または本質的な特徴から逸脱することなく、他の特定の形態で実現され得る。上記の実施形態は、すべての点で、単なる例示であり、限定的ではないと考えるべきである。したがって、本発明の範囲は、上記の説明ではなく、添付の特許請求の範囲によって示される。特許請求の範囲と均等な意味および範囲にあるすべての変更は、本発明の範囲内に包含されるべきである。
Claims (26)
- 計算装置を用いた情報確率的処理システムであって、
a)プロセッサを備えるアーキテクトモジュールを含み、前記アーキテクトモジュールは、処理アーキテクチャを生成することによって、データの確率的処理を管理かつ制御するように構成され、
b)前記アーキテクトモジュールに機能的に連結された非決定的データプールモジュールを含み、前記非決定的データプールモジュールは、非決定的な値のストリームを提供するように構成され、
c)前記アーキテクトモジュールに機能的に連結された複数の機能的に同等なデータ処理モジュールを含み、前記複数の機能的に同等なデータ処理モジュールの各々は、前記アーキテクトモジュールに呼出されるときに、データを確率的に処理するように構成され、
d)前記アーキテクトモジュールと機能的に通信するデータ供給モジュールを含み、前記データ供給モジュールは、確率的に処理される所望のデータセットを供給するように構成され、前記アーキテクトモジュールは、前記データセットの確率的処理のために、前記複数の機能的に同等なデータ処理モジュールから前記処理アーキテクチャに使用されるデータ処理モジュールを選択し、当該データ処理モジュールの使用を管理し、
e)メモリ記憶装置を備える構造化メモリモジュールを含み、前記構造化メモリモジュールは、前記アーキテクトモジュールに機能的に連結され、前記処理アーキテクチャを記録するように構成されている、システム。 - 前記アーキテクトモジュールは、乱数を用いて前記複数のデータ処理モジュールからデータ処理モジュールを選択する、請求項1に記載のシステム。
- 前記アーキテクトモジュールは、実行中に前記処理アーキテクチャをランダムに変更する実行時間修正モジュールをさらに含み、請求項1に記載のシステム。
- 前記アーキテクトモジュールは、乱数を用いて、選択されたデータ処理モジュール用の実行時間を選択する、請求項1に記載のシステム。
- 前記システムは、データプール処理モジュールをさらに含み、前記データプール処理モジュールは、前記データプールモジュールに機能的に連結され、共通データプールを処理することによってアプリケーション特有のデータプールを生成するように構成される、請求項1に記載のシステム。
- 前記構造化メモリモジュールは、所定の処理アーキテクチャを複製するように前記アーキテクトモジュールに十分な情報を提供するように構成されている、請求項1に記載のシステム。
- 前記アーキテクトモジュールは、CRC計算要素をさらに含む、請求項1に記載のシステム。
- 情報ストリームを確率的に処理する方法であって、
a)確率的に処理される情報ストリームを提供するステップと、
b)非決定的データプールを提供するステップと、
c)複数の機能的に同等なデータ処理モジュールからデータ処理モジュールを選択するステップと、
d)前記選択されたデータ処理モジュールの動作を構造化することによって、処理アーキテクチャを生成するステップと、
e)前記処理アーキテクチャに従って前記情報ストリームを処理することによって、前記情報ストリームを確率的に変更するステップと、
f)処理アーキテクチャの使用を再現するのに十分な構造化情報を記録するステップとを含み、
前記非決定的データプールを提供するステップと、前記データ処理モジュールを選択するステップと、前記処理アーキテクチャを生成するステップと、前記構造化情報を記録するステップと、前記情報ストリームを変更するステップとの各々は、これらのステップを実行時間まで遅延させるステップを含む、方法。 - 情報ストリームを確率的に処理する方法であって、
a)確率的に処理される情報ストリームを提供するステップと、
b)非決定的データプールを提供するステップと、
c)複数の機能的に同等なデータ処理モジュールからデータ処理モジュールを選択するステップと、
d)前記選択されたデータ処理モジュールの動作を構造化することによって、処理アーキテクチャを生成するステップと、
e)前記処理アーキテクチャに従って前記情報ストリームを処理することによって、前記情報ストリームを確率的に変更するステップとを含み、
前記非決定的データプールを提供するステップは、前記非決定的データプールを確率的に処理することによってアプリケーション特有のデータプールを生成するステップをさらに含む、方法。 - 情報ストリームを確率的に処理する方法であって、
a)確率的に処理される情報ストリームを提供するステップと、
b)非決定的データプールを提供するステップと、
c)複数の機能的に同等なデータ処理モジュールからデータ処理モジュールを選択するステップと、
d)前記選択されたデータ処理モジュールの動作を構造化することによって、処理アーキテクチャを生成するステップと、
e)前記処理アーキテクチャに従って前記情報ストリームを処理することによって、前記情報ストリームを確率的に変更するステップとを含み、
前記データ処理モジュールを選択するステップと、前記処理アーキテクチャを生成するステップとは、データ処理モジュールをランダムに選択するために、乱数を提供するステップと、前記選択されたデータ処理モジュールの使用期間をランダムに決定するために、乱数を提供するステップと、前記選択されたデータ処理モジュールをシードするために、乱数を提供するステップとをさらに含む、方法。 - f)実行中に、ランダムに選択された置換データ処理モジュールを用いて、前記選択されたデータ処理モジュールを置換するステップと、
g)前記置換データ処理モジュールを用いて、前記情報ストリームの変更を続行するステップとをさらに含む、請求項10に記載の方法。 - 情報ストリームを確率的に処理する方法であって、
a)確率的に処理される情報ストリームを提供するステップと、
b)非決定的データプールを提供するステップと、
c)複数の機能的に同等なデータ処理モジュールからデータ処理モジュールを選択するステップと、
d)前記選択されたデータ処理モジュールの動作を構造化することによって、処理アーキテクチャを生成するステップと、
e)前記処理アーキテクチャに従って前記情報ストリームを処理することによって、前記情報ストリームを確率的に変更するステップと、
f)前記情報ストリームがデータ処理モジュールの複数のランダム化された層を介して処理されるように、複数のデータ処理モジュールの使用をランダムに階層化するステップとを含む、方法。 - 各層は、ランダムに選択された一連の足場ポイントを含む、請求項12に記載の方法。
- 各層は、異なる乱数を用いて構成されている、請求項13に記載の方法。
- 情報ストリームを確率的に処理する方法であって、
a)確率的に処理される情報ストリームを提供するステップと、
b)非決定的データプールを提供するステップと、
c)複数の機能的に同等なデータ処理モジュールからデータ処理モジュールを選択するステップと、
d)前記選択されたデータ処理モジュールの動作を構造化することによって、処理アーキテクチャを生成するステップと、
e)前記処理アーキテクチャに従って前記情報ストリームを処理することによって、前記情報ストリームを確率的に変更するステップとを含み、
前記情報ストリームを提供するステップは、前記情報ストリームを所定のプロトコルに構成するステップをさらに含む、方法。 - 前記処理アーキテクチャとともに、非確定データを前記情報ストリームのCRC計算素子に組込むことによって、前記プロトコルにユーザの認証を提供するステップをさらに含む、請求項15に記載の方法。
- 情報ストリームを確率的に処理する方法であって、
a)確率的に処理される情報ストリームを提供するステップと、
b)非決定的データプールを提供するステップと、
c)複数の機能的に同等なデータ処理モジュールからデータ処理モジュールを選択するステップと、
d)前記選択されたデータ処理モジュールの動作を構造化することによって、処理アーキテクチャを生成するステップと、
e)前記処理アーキテクチャに従って前記情報ストリームを処理することによって、前記情報ストリームを確率的に変更するステップと、
f)処理アーキテクチャの使用を再現するのに十分な構造化情報を記録するステップとを含み、
前記構造化情報を記録するステップは、カウンターパートによる前記方法の動作が同一の時間インデックス位置から始まるように、同期値を記録するステップをさらに含む、方法。 - 確率的に処理された情報ストリームを復元する方法であって、
a)特定の処理アーキテクチャプールに関連付けられ、確率論的に処理された情報ストリームを受信するステップと、
b)非決定的データプールを提供するステップと、
c)前記特定の処理アーキテクチャと、前記特定の処理アーキテクチャにおける1つまたは複数のデータ処理モジュールの使用を再現するのに十分な構造化情報を提供するステップと、
d)複数の機能的に同等なデータ処理モジュールから1つまたは複数のデータ処理モジュールを選択することによって前記特定の処理アーキテクチャを生成し、記録された前記構造化情報に応じて当該特定の処理アーキテクチャを構造化するステップと、
e)生成された前記特定の処理アーキテクチャを介して、前記確率的に処理された情報ストリームを逆処理することによって、前記確率的に処理された情報ストリームをオリジナルの情報ストリームに復元するステップとを含む、方法。 - 前記構造化情報を提供するステップは、前記特定の処理アーキテクチャを十分再現するように、受信された前記確率的に処理された情報ストリーム内で捜し出した顕在的構造化情報を提供するステップをさらに含む、請求項18に記載の方法。
- 前記構造化情報を提供するステップは、非顕在的情報から、前記特定の処理アーキテクチャを再現するのに十分な構造化情報を生成するステップをさらに含む、請求項18に記載の方法。
- 前記非決定的データプールを提供するステップは、受信した処理アーキテクチャに従って前記非決定的データプールを処理することによって、アプリケーション特有のデータプールを生成するステップをさらに含む、請求項18に記載の方法。
- 情報ストリームを確率的に処理するように構成された確率的処理装置であって、
a)アーキテクトモジュールを含み、前記アーキテクトモジュールは、処理アーキテクチャに従って、情報ストリームの確率的処理を管理および制御するように構成され、
b)アーキテクトモジュールと機能的に通信する構造化メモリモジュールを含み、前記構造化メモリモジュールは、所定の処理アーキテクチャを複製するように前記アーキテクトモジュールに十分な情報を提供しかつ利用した処理アーキテクチャを記録するように構成され、
c)プロセッサと機能的に通信する入力モジュールを含み、前記入力モジュールは、プロセッサに確率的に処理されるべき受信した情報ストリームを前記プロセッサに供給するように構成され、
d)前記プロセッサと前記アーキテクトモジュールとに機能的に連結された非決定的データプールを備える不揮発性メモリ装置を含み、前記不揮発性メモリ装置は、関数から導出されていない非決定的な値のストリームを前記アーキテクトモジュールに提供するように構成され、
e)プロセッサを備えかつ前記アーキテクトモジュールに連結されたデータ処理モジュールを含み、前記データ処理モジュールは、前記アーキテクトモジュールに呼出されるときに、前記処理アーキテクチャに従って、前記情報ストリームを確率的に処理するように構成され、
f)前記データ処理モジュールと機能的に通信する出力モジュールを含み、前記出力モジュールは、前記データ処理モジュールから前記確率的に処理された情報ストリームを受信しかつ前記確率的に処理された情報ストリームを送信するように構成される、装置。 - 前記データ処理モジュールは、データ処理指令セットをさらに含む、請求項22に記載の装置。
- 前記データ処理モジュールは、前記情報ストリームを確率的に処理するために、関数またはデータプールのライブラリーをさらに含む、請求項22に記載の装置。
- 前記データ処理モジュールは、CRC計算要素をさらに含む、請求項22に記載の装置。
- 請求項8〜21のいずれか1項に記載の方法をコンピュータに実行させるためのプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/482,723 | 2012-05-29 | ||
US13/482,723 US9778912B2 (en) | 2011-05-27 | 2012-05-29 | Stochastic processing of an information stream by a processing architecture generated by operation of non-deterministic data used to select data processing modules |
PCT/US2013/043006 WO2013181196A1 (en) | 2012-05-29 | 2013-05-29 | Stochastic processing |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016142457A Division JP6400640B2 (ja) | 2012-05-29 | 2016-07-20 | 確率的処理 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015519669A JP2015519669A (ja) | 2015-07-09 |
JP5976928B2 true JP5976928B2 (ja) | 2016-08-24 |
Family
ID=47220061
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015515130A Active JP5976928B2 (ja) | 2012-05-29 | 2013-05-29 | 確率的処理 |
JP2016142457A Active JP6400640B2 (ja) | 2012-05-29 | 2016-07-20 | 確率的処理 |
JP2018165973A Active JP6616471B2 (ja) | 2012-05-29 | 2018-09-05 | 確率的処理 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016142457A Active JP6400640B2 (ja) | 2012-05-29 | 2016-07-20 | 確率的処理 |
JP2018165973A Active JP6616471B2 (ja) | 2012-05-29 | 2018-09-05 | 確率的処理 |
Country Status (5)
Country | Link |
---|---|
US (4) | US9778912B2 (ja) |
EP (1) | EP2856331A4 (ja) |
JP (3) | JP5976928B2 (ja) |
KR (4) | KR20170099407A (ja) |
WO (1) | WO2013181196A1 (ja) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070214036A1 (en) * | 2006-03-08 | 2007-09-13 | Gosakan Aravamudan | Online product design |
US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
US8665601B1 (en) | 2009-09-04 | 2014-03-04 | Bitmicro Networks, Inc. | Solid state drive with improved enclosure assembly |
US8447908B2 (en) | 2009-09-07 | 2013-05-21 | Bitmicro Networks, Inc. | Multilevel memory bus system for solid-state mass storage |
US8560804B2 (en) | 2009-09-14 | 2013-10-15 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
US9063673B2 (en) * | 2011-08-30 | 2015-06-23 | Uniquesoft, Llc | System and method for implementing application code from application requirements |
US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
US9858084B2 (en) | 2013-03-15 | 2018-01-02 | Bitmicro Networks, Inc. | Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory |
US9934045B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
US9720603B1 (en) | 2013-03-15 | 2017-08-01 | Bitmicro Networks, Inc. | IOC to IOC distributed caching architecture |
US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
US9842024B1 (en) | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
US9811461B1 (en) | 2014-04-17 | 2017-11-07 | Bitmicro Networks, Inc. | Data storage system |
US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
EP3320457B1 (en) * | 2015-07-10 | 2021-04-07 | Whether Or Knot LLC | System and method for electronic data distribution |
US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
US11222172B2 (en) * | 2017-05-18 | 2022-01-11 | Lakebolt Research | System and method for reactive computing |
RU181260U1 (ru) * | 2017-11-16 | 2018-07-06 | Федеральное государственное бюджетное военное образовательное учреждение высшего образования "Черноморское высшее военно-морское ордена Красной Звезды училище имени П.С. Нахимова" Министерства обороны Российской Федерации | Вероятностный вычитатель |
TWI702505B (zh) * | 2018-03-01 | 2020-08-21 | 鈺創科技股份有限公司 | 收集與分析資料的方法與相關的裝置 |
CN108648323B (zh) * | 2018-05-10 | 2021-02-19 | 广州市申迪计算机系统有限公司 | 目标信息的选取方法、装置、计算机设备和存储介质 |
US11101029B2 (en) | 2018-07-17 | 2021-08-24 | Petuum Inc. | Systems and methods for predicting medications to prescribe to a patient based on machine learning |
CN112313915B (zh) * | 2018-11-05 | 2021-08-31 | 北京大学深圳研究生院 | 基于gspn和鞅理论网络空间拟态防御的安全性建模量化方法 |
WO2020183250A1 (en) * | 2019-03-12 | 2020-09-17 | Ajitkumar Dhanraj Hatti | A system for generation and verification of identity and a method thereof |
US11654635B2 (en) | 2019-04-18 | 2023-05-23 | The Research Foundation For Suny | Enhanced non-destructive testing in directed energy material processing |
US11907684B2 (en) * | 2021-02-16 | 2024-02-20 | Cassy Holdings Llc | High clock-efficiency random number generation system and method |
CN116318945B (zh) * | 2023-03-09 | 2023-10-20 | 南京航空航天大学 | 一种基于内生动态防御架构的多目标服务功能链部署方法 |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3400035A1 (de) | 1983-01-07 | 1984-07-12 | General Electric Co., Schenectady, N.Y. | Simulator fuer statistisches rauschen |
US5430836A (en) | 1991-03-01 | 1995-07-04 | Ast Research, Inc. | Application control module for common user access interface |
JPH05241593A (ja) * | 1991-12-25 | 1993-09-21 | Matsushita Electric Ind Co Ltd | 時系列信号処理装置 |
GB2288519A (en) | 1994-04-05 | 1995-10-18 | Ibm | Data encryption |
CA2211163A1 (en) | 1995-01-25 | 1996-08-01 | Haworth, Inc. | Modular communication system |
JPH1020781A (ja) * | 1996-06-28 | 1998-01-23 | Nippon Telegr & Teleph Corp <Ntt> | 電子署名方法、その検証方法および装置 |
CA2262551C (en) * | 1996-08-16 | 2002-09-17 | Bell Communications Research, Inc. | Improved cryptographically secure pseudo-random bit generator for fast and secure encryption |
US5909494A (en) * | 1997-02-14 | 1999-06-01 | At&T Corp. | System and method for constructing a cryptographic pseudo random bit generator |
US6243635B1 (en) | 1997-08-27 | 2001-06-05 | Nartron Corporation | Integrated seat control with adaptive capabilities |
JPH11109859A (ja) * | 1997-10-06 | 1999-04-23 | Nec Corp | 擬似乱数発生方法および装置 |
US6298481B1 (en) | 1998-10-30 | 2001-10-02 | Segasoft, Inc. | System for modifying the functionality of compiled computer code at run-time |
US7058075B1 (en) | 1999-06-15 | 2006-06-06 | Cisco Technology, Inc. | Self-configuring interface for communication protocols |
US6678853B1 (en) | 1999-12-17 | 2004-01-13 | Hewlett-Packard Development Company, L.P. | Method and apparatus for generating random code |
US7024690B1 (en) * | 2000-04-28 | 2006-04-04 | 3Com Corporation | Protected mutual authentication over an unsecured wireless communication channel |
US7739409B2 (en) | 2000-09-26 | 2010-06-15 | King Green Ltd. | System and method for making available identical random data to seperate and remote parties |
DE60125139D1 (de) | 2001-01-16 | 2007-01-25 | Ericsson Telefon Ab L M | Zufallszahlengenerator basierend auf Komprimierung |
US6792439B2 (en) * | 2001-04-13 | 2004-09-14 | Science Applications International Corp. | Method and apparatus for generating random numbers with improved statistical properties |
FR2829643A1 (fr) * | 2001-09-12 | 2003-03-14 | Everbee Wireless Ltd | Procede pour generer des nombres aleatoires |
US20040205567A1 (en) | 2002-01-22 | 2004-10-14 | Nielsen Andrew S. | Method and system for imbedding XML fragments in XML documents during run-time |
US7209561B1 (en) * | 2002-07-19 | 2007-04-24 | Cybersource Corporation | System and method for generating encryption seed values |
DE60307780T2 (de) * | 2003-02-11 | 2007-08-23 | Ip-First Llc, Fremont | Zufallszahlengenerator mit auswählbaren dualen Zufallsbitfolgemaschinen |
US7139785B2 (en) | 2003-02-11 | 2006-11-21 | Ip-First, Llc | Apparatus and method for reducing sequential bit correlation in a random number generator |
US7085791B2 (en) * | 2003-02-14 | 2006-08-01 | Lucent Technologies Inc. | Method and apparatus for generating a pseudo random number |
US7502468B2 (en) | 2003-09-02 | 2009-03-10 | Ncipher Corporation Ltd. | Method and system for generating a cryptographically random number stream |
US7523305B2 (en) * | 2003-12-17 | 2009-04-21 | International Business Machines Corporation | Employing cyclic redundancy checks to provide data security |
US7770014B2 (en) * | 2004-04-30 | 2010-08-03 | Microsoft Corporation | Randomized signal transforms and their applications |
US7590830B2 (en) * | 2004-05-28 | 2009-09-15 | Sun Microsystems, Inc. | Method and structure for concurrent branch prediction in a processor |
US20050271207A1 (en) * | 2004-06-05 | 2005-12-08 | Helmut Frey | Method and system for chaotic digital signature, encryption, and authentication |
US7191372B1 (en) * | 2004-08-27 | 2007-03-13 | Xilinx, Inc. | Integrated data download |
US7552156B2 (en) | 2004-08-30 | 2009-06-23 | Nunes Ryan J | Random number generator |
CA2584525C (en) * | 2004-10-25 | 2012-09-25 | Rick L. Orsini | Secure data parser method and system |
US20060216524A1 (en) | 2005-03-23 | 2006-09-28 | 3M Innovative Properties Company | Perfluoropolyether urethane additives having (meth)acryl groups and hard coats |
JP4774509B2 (ja) * | 2005-05-13 | 2011-09-14 | 国立大学法人お茶の水女子大学 | 擬似乱数発生システム |
US8443020B2 (en) | 2005-09-09 | 2013-05-14 | Mitsubishi Electric Corporation | Pseudo random number generator |
GB0602641D0 (en) | 2006-02-09 | 2006-03-22 | Eads Defence And Security Syst | High speed data processing system |
US7720225B2 (en) | 2006-03-07 | 2010-05-18 | Research In Motion Limited | Table splitting for cryptographic processes |
KR20090024804A (ko) | 2006-06-20 | 2009-03-09 | 엔엑스피 비 브이 | 난수 발생기 시스템, 난수 생성 방법 및 컴퓨터 판독가능 매체 |
US20080076525A1 (en) | 2006-08-25 | 2008-03-27 | Igt | Quantum gaming system |
JP4258551B2 (ja) * | 2007-01-25 | 2009-04-30 | 日本電気株式会社 | 認証システム、認証方法、及び認証プログラム |
US7962539B2 (en) * | 2007-04-30 | 2011-06-14 | International Business Machines Corporation | System, method and device of generating a random value |
CN101682506B (zh) * | 2007-05-18 | 2013-10-16 | 美国唯美安视国际有限公司 | 用于确定在保护数据时应用的可编程处理步骤的系统和方法 |
US8171068B2 (en) * | 2007-08-31 | 2012-05-01 | International Business Machines Corporation | Generating unique pseudorandom numbers |
US8448002B2 (en) | 2008-04-10 | 2013-05-21 | Nvidia Corporation | Clock-gated series-coupled data processing modules |
US8312071B2 (en) | 2008-04-11 | 2012-11-13 | International Business Machines Corporation | Method and structure for provably fair random number generator |
US8010846B1 (en) * | 2008-04-30 | 2011-08-30 | Honeywell International Inc. | Scalable self-checking processing platform including processors executing both coupled and uncoupled applications within a frame |
US9292259B2 (en) * | 2008-08-06 | 2016-03-22 | Cassy Holdings Llc | Uncertainty random value generator |
US8324824B2 (en) | 2009-01-29 | 2012-12-04 | Ixys Corporation | 1-wire communication protocol and interface circuit |
US9342508B2 (en) | 2009-03-19 | 2016-05-17 | Microsoft Technology Licensing, Llc | Data localization templates and parsing |
US9207911B2 (en) | 2009-07-31 | 2015-12-08 | Cassy Holdings Llc | Modular uncertainty random value generator and method |
-
2012
- 2012-05-29 US US13/482,723 patent/US9778912B2/en active Active
-
2013
- 2013-05-29 EP EP13798025.6A patent/EP2856331A4/en not_active Ceased
- 2013-05-29 WO PCT/US2013/043006 patent/WO2013181196A1/en active Application Filing
- 2013-05-29 KR KR1020177022828A patent/KR20170099407A/ko not_active Application Discontinuation
- 2013-05-29 KR KR1020167031559A patent/KR101772002B1/ko active IP Right Grant
- 2013-05-29 KR KR1020187029289A patent/KR101961843B1/ko active IP Right Grant
- 2013-05-29 KR KR1020147033522A patent/KR101677557B1/ko active IP Right Grant
- 2013-05-29 JP JP2015515130A patent/JP5976928B2/ja active Active
-
2016
- 2016-07-20 JP JP2016142457A patent/JP6400640B2/ja active Active
-
2017
- 2017-08-14 US US15/676,324 patent/US10635399B2/en active Active
- 2017-08-29 US US15/689,281 patent/US9990180B2/en active Active
- 2017-11-24 US US15/822,058 patent/US9965249B2/en active Active
-
2018
- 2018-09-05 JP JP2018165973A patent/JP6616471B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
KR20150004908A (ko) | 2015-01-13 |
JP2015519669A (ja) | 2015-07-09 |
KR101772002B1 (ko) | 2017-08-28 |
US20180074790A1 (en) | 2018-03-15 |
US9965249B2 (en) | 2018-05-08 |
KR20170099407A (ko) | 2017-08-31 |
US20170371623A1 (en) | 2017-12-28 |
US20120303924A1 (en) | 2012-11-29 |
KR101961843B1 (ko) | 2019-03-25 |
US20180011692A1 (en) | 2018-01-11 |
JP6400640B2 (ja) | 2018-10-03 |
KR20180115343A (ko) | 2018-10-22 |
US10635399B2 (en) | 2020-04-28 |
EP2856331A1 (en) | 2015-04-08 |
JP2017016667A (ja) | 2017-01-19 |
KR20160133014A (ko) | 2016-11-21 |
JP6616471B2 (ja) | 2019-12-04 |
EP2856331A4 (en) | 2016-06-15 |
WO2013181196A1 (en) | 2013-12-05 |
US9778912B2 (en) | 2017-10-03 |
JP2019012547A (ja) | 2019-01-24 |
US9990180B2 (en) | 2018-06-05 |
KR101677557B1 (ko) | 2016-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6616471B2 (ja) | 確率的処理 | |
JP5886375B2 (ja) | 不確定性ランダム値発生器 | |
RU2619895C1 (ru) | Система и способы для шифрования данных | |
Johnson et al. | A PUF-enabled secure architecture for FPGA-based IoT applications | |
Lazar et al. | Why does cryptographic software fail? A case study and open problems | |
Bortolozzo et al. | Attacking and fixing PKCS# 11 security tokens | |
US20210318855A1 (en) | Modular Uncertainty Random Value Generator and Method | |
CN111049897B (zh) | 小程序包的加密上传和解密部署方法、装置、设备和介质 | |
Ateniese et al. | Secure outsourcing of cryptographic circuits manufacturing | |
EP3097655A1 (en) | Method of protecting secret data when used in a cryptographic algorithm | |
Küennemann et al. | MAC-in-the-Box: Verifying a Minimalistic Hardware Design for MAC Computation | |
Benadjila et al. | Randomness of random in Cisco ASA | |
Jackson | A Trivium-Inspired Pseudorandom Number Generator with a Statistical Comparison to the Randomness of SecureRandom and Trivium | |
Paju | Distributed EaaS simulation using TEEs: A case study in the implementation and practical application of an embedded computer cluster | |
Sarıtaş | Analysis of Android Random Number Generator | |
Testa II | Investigations of cellular automata-based stream ciphers | |
Abrahamsson | Security Enhanced Firmware Update Procedures in Embedded Systems | |
Vigário | Assessing and Addressing the Security of Persistent Data in the Android Operating System | |
Andersen et al. | True Random Bit Generation | |
Abdel-Hamid | Watermarking techniques for intellectual property protection in SOC designs | |
Höberl | Securing Visual Sensor Nodes with Physically Unclonable Functions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160223 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160520 |
|
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: 20160621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160720 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5976928 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |