add blum blum shub header

This commit is contained in:
⧉ infominer 2023-09-30 01:44:28 -04:00
parent d9f7aecb66
commit d2f49f2656
1 changed files with 19 additions and 0 deletions

View File

@ -78,3 +78,22 @@ last_modified_at: 2023-09-29
> This article shows how Zero Knowledge Proofs BBS+ verifiable credentials can be used to verify credential subject data from two separate verifiable credentials implemented in ASP.NET Core and MATTR. The ZKP BBS+ verifiable credentials are issued and stored on a digital wallet using a Self-Issued Identity Provider (SIOP) and OpenID Connect. A compound proof presentation template is created to verify the user data in a single verify.
>
> Code: https://github.com/swiss-ssi-group/MattrAspNetCoreCompoundProofBBS
## Blum Blum Shub
* [Blum Blum Shub](https://asecuritysite.com/encryption/blum) A Security Site
> Blum Blum Shub (BBS) is used as a pseudo-random number generator (it is pseudo as it is not a truly random number, and where its randomisation depends on a random seed). It was created by Lenore Blum, Manuel Blum and Michael Shub in 1968. Blum Blum Shub uses the form of xn+1=x2n(modM), and where x0 is a random seed. The value of M is equal to pq, and where p and q are prime numbers. These values of p and q are both congruent to 3 mod 4 (p=q=3(mod4)). The security of the method involves the difficulty in factorizing M. It is slow, but is the strongest proven random number generator. For each step, we extract some of the information from xn+1, and which is typically the least significant bit. It would not be used within a cipher application, but could be used in key generation.
* [A SIMPLE UNPREDICTABLE PSEUDO-RANDOM NUMBER GENERATOR](https://shub.ccny.cuny.edu/articles/1986-A_simple_unpredictable_pseudo-random_number_generator.pdf) 1986 L. BLUM?, M. BLUM AND M. SHUB SIAM
> What do we want from a pseudo-random sequence generator? Ideally, we would like a pseudo-random sequence generator to quickly produce, from short seeds, long sequences (of bits) that appear in every way to be generated by successive flips of a fair coin.
>
> Certainly, the idea of a (fast) deterministic mechanism producing such non-deterministic behavior seems contradictory: by observing its outcome over time, we could in principle eventually detect the determinism and simulate such a generator.
* [Python] [Blum Blum Shub PRNG algorithm](https://www.gkbrk.com/wiki/blum-blum-shub/) GKBRK
> The algorithm is very short and simple. Starting from the seed, the next state can be computed by passing the current state through the following formula.
>
> `f(x) = x2 mod M`
>
> In this formula, M is the product of p and q, two large primes.
>
> The complexity in this algorithm is hidden in the parameters; the seed and the modulus M. In order to have a long cycle length and fulfill its security promises, Blum Blum Shub has a few constraints on its parameters.
In contrast, some more complex PRNG algorithms can work with pretty much any randomized seed.