Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

my highly experimental RIFC is online...

29 views
Skip to first unread message

Chris M. Thomasson

unread,
Jun 3, 2021, 4:01:10 PM6/3/21
to
This is version 0.0.0.0, and decrypting is _slow_. So beware as it can
lock up the browser while waiting for the decryption process to
complete. Encryption is definitely faster than decryption. I have an
idea that would increase the decryption by several orders of magnitude,
should work. That will be in version 0.0.0.1. Basically, it would
eliminate searching for a root for a symbol during decryption. This is
hard coded to hexbytes, so it makes power 16 Julias.

To eliminate the lock up during encryption/decryption I can use
WebWorkers and/or the animation loop in version 0.0.0.1:

http://fractallife247.com/test/rifc_cipher

The ciphertext is the real and imaginary parts of a complex number. So,
here is the name of this group "sci.crypt", encrypted in a complex
number using 128 digits of precision. I have an idea to search for an
ideal precision for any plaintext. The user would not have to worry
about manually entering in a precision. Its hard coded at 128 digits
now, now way to change it except by altering my JS code.

real:

-0.94663620135166780019794463049314550766304439084042331566030420526574461454955598072140428280633385050544450858241456620471182823

imag:

0.32931108752907156908170889543382519175253406054957362774132682738685455267759728128397029204309717808677120255541538509711747233

Copy and paste the real part into the ciphertext real textbox, and do
the same for the imaginary part. Then, click decrypt and you should see
"sci.crypt" in the plaintext textbox in a couple of seconds. If you make
a mistake, it will take a while, 20-30 seconds to attempt decryption as
best it can. This is using 128 digits of precision.

Fwiw, I did this for fun, because in further versions one can actually
generate fractal images using plaintext! The Julia key at -.75+.1i can
generate that Julia while storing the actual plaintext within it! I find
this to be great fun. The cipher itself, as-is, cannot be secure because
if I generate a lot of ciphertext complex numbers with different
plaintexts, using the same key, and plotted them... Well, it would end
up rendering the Julia from that key! lol. This is just for fun.

I can make it stronger, but for now, its pure fun. I really need to put
up a canvas element to plot things on. Double fun. Also, I need it to
generate a url with the real and imaginary components of the ciphertext
within it. Parse the url, and automatically put them in the correct
places in the page. Something like this:

http://fractallife247.com/test/hmac_cipher/ver_0_0_0_1?ct_hmac_cipher=bf8cf62fef505c4cd92dfb3eb66c1874de741822c8de965d519eb915985a9fe6ad79f0a96114064f75116c44ede9a5b1a137449f40e6e963330658828d296762b561c357abad2200582c97bfa7353f944ce9a78912552003039b8fd7d27f81323e5c27ce4ac884ac13ad217bd13e13bf4e98a446c23ce9cba9dd5ffe163f55068caadd0f434323d9dfe2

;^)

Chris M. Thomasson

unread,
Jun 3, 2021, 5:00:35 PM6/3/21
to
On 6/3/2021 1:01 PM, Chris M. Thomasson wrote:
> This is version 0.0.0.0, and decrypting is _slow_. So beware as it can
> lock up the browser while waiting for the decryption process to
> complete. Encryption is definitely faster than decryption. I have an
> idea that would increase the decryption by several orders of magnitude,
> should work. That will be in version 0.0.0.1. Basically, it would
> eliminate searching for a root for a symbol during decryption. This is
> hard coded to hexbytes, so it makes power 16 Julias.
>
> To eliminate the lock up during encryption/decryption I can use
> WebWorkers and/or the animation loop in version 0.0.0.1:
>
> http://fractallife247.com/test/rifc_cipher
>
> The ciphertext is the real and imaginary parts of a complex number. So,
> here is the name of this group "sci.crypt", encrypted in a complex
> number using 128 digits of precision. I have an idea to search for an
> ideal precision for any plaintext. The user would not have to worry
> about manually entering in a precision. Its hard coded at 128 digits
> now, now way to change it except by altering my JS code.
>
> real:
>
> -0.94663620135166780019794463049314550766304439084042331566030420526574461454955598072140428280633385050544450858241456620471182823
>
>
> imag:
>
> 0.32931108752907156908170889543382519175253406054957362774132682738685455267759728128397029204309717808677120255541538509711747233
>
[...]

I encrypted a youtube link here:

real:

-0.44522927646106797862921274074342758409573999592862476419126622693651958264434921654091616918946448906203355266470620799321636871

imag:

0.88136653485196831497593821841243667499596931040860439001562416209416442374028137753913244828471874958358366817539478332179351311



Can you decrypt it?

Chris M. Thomasson

unread,
Jun 8, 2021, 2:17:02 AM6/8/21
to
On 6/3/2021 1:01 PM, Chris M. Thomasson wrote:
lol:

http://fractallife247.com/test/hmac_cipher/ver_0_0_0_1?ct_hmac_cipher=2dc1a70cfd458fc0c4dd4ee8041c40d8b496a42f0df7fbb6c01afe145ab901049e48737e7c590975baf03a048ba22679210af93bae87f1c4521ca842588716b8247337ef174c3df880bbda1bc68248bcafe2574b9a8f21531a8bba52df4666273352aca988f9c42b63ed9eb7844e6451d01ae1ce20f361dbe6ecc863436f59b75f62fa0716aad78b4c039b264bebb81735c15f16a8738bcdfdfa9b681e07de88caf7a257878966ec25a23bab5d1c63c99867f7895f0a541c5cba52a8845f5df00d4de50287159b51a2130e85c4472c6b7aa99d3ed711b950842e1f84526f61ccb3958c3d507dc87de34c352e17c17e5b50622f055276e02526ae793ba019f6b81ee45070d5fb79272e502e3bba3834452f7b6a9e46733482d9d6b818bae9f38cd195469deb6445548365e7acad93fce7521fb916402206f661a646970aa7510f84abc4a96b201a71d43872705b1b441c40e76ffabeb53f169c8271fd4e3524b7758005dd78a6d030d1fd2c9503844a4bb309530c5dfdeec369486c1601bfb0a522738a5f2356794cb1e9055629a12f1a5673c0f2835eb6f2d869742086a96837eca7748b7aa8d95c6feeb7be47b60800a7f34a4a3ce717f7fcd30bc37020988412ce6e98a838e770d6175cc6f9842f89f973a90fb0b3b322c281ff3f50495caa13c1a3c3de9503629440a6c34f252df20847561a0b46a02b10a46be5d3afbd79018826e90ab602dcdf9f697b0e8c561535e7a620e92bb49dadf3f6b46b3f9c3315e280090dc4ab64bfc2702525c1e717a2316d6b08830ee35988ae517b2a1300200b4b73879fb2463e628ab45c7f174bb2746f6b886119371d9b48c630d7cabc46e6b8821f14fdb89567569924bb3d729e375e6a41880b0f0f60749b25960def2583e94387fd54739e9468179cad7b0b55e41dc7ab4854d36ebcd34d90cf7b69a2aea18e12e79d70ffc313c6b353833248546e7da7621150ef4b91d3caa0fb87d49ecab8954237447f6aeb330b3e376f3c76f8929470705c728a089d3437137b9e704ed61286228ec613968daf406a32dc5f11d98d918ae8ad65865355ad4858c6713858687623b6e1c534d33aaee9bcb2c28965472a2aec77f08d6ba83080d29ba6bd0d15bc0151613d768e1fa4a17e31dad01079bdaaed894bd93f08580b10cb1b6458da8ea72003325fb22b93b343818441815eec2d9ed39033616c068e73ca11a4935791e5e659b0ba9af9730784847fe6de8052d9fcaab59fb48e10c9905ae5880e03eee16e6febadf26fcdc2e1d516e427f5fd1708ac7261464e5b2df21cd635f4622a075100e321b7316a3ae5d34da6bcf88309f867f7f7bb8dba1007c54c60fcc875368250b95e23feb23d33c9454f86d7f9eff72fb7344b160dd66fa46b7c0e8bf6a00ce6aa7c3da16f0d8dd70e76d340330b63194758cd4e4069e28559296c2514f732659df16fde4b24d00990b7f86ddf27a8080730b2f65a2ab17ae55ab4e0817f9abaa5534b69abfe4cee1c543a5e31abc33b2b507d9d38544e56b78661724de611f8d2b3365a33017f9db6e9c1682606990a739cd1694843f9d6b3f8311e8e09b709ad192347beaa645a64909a924f49d04acdb4e3a20e8cb859bb7e287ebb09aa9e336cf901af02aee8c803a88320f13a88b47218cebc0b8e46c3eedf3fd3037c1737050326142497ca62a60d445c2196f2a3958814202850584b87cf06812a473849b6ce28789b36494d6c1eb8f6ca23f5997e39ce7fa955d60648bb3816d30f01a4e800163e041aa2273604c19cdf9b77b27f97404a7d159baf2391b6564351183a07575c97a7e335a0da781bbc3c185fee4dce775b6dbca6b5c0f042b71c6d94b05d251ddec4548d1f49ac31c1a3add90ffc4135f49acaa7b272e4e23d5effc4cd623f075fa7bbef20b11ae60fcaeb0b78d412c2873444ede84d70b82cccabedc05f1bbd8eac6f1ca2e6dc476bdf10eef840fdfe188315d52c834468265f1b0922b0972866ca97121d1a6e91f57a580abc80bc41afe757efce5a0807a0ec382c73e482af94856f2ba414a3233d00c1706821bcadf32eeeb056831b80816d5d517b16927935151974794e0dd6c5cdf95e5a0f0ce8a61d05782a45e910002cc4210c42d1e22e0f99ed782e3cd1153fe0e4052861268250137a0e100bb2511129dee5e04d6f42f22d5cc32f63c12004a76478218f210f500355124960818245eadc7af64b880ace181441821414143e84d6ba84466728778f3fbbab424f46a6e6f9c0d973fd5977a38dd1a9e28c50a05ee558d9a50daaf7fdbd06130198f85521baefd6726303d37e722a7ff60c37a90fc812c41e4197bac921541a4fa787563f9a08c55781c4740372e1129caf653c21c8d549db10ee7f3651cbab5adc4bb09587419564c037d9b3b42beb4debb3428d4abb0d1a823729b201735deaeefcef1c58a0ba2093baa776f0463e867fd7a717fa9ae6b673aab877163af699265116f35a1e898bed8d5bdab66b1e945c65aa7ce435355394f4af3432fdbfd687dfc59df2018877d9bd1dc01cbfb8c17b3a4cadc51fb741f15022d42735d030b0968d98e066d8666626a0ef56e113cd0044289062666e06672cda9ca4a80dee6cc2bb11b27f43fe7658e06db0ff8690a748d054ccfbc50909e05b458b7c21f104ad6f8a0f4bf7e9a2343df4d81245ae17244db45e5b71140dab5626933ef16d65f104780f4ab95681d130c2c3b45c34ddb30e20782b7eed8c37a7ce2b26345ab204580896c1cd7c2737791b9368f0b48a1e3b9007600ee2471138e3d144a029eb18165d940d43032422c679c73d11c400036473af3bf982a8c9581f3dfd00b6e340c6704a712b4e7e53927cdf12b919109c6eb8110ed9186ebdb37af6a7e6f8a5a904fc94bbee6a8a0b2b1e420761d97a2ed4134101c7eb0cf1ec0398e56d112b341834be0b263a2149436ca0ff978cf39cf6b0fc3ee39bfd299cbfcea68e64c4c94e0a4af2e5bf574e09495e31441b70e95de882e7f26f17dd9f79304b14492c6f11c92279d8d80913910b4afb462ae7a51ac80e136722d5b5554a4f8ba6c67893ddfe7fee0965499e8a2d534971297a2e8cff462884c9cfbc40d8e245

;^)

Chris M. Thomasson

unread,
Jun 10, 2021, 6:54:14 PM6/10/21
to
On 6/3/2021 1:01 PM, Chris M. Thomasson wrote:
> This is version 0.0.0.0, and decrypting is _slow_. So beware as it can
> lock up the browser while waiting for the decryption process to
> complete. Encryption is definitely faster than decryption. I have an
> idea that would increase the decryption by several orders of magnitude,
> should work. That will be in version 0.0.0.1. Basically, it would
> eliminate searching for a root for a symbol during decryption. This is
> hard coded to hexbytes, so it makes power 16 Julias.
[...]

This is has to be open to attack! Known plaintext should hurt it really
bad. Lets encrypt a single A:

-0.0039515378043068135821667885002556418995438007518213724464522143111695139243766773436030826491752345508363794213455500663395289003

1.0318692707265907745223932953406058981891692914000433146986920275114237742646958989251792088228424642163845314095570908650067524

means the letter A using the default key. Encrypting a single A multiple
times in a row gives the exact same ciphertext.

Lets encrypt two A's using the default key:

-0.012989571487827561197256587465491885541215971523966508394828409233816836724448477680832090798856645146732219441334037454162310944

1.0334563605404757151533956699947626427609615892184085915556036292587047174914618874267710841402909251725386333763204482550511212


Okay, but Eve knows what plaintext equals the known ciphertext because
there is no random element to this. So, encrypting AA multiple times
will give the exact same ciphertext.

This seems really wrong to me. Bad!

Also, since there is no random element, encrypting different random
plaintexts and plotting their points on the complex plane will build a
fractal that shows the secret key point!

Wow.

Chris M. Thomasson

unread,
Jun 10, 2021, 8:07:46 PM6/10/21
to
On 6/10/2021 3:54 PM, Chris M. Thomasson wrote:
> On 6/3/2021 1:01 PM, Chris M. Thomasson wrote:
>> This is version 0.0.0.0, and decrypting is _slow_. So beware as it can
>> lock up the browser while waiting for the decryption process to
>> complete. Encryption is definitely faster than decryption. I have an
>> idea that would increase the decryption by several orders of
>> magnitude, should work. That will be in version 0.0.0.1. Basically, it
>> would eliminate searching for a root for a symbol during decryption.
>> This is hard coded to hexbytes, so it makes power 16 Julias.
> [...]
>
> This is has to be open to attack! Known plaintext should hurt it really
> bad. Lets encrypt a single A:
>
> -0.0039515378043068135821667885002556418995438007518213724464522143111695139243766773436030826491752345508363794213455500663395289003
>
>
> 1.0318692707265907745223932953406058981891692914000433146986920275114237742646958989251792088228424642163845314095570908650067524
>
>
> means the letter A using the default key. Encrypting a single A multiple
> times in a row gives the exact same ciphertext.

To clarify, encrypting the a single A, or the same plaintext multiple
times in a row using the exact same secret key, gives the same
ciphertext. This is bad to me. Very bad!

;^o Ouch.

[...]

0 new messages