Heisenberg's uncertainty principle.dafhi wrote:nothing is unpredictable. :P
The thermal noise of a CPU is reckoned to be unpredictable and why Intel use it for RdRand.
Heisenberg's uncertainty principle.dafhi wrote:nothing is unpredictable. :P
Ha, ha. A reasonable assumption but not when people like me or MrSwiss are reading posts and, as you know, MrSwiss does not take prisoners. <laugh>dafhi wrote: i was assuming the three of us understood that the conversation was about algorithmic computation
Code: Select all
Microsoft Windows [Version 10.0.17134.285]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Users\User\Desktop\bin\random\PractRand_0.94\PractRand_094\bin\msvc12_64bit>pipefile | rng_test stdin32 -multithreade
d
RNG_test using PractRand version 0.94
RNG = RNG_stdin32, seed = unknown
test set = core, folding = standard (32 bit)
rng=RNG_stdin32, seed=unknown
length= 256 megabytes (2^28 bytes), time= 3.1 seconds
no anomalies in 165 test result(s)
rng=RNG_stdin32, seed=unknown
length= 512 megabytes (2^29 bytes), time= 6.4 seconds
no anomalies in 178 test result(s)
rng=RNG_stdin32, seed=unknown
length= 1 gigabyte (2^30 bytes), time= 12.5 seconds
no anomalies in 192 test result(s)
rng=RNG_stdin32, seed=unknown
length= 2 gigabytes (2^31 bytes), time= 23.9 seconds
no anomalies in 204 test result(s)
rng=RNG_stdin32, seed=unknown
length= 4 gigabytes (2^32 bytes), time= 47.7 seconds
no anomalies in 216 test result(s)
rng=RNG_stdin32, seed=unknown
length= 8 gigabytes (2^33 bytes), time= 108 seconds
no anomalies in 229 test result(s)
rng=RNG_stdin32, seed=unknown
length= 16 gigabytes (2^34 bytes), time= 236 seconds
no anomalies in 240 test result(s)
rng=RNG_stdin32, seed=unknown
length= 32 gigabytes (2^35 bytes), time= 503 seconds
no anomalies in 251 test result(s)
rng=RNG_stdin32, seed=unknown
length= 64 gigabytes (2^36 bytes), time= 1057 seconds
no anomalies in 263 test result(s)
rng=RNG_stdin32, seed=unknown
length= 128 gigabytes (2^37 bytes), time= 2144 seconds
no anomalies in 273 test result(s)
Code: Select all
'rng_test stdin32 -multithreaded
'pipefile.exe
Type random2
Dim As Ulongint a,b,c,d,e
Declare Function Valu() As Ulongint
Declare Function Valf() As Double
Declare Sub seed(As Ulongint)
End Type
Function random2.valu() As Ulongint
e = a-((b Shl 39) Or (b Shr 25))
a = b xor ((c Shl 11) Or (c Shr 53))
b = c + d
c = d + e
d = e + a
Return d
End Function
Function random2.valf() As Double
e = a-((b Shl 39) Or (b Shr 25))
a = b xor ((c Shl 11) Or (c Shr 53))
b = c + d
c = d + e
d = e + a
Return d/18446744073709551615
End Function
Sub random2.seed(z As Ulongint)
This=Type(4058668781,z,z,z)
For i As Ulongint=1 To 20
Valu
Next
End Sub
Dim As random2 p
p.seed(100)
Dim Shared S As String * 1048576
Dim As Ulong Ptr SPtr, BasePtr
Dim As Long j
SPtr = Cptr(Ulong Ptr, Strptr( S ))
BasePtr = SPtr
Do
For j = 1 To 262144
*SPtr = p.valu
SPtr += 1
Next
Print S;
SPtr = BasePtr
Loop
bro, you're all right :-)deltarho[1859] wrote:Ha, ha. A reasonable assumption but not when people like me or MrSwiss are reading posts and, as you know, MrSwiss does not take prisoners. <laugh>dafhi wrote: i was assuming the three of us understood that the conversation was about algorithmic computation
i haven't been able to get it to work.dodicat wrote:Hi dafhi.
Do you use PractRand for testing?
But if you encrypt a file, you want the sequence used to be reversible, otherwise it's just garbage, right? Some years ago I coded this Simple Encryption Algorithm, using a PRNG that passes ENT but not PractRand. All it does is xor'ing the sequence with the file to be encrypted. The resulting file is random. Of course, if you knew for certain one single dword of that file, you could reconstruct the sequence. But if you don't, how could you "attack" the encryption?deltarho[1859] wrote:An unpredictable sequence would be non-reversible
Correct.jj2007 wrote:But if you encrypt a file, you want the sequence used to be reversible, otherwise it's just garbage, right?
Bear in mind that the code it's assuming that you're executing it from where 'RNG_test.exe' is located. If you wand to run PractRand from another folder, simply modify the cmd string to account for the full path:dafhi wrote:i haven't been able to get it to work.
I use the approach viewtopic.php?f=3&t=26996&start=180#p252031
but i just see a blank console
Code: Select all
dim as string cmd = practRandFullPath & "RNG_test stdin32 -multithreaded"
I was talking about the ability to write a sequence backwards. From a developer's point of view, this would be a great platform from which to create a difficult-to-attack algorithm.jj2007 wrote: if you encrypt a file, you want the sequence used to be reversible, otherwise it's just garbage, right? ?