Author

Topic: "gujun algorithm"(a RSA algorithm variant) (Read 167 times)

newbie
Activity: 4
Merit: 3
August 18, 2018, 06:21:17 AM
#5
Thank you for the reply
As for this algorithm, I invented it by myself and is inspired by Fermat's little theorem -> rsa algorithm. when there is one prime number, it is Fermat's little theorem; when there are 2 prime numbers, it is rsa algorithm. when there are 3 prime numbers, it is gujun algorithm.
By introducing an extra party in the encryption chain, we can impose a lot of logic. this extra party could be either public or private.

I am not sure whether there is a similar algorithm, or I haven't came across it.
reference would be
https://en.wikipedia.org/wiki/Fermat%27s_little_theorem
https://en.wikipedia.org/wiki/RSA_(cryptosystem)

actually https://821.credit is like a cryptocurrency version of Nasdaq.
legendary
Activity: 1456
Merit: 1175
Always remember the cause!
August 18, 2018, 05:56:23 AM
#4
Thanks for the reply, yet I need more resources and documentaries and if there is no more, I guess it is time for them to be produced and I suggest doing this using intertextual references to cryptocurrency literature.

As of my question 2 regarding implanting your idea to decentralized cryptocurrencies, I didn't mean how it could be decentralized, instead I'm asking about how it would be possible to use your system in the parts of the ecosystem that are already centralized like exchanges, ....
newbie
Activity: 4
Merit: 3
August 18, 2018, 05:33:04 AM
#3
Thank you!

answer:
1. those application scenarios would be, company or individual want to take the whole control of the data and consensus algorithm. And boost the concurrent transactions.
actually in my perception, right now in the btc ecosystem, the big mining pool players are the ones who dominates the right of writing the transaction. it is another form of 'centralization'. The privilege is acquired by powerful computing resource, either GPUs or ASICs.
in my proposed solution, the privilege is guaranteed by the server repository key. only those having the server repository key can write the verdict of the transaction

2. in order to make it decentralized. a lot of satellite servers are in place around the central repository server. the verdicts of the transaction are broadcast to those satellite servers. the difference between satellite server and repository servers would be, repository servers transform the proposal into verdict, VS the satellite get the verdict and find a random that meets the certain criteria.
(Also can make it a p2p topology instead of satellite topology, will discuss p2p topology later)

will demonstrate in the below example,

what repository server will do is: take in proposal:
bb84256a1478e6e351a33eb5156ecbf641ced1aafa764054374b752f010d9f61ff35831a6111551 90b9b93d18f8065500fed0d58b3d0002f54d34fd21130bbc9a308f854602449d7d2d7d7c2aaf704 42d7b579a5314120190412edd0d66275ae04dc64ec21c9d0397e602c62b3e080cb86e5ee285b79d f810f6bb02cd04e962c326d4a428ce0d9b79e129411541d2a025b42fb89873a2f17c662928d67ba df2428f4d57246f7184c68639481f9f29b2dd61cd15d0954a52f85ec5de61b0f47e1549bc3c6a05 4458fe9362dc67772acb59a18078adaa6b104bddfc1f1348474c1649c8199a4c0a60893aa691c27 1c78f6b276c68868ef3d41b42fa990619a025a
and produce verdict:
7057cace23ae29da6313e1700cefcda5d6c6de574cd42aee38ea5053bb6455e565b8ac0f6f76087 5a6d33c7c5e71f6ae7f24dcae995b5cb58dea5f81d3fe315c6e09b7e348b1ed3125e5aee453843c 563320142acef01551c9a21069189e73483ec4845f37a5f8ddca8114ad0a2d05991981305f1597a d539a8614b3dda29561d11af97d85508c0347e60b5167561503d6a0b12433496999d45fc098beda d255176c4f9a01de2c9ab1c0ba9deec18725e11221b84a45982a6e0940969a3a394092f2a142a0e d4d10dc0921234cde046de8c09422284a614ba75f109818749d5e7f2c9ae00fb960bde586026e2f 77ef4618f22cc0938c39d7394bc113f19b1d79
this can't be done without the repository key, hence it could be only executed on certain servers.

what satellite server will do is: take in verdict:

7057cace23ae29da6313e1700cefcda5d6c6de574cd42aee38ea5053bb6455e565b8ac0f6f76087 5a6d33c7c5e71f6ae7f24dcae995b5cb58dea5f81d3fe315c6e09b7e348b1ed3125e5aee453843c 563320142acef01551c9a21069189e73483ec4845f37a5f8ddca8114ad0a2d05991981305f1597a d539a8614b3dda29561d11af97d85508c0347e60b5167561503d6a0b12433496999d45fc098beda d255176c4f9a01de2c9ab1c0ba9deec18725e11221b84a45982a6e0940969a3a394092f2a142a0e d4d10dc0921234cde046de8c09422284a614ba75f109818749d5e7f2c9ae00fb960bde586026e2f 77ef4618f22cc0938c39d7394bc113f19b1d79
and first calculate the sha512sum
6d4293c20a095e1add53b3c9416f4498659e1308d4c2bc67dd90bf992c92e50cc764b0f425a7b7b 5736f8b0ddf96d35451ee8a22d46eb66b1f166df0fdebe259
and find a random '15abce3'
that will make a signature 50913dd23935237c1980984d750b10117dca3e99b9859446ee3f58a40e076feaf566c115b0e4832 cb59ea641ed0c4952c6de4cfdddeba54f53cdd1226a291eb57b8caae49f19020fe11ba7bc7eea8f 86d01a7f3cfe87bbc28e700ae9e15d96b903fbbae00a19ab8c774d21162106f4ee11412345e0da2 04890fb4a527952e6bb54a46f6725d8265ac6d5b278f3b1ef90ba94e335187f322adcf8ff36d5d7 4f5c42cf08b1de791ea623e1ac783103be57f1c275cafcb3c5c5594c4edcf6dbda2e290e02dcecf bbd635356aa209911e44e489c5504061f3061f358039f543dc49bef11ab1aa7f3d741a846566939 43856bafe24023c3d8836ae27e076dde9da555a3b36ac67baa4f078390e41bd811123e71db04305 ebe377fe8b87f2c40000000
change the random until the signature starts with 'fff' instead of 509 as of now.

what the central repository server has done is called 'private mining', given it can only can be done with the repository key. and private mining is one the way to settle down the transaction but not 100% settled.

what the satellite server has done is called 'public mining'. given it has no context information for the mining job, just try different randoms until certain criteria is met.

if the central repository is compromised, the satellite will escalate. by introducing a lot of satellite servers, we could get it safe.

If there is a counterpart in the real world, that would be US congress with senate and house. the private mining is something like 'Senate' and public mining is something like 'House of Representatives', they check and balance.
right now in the btc ecosystem, there is not a Senate in place. just the House of Representatives is in place.


3. mining is split into private mining and public mining, mentioned in the answer #2)

4. I make a small product with this idea, https://821.credit. Any comment and feedback are appreciated.

5. I invented this algorithm by myself, as I like the RSA encryption algorithm, and found it could be played in a variant way. By introducing the private mining. the majority of the  double spending attack could be eliminated. also the concurrent transactions could be boosted.
legendary
Activity: 1456
Merit: 1175
Always remember the cause!
August 18, 2018, 03:54:34 AM
#2
Thank you for sharing.

I believe thinking out of the box deserves support because bitcoin and cryptocurrency is now aged enough to be reconsidered and improved in every aspect and as of my experience there are always a lot of valuable ideas waiting for us to be surprised by them and to appreciate and employ them properly.  Smiley

I think you should describe the system you have designed more precisely and perhaps in a comparative way. My questions for now:

1- As of the centralized nature of the system, what the applications are?

2- How can it be kinda implanted in a decentralized cryptocurrency environment properly?

3- What Does 'mining' exactly mean in your system?

4- Is there any more comprehensive resources regarding your work?

5- Is there any historical background, previous work/versions?
newbie
Activity: 4
Merit: 3
August 18, 2018, 12:19:07 AM
#1
get 3 big prime number p, q, r

set e = 0x10001, make edf % (p – 1)(q – 1) (r – 1) = 1

N = pqr

wallet key:[d, N]

central repository key: [f, N]

public key: [e, N]

suppose the action, transfer $100 to gujun.

the raw statement would be: '^^USD||12345678||100->gujun$$'

^^: begin place holder

USD:Symbol

12345678:unique id

100: quantity

gujun: recipient

$$: end place holder

wallet key:

d747cc90b64b48e4c41cf365be6d7a1f26809692fda7d5ca3958f3012a6fa88e9de37ebd7065a93 a62b551be924cd04cab1644b6ffe0fdea1e5ff09c5324bdd7ea23e7079337073e15cc5a667772d8 fdca6f24cee1ca3335a8eedef692ae3db84b8a00eaa4e45d754dacbd0d0626f49846dfaee7b03d0 0ab0449b1d9fc6bf3f82269f204607f80fe661843d7844596922fb1df035887a6eb56846e013138 b98acd4fc6f071597ef7de4162caf71fe514e4ffdddfeaa5fcffa0f71230ea52f69d317b9be6d2f f66403db0160221ad50121a524ff0b2f315668857741c12a71af99279d1768493318a8d3fb24dcf cdfae3f1a2b93e735697cbade7f9a747f89c6a@@1786cf6e5703ff210903b154898cace4597fdbe4002913199aa13c5ad329ad85586ea532a97a3921acef050577d8f7356b10ee1be4239aa03615b6f37e86dedf0ec988b78358b19e78b9fc008e94a6b9876307a4691382d5ef9c184c08ff8badf1881c8e172e75ad84dc96e6e14194c8f2a1b63a81a971337ec019ff20bc533cbfcd351ad6d40b711336f3bdb753bddee774a8a9fea6efc88a9005e927109ccc048dccae41797d454bce35632ec99be9f27503740da66d2fd64b8a2ec2b83a1c

repository key:

d747cc90b64b48e4c41cf365be6d7a1f26809692fda7d5ca3958f3012a6fa88e9de37ebd7065a93 a62b551be924cd04cab1644b6ffe0fdea1e5ff09c5324bdd7ea23e7079337073e15cc5a667772d8 fdca6f24cee1ca3335a8eedef692ae3db84b8a00eaa4e45d754dacbd0d0626f49846dfaee7b03d0 0ab0449b1d9fc6bf3f82269f204607f80fe661843d7844596922fb1df035887a6eb56846e013138 b98acd4fc6f071597ef7de4162caf71fe514e4ffdddfeaa5fcffa0f71230ea52f69d317b9be6d2f f66403db0160221ad50121a524ff0b2f315668857741c12a71af99279d1768493318a8d3fb24dcf cdfae3f1a2b93e735697cbade7f9a747f89c6a@@7f92785cb6d1e377f982955c0f4a039f58e8aa715a30750d018ddde56775e072b34c74205168c80e6f64a4b517477bb365cc6adb01d1b794588c7edea9bee74d9f31dd730a51850b768541f4d20330a8f1777ced25d8a363e7cff9c3deeef6eb4778bfe18d1348e0279b237ebf290c575019eb791c76b4f866b36b02cc1d927f7a19e97388561b75c5a23dd01865731eb30621cb3df608f79623e61ad47c8809bccd433596d899499ca560da2365247acfe14b22b8d3df2503f9ed96aba76a74fef7a8378843661f750fd9dfb118cee3afa80fdbf806acf7f158b618144eb67d09f1b085475548c142e3d4c03e20bb82afcac6f4d95f800def22c11f65ae5b51

public key:

d747cc90b64b48e4c41cf365be6d7a1f26809692fda7d5ca3958f3012a6fa88e9de37ebd7065a93 a62b551be924cd04cab1644b6ffe0fdea1e5ff09c5324bdd7ea23e7079337073e15cc5a667772d8 fdca6f24cee1ca3335a8eedef692ae3db84b8a00eaa4e45d754dacbd0d0626f49846dfaee7b03d0 0ab0449b1d9fc6bf3f82269f204607f80fe661843d7844596922fb1df035887a6eb56846e013138 b98acd4fc6f071597ef7de4162caf71fe514e4ffdddfeaa5fcffa0f71230ea52f69d317b9be6d2f f66403db0160221ad50121a524ff0b2f315668857741c12a71af99279d1768493318a8d3fb24dcf cdfae3f1a2b93e735697cbade7f9a747f89c6a@@300010

these 3 keys forms a clique which shares the same pqr:

d747cc90b64b48e4c41cf365be6d7a1f26809692fda7d5ca3958f3012a6fa88e9de37ebd7065a93 a62b551be924cd04cab1644b6ffe0fdea1e5ff09c5324bdd7ea23e7079337073e15cc5a667772d8 fdca6f24cee1ca3335a8eedef692ae3db84b8a00eaa4e45d754dacbd0d0626f49846dfaee7b03d0 0ab0449b1d9fc6bf3f82269f204607f80fe661843d7844596922fb1df035887a6eb56846e013138 b98acd4fc6f071597ef7de4162caf71fe514e4ffdddfeaa5fcffa0f71230ea52f69d317b9be6d2f f66403db0160221ad50121a524ff0b2f315668857741c12a71af99279d1768493318a8d3fb24dcf cdfae3f1a2b93e735697cbade7f9a747f89c6a

it is 2048 bits long

the encoding here is the reverse order of normal hand writing. say one hundred and twenty three, is represented 321 instead of 123

the raw statement '^^USD||12345678||100->gujun$$' would be transformed to its ascii code representation

e500e500550035004400c700c70013002300330043005300630073008300c700c70013000300030 0d200e30076005700a6005700e60042004200

every char is mapped to a 4 digits integer, also it is in reverse order. '^' is 5e, we make it in 'e500'

the proposal is produced with

e500e500550035004400c700c70013002300330043005300630073008300c700c70013000300030 0d200e30076005700a6005700e60042004200 and d747cc90b64b48e4c41cf365be6d7a1f26809692fda7d5ca3958f3012a6fa88e9de37ebd7065a93 a62b551be924cd04cab1644b6ffe0fdea1e5ff09c5324bdd7ea23e7079337073e15cc5a667772d8 fdca6f24cee1ca3335a8eedef692ae3db84b8a00eaa4e45d754dacbd0d0626f49846dfaee7b03d0 0ab0449b1d9fc6bf3f82269f204607f80fe661843d7844596922fb1df035887a6eb56846e013138 b98acd4fc6f071597ef7de4162caf71fe514e4ffdddfeaa5fcffa0f71230ea52f69d317b9be6d2f f66403db0160221ad50121a524ff0b2f315668857741c12a71af99279d1768493318a8d3fb24dcf cdfae3f1a2b93e735697cbade7f9a747f89c6a@@1786cf6e5703ff210903b154898cace4597fdbe4002913199aa13c5ad329ad85586ea532a97a3921acef050577d8f7356b10ee1be4239aa03615b6f37e86dedf0ec988b78358b19e78b9fc008e94a6b9876307a4691382d5ef9c184c08ff8badf1881c8e172e75ad84dc96e6e14194c8f2a1b63a81a971337ec019ff20bc533cbfcd351ad6d40b711336f3bdb753bddee774a8a9fea6efc88a9005e927109ccc048dccae41797d454bce35632ec99be9f27503740da66d2fd64b8a2ec2b83a1c

proposal =

bb84256a1478e6e351a33eb5156ecbf641ced1aafa764054374b752f010d9f61ff35831a6111551 90b9b93d18f8065500fed0d58b3d0002f54d34fd21130bbc9a308f854602449d7d2d7d7c2aaf704 42d7b579a5314120190412edd0d66275ae04dc64ec21c9d0397e602c62b3e080cb86e5ee285b79d f810f6bb02cd04e962c326d4a428ce0d9b79e129411541d2a025b42fb89873a2f17c662928d67ba df2428f4d57246f7184c68639481f9f29b2dd61cd15d0954a52f85ec5de61b0f47e1549bc3c6a05 4458fe9362dc67772acb59a18078adaa6b104bddfc1f1348474c1649c8199a4c0a60893aa691c27 1c78f6b276c68868ef3d41b42fa990619a025a

the verdict is produced with

proposal and d747cc90b64b48e4c41cf365be6d7a1f26809692fda7d5ca3958f3012a6fa88e9de37ebd7065a93 a62b551be924cd04cab1644b6ffe0fdea1e5ff09c5324bdd7ea23e7079337073e15cc5a667772d8 fdca6f24cee1ca3335a8eedef692ae3db84b8a00eaa4e45d754dacbd0d0626f49846dfaee7b03d0 0ab0449b1d9fc6bf3f82269f204607f80fe661843d7844596922fb1df035887a6eb56846e013138 b98acd4fc6f071597ef7de4162caf71fe514e4ffdddfeaa5fcffa0f71230ea52f69d317b9be6d2f f66403db0160221ad50121a524ff0b2f315668857741c12a71af99279d1768493318a8d3fb24dcf cdfae3f1a2b93e735697cbade7f9a747f89c6a@@7f92785cb6d1e377f982955c0f4a039f58e8aa715a30750d018ddde56775e072b34c74205168c80e6f64a4b517477bb365cc6adb01d1b794588c7edea9bee74d9f31dd730a51850b768541f4d20330a8f1777ced25d8a363e7cff9c3deeef6eb4778bfe18d1348e0279b237ebf290c575019eb791c76b4f866b36b02cc1d927f7a19e97388561b75c5a23dd01865731eb30621cb3df608f79623e61ad47c8809bccd433596d899499ca560da2365247acfe14b22b8d3df2503f9ed96aba76a74fef7a8378843661f750fd9dfb118cee3afa80fdbf806acf7f158b618144eb67d09f1b085475548c142e3d4c03e20bb82afcac6f4d95f800def22c11f65ae5b51

verdict =

7057cace23ae29da6313e1700cefcda5d6c6de574cd42aee38ea5053bb6455e565b8ac0f6f76087 5a6d33c7c5e71f6ae7f24dcae995b5cb58dea5f81d3fe315c6e09b7e348b1ed3125e5aee453843c 563320142acef01551c9a21069189e73483ec4845f37a5f8ddca8114ad0a2d05991981305f1597a d539a8614b3dda29561d11af97d85508c0347e60b5167561503d6a0b12433496999d45fc098beda d255176c4f9a01de2c9ab1c0ba9deec18725e11221b84a45982a6e0940969a3a394092f2a142a0e d4d10dc0921234cde046de8c09422284a614ba75f109818749d5e7f2c9ae00fb960bde586026e2f 77ef4618f22cc0938c39d7394bc113f19b1d79

the verdict and public key

d747cc90b64b48e4c41cf365be6d7a1f26809692fda7d5ca3958f3012a6fa88e9de37ebd7065a93 a62b551be924cd04cab1644b6ffe0fdea1e5ff09c5324bdd7ea23e7079337073e15cc5a667772d8 fdca6f24cee1ca3335a8eedef692ae3db84b8a00eaa4e45d754dacbd0d0626f49846dfaee7b03d0 0ab0449b1d9fc6bf3f82269f204607f80fe661843d7844596922fb1df035887a6eb56846e013138 b98acd4fc6f071597ef7de4162caf71fe514e4ffdddfeaa5fcffa0f71230ea52f69d317b9be6d2f f66403db0160221ad50121a524ff0b2f315668857741c12a71af99279d1768493318a8d3fb24dcf cdfae3f1a2b93e735697cbade7f9a747f89c6a@@300010 will produce e500e500550035004400c700c70013002300330043005300630073008300c700c70013000300030 0d200e30076005700a6005700e60042004200000000000000

e500e500550035004400c700c70013002300330043005300630073008300c700c70013000300030 0d200e30076005700a6005700e60042004200000000000000 is the representation of the raw statement, with extra zeros in the right, it is making sense to strip the 0 in the right, given it is represented in the reverse order of normal hand writing.



For more information, please refer to https://github.com/rsacpp/clique3
Jump to: