mirror of
				https://git.wownero.com/wownero/RandomWOW.git
				synced 2024-08-15 00:23:14 +00:00 
			
		
		
		
	modify BlakeGenerator chapter error (#117)
This commit is contained in:
		
							parent
							
								
									67010ab554
								
							
						
					
					
						commit
						1fa1ef2047
					
				
					 1 changed files with 5 additions and 5 deletions
				
			
		
							
								
								
									
										10
									
								
								doc/specs.md
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								doc/specs.md
									
										
									
									
									
								
							|  | @ -29,7 +29,7 @@ RandomX is a proof of work (PoW) algorithm which was designed to close the gap b | |||
| 
 | ||||
| **AesHash1R** refers to an AES-based fingerprinting function described in chapter 3.4. It's capable of processing more than 10 bytes per clock cycle and produces a 512-bit output. | ||||
| 
 | ||||
| **BlakeGenerator** refers to a custom pseudo-random number generator described in chapter 3.4. It's based on the Blake2b hashing function. | ||||
| **BlakeGenerator** refers to a custom pseudo-random number generator described in chapter 3.5. It's based on the Blake2b hashing function. | ||||
| 
 | ||||
| **SuperscalarHash** refers to a custom diffusion function designed to run efficiently on superscalar CPUs (see chapter 7). It transforms a 64-byte input value into a 64-byte output value. | ||||
| 
 | ||||
|  | @ -269,15 +269,15 @@ finalState0      finalState1      finalState2      finalState3 | |||
| 
 | ||||
| The final state is the output of the function. | ||||
| 
 | ||||
| ### 3.4 BlakeGenerator | ||||
| ### 3.5 BlakeGenerator | ||||
| 
 | ||||
| BlakeGenerator is a simple pseudo-random number generator based on the Blake2b hashing function. It has a 64-byte internal state `S`. | ||||
| 
 | ||||
| #### 3.4.1 Initialization | ||||
| #### 3.5.1 Initialization | ||||
| 
 | ||||
| The internal state is initialized from a seed value `K` (0-60 bytes long). The seed value is written into the internal state and padded with zeroes. Then the internal state is initialized as `S = Hash512(S)`. | ||||
| 
 | ||||
| #### 3.4.2 Random number generation | ||||
| #### 3.5.2 Random number generation | ||||
| 
 | ||||
| The generator can generate 1 byte or 4 bytes at a time by supplying data from its internal state `S`. If there are not enough unused bytes left, the internal state is reinitialized as `S = Hash512(S)`. | ||||
| 
 | ||||
|  | @ -911,7 +911,7 @@ The finalizer and output calculation steps of Argon2 are omitted. The output is | |||
| 
 | ||||
| ### 7.2 SuperscalarHash initialization | ||||
| 
 | ||||
| The key value `K` is used to initialize a BlakeGenerator (see chapter 3.4), which is then used to generate 8 SuperscalarHash instances for Dataset initialization. | ||||
| The key value `K` is used to initialize a BlakeGenerator (see chapter 3.5), which is then used to generate 8 SuperscalarHash instances for Dataset initialization. | ||||
| 
 | ||||
| ### 7.3 Dataset block generation | ||||
| Dataset items are numbered sequentially with `itemNumber` starting from 0. Each 64-byte Dataset item is generated independently using 8 SuperscalarHash functions (generated according to chapter 7.2) and by XORing randomly selected data from the Cache (constructed according to chapter 7.1). | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue